Hello, The aim of this mail is to ease the DPDK deployment with TripleO. I would like to see if the approach of deriving THT parameter based on introspection data, with a high level input would be feasible.
Let me brief on the complexity of certain parameters, which are related to DPDK. Following parameters should be configured for a good performing DPDK cluster: * NeutronDpdkCoreList (puppet-vswitch) * ComputeHostCpusList (PreNetworkConfig [4], puppet-vswitch) (under review) * NovaVcpuPinset (puppet-nova) * NeutronDpdkSocketMemory (puppet-vswitch) * NeutronDpdkMemoryChannels (puppet-vswitch) * ComputeKernelArgs (PreNetworkConfig [4]) (under review) * Interface to bind DPDK driver (network config templates) The complexity of deciding some of these parameters is explained in the blog [1], where the CPUs has to be chosen in accordance with the NUMA node associated with the interface. We are working a spec [2], to collect the required details from the baremetal via the introspection. The proposal is to create mistral workbook and actions (tripleo-common), which will take minimal inputs and decide the actual value of parameters based on the introspection data. I have created simple workbook [3] with what I have in mind (not final, only wireframe). The expected output of this workflow is to return the list of inputs for "parameter_defaults", which will be used for the deployment. I would like to hear from the experts, if there is any drawbacks with this approach or any other better approach. This workflow will ease the TripleO UI need to integrate DPDK, as UI (user) has to choose only the interface for DPDK [and optionally, the number for CPUs required for PMD and Host]. Of-course, the introspection should be completed, with which, it will be easy to deploy a DPDK cluster. There is a complexity if the cluster contains heterogeneous nodes, for example a cluster having HP and DELL machines with different CPU layout, we need to enhance the workflow to take actions based on roles/nodes, which brings in a requirement of localizing the above mentioned variables per role. For now, consider this proposal for homogeneous cluster, if there is a value in this, I will work towards heterogeneous clusters too. Please share your thoughts. Regards, Saravanan KR [1] https://krsacme.github.io/blog/post/dpdk-pmd-cpu-list/ [2] https://review.openstack.org/#/c/396147/ [3] https://gist.github.com/krsacme/c5be089d6fa216232d49c85082478419 [4] https://review.openstack.org/#/c/411797/6/extraconfig/pre_network/host_config_and_reboot.role.j2.yaml __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
