apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    configmap-bin-hash: 8fa5a078892b220e202c7a44d607e233aa3a01389e55fd7efb7383833c34418d
    deprecated.daemonset.template.generation: "1"
    meta.helm.sh/release-name: ovn
    meta.helm.sh/release-namespace: openstack
    openstackhelm.openstack.org/release_uuid: ""
  creationTimestamp: "2026-07-25T21:38:28Z"
  generation: 1
  labels:
    app.kubernetes.io/managed-by: Helm
    application: ovn
    component: ovn-bgp-agent
    release_group: ovn
  name: ovn-bgp-agent
  namespace: openstack
  resourceVersion: "32645"
  uid: 5f338996-cfab-4ada-9028-8f68250920d2
spec:
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      application: ovn
      component: ovn-bgp-agent
      release_group: ovn
  template:
    metadata:
      annotations:
        configmap-bin-hash: 8fa5a078892b220e202c7a44d607e233aa3a01389e55fd7efb7383833c34418d
        configmap-etc-hash: b051aca2497cbb640fe07dd769ad4b4a185c1172670745cd800ed7f87dc2a07d
        openstackhelm.openstack.org/release_uuid: ""
      creationTimestamp: null
      labels:
        application: ovn
        component: ovn-bgp-agent
        release_group: ovn
    spec:
      containers:
      - command:
        - /tmp/ovn-bgp-agent.sh
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/ovn-bgp-agent:main@sha256:98f80380aec29ea1cedd9a923edb411706fb7528bfe13daae6dd086e40997d55
        imagePullPolicy: IfNotPresent
        name: ovn-bgp-agent
        resources: {}
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /run/openvswitch
          name: run-openvswitch
        - mountPath: /tmp
          name: pod-tmp
        - mountPath: /tmp/ovn-bgp-agent.sh
          name: ovn-bin
          readOnly: true
          subPath: ovn-bgp-agent.sh
        - mountPath: /etc/ovn-bgp-agent/ovn-bgp-agent.conf
          name: ovn-etc
          readOnly: true
          subPath: ovn-bgp-agent.conf
        - mountPath: /etc/sudoers.d/kolla_ovn_bgp_agent_sudoers
          name: ovn-etc
          readOnly: true
          subPath: ovn_bgp_agent_sudoers
        - mountPath: /etc/ovn-bgp-agent/rootwrap.conf
          name: ovn-etc
          readOnly: true
          subPath: rootwrap.conf
        - mountPath: /etc/ovn-bgp-agent/rootwrap.d/ovn-bgp-agent.filters
          name: ovn-etc
          readOnly: true
          subPath: ovn-bgp-agent.filters
      dnsPolicy: ClusterFirstWithHostNet
      hostIPC: true
      hostNetwork: true
      hostPID: true
      initContainers:
      - command:
        - /tmp/ovn-bgp-agent-init.sh
        env:
        - name: NODE_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        image: harbor.atmosphere.dev/ghcr.io/vexxhost/ovn-bgp-agent:main@sha256:98f80380aec29ea1cedd9a923edb411706fb7528bfe13daae6dd086e40997d55
        imagePullPolicy: IfNotPresent
        name: ovn-bgp-agent-init
        resources: {}
        securityContext:
          privileged: true
          readOnlyRootFilesystem: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /tmp
          name: pod-tmp
        - mountPath: /tmp/ovn-bgp-agent-init.sh
          name: ovn-bin
          readOnly: true
          subPath: ovn-bgp-agent-init.sh
      nodeSelector:
        openvswitch: enabled
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: ovn-bgp-agent
      serviceAccountName: ovn-bgp-agent
      terminationGracePeriodSeconds: 30
      volumes:
      - configMap:
          defaultMode: 511
          name: ovn-bin
        name: ovn-bin
      - hostPath:
          path: /run/openvswitch
          type: DirectoryOrCreate
        name: run-openvswitch
      - name: ovn-etc
        secret:
          defaultMode: 292
          secretName: ovn-etc
      - emptyDir: {}
        name: pod-tmp
  updateStrategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
    type: RollingUpdate
status:
  currentNumberScheduled: 1
  desiredNumberScheduled: 1
  numberMisscheduled: 0
  numberReady: 0
  numberUnavailable: 1
  observedGeneration: 1
  updatedNumberScheduled: 1
