--- apiVersion: v1 items: - apiVersion: v1 data: cnibincopy.sh: |- #!/bin/bash set -e function log() { echo "$(date --iso-8601=seconds) [cnibincopy] ${1}" } DESTINATION_DIRECTORY=/host/opt/cni/bin/ # Perform validation of usage if [ -z "$SOURCE_DIRECTORY" ]; then log "FATAL ERROR: You must set the SOURCE_DIRECTORY env variable" exit 1 fi if [ ! -d "$DESTINATION_DIRECTORY" ]; then log "FATAL ERROR: Destination directory ($DESTINATION_DIRECTORY) does not exist" exit 1 fi sourcedir="${SOURCE_DIRECTORY}" log "Copying binaries from ${sourcedir}" # Use a subdirectory called "upgrade" so we can atomically move fully copied files. # We now use --remove-destination after running into an issue with -f not working over symlinks UPGRADE_DIRECTORY=${DESTINATION_DIRECTORY}upgrade_$(uuidgen) rm -Rf $UPGRADE_DIRECTORY mkdir -p $UPGRADE_DIRECTORY find "${sourcedir}" -maxdepth 1 -mindepth 1 ! -type d -exec cp --remove-destination {} "${UPGRADE_DIRECTORY}/" \; if [ $? -eq 0 ]; then log "Successfully copied files in ${sourcedir} to $UPGRADE_DIRECTORY" else log "Failed to copy files in ${sourcedir} to $UPGRADE_DIRECTORY" rm -Rf $UPGRADE_DIRECTORY exit 1 fi mv -f $UPGRADE_DIRECTORY/* ${DESTINATION_DIRECTORY}/ if [ $? -eq 0 ]; then log "Successfully moved files in $UPGRADE_DIRECTORY to ${DESTINATION_DIRECTORY}" else log "Failed to move files in $UPGRADE_DIRECTORY to ${DESTINATION_DIRECTORY}" rm -Rf $UPGRADE_DIRECTORY exit 1 fi rm -Rf $UPGRADE_DIRECTORY kind: ConfigMap metadata: annotations: kubernetes.io/description: | This is a script used to copy CNI binaries based on host OS release.openshift.io/version: 4.21.32 creationTimestamp: "2026-09-10T10:29:10Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:cnibincopy.sh: {} f:metadata: f:annotations: f:kubernetes.io/description: {} f:release.openshift.io/version: {} f:ownerReferences: k:{"uid":"12464c40-105b-4424-b108-c2a86cf9b86a"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-09-10T10:29:10Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 12464c40-105b-4424-b108-c2a86cf9b86a resourceVersion: "2346" uid: 82a7be09-1907-4363-aec9-dca644700483 - apiVersion: v1 data: allowlist.conf: |- ^net.ipv4.conf.IFNAME.accept_redirects$ ^net.ipv4.conf.IFNAME.accept_source_route$ ^net.ipv4.conf.IFNAME.arp_accept$ ^net.ipv4.conf.IFNAME.arp_notify$ ^net.ipv4.conf.IFNAME.disable_policy$ ^net.ipv4.conf.IFNAME.secure_redirects$ ^net.ipv4.conf.IFNAME.send_redirects$ ^net.ipv6.conf.IFNAME.accept_ra$ ^net.ipv6.conf.IFNAME.accept_redirects$ ^net.ipv6.conf.IFNAME.accept_source_route$ ^net.ipv6.conf.IFNAME.arp_accept$ ^net.ipv6.conf.IFNAME.arp_notify$ ^net.ipv6.neigh.IFNAME.base_reachable_time_ms$ ^net.ipv6.neigh.IFNAME.retrans_time_ms$ kind: ConfigMap metadata: annotations: kubernetes.io/description: | Sysctl allowlist for nodes. release.openshift.io/version: 4.21.32 creationTimestamp: "2026-09-10T10:29:09Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:allowlist.conf: {} f:metadata: f:annotations: .: {} f:kubernetes.io/description: {} f:release.openshift.io/version: {} manager: network-operator operation: Update time: "2026-09-10T10:29:09Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2323" uid: 7f9d78d1-760d-4229-a15b-f0b96a350f6f - apiVersion: v1 data: allowlist.conf: |- ^net.ipv4.conf.IFNAME.accept_redirects$ ^net.ipv4.conf.IFNAME.accept_source_route$ ^net.ipv4.conf.IFNAME.arp_accept$ ^net.ipv4.conf.IFNAME.arp_notify$ ^net.ipv4.conf.IFNAME.disable_policy$ ^net.ipv4.conf.IFNAME.secure_redirects$ ^net.ipv4.conf.IFNAME.send_redirects$ ^net.ipv6.conf.IFNAME.accept_ra$ ^net.ipv6.conf.IFNAME.accept_redirects$ ^net.ipv6.conf.IFNAME.accept_source_route$ ^net.ipv6.conf.IFNAME.arp_accept$ ^net.ipv6.conf.IFNAME.arp_notify$ ^net.ipv6.neigh.IFNAME.base_reachable_time_ms$ ^net.ipv6.neigh.IFNAME.retrans_time_ms$ kind: ConfigMap metadata: annotations: kubernetes.io/description: | Sysctl allowlist for nodes. release.openshift.io/version: 4.21.32 creationTimestamp: "2026-09-10T10:29:09Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:allowlist.conf: {} f:metadata: f:annotations: f:kubernetes.io/description: {} f:release.openshift.io/version: {} f:ownerReferences: k:{"uid":"12464c40-105b-4424-b108-c2a86cf9b86a"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-09-10T10:29:09Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 12464c40-105b-4424-b108-c2a86cf9b86a resourceVersion: "2318" uid: ebe4ea7e-e45e-479e-a07e-9d0f809785e7 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIIdGjVkhWzOzswDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDkxMDEwMjYxNVoX DTM2MDkwNzEwMjYxNVowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAunyRWahxDbjw W208GSEhC9fvKauJvQSTBbKtrqgh0IM0YRVLe02KZmnN9yZ8TxCjR+nYNiMG84xa UBo45hT3lN1a2lE9TtH8QVCB+QKd1XTiiLzAO//dNnkWyy+3f5PQFphQPw91O5hV +5XL805/AeM7FiytuS/9h+qDxd7uA+3N5J3/9Qpju45Iue3AvKfCVGzieZZ3FNay QGefXC22gVxO4FmetbsI/eSp/m6EQyqa8QLpGKD0Z9JhdTtr6y87d4aqhv/JG/E6 U9OHUrzbfdR/jBq2jxKIQb1rNuiLsAQKFHcHQt3m4vYEbPcxI5S/oB8uJ2GHaJhX vaipbc0M8QIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRA/nKKMip0h/FVFkJ5ThQalzbCuULcbfMJfidhFE9K5bzecJAA lRGXJQr0bNfKm9HQ6b5aB0KBaQcl+IPUDjmebDANBgkqhkiG9w0BAQsFAAOCAQEA uRlnAAzRr4rVsEP6OTxigFllMUHe+MLMpgtqkS1/KtuG6JWz0U51ujBKua5CjQHy N4Y59Bvu6CjdoGwaa/7k+ShdIZZqtDEKIUGGwQ56RrSv/t/z7gsahka/FNqpnCGO en43DqPolaXxn3zy1lKPePnY0HEWC5SAzHgGlvvWpUdkaDYbYOWqVGQfQ4AuYTOY F5CHWOHcsme4eIUUaQHu4NyVigppTV9cNt4SiO2BSKqOleG6kbYUrK+pUkVGPFiQ JGYdfuefByiKa/zDbyGTylCwrZQV8yZv0rlEJaz9OxOrDBR3obkDJzbnn2TacBmW wELKqP86oV+AaFpSdQLsOw== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIIJYkCq2fy8aEwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDkxMDEwMjY1MloX DTI3MDkxMDEwMjY1MlowMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AJ6p0jPKb2pecpsu+byzwZLsEnflTFtDWI05aVVD2MQ9TS99hDgOc7F+OfE0HkWq 69avbOo1ycAoRlJF03s61Do1iC575Ns48RacwIhmiuCj2M20DqU8lye/flEiKhV1 2m7bzmxQ+rszdxw/Yjm75oeNETOHyzJAwYpxKhcrsCWCYvntQvoDhvZdknldNU9s tjurgkSAOnqXYi4r4IQKy1M36NdwaNOUExobapzENLSqiqWYgFWBjzU6HxTAcXuQ wB7chQ/bEiF5370By2AA/gt6LhfJlv8QTIU6bM1MrO7ZeZg1ugYce69yHAsMHCfa qpfONQ5aSH06LW01ZEGwWhUCAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRABZfY8Wy+njsiga0iK7GMfufGpgHhb9cdVDJM+qcKtB/KYeTfpTQvWe9e ak0Ql/xju+DvdiwIRZXmAN8wGj3lzDBLBgNVHSMERDBCgED+cooyKnSH8VUWQnlO FBqXNsK5Qtxt8wl+J2EUT0rlvN5wkACVEZclCvRs18qb0dDpvloHQoFpByX4g9QO OZ5sMEsGA1UdEQREMEKCQCouYXBwcy44ZWIxMjkwMS03YjY2LTQ4NDEtOTQ1ZS1j YzgxOTFjMGJlNGIucHJvZC5rb25mbHV4ZWFhcy5jb20wDQYJKoZIhvcNAQELBQAD ggEBAEjU06ve1zNQLoUSZ7XpycTI+OJNNJKjtkF5+2zMy54OnFB5pwCwNLzET/Pa SXrsWQD17/zNfyzsXtAuq7v22nl5AbnVM1OStJoZqe3+dTYWOOFhkZdg4mZd0miJ ckmd7xVicQyQRTauziH9V/exDR4zeOo0xeWZJZ7m4O19uQezmQXz9kGsZG75+Arx PP61LRidPseT1wAaa+cgANztGcGYkAyJ+zp6xYvoV0rYwqXw6aOrjjGLVZukAtsY 5RdBVQalwj03ijSNwrSYQkkyw8718FtlYgnvQ5rsH2nkfjKWDa4zmrrsAMMyBrVN 5MiQCWVnPVGZMucSz5Ro+5W/O7w= -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: kubernetes.io/description: Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters. creationTimestamp: "2026-09-10T10:29:07Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:ca.crt: {} f:metadata: f:annotations: .: {} f:kubernetes.io/description: {} manager: kube-controller-manager operation: Update time: "2026-09-10T10:29:34Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "4193" uid: 2ad4f359-bb0e-4bd6-b207-a916c71112a8 - apiVersion: v1 data: daemon-config.json: | { "cniVersion": "0.3.1", "chrootDir": "/hostroot", "logToStderr": true, "logLevel": "verbose", "binDir": "/var/lib/cni/bin", "perNodeCertificate": { "enabled": true, "bootstrapKubeconfig": "/var/lib/kubelet/kubeconfig", "certDir": "/etc/cni/multus/certs", "certDuration": "24h" }, "cniConfigDir": "/host/etc/cni/net.d", "multusConfigFile": "auto", "multusAutoconfigDir": "/host/run/multus/cni/net.d", "namespaceIsolation": true, "globalNamespaces": "default,openshift-multus,openshift-sriov-network-operator,openshift-cnv", "readinessindicatorfile": "/host/run/multus/cni/net.d/10-ovn-kubernetes.conf", "daemonSocketDir": "/run/multus/socket", "socketDir": "/host/run/multus/socket", "auxiliaryCNIChainName": "vendor-cni-chain" } kind: ConfigMap metadata: creationTimestamp: "2026-09-10T10:29:10Z" labels: app: multus tier: node managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:daemon-config.json: {} f:metadata: f:labels: f:app: {} f:tier: {} f:ownerReferences: k:{"uid":"12464c40-105b-4424-b108-c2a86cf9b86a"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-09-10T10:29:10Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 12464c40-105b-4424-b108-c2a86cf9b86a resourceVersion: "2354" uid: d3f1d245-a988-4f33-ba2f-f7cd6eade12e - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIISzJ+Kl/MBg0wDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4OTAzNjUyMjAe Fw0yNjA5MTAxMDM1MjFaFw0yODExMDgxMDM1MjJaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODkwMzY1MjIwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDUb/wSFhT3HIpf59LUmXFkMZ+SM/rgcIKN Tgp+NsAM8zaHHAdfx227kaIDENJqxuqZrQrTCHFHbWfa5prgFqojs1Lp4QWGPjmh C8Jri5r2F8Sov+/KZTCYehorAKUCz2YgTNSxR3LQvMATRVgJWsF08QYyVSWklR1p ax7pQjDcO6XR+7lIf2u/Z55aZIPoiOoCTZ0RdX8xl8IslIhUyl0qmLSR5CxophhB PbF/MQwYLks+XecAaCXDklon+AXX7G7bg9LWvqLowOGBcWex4J6l89ytRNeWywkU vlnJ+bV7PqUZWv6sDrhbLbkLKrtMjf5tTim/7lK4sfmb+oKzWEjjAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRMUyGn BgkuorwIqND0uvR3AKnxzzAfBgNVHSMEGDAWgBRMUyGnBgkuorwIqND0uvR3AKnx zzANBgkqhkiG9w0BAQsFAAOCAQEAbAnTXb4njvl1Y6a8qnQQwaRizkvvHba91Zzq 5sYL5Tf5MuFnI93YLmFvQ4wrdLFU8MnRr3MTPOOxSnGcWOsQy6Bax9ZbgCj+DbyH SUTakP/d5OKqbevZXVD2ZuG/1w20Y7O+X+INgDLrrJwyqICEIh8y5iFkQhMXeUZn Z1emNJmjF7Uv38jibxybmdk71XwIvaVuzE21VkfgnbR1ne38x52gGylkX9e+yNs3 9lk79xYbHAhdQDC/cPJJAHiLkSOD4OVqUp8jLjX9SsK7pLxJ2U2UgLp9ICFjBwAZ 2hNVhirSvBmAEc39hyZI1zXX88azdPvGOnyUQ2+nqZYba2WmiA== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-09-10T10:29:07Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: {} f:metadata: f:annotations: .: {} f:service.beta.openshift.io/inject-cabundle: {} manager: kube-controller-manager operation: Update time: "2026-09-10T10:29:07Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-09-10T10:35:38Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "8112" uid: 61f8753c-5358-4b63-bc4e-26799718a340 - apiVersion: v1 data: whereabouts.conf: | { "datastore": "kubernetes", "kubernetes": { "kubeconfig": "/etc/kubernetes/cni/net.d/whereabouts.d/whereabouts.kubeconfig" }, "reconciler_cron_expression": "30 4 * * *", "log_level": "verbose", "configuration_path": "/etc/kubernetes/cni/net.d/whereabouts.d" } kind: ConfigMap metadata: creationTimestamp: "2026-09-10T10:29:10Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"12464c40-105b-4424-b108-c2a86cf9b86a"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-09-10T10:29:10Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 12464c40-105b-4424-b108-c2a86cf9b86a resourceVersion: "2347" uid: cfc5fcb0-2b49-4b47-acba-e423de189916 kind: ConfigMapList metadata: resourceVersion: "22032"