--- 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-10-30T20:20:04Z" 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":"39dbee1c-64ce-41a7-8185-e54438baf343"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-10-30T20:20:04Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 39dbee1c-64ce-41a7-8185-e54438baf343 resourceVersion: "2348" uid: 476efbef-2d93-4bad-a6f1-72a25969cd65 - 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-10-30T20:20:04Z" 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-10-30T20:20:04Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2346" uid: 139e37b9-207c-4002-886a-5bc872ce316f - 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-10-30T20:20:04Z" 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":"39dbee1c-64ce-41a7-8185-e54438baf343"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-10-30T20:20:04Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 39dbee1c-64ce-41a7-8185-e54438baf343 resourceVersion: "2345" uid: d94916ad-d5a9-4d1f-919f-9699264d667b - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIIdjqVtBvtbqwwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MTAzMDIwMTc0MFoX DTM2MTAyNzIwMTc0MFowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtGRJcrV2WAED 6r5pV3Rgv/Pm2N7xvt5bUAG08PbGu/9Ppq6mxLKN4MgKW7CU84eLR4Guoi0rE4ip /QLEqM15bOeaV9XS39H+lYyq/J1J8+fxmuOLwvuYshgwijhQpBZ2njn9hEkUcTJY kxkINgbyz8MOGUPHhrxFIt2e0qwux6Doc2zeNkr6sRBDcQ9ceh4iTq2+2jlSLT+Y 99iMeGBOeMqs2Kodcf1Ttd0U+sxACk7YNf+KgONpfvWC2Cfb7qt5SPTVdG7zM91k bqv7QJP1ck6yzSVfRs0KFlk+1nvHuF0e+p0CSiIFHTlVsOO+tR2097KpWEGGfZ22 mWhDDd8wUwIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRAyQisoFMcCqr645UuE8W6d8hln07ukvgFKUPkBIjQV3am4yb7 LmPLgS91+B02qPPBDYzBMhNbNud0L1KQYr4T3TANBgkqhkiG9w0BAQsFAAOCAQEA oSBYonKHze1ntsrgzT2CzYm1jDbf1y+bS//mttu2iOccFVI/7Got1+997ItAWmIq bkh25cAjw1Zk/zMSDj/amF8ILBwmGjPMadUyUYlpmPxLRLtViY5fmN2f1Kkoy7rz Gcdg3PF8rfYuPnbREFhRuoAu2rSB0y40LzABqAUytNCchxQHO8rlEbfQagTbagyX fpUHKNnQv+KFVMLUR6uLwYqXcWQM9dxCgOTZWUlaiR5yqqn1ft5pux8be2JwDZMp NoVxOzNsvKsYRhFow4WTaKDwRNjGvWcGw4SzZTFT+T9vdIFS9Go79q1mdQaqtv3J y77kTIwyrJnOW0D/xw6ZYQ== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIID8zCCAtugAwIBAgIISEvqstKJINowDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MTAzMDIwMTgwMFoX DTI3MTAzMDIwMTgwMFowMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AMHNn/S4d/M818Ok2Q6kn6aQUbR3cbeNon8J8SQaMYt23iWczvo3RWgnzMtX6fJR nDoc26hCIFcwIShIW5sekuUkUimOZr8VcuJ0kPSMpodToCorGHdJQx5R9B0jqKjM zvJZpAH4dT/tKGNyNm+rIQ4+lkzDt94l0G/sgbidFPJFXVCiVn8YqKKHmUUlvVM3 LzC192XrucqCsR0cjuQ7h7pKeFa1AxeMTWRnrJF8NLp6n1rDSq8yt6f+foVQl2jE W5Gx/PDo9BMSoKkmSWLNHELGD6T/Mh7O9vHk0DdGt4+/s41KnoFG1CMjM3mPHRjt l3Ak4yUSKRpaQxbPsO4d0FMCAwEAAaOCARkwggEVMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRA/Tf1zdZd+QyZcDppFfNltOoV/4fg6qJYAOMNScdoSpUW/rgSsvzD38Es NspKAhffCBFnAGrUTn9RfDQZ2xhGqzBLBgNVHSMERDBCgEDJCKygUxwKqvrjlS4T xbp3yGWfTu6S+AUpQ+QEiNBXdqbjJvsuY8uBL3X4HTao88ENjMEyE1s253QvUpBi vhPdMD4GA1UdEQQ3MDWCMyouYXBwcy45NzRiNDczNzhkNTg1MzY1MzRmNS5wcm9k LmtvbmZsdXgtb2NwLWNpLmRldjANBgkqhkiG9w0BAQsFAAOCAQEAd1FKdnfiEfiW r/THPpQHWALlYLQIjhjsQIltOHQiSBGAnx0+aCb3fTw3TNETOnNigFGgra53PQRM fyouRNiIJ98ui0jsL3jwU0VY2QFmJlPJ+f9kcYD80dE7b7lKBli7tawhpIlbzn0K hBY8jVIVQ/TzghA2zF4KqFap16jIFRb6JmulBnZMyeO2HcHAqqwWK+f12dNX+SCr VKVQjRg2VelQ3qJR4H7B7PiIIg93DKpeJXbX5G7SqWG3alf7GYlrizK53yWYrug/ KTyXESvt9UpZhi+2TS1PaR3cuCwVU5kGjtqnWNdBlClJu2zpGbS/iG6QHV1nNAml pVS/aOI70Q== -----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-10-30T20:20:00Z" 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-10-30T20:20:22Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "2638" uid: a6eb31fc-e80f-4075-92ac-a1b8c3d8707c - 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-10-30T20:20:04Z" 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":"39dbee1c-64ce-41a7-8185-e54438baf343"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-10-30T20:20:04Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 39dbee1c-64ce-41a7-8185-e54438baf343 resourceVersion: "2357" uid: 3c74bb61-95f5-40da-b5b7-304bf0d247dc - apiVersion: v1 data: cabundle.crt: |- -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIdVlYraNYXvQwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc5MzM5MTk4NjAe Fw0yNjEwMzAyMDI2MjVaFw0yODEyMjgyMDI2MjZaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3OTMzOTE5ODYwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCROmqhrwOPEUtyI5MuZTxqhS7/ltgkAMTK Sx2267Pm3G5hi6xoQ0/m6Amtufy0msndpMunzBKaRnuyJqsvm2wHIa2/32z3J2L6 yiG8uf6w+Bw9kylPlsEz3TKPveXBH1DQJgu9rfTSf366PONgV0SrsjlJopPoWMXr cINZeDdAcBGObEWySrwws5+hpbzuK7pDV892cHOZDoQuHISDt5l9yKg+3z+6TwN6 4meNYXaQ94uwmREpMkgo6PFiafBa+vEKJOiZs1Zwfv8ZmJYe944STGcQLZLPWOoR OfEgXmsUsCOleozwWk8wunrgeOfsxtPCl8QvQo4VtmNbt7hyFl/XAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQqP1Io YgJaBwQlsrz1z9Zg5oesQjAfBgNVHSMEGDAWgBQqP1IoYgJaBwQlsrz1z9Zg5oes QjANBgkqhkiG9w0BAQsFAAOCAQEAZFlYOL14E4ff89HgDsYoJE9AXiijCy7WQhp2 UmwOuwmUM1vUISjU5RaxK25ieu7Ryen00TPtr8ryX+g1zZUzsd/KlBP1qLAvE5GV GDkpxWgnXRt0C8pm1ITBiWolOckZyYLZ3oGmB0zn/7Zv/dGk1iEW3BSdfNfhoSJr gcfpeU3C76kdRNDr7CGb8RC8BRbh8DZSR63WpvUhyx9j3R4M9Qzyl0ud3sGIBGHN wIvPfO4cGrH1orkd0zJpiftS95GRcWOWam1N84xUFG7pettR2OX8bfCzzWX57B3E TEAICr1bojObyKDDH5f7HLR8kzNHS53quW3CkpdNp8l6/uoexQ== -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2026-10-30T20:33:27Z" labels: opendatahub.io/managed: "true" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:cabundle.crt: {} f:metadata: f:labels: .: {} f:opendatahub.io/managed: {} manager: manager operation: Update time: "2026-10-30T20:33:27Z" name: odh-kserve-custom-ca-bundle namespace: openshift-multus resourceVersion: "18506" uid: 00ebc8aa-5702-4178-a372-030cf69496b0 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIdVlYraNYXvQwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc5MzM5MTk4NjAe Fw0yNjEwMzAyMDI2MjVaFw0yODEyMjgyMDI2MjZaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3OTMzOTE5ODYwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCROmqhrwOPEUtyI5MuZTxqhS7/ltgkAMTK Sx2267Pm3G5hi6xoQ0/m6Amtufy0msndpMunzBKaRnuyJqsvm2wHIa2/32z3J2L6 yiG8uf6w+Bw9kylPlsEz3TKPveXBH1DQJgu9rfTSf366PONgV0SrsjlJopPoWMXr cINZeDdAcBGObEWySrwws5+hpbzuK7pDV892cHOZDoQuHISDt5l9yKg+3z+6TwN6 4meNYXaQ94uwmREpMkgo6PFiafBa+vEKJOiZs1Zwfv8ZmJYe944STGcQLZLPWOoR OfEgXmsUsCOleozwWk8wunrgeOfsxtPCl8QvQo4VtmNbt7hyFl/XAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQqP1Io YgJaBwQlsrz1z9Zg5oesQjAfBgNVHSMEGDAWgBQqP1IoYgJaBwQlsrz1z9Zg5oes QjANBgkqhkiG9w0BAQsFAAOCAQEAZFlYOL14E4ff89HgDsYoJE9AXiijCy7WQhp2 UmwOuwmUM1vUISjU5RaxK25ieu7Ryen00TPtr8ryX+g1zZUzsd/KlBP1qLAvE5GV GDkpxWgnXRt0C8pm1ITBiWolOckZyYLZ3oGmB0zn/7Zv/dGk1iEW3BSdfNfhoSJr gcfpeU3C76kdRNDr7CGb8RC8BRbh8DZSR63WpvUhyx9j3R4M9Qzyl0ud3sGIBGHN wIvPfO4cGrH1orkd0zJpiftS95GRcWOWam1N84xUFG7pettR2OX8bfCzzWX57B3E TEAICr1bojObyKDDH5f7HLR8kzNHS53quW3CkpdNp8l6/uoexQ== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-10-30T20:20:00Z" 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-10-30T20:20:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-10-30T20:26:32Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "6870" uid: c39f2471-15d2-499d-995e-28d1f0afbc18 - 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-10-30T20:20:04Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"39dbee1c-64ce-41a7-8185-e54438baf343"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-10-30T20:20:04Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 39dbee1c-64ce-41a7-8185-e54438baf343 resourceVersion: "2355" uid: a96e91b7-acb4-481a-afae-62779959ddd1 kind: ConfigMapList metadata: resourceVersion: "91932"