1 # yamllint disable rule:hyphens rule:commas rule:indentation
2 # ovnkube-db HA using Corosync/Pacemaker
4 # starts ovn NB/SB ovsdb daemons in a single container
9 # namespace set up by install
10 namespace: ovn-kubernetes
12 kubernetes.io/description: |
13 This daemonset launches the OVN NB/SB DB server in a single container.
15 progressDeadlineSeconds: 600
17 revisionHistoryLimit: 10
32 openshift.io/component: network
33 beta.kubernetes.io/os: "linux"
35 scheduler.alpha.kubernetes.io/critical-pod: ''
37 # Requires fairly broad permissions - ability to read all services and network functions as well
39 serviceAccountName: ovn
41 # required to be scheduled on node with openvswitch.org/ovnkube-db=true label but can
42 # only have one instance per node
45 requiredDuringSchedulingIgnoredDuringExecution:
48 - key: openvswitch.org/ovnkube-db
53 requiredDuringSchedulingIgnoredDuringExecution:
60 topologyKey: kubernetes.io/hostname
63 # ovsdb with corosync in one container - v3
65 image: "docker.io/ovnkube/ovndb-vip-u:latest"
66 imagePullPolicy: "IfNotPresent"
67 command: ["/root/ovndb-vip.sh", "run-ovndb"]
75 # ovn db is stored in the pod in /etc/openvswitch
76 # and on the host in /var/lib/openvswitch/
77 - mountPath: /etc/openvswitch/
78 name: host-var-lib-ovs
79 - mountPath: /var/log/openvswitch/
80 name: host-var-log-ovs
81 - mountPath: /etc/corosync
82 name: host-etc-corosync
83 - mountPath: /var/log/corosync
84 name: host-var-log-corosync
93 - name: OVN_DAEMONSET_VERSION
96 value: "-vconsole:info -vfile:info"
102 - name: OVN_KUBERNETES_NAMESPACE
105 fieldPath: metadata.namespace
111 # TODO: Temporarily disabled until we determine how to wait for clean default
114 # initialDelaySeconds: 10
123 - name: host-var-lib-ovs
125 path: /var/lib/openvswitch
126 - name: host-var-log-ovs
128 path: /var/log/openvswitch
129 - name: host-var-log-corosync
131 path: /var/log/corosync
132 - name: host-etc-corosync