Project Technical Lead: Georg Kunz. Elected 1/17/19.
Project Committer Details:
Initial Committers for a project will be specified at project creation. Committers have the right to commit code to the source code management system for that project.
A Contributor may be promoted to a Committer by the project’s Committers after demonstrating a history of contributions to that project.
Candidates for the project’s Project Technical Leader will be derived from the Committers of the Project. Candidates must self nominate by marking "Y" in the Self Nominate column below by Jan. 16th. Voting will take place January 17th.
Only Committers for a project are eligible to vote for a project’s Project Technical Lead.
Please see Akraino Technical Community Document section 3.1.3 for more detailed information.
Committer | Committer Company | Committer Contact Info | Committer Bio | Committer Picture | Self Nominate for PTL (Y/N) |
Andrew Wilkinson | Ericsson | N | |||
Georg Kunz | Ericsson | georg.kunz@ericsson.com | Y | ||
Cheng Li | Intel | cheng1.li@intel.com | |||
Use Case Details:
Feature project proposers: Ericsson, Nokia and Radysis (confirm) and (others - confirm).
The following BP proposals require support of OVS-DPDK in Airship:
Network Cloud : OVS-DPDK Unicycle Dell Blueprint Proposal
Radio Edge Cloud
Edge Video Processing
(any other dependent BPs?)
Initial list of high-level working items
The table below provides a list of high-level work items required to enable support for OVS-DPDK in Airship. This list is not considered to be complete but a starting point for design discussions in the feature project. Please feel free to add / modify / extend work items.
Task name | Description | Airship component | Implementation | Upstream reference |
---|---|---|---|---|
create openvswitch agent chart | create helm chart for openvswitch agent | openstack-helm | in place and being deployed when OVS is enabled | |
create ovs-dpdk chart | create helm chart for openvswitch dpdk container | openstack-helm | Extend existing openvswitch chart with config parameters for DPDK. | https://review.openstack.org/#/c/626894/ |
deploy neutron openvswitch agent | ensure chart of openvswitch agent is deployed | treasuremap | In place and being deployed when OVS is enabled | |
DPDK host config: enable 1G hugepages | modify kernel cmdline to enable 1G hugepages (hugepagez=1G hugepages=8 iommu=pt intel_iommu=on ) | drydock | Already available: Define the number of available hugepages in the node's HardwareProfile: Define the kernel paramters for enabling hgepages in the node's BaremetalNode configuration (kernel_param section): | https://storyboard.openstack.org/#!/story/2004790 |
DPDK host config: mount hugepages | mount hugepages into local file system on system boot (hardcoded mount point) | Divingbell | Two alternatives available:
Issue: does not allow fine-grained control of mount-options (e.g. specify the size of the hugepages if there are multiple available)
| https://storyboard.openstack.org/#!/story/2004790 |
DPDK host config: make hugepage mount point a config option | make mount point config option for e.g. use by helm charts | openstack-helm | config option of helm chart (see patchset). Need to figure out how to pass overrides to chart. | https://review.openstack.org/#/c/626894/ |
specify PCI IDs of NICs for use by DPDK | specify in site config which PCI IDs (NICs) should be decided to DPDK | Add parameters to OVS helm chart | ||
DPDK host config: install DPDK kernel modules and tools on host OS | either install host OS dpdk package or build from source | drydock or divingbell | depends on DPDK driver we want to use: igb_uio, uio_generic_pci or vfio-pci. Only for igb_uio a custum built kernel module is needed. | |
DPDK host config: load DPDK kernel module in host OS | load dpdk kernel modules uio and igb_uio during host boot-up | drydock or divingbell | extend existing openvswitch-vswitchd init container | https://review.openstack.org/#/c/626894/ |
DPDK host config: bind NICs to DPDK | use dpdk-devbind to bind specified NICs to DPDK | drydock or divingbell | look into re-using and/or adapting a tool used by kolla-ansible https://github.com/openstack/kolla-ansible/blob/master/tools/ovs-dpdkctl.sh | |
ensure communication between OVS agent and OVS | ensure common socket configuration | openstack-helm | already in place | |
adapt OVS bridge configuration for OVS setup | Work items:
| openstack-helm | look into re-using and/or adapting a tool used by kolla-ansible https://github.com/openstack/kolla-ansible/blob/master/tools/ovs-dpdkctl.sh | https://review.openstack.org/#/c/626894/ |
adapt Neutron (ovs-agent) configuration | Adapt neutron.conf and ml2 plugin config | openstack-helm | extend ml2 plugin configuration of neutron in openstack-helm | https://review.openstack.org/#/c/643284/ |
adapt IP address assignment to OVS DPDK bridge | make sure that correct IPs get assigned to the OVS bridges running DPDK. Every dpdk bridge needs a separate IP address for the tunnel endpoints. | openstack-helm | ||
create docker image with dpdk-enabled OVS | update the image build scripts of openstack-helm to include DPDK in the OVS image | openstack-helm-images | openstack-helm-image repo: https://github.com/openstack/openstack-helm-images/tree/master/openvswitch Alternatives (kept just for reference) Kolla images: https://hub.docker.com/r/kolla/ubuntu-binary-ovsdpdk/ or https://hub.docker.com/r/kolla/ubuntu-source-ovsdpdk/ | https://review.openstack.org/#/c/650152/ |
update nova and neutron images with newer version of OVS | OVS in current images is outdated | openstack-helm-images | https://review.opendev.org/#/c/651060/ | |
update site configuration to deploy ovs-dpdk | create a site configuration which actually deploys ovs-dpdk as data plane | treasuremap | enable openvswitch chart group | https://review.openstack.org/#/c/634207/ |
add LAG support to DPDK configuration | configure LAG support on DPDK NICs in OVS | openstack-helm |
Legend:
done / available |
ongoing |
blocking |