--- 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-07T13:34:46Z" 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":"2ee3ec30-7e1a-44b8-a67f-64a7c6d1522d"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-09-07T13:34:46Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 2ee3ec30-7e1a-44b8-a67f-64a7c6d1522d resourceVersion: "3983" uid: 3afea111-b506-4575-b841-b370c25dec3f - 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-07T13:34:46Z" 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-07T13:34:46Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "3979" uid: 21e58d4f-41aa-46ea-9528-fdccac6f5fcc - 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-07T13:34:46Z" 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":"2ee3ec30-7e1a-44b8-a67f-64a7c6d1522d"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-09-07T13:34:46Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 2ee3ec30-7e1a-44b8-a67f-64a7c6d1522d resourceVersion: "3978" uid: d7fda61e-14dc-42ef-bac6-d77a0e6f3d06 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIIVA8DA2MFLDEwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDkwNzEzMzAzMFoX DTM2MDkwNDEzMzAzMFowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAudWcxHqqj7LF N4SHlK2taep6DEcltkYXxZ2nxFIpi5a/Vm5AMJ+fvq5AKtTTsUsp79QPyBo9Tzig RHsi9U7GIyecoDkLAEusORHzTpwj9fAjko9bQBmWXQkbdAhYh3qr3KX00rO40Kme Cmz+STuAjUWYt4xWioOOCG9zX2kfOQIUhLM1gxA92FzhaKeuaqniXtAO1dI4ekI0 gaZIAGCqxyZ9Vq5xitJTxUUe1B15TChWDWNa+L7DSlJumORgkswO9DenkFmqcZxf 7n6Kk7j9icA4qhhtVny4z1poXRbFyKACTcUeZiVeFOjKcem5pMYnXks7cmlJxp4P m275gfWRowIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRAQ1VZSD7tRdOkQ0w8DJEtc7ESBPMOmPQBCaoNWVY9NW85BLlx mpDWTMBpDA3Wo06Z03L0cVtlGRytBLm7s0VFjTANBgkqhkiG9w0BAQsFAAOCAQEA DX09UQ+JkNGIBMafs6Tl015ZcV1dAySrFGrK2ARgteteKb954OUKQDAe5A0jNlJj gqlwX94YPkfHsbEfu8LSVogGOK0kHqa4/a786vz3VwmmsGvhMlp9AG7pMJI32aLl P7rKTrM/JUPNwBgK74sJLfBn2zpECFpU3mVsAmipeHRnOjxIplwAsJksVur0b7cq zDiFgkG0zMTOekCqLOi/DlFu3BjVPaei4nYEzFLSJ50rTH5OVoqr0IRQ1J2AbKQp VBJcE0uVelcVaRpRGMYhmZ3ezZL4TcAvXAwXKcpssP28IzJFH02A9IElQbU4WCDQ NeF1V7BgwLouV+FSfbuqQg== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIISGeMCN4CmgswDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDkwNzEzMzExOFoX DTI3MDkwNzEzMzExOFowMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AOssg2y6CHw7RY4QE810Kvjj8BpZglu/rOX6q+ZGL0u/4/mVlDUc9E8b8L7netTD rFgUyVjAtbwWrid2DpjQ4o7aaINbM6OkSd43W14l1CmU0Y6av8FqixczWMwhpfPz meb1twGbp0lllr3A6zx0O45dQjUNS9ca3REtf+HyhUvlYcly+ZtERkiluWFIYx/n TiyASJMgq42yBZvZQQ5AXe5qAqEwAzBqLvskjN/8/b/x7IZ8F83mbpUvpCzl0rxz gjA5SaqLF9f8cjcwkTJSN8RXnyFZD9ITyEo1Xt8TQXFYjChBk0DZUG7Kt6ex889R q1R6fXT00S/h48fBfzby9HcCAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRAKxxK111Lb46j4G7ObtKQMKEyHwJOlDGyKx4imA9/DdfkTuohqfRzlZhw 1OACEIvK/es1F7rOQXWWSSiX2HrJTjBLBgNVHSMERDBCgEBDVVlIPu1F06RDTDwM kS1zsRIE8w6Y9AEJqg1ZVj01bzkEuXGakNZMwGkMDdajTpnTcvRxW2UZHK0Eubuz RUWNMEsGA1UdEQREMEKCQCouYXBwcy4zMTI5YTliNC0yOTJhLTQyMzMtOTBiNi0z YjZhNmQyMzk0YmYucHJvZC5rb25mbHV4ZWFhcy5jb20wDQYJKoZIhvcNAQELBQAD ggEBAEMY3LM7gdDqVt5bfHNtOspdgUYAHZshG1lhd2NTYgofYAlFVW+loISfv0iw L5vuIYR5Z+NYHhqDD5zJxedIeN64RnIg87YFrj7bBUDMSZNCvQumn7W6DZNHT86z 3bIDYVfEyBlNdfdythRbD3tvScN9u2NOn+EDdGscz87YNGs/9AXyVpqpzsrCDe0w V00814oxcy//xjOUi52UqrXazxgkzlqietputBHUFdB3OhfcTvyVIsEjiAQCWkPG rOwgs9YI5IJV8/sUJgce/7nwECAQBnkZ4dYs1dvj1zboID2W8R8xXGjwBXW2E+41 ZSaG3OVwbaW3CsVCbxI9zglfnq4= -----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-07T13:34:43Z" 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-07T13:34:43Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "3907" uid: cf9f5b7a-584c-4551-b006-3345074fd209 - 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-07T13:34:46Z" 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":"2ee3ec30-7e1a-44b8-a67f-64a7c6d1522d"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-09-07T13:34:46Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 2ee3ec30-7e1a-44b8-a67f-64a7c6d1522d resourceVersion: "3989" uid: 9e4ca9f2-d92f-4ef2-b018-0986050423cd - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIZUwI1AA9wnwwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4ODc4ODQxMjAe Fw0yNjA5MDcxMzQwMTJaFw0yODExMDUxMzQwMTNaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODg3ODg0MTIwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjhJlaBYDIp7LLB9O3hKsbnQ06nS+aL4Th M03+FOxzY5B5vBVeK0eh+3b5UYOSPyzqprLbH/7six52W3U6DIb+BOW3gFfPTFKr /K937Mc9aKHsiMmy8oOAdimQIKfQ58Wo7+QTAD7dNKywnLgD5uMIAaWMqzaehbGy 0zlCHuYQIVqzAuMlZqRWW4o5IgYfgsUCJjHC5mJ5Lzs6pKgjnC1it/LEUCTbMS9d njSW4QYNFk06e0HByxyHs+TOnMnUWvrf56IacyWLuncimk9eJyqcPC/WW0T51dt2 Dnffp40xevrUdmikzW0HSF4qtPYGeXDRz53FCz/8hXZLDP5SlgY1AgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRhoFZL 9EeHUUcXsRa2DCDn64dA1zAfBgNVHSMEGDAWgBRhoFZL9EeHUUcXsRa2DCDn64dA 1zANBgkqhkiG9w0BAQsFAAOCAQEAboJVCLclAiTJgwn3+3vLhHktjbmecWto/dMw qhdQAsGYZHEHvBABL8cllwRbsIov99Bx4k8pMM40AauIo3axv12WCC7MhJIk3iPy pafWswVhG5Yq8yn1GOdrC4zRfxkRCFY1GsH67jVOWWigkrsxnvOLknDxYc5QYns4 uhW5kBChauigTRvpSYF6S8o04SdwVeBYi/TZ9xwgwi1AppM52kx5/+iFdJhCFbT5 kva/MnAifUy+qkW2/Fv/ok+hpoW7regIMvz4/xISuY/xdxMeVjgkWySM3+Kaa9oE 4dqDXHydynD/BsYKIMmHJv3sVZiA1si+SHCyrkWxE2ZBtsBs2A== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-09-07T13:34:43Z" 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-07T13:34:43Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-09-07T13:40:26Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "8181" uid: 9f298fc4-39db-40ff-8962-801ab019fa39 - 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-07T13:34:46Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"2ee3ec30-7e1a-44b8-a67f-64a7c6d1522d"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-09-07T13:34:46Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 2ee3ec30-7e1a-44b8-a67f-64a7c6d1522d resourceVersion: "3988" uid: 1a8504a0-38c9-4138-9546-ed9fa48b8efd kind: ConfigMapList metadata: resourceVersion: "14883"