Configure openstack services with PowerVM support¶
Include the URL of your launchpad blueprint:
https://blueprints.launchpad.net/openstack-chef/+spec/openstack-powervm
IBM PowerVM is a hypervisor that the POWER platform supports. PowerVM admins can see benefits in their environments by making use of OpenStack. The nova driver (along with a Neutron ML2 compatible agent and ceilometer agent) will provide capability for admins of PowerVM to use OpenStack natively. The PowerVM drivers are opensource and currently being worked in the StackForge community. For Nova, the PowerVM compute driver is on the openstack base incubation track. For Neutron the driver will follow the BYOD model set forth in the Neutron extension decomposition. There is a blueprint for supporting a PowerVM compute inspector in Ceilometer at least for the L release. In a later release it’s been expressed that the Ceilometer compute notifications model may change. For PowerVM systems this ML2 agent would replace the default openvswitch agent for compute nodes with the PowerVM SEA ML2 agent.
Refer [OPENSTACK_NOVA_POWERVM]. Refer [OPENSTACK_NEUTRON_POWERVM]. Refer [OPENSTACK_CEILOMETER_POWERVM]. Refer [POWERVM_CEILOMETER_COMPUTE].
This new change proposed will enable deployment and configuration of the PowerVM Nova compute driver, Neutron ML2 agent and Ceilometer compute inspector. Similar to VMWare, this is an addition to support another type of hypervisor.
Problem description¶
Currently, cookbook-openstack-compute does not support the deployment and configuration of the PowerVM Nova compute driver.
Currently, cookbook-openstack-network does not support the deployment and configuration of the PowerVM Neutron ML2 agent.
Currently, cookbook-openstack-telemetry does not support the deployment and configuration of the PowerVM Ceilometer compute inspector.
Proposed change¶
Add support in cookbook-openstack-* cookbooks to configure the PowerVM Nova compute driver, Neutron ML2 agent and Ceilometer compute inspector.
A new configuration attribute will be added in order to deploy PowerVM drivers
If the new attribute is enabled, it will auto set other attributes and automatically include the PowerVM recipes
By default, PowerVM drivers will be downloaded from source code on Stackforge
A new configuration attribute will allow to download from either source code or public package repository
A new configuration attribute will allow to override the package repository url
Alternatives¶
User manually downloads code from Stackforge and deploy/configure the PowerVM Nova compute driver, Neutron ML2 agent and Ceilometer compute inspector.
User extends the existing OpenStack Puppet modules to deploy and configure the PowerVM Nova compute driver, Neutron ML2 agent and Ceilometer compute inspector.
Refer [OPENSTACK_PUPPET_NOVA]. Refer [OPENSTACK_PUPPET_NEUTRON]. Refer [OPENSTACK_PUPPET_CEILOMETER].
Data model impact¶
None
REST API impact¶
None
Security impact¶
None
Notifications impact¶
None
Other end user impact¶
None
Performance Impact¶
None
Other deployer impact¶
Deployment of PowerVM drivers has to be explicitly enabled
As of now, we’re considering the use of configuration attributes rather than roles to deploy PowerVM drivers since its usage is not considered generic yet.
The deployer will be able to deploy the PowerVM drivers from different sources (github, public or private package repositories) by overriding configuration attributes.
Developer impact¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
dclain
- Other contributors:
thorst
Work Items¶
Work with the PowerVM Driver team to fully understand all of the configuration options
Add new attributes to openstack-compute, openstack-network, openstack-telemetry to support PowerVM
Change openstack-compute / nova.conf.erb template for including configuration specific to the PowerVM Nova compute driver
Change openstack-compute / rootwrap.conf.erb template for including filters specific to the PowerVM Nova compute driver
Add new recipe for PowerVM configuration in openstack-compute
Change openstack-net work / ml2_conf.ini.erb in openstack-network for including configuration specific to the PowerVM Neutron ML2 agent
Add new recipe for the PowerVM Neutron ML2 agent configuration in openstack-network
Add new recipe for the PowerVM Ceilometer inspector configuration in openstack-telemetry
Add Unit Tests for each new recipe
Extend openstack-chef-repo to test all-in-one PowerVM nova-network
Dependencies¶
TBD
Testing¶
Add unit tests for the recipes
Add new test, environment to support all-in-one PowerVM nova compute using openstack-chef-repo
We will report our function and CI integration test results (using openstack-chef-repo) back to the Chef team.
Documentation Impact¶
Update README.md in openstack-compute, openstack-network, openstack-telemetry cookbooks to expose the PowerVM configuration attributes and how to enable it
Update README.md in openstack-chef-repo cookbook to explain
Add documentation in openstack-chef-repo/doc to explain how to test a PowerVM specific all-in-one compute configuration