Hello, We are analyzing the work items needed to containerize DPDK. There is a work in progress in the kolla image repo for adding DPDK support [1]. By default, the kolla image will NOT have DPDK support, but only when enabled at build time. This is because for ubuntu the openvswitch package is different for DPDK enabled openvswitch. In case of rhel family, the openvswitch package is only one which has both regular and DPDK enabled openvswitch. DPDK can be enabled at run time. We can maintain this run time enabling of DPDK for the containers too. So the openvswitch containers will have DPDK packages installed, but disabled by default. Puppet configuration will enable it, if needed.
In order to achieve it, we need to add a template override file for DPDK based on kolla review [1]. This override should be applicable to all the openvswitch container images. It can be achieved by adding a property in overcloud_containers.yaml list to provide specific template override files, like: container_images: - imagename: tripleoupstream/centos-binary-aodh-api:latest - imagename: tripleoupstream/centos-binary-openvswitch-db-server:latest overrides: - openvswitch-dpdk-override.j2 Let me know if this is something workable. I know we have to modify the image builder logic, but let me know if the direction is correct. Another important item to look is that DPDK is enabled by puppet-vswitch [2] by invoking the ovs-vsctl command. As I remember the discussions around creating conf files out of puppet execution, copying to host and mounting to the actual container is the approach we are using. I am still figuring out to see how ovs-vsctl command can be invoked using this model. Containerization of openvswitch is looked up as separate effort by another team, which will be the base requirement for the DPDK to work. But openvswitch container need to be started before running the "NetworkDeployment" which will run the os-net-config. This brings another requirement of how to containerize os-net-config. It is tricky as it is not associated with any puppet/service, it has to brought up individually/separately, with the dependency of openvswitch. I am still getting familiar with the blocks around this. I will be updating the analysis and the progress, any suggestions or directions is more than welcome. Regards, Saravanan KR [1] https://review.openstack.org/#/c/342354/ [2] https://github.com/openstack/puppet-vswitch/blob/master/manifests/dpdk.pp#L113 __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev