Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

 

Committer

Committer

Company

Committer

Contact Info

 Committer BioCommitter Picture 

Self Nominate for PTL (Y/N)

Andrew Wilkinson

Ericsson

andrew.wilkinson@ericsson.com

 

N

Georg KunzEricssongeorg.kunz@ericsson.comGeorg is a Senior Systems Designer at Ericsson, working mainly on SDN and NFV, and an active member of the OPNFV and OpenStack communities. Georg is a member of the OPNFV TSC and a former PTL of the OPNFV NetReady and Dovetail projects. He contributes to the OPNFV Verified compliance program and the OPNFV testing community. Moreover, he has been a contributor to the OpenStack Gluon project and the OpenStack Interop working group. In previous roles, he worked on designing and prototyping SDN solutions for 5G networks as well as integrating Openstack-based cloud infrastructures, particularly specializing in storage solutions.

Image Removed

Y


Y
Cheng LiIntelcheng1.li@intel.com


Rihab BandayEricssonrihab.banday@ericsson.com


Use Case Details:

Feature project proposers: Ericsson, Nokia and Radysis (confirm) and (others - confirm).

...

create and host a docker image including an OVS with DPDK enabled (consider matching kernel and dpdk versions with host OS). Potential kolla or loci
Task nameDescriptionAirship componentImplementationUpstream reference
create openvswitch agent chartcreate helm chart for openvswitch agentopenstack-helmhttps://review.openstack.org/#/c/626894/in place and being deployed when OVS is enabled
create ovs-dpdk chartcreate helm chart for openvswitch dpdk containeropenstack-helmExtend existing openvswitch chart with config parameters for DPDK.https://review.openstack.org/#/c/626894/
deploy neutron openvswitch agentensure chart of openvswitch agent is deployedopenstack-helm & ArmadatreasuremapIn place and being deployed when OVS is enabled
DPDK host config: enable 1G hugepagesmodify 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:
https://github.com/openstack/airship-drydock/blob/master/python/tests/yaml_samples/deckhand_fullsite.yaml#L427

Define the kernel paramters for enabling hgepages in the node's BaremetalNode configuration (kernel_param section):
https://github.com/openstack/airship-drydock/blob/master/python/tests/yaml_samples/deckhand_fullsite.yaml#L366

https://storyboard.openstack.org/#!/story/2004790
DPDK host config: mount hugepagesmount hugepages into local file system on system boot (hardcoded mount point)Divingbell

Two alternatives available:

  • utilize auto-mount capabilities of Ubuntu

https://www.apt-browse.org/browse/ubuntu/xenial/main/i386/systemd/229-4ubuntu4/file/lib/systemd/system/dev-hugepages.mount

Issue: does not allow fine-grained control of mount-options (e.g. specify the size of the hugepages if there are multiple available)

  • Deploy Divingbell daemonset on compute nodes with a given chart configuration (values.yaml).

https://airship-divingbell.readthedocs.io/en/latest/#mounts

https://storyboard.openstack.org/#!/story/2004790
DPDK host config: make hugepage mount point a config optionmake mount point config option for e.g. use by helm chartsopenstack-helmconfig option of helm chart (see patchset). Need to figure out how to pass overwrites overrides to chart.https://review.openstack.org/#/c/626894/
specify PCI IDs of NICs for use by DPDKspecify in site config which PCI IDs (NICs) should be decided to DPDK 
Reuse data_nic0x config option defined in HardwareProfineAdd parameters to OVS helm chart

https://

storyboard

review.openstack.org/#

!

/c/

story

626894/

2004790

DPDK host config: install DPDK kernel modules and tools on host OSeither install host OS dpdk package or build from sourcedrydock (or divingbell)or divingbelldepends 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.

https://

storyboard

review.openstack.org/#

!

/c/

story

626894/

2004790

DPDK host config: load DPDK kernel module in host OSload dpdk kernel modules uio and igb_uio during host boot-updrydock ( or divingbell)extend existing openvswitch-vswitchd init containerhttps://storyboardreview.openstack.org/#!/c/story626894/2004790
DPDK host config: bind NICs to DPDK

use dpdk-devbind to bind specified NICs to DPDK

drydock (or divingbell)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

https://

storyboard

review.openstack.org/#

!

/c/

story

626894/

2004790

DPDK host config: enable hugepage support for kubeletenable hugepage support for k8s kubelet via feature-gate optionpromenadehugepages is a beta feature since K8s 1.10 and enabled by default.https://storyboard.openstack.org/#!/story/2004791
ensure communication between OVS agent and OVSensure common socket configurationopenstack-helmalready in place
adapt OVS bridge configuration for OVS setup

Work items:

  • create bridges with datatpath type netdev
  • add physical interface to physical bridge (br-phy)
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) configurationAdapt neutron.conf and ml2 plugin configopenstack-helmextend ml2 plugin configuration of neutron in openstack-helmhttps://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 OVSOVS in current images is outdatedopenstack-helm-images
https://review.opendev.org/#/c/651060/
update site configuration to deploy ovs-dpdkcreate a site configuration which actually deploys ovs-dpdk as data planetreasuremapenable openvswitch chart grouphttps://review.openstack.org/#/c/634207/
add LAG support to DPDK configurationconfigure LAG support on DPDK NICs in OVSopenstack-helm


Legend:

done / available
ongoing
blocking