[openstack-dev] [tripleo] Populating Hiera data before NetworkDeployment

Saravanan KR skramaja at redhat.com
Wed Feb 8 10:34:10 UTC 2017


We are facing an issue in enabling DPDK in openvswitch. Currently,
DPDK is enabled by configuring DPDK_OPTIONS at Step4 using
puppet-vswitch (vswitch::dpdk) module. This flow has limitations:
* if DPDK is used for Tenant Network, Ping Test (AllNodesValidation) will fail
* for DPDK bond, operator will NOT be able to choose the primary via
network config
* also when DPDK port is added in os-net-config without DPDK support,
openvswitch will throw errors, but a restart of openvswitch will fix
* in specific deployments, restarting openvswitch requires
network.service and neutron-openvswitch-agent services to be restarted
after a wait time

To overcome these issues, we are analyzing the option of initializing
DPDK in openvswtich before the NetworkDeployment[1] (os-net-config).
PreNetworkConfig[2] is the best place to embed this requirement.

But in order to keep the DPDK initialization as puppet manifests
(vswitch::dpdk) and invoke it from PreNetworkConfig, the hiera data
needs to be  populated (NovaComputeDeployment[3]) before the
NetworkDeployment. Of course, we can invoke the puppet class by
providing all the parameters directly, but if it is done via hiera
data, it provides flexibility to operators to override heira values
(role-specific or node-specific) and its priority. To experiment it, I
have created a review [4] with the change for moving
NovaComputeDeployment before NetworkDeployment. I have modified this
for all roles, so that all roles follow same approach in deployment.
The change in the resource dependency has been updated in the commit

Please provided your feedback on this approach.

Saravanan KR

[1] https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/compute-role.yaml#L364
[2] https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/compute-role.yaml#L348
[3] https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/compute-role.yaml#L440
[4] https://review.openstack.org/#/c/430215/

More information about the OpenStack-dev mailing list