Merge "Aligning OVS and Neutron configuration for DPDK"
This commit is contained in:
commit
1478962d18
@ -24,8 +24,10 @@ OVS_PID=/run/openvswitch/ovs-vswitchd.pid
|
||||
|
||||
# Create vhostuser directory and grant nova user (default UID 42424) access
|
||||
# permissions.
|
||||
mkdir -p /run/openvswitch/vhostuser
|
||||
chown {{ .Values.pod.user.nova.uid }}.{{ .Values.pod.user.nova.uid }} /run/openvswitch/vhostuser
|
||||
{{- if .Values.conf.ovs_dpdk.enabled }}
|
||||
mkdir -p /run/openvswitch/{{ .Values.conf.ovs_dpdk.vhostuser_socket_dir }}
|
||||
chown {{ .Values.pod.user.nova.uid }}.{{ .Values.pod.user.nova.uid }} /run/openvswitch/{{ .Values.conf.ovs_dpdk.vhostuser_socket_dir }}
|
||||
{{- end }}
|
||||
|
||||
function start () {
|
||||
t=0
|
||||
@ -41,23 +43,23 @@ function start () {
|
||||
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait show
|
||||
|
||||
{{- if .Values.conf.dpdk.enabled }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-hugepage-dir={{ .Values.conf.dpdk.hugepages_mountpath | quote }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-socket-mem={{ .Values.conf.dpdk.socket_memory | quote }}
|
||||
{{- if .Values.conf.ovs_dpdk.enabled }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-hugepage-dir={{ .Values.conf.ovs_dpdk.hugepages_mountpath | quote }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-socket-mem={{ .Values.conf.ovs_dpdk.socket_memory | quote }}
|
||||
|
||||
{{- if .Values.conf.dpdk.mem_channels }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-mem-channels={{ .Values.conf.dpdk.mem_channels | quote }}
|
||||
{{- if .Values.conf.ovs_dpdk.mem_channels }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-mem-channels={{ .Values.conf.ovs_dpdk.mem_channels | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.conf.dpdk.pmd_cpu_mask }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:pmd-cpu-mask={{ .Values.conf.dpdk.pmd_cpu_mask | quote }}
|
||||
{{- if .Values.conf.ovs_dpdk.pmd_cpu_mask }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:pmd-cpu-mask={{ .Values.conf.ovs_dpdk.pmd_cpu_mask | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.conf.dpdk.lcore_mask }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask={{ .Values.conf.dpdk.lcore_mask | quote }}
|
||||
{{- if .Values.conf.ovs_dpdk.lcore_mask }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask={{ .Values.conf.ovs_dpdk.lcore_mask | quote }}
|
||||
{{- end }}
|
||||
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:vhost-sock-dir="vhostuser"
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:vhost-sock-dir={{ .Values.conf.ovs_dpdk.vhostuser_socket_dir | quote }}
|
||||
ovs-vsctl --db=unix:${OVS_SOCKET} --no-wait set Open_vSwitch . other_config:dpdk-init=true
|
||||
{{- end }}
|
||||
|
||||
|
@ -82,14 +82,14 @@ spec:
|
||||
readOnly: true
|
||||
containers:
|
||||
- name: openvswitch-vswitchd
|
||||
{{- if .Values.conf.dpdk.enabled }}
|
||||
{{- if .Values.conf.ovs_dpdk.enabled }}
|
||||
{{/* Run the container in priviledged mode due to the need for root
|
||||
permissions when using the uio_pci_generic driver. */}}
|
||||
{{- $_ := set $envAll.Values.pod.security_context.openvswitch_vswitchd.container.vswitchd "privileged" true -}}
|
||||
{{- end }}
|
||||
{{ tuple $envAll "openvswitch_vswitchd" | include "helm-toolkit.snippets.image" | indent 10 }}
|
||||
{{ dict "envAll" $envAll "application" "openvswitch_vswitchd" "container" "vswitchd" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
|
||||
{{- if .Values.conf.dpdk.enabled }}
|
||||
{{- if .Values.conf.ovs_dpdk.enabled }}
|
||||
{{/* When running with DPDK, we need to specify the type and amount of hugepages.
|
||||
The following line enables resource handling in general, but the type and amount
|
||||
of hugepages must still be defined in the values.yaml.*/}}
|
||||
@ -118,9 +118,9 @@ of hugepages must still be defined in the values.yaml.*/}}
|
||||
readOnly: true
|
||||
- name: run
|
||||
mountPath: /run
|
||||
{{- if .Values.conf.dpdk.enabled }}
|
||||
{{- if .Values.conf.ovs_dpdk.enabled }}
|
||||
- name: hugepages
|
||||
mountPath: {{ .Values.conf.dpdk.hugepages_mountpath | quote }}
|
||||
mountPath: {{ .Values.conf.ovs_dpdk.hugepages_mountpath | quote }}
|
||||
- name: pci-devices
|
||||
mountPath: /sys/bus/pci/devices
|
||||
- name: huge-pages-kernel
|
||||
@ -149,7 +149,7 @@ of hugepages must still be defined in the values.yaml.*/}}
|
||||
hostPath:
|
||||
path: /
|
||||
type: Directory
|
||||
{{- if .Values.conf.dpdk.enabled }}
|
||||
{{- if .Values.conf.ovs_dpdk.enabled }}
|
||||
- name: devs
|
||||
hostPath:
|
||||
path: /dev
|
||||
@ -176,7 +176,7 @@ of hugepages must still be defined in the values.yaml.*/}}
|
||||
type: Directory
|
||||
- name: hugepages
|
||||
hostPath:
|
||||
path: {{ .Values.conf.dpdk.hugepages_mountpath | quote }}
|
||||
path: {{ .Values.conf.ovs_dpdk.hugepages_mountpath | quote }}
|
||||
type: Directory
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
@ -190,12 +190,13 @@ manifests:
|
||||
conf:
|
||||
openvswitch_db_server:
|
||||
ptcp_port: null
|
||||
dpdk:
|
||||
ovs_dpdk:
|
||||
enabled: false
|
||||
socket_memory: 1024
|
||||
hugepages_mountpath: /dev/hugepages
|
||||
# optional parameters for tuning the OVS config
|
||||
# in alignment with the available hardware resources
|
||||
## Mandatory parameters. Please uncomment when enabling DPDK
|
||||
# socket_memory: 1024
|
||||
# hugepages_mountpath: /dev/hugepages
|
||||
# vhostuser_socket_dir: vhostuser
|
||||
## Optional hardware specific parameters: modify to match NUMA topology
|
||||
# mem_channels: 4
|
||||
# lcore_mask: 0x1
|
||||
# pmd_cpu_mask: 0x4
|
||||
|
@ -3,3 +3,21 @@ images:
|
||||
tags:
|
||||
openvswitch_db_server: docker.io/openstackhelm/openvswitch:latest-opensuse_15-dpdk
|
||||
openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:latest-opensuse_15-dpdk
|
||||
pod:
|
||||
resources:
|
||||
enabled: true
|
||||
ovs:
|
||||
vswitchd:
|
||||
requests:
|
||||
memory: "2Gi"
|
||||
cpu: "2"
|
||||
limits:
|
||||
memory: "2Gi"
|
||||
cpu: "2"
|
||||
hugepages-1Gi: "1Gi"
|
||||
conf:
|
||||
ovs_dpdk:
|
||||
enabled: true
|
||||
hugepages_mountpath: /dev/hugepages
|
||||
vhostuser_socket_dir: vhostuser
|
||||
socket_memory: 1024
|
||||
|
@ -3,3 +3,21 @@ images:
|
||||
tags:
|
||||
openvswitch_db_server: docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic-dpdk
|
||||
openvswitch_vswitchd: docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic-dpdk
|
||||
pod:
|
||||
resources:
|
||||
enabled: true
|
||||
ovs:
|
||||
vswitchd:
|
||||
requests:
|
||||
memory: "2Gi"
|
||||
cpu: "2"
|
||||
limits:
|
||||
memory: "2Gi"
|
||||
cpu: "2"
|
||||
hugepages-1Gi: "1Gi"
|
||||
conf:
|
||||
ovs_dpdk:
|
||||
enabled: true
|
||||
hugepages_mountpath: /dev/hugepages
|
||||
vhostuser_socket_dir: vhostuser
|
||||
socket_memory: 1024
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
other:
|
||||
- |
|
||||
The root configuration key of the DPDK section has been changed from
|
||||
"dpdk" to "ovs_dpdk" to achieve parity with the corresponding configuration
|
||||
key in the Neutron chart.
|
Loading…
Reference in New Issue
Block a user