apiVersion: apps/v1
kind: StatefulSet
metadata:
  annotations:
    meta.helm.sh/release-name: ovn
    meta.helm.sh/release-namespace: openstack
    openstackhelm.openstack.org/release_uuid: ""
  creationTimestamp: "2026-02-26T03:27:09Z"
  generation: 1
  labels:
    app.kubernetes.io/managed-by: Helm
    application: ovn
    component: ovn-ovsdb-sb
    release_group: ovn
  name: ovn-ovsdb-sb
  namespace: openstack
  resourceVersion: "13988"
  uid: e1ed27c6-c6c8-4a4f-82b7-cfd0cf2d14fb
spec:
  persistentVolumeClaimRetentionPolicy:
    whenDeleted: Retain
    whenScaled: Retain
  podManagementPolicy: Parallel
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      application: ovn
      component: ovn-ovsdb-sb
      release_group: ovn
  serviceName: ovn-ovsdb-sb
  template:
    metadata:
      annotations:
        configmap-bin-hash: 8fa5a078892b220e202c7a44d607e233aa3a01389e55fd7efb7383833c34418d
        openstackhelm.openstack.org/release_uuid: ""
      creationTimestamp: null
      labels:
        application: ovn
        component: ovn-ovsdb-sb
        release_group: ovn
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: release_group
                operator: In
                values:
                - ovn
              - key: application
                operator: In
                values:
                - ovn
              - key: component
                operator: In
                values:
                - ovn-ovsdb-sb
            topologyKey: kubernetes.io/hostname
      containers:
      - command:
        - /root/ovnkube.sh
        - sb-ovsdb
        env:
        - name: OVN_DAEMONSET_VERSION
          value: "3"
        - name: OVN_LOGLEVEL_SB
          value: -vconsole:info -vfile:info
        - name: OVN_KUBERNETES_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: OVN_KUBERNETES_STATEFULSET
          value: ovn-ovsdb-sb
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: OVN_SSL_ENABLE
          value: "no"
        - name: ENABLE_IPSEC
          value: "false"
        - name: OVN_SB_RAFT_ELECTION_TIMER
          value: "1000"
        - name: OVN_SB_PORT
          value: "6642"
        - name: OVN_SB_RAFT_PORT
          value: "6644"
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/ovn:v24.03.7-3@sha256:deb1966eff94d8da072a3647db63546722094deb3ef34b6b464609bcba61887a
        imagePullPolicy: IfNotPresent
        name: ovsdb
        ports:
        - containerPort: 6642
          protocol: TCP
        - containerPort: 6644
          protocol: TCP
        readinessProbe:
          exec:
            command:
            - /usr/bin/ovn-kube-util
            - readiness-probe
            - -t
            - ovnsb-db
          failureThreshold: 3
          initialDelaySeconds: 30
          periodSeconds: 60
          successThreshold: 1
          timeoutSeconds: 30
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /var/run/openvswitch
          name: run-openvswitch
        - mountPath: /var/run/ovn
          name: run-openvswitch
        - mountPath: /etc/ovn
          name: data
        - mountPath: /var/log/ovn
          name: var-log-ovn
      dnsPolicy: ClusterFirst
      initContainers:
      - command:
        - kubernetes-entrypoint
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: INTERFACE_NAME
          value: eth0
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
        - name: DEPENDENCY_SERVICE
        - name: DEPENDENCY_DAEMONSET
        - name: DEPENDENCY_CONTAINER
        - name: DEPENDENCY_POD_JSON
        - name: DEPENDENCY_CUSTOM_RESOURCE
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/kubernetes-entrypoint:edge
        imagePullPolicy: IfNotPresent
        name: init
        resources: {}
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
          runAsUser: 65534
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      nodeSelector:
        openstack-control-plane: enabled
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: ovn-ovsdb-sb
      serviceAccountName: ovn-ovsdb-sb
      terminationGracePeriodSeconds: 30
      volumes:
      - hostPath:
          path: /run/openvswitch
          type: DirectoryOrCreate
        name: run-openvswitch
      - emptyDir: {}
        name: var-log-ovn
  updateStrategy:
    rollingUpdate:
      partition: 0
    type: RollingUpdate
  volumeClaimTemplates:
  - apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      creationTimestamp: null
      name: data
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 20Gi
      storageClassName: general
      volumeMode: Filesystem
    status:
      phase: Pending
status:
  availableReplicas: 1
  collisionCount: 0
  currentReplicas: 1
  currentRevision: ovn-ovsdb-sb-7bf976c98c
  observedGeneration: 1
  readyReplicas: 1
  replicas: 1
  updateRevision: ovn-ovsdb-sb-7bf976c98c
  updatedReplicas: 1
