https://blueprints.launchpad.net/fuel/+spec/fuel-remove-conflict-openstack
The openstack module deployment/puppet/openstack has been obsolete for a long time in puppet-openstack, and with the migration to the tasks composition layer in fuel, it is obsolete, making only more work for people who need to maintain manifests that intersect with it.
Portions of the openstack module conflict with supporting detached OpenStack version (proper, not the module) as defined in fuel-openstack-tasks
Some of the tasks make indirect calls to puppet-openstack modules via the openstack module. In these cases, overloading the tasks as described in fuel-openstack-tasks will not result in success as it depends on being able change the calls between the task and puppet-openstack to support a specific version of the puppet-openstack modules.
In these cases the declaration of classes and resources from the puppet-openstack modules must be moved to the task itself and may not proxy through openstack module anymore
In this way we would change:
cinder task => openstack::cinder => ::cinder swift task => openstack::swift => ::swift ...
It would become:
cinder task => ::cinder swift task => ::swift
As described in Problem description, we will move the declaration of puppet-openstack classes and resources from the openstack module to its corresponding granular puppet task
None
None
None
At a minimum the following openstack module manifests have to be moved up to their corresponding task:
deployment/puppet/openstack/manifests/auth_file.pp
deployment/puppet/openstack/manifests/ceilometer.pp
deployment/puppet/openstack/manifests/cinder.pp
deployment/puppet/openstack/manifests/compute.pp
deployment/puppet/openstack/manifests/glance.pp
deployment/puppet/openstack/manifests/heat.pp
deployment/puppet/openstack/manifests/horizon.pp
deployment/puppet/openstack/manifests/keystone.pp
deployment/puppet/openstack/manifests/nova/controller.pp
deployment/puppet/openstack/manifests/swift/proxy.pp
None
None
None
None
None
None
None
This will further reduce the tech debt around the openstack module by removing more code out of it. This will simplify the interaction between the task and the module it calls making it easier for new developers to work on fuel-library
None
None
Who is leading the writing of the code? Or is this a blueprint where you’re throwing it out there to see who picks it up?
If more than one person is working on the implementation, please designate the primary author and contact.
Related to fuel-openstack-tasks
Existing testing coverage should be sufficient to ensure that there are no regressions introduced by these changes. In some cases, it may be necessary to extend the NOOP coverage to cover changes.