Add asap2 support for neutron

Change-Id: I3822e0073e3a3b77ed795498084619ea02f34a84
This commit is contained in:
ricolin 2023-06-30 13:29:39 +08:00
parent 7b8d8f3938
commit eed71a7920
7 changed files with 70 additions and 1 deletions

View File

@ -14,7 +14,7 @@ apiVersion: v1
appVersion: v1.0.0
description: OpenStack-Helm Neutron
name: neutron
version: 0.3.14
version: 0.3.15
home: https://docs.openstack.org/neutron/latest/
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Neutron/OpenStack_Project_Neutron_vertical.png
sources:

View File

@ -0,0 +1,29 @@
#!/bin/bash
{{/*
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/}}
set -ex
# ASAP2
for cfg in $(cat /tmp/netoffload | jq -r '(.asap2 // [])[] | @base64'); do
_jq() {
echo ${cfg} | base64 --decode | jq -r ${1}
}
DEVICE=$(_jq '.dev')
VFS=$(_jq '.vfs')
offloadctl enable asap2 ${DEVICE} --vfs ${VFS}
done

View File

@ -65,6 +65,10 @@ data:
{{ tuple "bin/_neutron-openvswitch-agent-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
neutron-openvswitch-agent-init-modules.sh: |
{{ tuple "bin/_neutron-openvswitch-agent-init-modules.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
{{- if .Values.conf.netoffload.enabled }}
neutron-openvswitch-agent-init-netoffload.sh: |
{{ tuple "bin/_neutron-openvswitch-agent-init-netoffload.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
{{- end }}
neutron-openvswitch-agent-readiness.sh: |
{{ tuple "bin/_neutron-openvswitch-agent-readiness.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
neutron-openvswitch-agent-liveness.sh: |

View File

@ -304,6 +304,9 @@ data:
neutron_sudoers: {{ $envAll.Values.conf.neutron_sudoers | b64enc }}
rootwrap.conf: {{ $envAll.Values.conf.rootwrap | b64enc }}
auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}
{{- if .Values.conf.netoffload.enabled }}
netoffload: {{ toJson $envAll.Values.conf.netoffload | b64enc }}
{{- end }}
dpdk.conf: {{ toJson $envAll.Values.conf.ovs_dpdk | b64enc }}
update_dpdk_bond_config: {{ $envAll.Values.conf.ovs_dpdk.update_dpdk_bond_config | toString | b64enc }}
{{- if ( has "ovn" .Values.network.backend ) }}

View File

@ -92,6 +92,26 @@ spec:
{{- if .Values.conf.ovs_dpdk.enabled }}
- name: pci-devices
mountPath: /sys/bus/pci/devices
{{- end }}
{{- if .Values.conf.netoffload.enabled }}
- name: netoffload
{{ tuple $envAll "netoffload" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ dict "envAll" $envAll "application" "neutron_ovs_agent" "container" "netoffload" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
command:
- /tmp/neutron-openvswitch-agent-init-netoffload.sh
volumeMounts:
- name: pod-tmp
mountPath: /tmp
- name: neutron-bin
mountPath: /tmp/neutron-openvswitch-agent-init-netoffload.sh
subPath: neutron-openvswitch-agent-init-netoffload.sh
readOnly: true
- name: neutron-etc
mountPath: /tmp/netoffload
subPath: netoffload
readOnly: true
- name: run
mountPath: /run
{{- end }}
- name: neutron-ovs-agent-init
{{ tuple $envAll "neutron_openvswitch_agent" | include "helm-toolkit.snippets.image" | indent 10 }}

View File

@ -30,6 +30,7 @@ images:
ks_user: docker.io/openstackhelm/heat:stein-ubuntu_bionic
ks_service: docker.io/openstackhelm/heat:stein-ubuntu_bionic
ks_endpoints: docker.io/openstackhelm/heat:stein-ubuntu_bionic
netoffload: ghcr.io/vexxhost/netoffload:v1.0.1
neutron_server: docker.io/openstackhelm/neutron:stein-ubuntu_bionic
neutron_dhcp: docker.io/openstackhelm/neutron:stein-ubuntu_bionic
neutron_metadata: docker.io/openstackhelm/neutron:stein-ubuntu_bionic
@ -540,6 +541,10 @@ pod:
- SYS_CHROOT
runAsUser: 0
readOnlyRootFilesystem: true
netoffload:
privileged: true
runAsUser: 0
readOnlyRootFilesystem: true
neutron_ovs_agent_init:
privileged: true
runAsUser: 0
@ -2013,6 +2018,13 @@ conf:
auto_bridge_add:
br-ex: null
# Network off-loading configuration
netoffload:
enabled: false
asap2:
# - dev: enp97s0f0
# vfs: 16
# configuration of OVS DPDK bridges and NICs
# this is a separate section and not part of the auto_bridge_add section
# because additional parameters are needed

View File

@ -56,4 +56,5 @@ neutron:
- 0.3.12 Update oslo_messaging_RPCClient and get_rpc_transport
- 0.3.13 Remove duplicated argument when running a liveness check
- 0.3.14 Add 2023.1 overrides
- 0.3.15 Add asap2 support
...