https://blueprints.launchpad.net/fuel/+spec/disable-classic-provisioning
In case of classic provisioning fuel engineering team spends a lot of time and effort to support or/and add new features by maintaining simultaneously at least 2 linux distros (Ubuntu and Centos) with quite different native installation mechanisms with their own quirks and limitations.
An alternative way of provisioning - image-based provisioning (IBP, for short) was included in 6.0 under experimental status [1]. Being faster, more reliable and easier to support it has become the default choice for 6.1/7.0
Classic provisioning should be removed in favor of IBP, so fuel devs can reduce the overhead and cost of maintaining the additional functionality.
The actual change disables classic provisioning, it doesn’t substitute cobbler. The rest of related code will be kept. It means that user won’t be able to provision a node by classic way. An error will returned if user tries to perform that.
Spend a lot of time on obsolete and rarely used piece of code which is getting more hard and painful to support if speaking in terms of amount of related won’t be fixed bugs.
None
Cluster update method and its handler will be improved in order to disallow classic provisioning to be used for 7.0 or newer environments. If classic provisioning is disallowed, PUT will throw HTTP 405 error.
After upgrade end user will be able to provision a new node to existent environment using the way of provisioning which was chosen on the environment creation.
Otherwise, no impact.
None
Users should be informed that after upgrade classic provisioning has been disabled.
End user will be able to provision a node only with IBP.
None
None
None
fuel-library: cobbler stuff like kickstart [2], preseed [3], snippets [4] and scripts [5] will become unsupported.
CI jobs for testing classic provisioning is not needed for 7.0
Primary assignee: | |
---|---|
Alexandr Gordeev | |
QA: | Yegor Kotko |
Documentation: | |
Mandatory design review: | |
Vladimir Kozhukalov |
None
Test case to ensure that a new node could be provisioned via IBP only in 7.0 should be added.
User must not be able to provision a node via classic provisioning in 7.0. Environments provisioned with classic provisioning for 5.x/6.x, should continue to use classic provisioning to add new nodes after upgrade to 7.0
Documentation should notify the fact of classic provisioning has been disabled.
[1] | https://blueprints.launchpad.net/fuel/+spec/image-based-provisioning |
[2] | https://github.com/stackforge/fuel-library/tree/master/deployment/puppet/cobbler/templates/kickstart |
[3] | https://github.com/stackforge/fuel-library/tree/master/deployment/puppet/cobbler/templates/preseed |
[4] | https://github.com/stackforge/fuel-library/tree/master/deployment/puppet/cobbler/templates/snippets |
[5] | https://github.com/stackforge/fuel-library/tree/master/deployment/puppet/cobbler/templates/scripts |