--- 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.22.20 creationTimestamp: "2026-11-02T11:50:41Z" 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":"ade152d1-47c4-4783-810c-f5eff06ea0a5"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-11-02T11:50:41Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: ade152d1-47c4-4783-810c-f5eff06ea0a5 resourceVersion: "2288" uid: 61803ee1-56ce-4532-a03f-73cecc559ec1 - 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.22.20 creationTimestamp: "2026-11-02T11:50:41Z" 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-11-02T11:50:41Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2286" uid: 180a4175-1691-46b0-b468-39d6d1a121b9 - 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.22.20 creationTimestamp: "2026-11-02T11:50:41Z" 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":"ade152d1-47c4-4783-810c-f5eff06ea0a5"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-11-02T11:50:41Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: ade152d1-47c4-4783-810c-f5eff06ea0a5 resourceVersion: "2285" uid: 5ade6b3f-375b-4940-8f98-4b431d19360d - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIIUZVQVz4v+YcwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MTEwMjExNDg1NVoX DTM2MTAzMDExNDg1NVowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqTO1zacPyLUs IIuoNxFfW1kxF24tsqnRxNA4+csAKHqzE48fqiVCfDxQmcHEBcnHrhVboCyN3hm2 m5cdrNQB9VKFnB7XzsU2yHxpVBk88iqW1HaaEpNWobPNE0Me2RHfyylMbEvpJvXt 9wUzZBg+AvM9Ow//X3R3sCpOWm/H7IXggFtUJdgRkYsVPPcCPGKvKretv8UMYgZ/ v0GPozd7nb1nczFx5rD4evovhk2U4rhbzCaHtyYh/rc+M4otoRAs2tG8pkjP37Gw 9es1YK8MXE80Rg91rtSSB91a1CIBsPtQUiKx+BuxtifKHjDc3C+ILdQIDPc+1w2k +aq6jlusAQIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRA7A+sRcNrq+VGORX2YpL1tCkLezXxAyHnnsM3O01JpCVvK8b4 T0R117qMbEa6z0Xu3klR+kxzA+lTZDVByDVPNzANBgkqhkiG9w0BAQsFAAOCAQEA YL7vS2cg16NuTaU8A0WFLirlfAG6QToXsIDFdTb1r8CqekR0YEub+B5UAPN+IInI VjDVP8c41hEAwO1cVyy3l7phBbWUfxTqVQrpDTGPZPWAl6feQpLA/twbJlnsURy1 5DEJbrnEnX81KFSKYOhnLGy7dBBS5qXKjkQgNuwKOnQQ5nqNXlZ04bsHROv1mBRQ I08xj0Ad/CWm5orwc2n2lWcunhga5OUAXpubyDY85xSVeqO0XUB7dkk0YbiWUZnl RoscEoi+jbpVZbp7YGAOAsjbb78YiSd5qQWQIWmDLLmbM2w7N7JcK6Zamtkdcw+Z v+zBiG6XK6jHgX6Lqj7vOg== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIID8zCCAtugAwIBAgIIWQRHJVmr8fgwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MTEwMjExNDkwM1oX DTI3MTEwMjExNDkwM1owMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AN1OWQE83J/wlZK0QEOSryWL6/od5wvdQj2ZzIfxu9knzHviw5nLCSh/vhx9Pyo1 DTLoHONPYbSYeGkNbhYn4v1ewQRGrI3t2sZ+T7W+gDs6pyGncBt1rUC0ZJkL6huU D4T82m+NFgJaA7YbPwon4FwqlPBHqW4rS8yPNsm0zc1PiwyXGi1EqqyW7SwtwRH2 cAkN2uxUhfK0wx3XKcRrSUt+jIWkJyfDSXEsvzinv1Q4XKrkDytJxyqAjE0Srbz/ 3bRnbTp5DguL9dWj5OZXrH2Vzutee+fX0IxUWtL8pujuwDZwB/76/WzAtr7HoV1f wuXXOAag421HzZHOCPpoMD0CAwEAAaOCARkwggEVMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRA9AlfY72w/0UDE6OMxtTiDsEQ4Uzth7p42yE54KPvGYZp0avqecmZ9QFG bHQgOcKa/br3s+cnGb64tvmff5zy+jBLBgNVHSMERDBCgEDsD6xFw2ur5UY5FfZi kvW0KQt7NfEDIeeewzc7TUmkJW8rxvhPRHXXuoxsRrrPRe7eSVH6THMD6VNkNUHI NU83MD4GA1UdEQQ3MDWCMyouYXBwcy45NmRkMTFkMTg5YzY3OTYxODA5Yi5wcm9k LmtvbmZsdXgtb2NwLWNpLmRldjANBgkqhkiG9w0BAQsFAAOCAQEASMdGwGBAbHGQ 91gCKTBNbyxI/3HXvg5mbuuiH6IZ6eGW8QBwduMm4acgN2gkofRrssqUFnusStpQ I34Po/xuzGtcncRa1otH3/H6TZvdv7KpdtqnwK43TBp38oi5vzL9nnkj86Vi7EBg /95lZIDqBR8Jop2TlWqRZxvNUFmYvj8HqQNL07X6iCgd2VRpfWH49qAEFh6ncSyg vAcKO6lCxqqRtrJMrKPrDmRMqiciXUlYMwjNJfJtYJxRNyqRAFcPbbCdBGbJVR8u NssAPDOVt5fVXTtsy7f8jVrVTYrlCF70dvdFUKZwrW7/Jyaf+CApc1hltxeeuwSA TRQSMYKBdw== -----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-11-02T11:50:52Z" 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-11-02T11:50:52Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "3204" uid: a8687d45-a097-421f-9d32-bbe36ea215cf - 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-11-02T11:50:42Z" 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":"ade152d1-47c4-4783-810c-f5eff06ea0a5"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-11-02T11:50:42Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: ade152d1-47c4-4783-810c-f5eff06ea0a5 resourceVersion: "2291" uid: 33e863d2-e94a-4afd-8ac9-0c0f3bf48699 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIRffxSzvZ2dIwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc5MzYyMDY2OTAe Fw0yNjExMDIxMTU3NDhaFw0yODEyMzExMTU3NDlaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3OTM2MjA2NjkwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3aqwfOddrja1XyiCYPMZU8rYM/jfsT3sy tUYBmyB9ji+rm1RCjJpqBECU/QYsmUQBsMD7ROL1D7rqEZz/jOCJ6ZUM5FJid5Tx 9CTr+f4Vmh/sBapbJLUKDJbxfnhKn7OiMufhpIJXg+u1zFytpvsbyGY0Hd3v/I2V F2iTJ9PGzGSNyTn03MGBe4Z2zIO1LxmgIBT6Uw2abxlB9SvxDeGCZ6JE7N2TD/DZ xWOJXN3aOs8hqQPgDFE4ZE2o1gIkjqg3vIwbQfTIjHZH+Zl8z5kZHBzWh4TMcBmA YIQzoICfTFhyQEZtd6+WeN5hsOoooU86XRBDz2n+jOFJ3s9Ra0k9AgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTuhP32 0TAq+EEC1rQ4McKUJb52ljAfBgNVHSMEGDAWgBTuhP320TAq+EEC1rQ4McKUJb52 ljANBgkqhkiG9w0BAQsFAAOCAQEAgeyILdiG+4uCWU2DrZryJFm3mJy9DN2MKvJw OMFbEg+1ZCQwCsBJrdjDvQYH63bw8+Y0PK0CCQXfOCIyk0PgR5iAU6qcGSBmIL3i dRfWW9LbYjwObgMbakumiiOgap3/J3tqt92T82WQcIrRSfe04NMlovMInfdIW4QW RPtk20uqdN932NF3hec4yMv5qe4J+1hpSXyPc3/b/JdiENSjnakcSC49Dzr2OACE IcnDQ9kFQipFyES92TmX9NXgeJvHq8E6472QAvdZXcwQU3o0FP7wjMYcjxFlTLtj DV7STXT40XJDpjoHnIMo3QP97W807SNa6mc8Z7g2/2Jlr6/gyQ== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-11-02T11:50:52Z" 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-11-02T11:50:52Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-11-02T11:57:57Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "7042" uid: 9f43b492-fe7d-42f9-8ff9-900a9360368d - 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-11-02T11:50:41Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"ade152d1-47c4-4783-810c-f5eff06ea0a5"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-11-02T11:50:41Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: ade152d1-47c4-4783-810c-f5eff06ea0a5 resourceVersion: "2290" uid: cd5ce201-27ac-4e5c-b372-1f8eb100e950 kind: ConfigMapList metadata: resourceVersion: "23763"