apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
    meta.helm.sh/release-name: ovn
    meta.helm.sh/release-namespace: openstack
    openstackhelm.openstack.org/release_uuid: ""
  creationTimestamp: "2026-04-21T17:39:22Z"
  generation: 1
  labels:
    app.kubernetes.io/managed-by: Helm
    application: ovn
    component: ovn-northd
    release_group: ovn
  name: ovn-northd
  namespace: openstack
  resourceVersion: "14756"
  uid: 841d93c3-f918-4284-9c5f-728e8c73f1c0
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      application: ovn
      component: ovn-northd
      release_group: ovn
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      annotations:
        configmap-bin-hash: c409b7b2d3b66c56bb7fa0ff87b762d0d7725211812e5a579a83fa8382c24150
        openstackhelm.openstack.org/release_uuid: ""
      creationTimestamp: null
      labels:
        application: ovn
        component: ovn-northd
        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_northd
            topologyKey: kubernetes.io/hostname
      containers:
      - command:
        - /root/ovnkube.sh
        - run-ovn-northd
        env:
        - name: OVN_DAEMONSET_VERSION
          value: "3"
        - name: OVN_LOGLEVEL_NORTHD
          value: -vconsole:info -vfile:info
        - name: OVN_KUBERNETES_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: OVN_KUBERNETES_NB_STATEFULSET
          value: ovn-ovsdb-nb
        - name: OVN_KUBERNETES_SB_STATEFULSET
          value: ovn-ovsdb-sb
        - name: OVN_SSL_ENABLE
          value: "no"
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/ovn:v24.03.7-3@sha256:deb1966eff94d8da072a3647db63546722094deb3ef34b6b464609bcba61887a
        imagePullPolicy: IfNotPresent
        livenessProbe:
          exec:
            command:
            - /usr/bin/ovn-kube-util
            - readiness-probe
            - -t
            - ovn-northd
          failureThreshold: 3
          initialDelaySeconds: 30
          periodSeconds: 60
          successThreshold: 1
          timeoutSeconds: 30
        name: northd
        readinessProbe:
          exec:
            command:
            - /usr/bin/ovn-kube-util
            - readiness-probe
            - -t
            - ovn-northd
          failureThreshold: 3
          initialDelaySeconds: 30
          periodSeconds: 60
          successThreshold: 1
          timeoutSeconds: 30
        resources: {}
        securityContext:
          capabilities:
            add:
            - SYS_NICE
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /var/log/ovn
          name: var-log-ovn
        - mountPath: /var/run/ovn
          name: var-run-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
          value: openstack:ovn-ovsdb-nb,openstack:ovn-ovsdb-sb
        - name: DEPENDENCY_DAEMONSET
        - name: DEPENDENCY_CONTAINER
        - name: DEPENDENCY_POD_JSON
        - name: DEPENDENCY_CUSTOM_RESOURCE
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/kubernetes-entrypoint:edge@sha256:8921b64b87af184a1421dd856b2703bcf3cff9f50863cd0d18371cf964a87bd3
        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-northd
      serviceAccountName: ovn-northd
      terminationGracePeriodSeconds: 30
      volumes:
      - emptyDir: {}
        name: var-log-ovn
      - emptyDir: {}
        name: var-run-ovn
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: "2026-04-21T17:40:22Z"
    lastUpdateTime: "2026-04-21T17:40:22Z"
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  - lastTransitionTime: "2026-04-21T17:39:22Z"
    lastUpdateTime: "2026-04-21T17:40:22Z"
    message: ReplicaSet "ovn-northd-6c6687ddd6" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: "True"
    type: Progressing
  observedGeneration: 1
  readyReplicas: 1
  replicas: 1
  updatedReplicas: 1
