Add OVN bridge-mapping
Change-Id: I84c38c7210217718339c0b1ef059bbad9854b2cc
This commit is contained in:
parent
6b6ca9e26c
commit
8c41205b58
@ -15,7 +15,7 @@ apiVersion: v1
|
|||||||
appVersion: v23.3.0
|
appVersion: v23.3.0
|
||||||
description: OpenStack-Helm OVN
|
description: OpenStack-Helm OVN
|
||||||
name: ovn
|
name: ovn
|
||||||
version: 0.1.1
|
version: 0.1.2
|
||||||
home: https://www.ovn.org
|
home: https://www.ovn.org
|
||||||
icon: https://www.ovn.org/images/ovn-logo.png
|
icon: https://www.ovn.org/images/ovn-logo.png
|
||||||
sources:
|
sources:
|
||||||
|
29
ovn/templates/bin/_ovn-setup-bridges-init.sh.tpl
Normal file
29
ovn/templates/bin/_ovn-setup-bridges-init.sh.tpl
Normal 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
|
||||||
|
|
||||||
|
# handle any bridge mappings
|
||||||
|
# /tmp/auto_bridge_add is one line json file: {"br-ex1":"eth1","br-ex2":"eth2"}
|
||||||
|
for bmap in `sed 's/[{}"]//g' /tmp/auto_bridge_add | tr "," "\n"`
|
||||||
|
do
|
||||||
|
bridge=${bmap%:*}
|
||||||
|
iface=${bmap#*:}
|
||||||
|
ovs-vsctl --may-exist add-br $bridge -- set bridge $bridge protocols=OpenFlow13
|
||||||
|
if [ -n "$iface" ] && [ "$iface" != "null" ]
|
||||||
|
then
|
||||||
|
ovs-vsctl --may-exist add-port $bridge $iface
|
||||||
|
fi
|
||||||
|
done
|
@ -970,7 +970,11 @@ ovn-master() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
add-external-id-configs() {
|
add-external-id-configs() {
|
||||||
ovs-vsctl set open . external-ids:system-id="$ovn_pod_host"
|
ovs-vsctl get open . external-ids:system-id
|
||||||
|
if [ $? -eq 1 ]; then
|
||||||
|
ovs-vsctl set open . external-ids:system-id="$(uuidgen)"
|
||||||
|
fi
|
||||||
|
|
||||||
ovs-vsctl set open . external-ids:rundir="/var/run/openvswitch"
|
ovs-vsctl set open . external-ids:rundir="/var/run/openvswitch"
|
||||||
ovs-vsctl set open . external_ids:ovn-encap-ip="$ovn_encap_ip"
|
ovs-vsctl set open . external_ids:ovn-encap-ip="$ovn_encap_ip"
|
||||||
ovs-vsctl set open . external-ids:ovn-remote="{{ .Values.conf.ovn_remote }}"
|
ovs-vsctl set open . external-ids:ovn-remote="{{ .Values.conf.ovn_remote }}"
|
||||||
|
@ -26,4 +26,6 @@ data:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
ovn.sh: |
|
ovn.sh: |
|
||||||
{{ tuple "bin/_ovn.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
{{ tuple "bin/_ovn.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
||||||
|
ovn-setup-bridges-init.sh: |
|
||||||
|
{{ tuple "bin/_ovn-setup-bridges-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
34
ovn/templates/configmap-etc.yaml
Normal file
34
ovn/templates/configmap-etc.yaml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{{/*
|
||||||
|
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.
|
||||||
|
*/}}
|
||||||
|
|
||||||
|
{{- define "ovn.configmap.etc" }}
|
||||||
|
{{- $configMapName := index . 0 }}
|
||||||
|
{{- $envAll := index . 1 }}
|
||||||
|
{{- with $envAll }}
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ $configMapName }}
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
auto_bridge_add: {{ toJson $envAll.Values.conf.auto_bridge_add | b64enc }}
|
||||||
|
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if .Values.manifests.configmap_etc }}
|
||||||
|
{{- list "ovn-etc" . | include "ovn.configmap.etc" }}
|
||||||
|
{{- end }}
|
@ -15,6 +15,7 @@ limitations under the License.
|
|||||||
{{- if .Values.manifests.daemonset_controller }}
|
{{- if .Values.manifests.daemonset_controller }}
|
||||||
{{- $envAll := . }}
|
{{- $envAll := . }}
|
||||||
|
|
||||||
|
{{- $configMapName := "ovn-etc" }}
|
||||||
{{- $serviceAccountName := "ovn-controller" }}
|
{{- $serviceAccountName := "ovn-controller" }}
|
||||||
{{ tuple $envAll "ovn_controller" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
{{ tuple $envAll "ovn_controller" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
||||||
---
|
---
|
||||||
@ -43,6 +44,21 @@ spec:
|
|||||||
{{ .Values.labels.ovn_controller.node_selector_key }}: {{ .Values.labels.ovn_controller.node_selector_value }}
|
{{ .Values.labels.ovn_controller.node_selector_key }}: {{ .Values.labels.ovn_controller.node_selector_value }}
|
||||||
initContainers:
|
initContainers:
|
||||||
{{- tuple $envAll "ovn_controller" list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
|
{{- tuple $envAll "ovn_controller" list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
|
||||||
|
- name: ovn-setup-bridge
|
||||||
|
{{ tuple $envAll "ovn_controller" | include "helm-toolkit.snippets.image" | indent 10 }}
|
||||||
|
command:
|
||||||
|
- /tmp/ovn-setup-bridges-init.sh
|
||||||
|
volumeMounts:
|
||||||
|
- name: ovn-bin
|
||||||
|
mountPath: /tmp/ovn-setup-bridges-init.sh
|
||||||
|
subPath: ovn-setup-bridges-init.sh
|
||||||
|
readOnly: true
|
||||||
|
- name: run-openvswitch
|
||||||
|
mountPath: /run/openvswitch
|
||||||
|
- name: ovn-etc
|
||||||
|
mountPath: /tmp/auto_bridge_add
|
||||||
|
subPath: auto_bridge_add
|
||||||
|
readOnly: true
|
||||||
containers:
|
containers:
|
||||||
- name: ovn-controller
|
- name: ovn-controller
|
||||||
{{ tuple $envAll "ovn_controller" | include "helm-toolkit.snippets.image" | indent 10 }}
|
{{ tuple $envAll "ovn_controller" | include "helm-toolkit.snippets.image" | indent 10 }}
|
||||||
@ -70,9 +86,13 @@ spec:
|
|||||||
- name: ovn-bin
|
- name: ovn-bin
|
||||||
configMap:
|
configMap:
|
||||||
name: ovn-bin
|
name: ovn-bin
|
||||||
defaultMode: 0555
|
defaultMode: 0777
|
||||||
- name: run-openvswitch
|
- name: run-openvswitch
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /run/openvswitch
|
path: /run/openvswitch
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
|
- name: ovn-etc
|
||||||
|
secret:
|
||||||
|
secretName: {{ $configMapName }}
|
||||||
|
defaultMode: 0444
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -70,8 +70,14 @@ conf:
|
|||||||
ovn_remote: tcp:ovn-sb-db.openstack.svc.cluster.local:6640
|
ovn_remote: tcp:ovn-sb-db.openstack.svc.cluster.local:6640
|
||||||
ovn_encap_type: geneve
|
ovn_encap_type: geneve
|
||||||
ovn_bridge: br-int
|
ovn_bridge: br-int
|
||||||
|
# ovn_bridge_mappings: "physnet-public:br-public,physnet-private:br-private"
|
||||||
ovn_bridge_mappings: ""
|
ovn_bridge_mappings: ""
|
||||||
|
|
||||||
|
# auto_bridge_add:
|
||||||
|
# br-private: eth0
|
||||||
|
# br-public: eth1
|
||||||
|
auto_bridge_add: {}
|
||||||
|
|
||||||
# NOTE: should be same as nova.conf.use_fqdn.compute
|
# NOTE: should be same as nova.conf.use_fqdn.compute
|
||||||
use_fqdn:
|
use_fqdn:
|
||||||
compute: true
|
compute: true
|
||||||
@ -272,6 +278,7 @@ dependencies:
|
|||||||
|
|
||||||
manifests:
|
manifests:
|
||||||
configmap_bin: true
|
configmap_bin: true
|
||||||
|
configmap_etc: true
|
||||||
deployment_northd: true
|
deployment_northd: true
|
||||||
daemonset_controller: true
|
daemonset_controller: true
|
||||||
service_ovn_nb_db: true
|
service_ovn_nb_db: true
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
ovn:
|
ovn:
|
||||||
- 0.1.0 Add OVN!
|
- 0.1.0 Add OVN!
|
||||||
- 0.1.1 Fix ovn db persistence issue
|
- 0.1.1 Fix ovn db persistence issue
|
||||||
|
- 0.1.2 Add bridge-mapping configuration
|
||||||
...
|
...
|
||||||
|
Loading…
Reference in New Issue
Block a user