From 136f14dec4ddb2e3eb871cc2f5d9b9cf2d21d3a4 Mon Sep 17 00:00:00 2001 From: Jochen Friedrich <j.friedrich@nwe.de> Date: Wed, 28 Dec 2022 05:51:27 +0100 Subject: [PATCH] Cluster support for ovn-central. (#9596) Without minimal cluster configuration, even on a one node control plane, the health check of the ovn-cental container always fails as it queries the cluster/status. --- roles/network_plugin/kube-ovn/defaults/main.yml | 9 +++++++-- roles/network_plugin/kube-ovn/tasks/main.yml | 4 ++-- roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2 | 4 ++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/roles/network_plugin/kube-ovn/defaults/main.yml b/roles/network_plugin/kube-ovn/defaults/main.yml index 430f69829..9fa98054a 100644 --- a/roles/network_plugin/kube-ovn/defaults/main.yml +++ b/roles/network_plugin/kube-ovn/defaults/main.yml @@ -28,8 +28,13 @@ kube_ovn_dpdk_node_memory_request: 2Gi kube_ovn_dpdk_node_cpu_limit: 1000m kube_ovn_dpdk_node_memory_limit: 2Gi -kube_ovn_central_replics: 1 -kube_ovn_controller_replics: 1 +kube_ovn_central_hosts: "{{ groups['kube_control_plane'] }}" +kube_ovn_central_replics: "{{ kube_ovn_central_hosts | length }}" +kube_ovn_controller_replics: "{{ kube_ovn_central_hosts | length }}" +kube_ovn_central_ips: |- + {% for item in kube_ovn_central_hosts -%} + {{ hostvars[item]['ip'] | default(fallback_ips[item]) }}{% if not loop.last %},{% endif %} + {%- endfor %} # geneve or vlan kube_ovn_network_type: geneve diff --git a/roles/network_plugin/kube-ovn/tasks/main.yml b/roles/network_plugin/kube-ovn/tasks/main.yml index f720c51e6..ab45b6292 100644 --- a/roles/network_plugin/kube-ovn/tasks/main.yml +++ b/roles/network_plugin/kube-ovn/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Kube-OVN | Label ovn-db node - command: >- - {{ kubectl }} label --overwrite node {{ groups['kube_control_plane'] | first }} kube-ovn/role=master + command: "{{ kubectl }} label --overwrite node {{ item }} kube-ovn/role=master" + loop: "{{ kube_ovn_central_hosts }}" when: - inventory_hostname == groups['kube_control_plane'][0] diff --git a/roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2 b/roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2 index 2d8a5c309..28234ef01 100644 --- a/roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2 +++ b/roles/network_plugin/kube-ovn/templates/cni-ovn.yml.j2 @@ -249,6 +249,8 @@ spec: valueFrom: fieldRef: fieldPath: status.podIP + - name: NODE_IPS + value: "{{ kube_ovn_central_ips }}" - name: POD_NAME valueFrom: fieldRef: @@ -386,6 +388,8 @@ spec: valueFrom: fieldRef: fieldPath: spec.nodeName + - name: OVN_DB_IPS + value: "{{ kube_ovn_central_ips }}" volumeMounts: - mountPath: /var/run/netns name: host-ns -- GitLab