--- 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-02T09:18:48Z" 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":"60f14f6a-b1d2-4615-a5e3-b59ae3690d88"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-11-02T09:18:48Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 60f14f6a-b1d2-4615-a5e3-b59ae3690d88 resourceVersion: "3960" uid: bf830ed5-06f6-4c18-bb40-655727f6bbe6 - 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-02T09:18:48Z" 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-02T09:18:48Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "3957" uid: d65b84c4-29f4-43e9-b57b-c7c685ccde73 - 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-02T09:18:48Z" 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":"60f14f6a-b1d2-4615-a5e3-b59ae3690d88"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-11-02T09:18:48Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 60f14f6a-b1d2-4615-a5e3-b59ae3690d88 resourceVersion: "3956" uid: c6273d3d-fdb0-417f-8eb6-47c12e326e56 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIIWCYjTET6PogwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MTEwMjA4NTIyNloX DTM2MTAzMDA4NTIyNlowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyXngUcPieVgz s1RU9ZGQ2ijaDl7fzkxNk7cjhlmVUSAILxhOMs26PBHd/i4CJmXJKm+oGlV6ddmj 8kL1uV8qaAljfPmwFLUZoYD8qGWsroKqU046PsG/0GYULb0CuVThbyrkVgtde2Tz asrqRC2nH5mwt0q5D7bSZyBLJLfCSrofbtPm8dcrPhzeV46QtWn1NlBqMZdHP/IF kuyri3JxbENA5iiA6aKfa5WnuwcItxReViPKOXHKjOX9h0PJoNhesuMyFBlhQ47y EEdv24mkRmjYcSyJPpp6I+XbRjLDEdoAdtA4BeGdrnd4xzRxmZihFJ6eNZat2hiZ SOCOYHV+CwIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRAkjpUZ2T10Qv3N6y5KYzBqZ1aPUCYLfi/yTMBpiuVyj1fePKv OuCLAoMhJHsJEwDK7lltsTbNhfoPBeFKZCISHzANBgkqhkiG9w0BAQsFAAOCAQEA SVF3jdEKmX23gfyshuGkoOjY9XJHp2e74wIF8uBrXfKlN0ZZAKV3/caYyVdSpXKf 0KHFOpZ/NBoWvzZ52tJbb+FhjDlhnELP5hueyuygp0CsZHyZNpl+LrwDqxZHK6+a Q/VgDR7XGa2yl3+UUGIb/q1SyUHl9LKio7bXmem6PdpMc5+aHY9iKRvVKW2bKf8q ZhWE5yV9HLFa3rc9H9G0Waa1eCyUJe3MbOI3Em3l9reub9xQdrfAahUwyc5tnrk+ ReXC15MUts544c5tgUUQs1GHhqAZ6TaCveuWcTGlqSgXZ5sEi6CWVqmw/JqRhNIy pPQcEMPCOF6pzQKsmNeXaQ== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIID8zCCAtugAwIBAgIIBE/jZKvBwOEwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MTEwMjA4NTI0OFoX DTI3MTEwMjA4NTI0OFowMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ANfu2oUSZVUO24jxVNMsnnfQrbdr/PhUDdlf/zHRDYDo8yYnpViHIxISFwONOCpf KDUbjnN+gDS1gmOPrHNqYKwKrPretK+J2emnJqj8b77BjSCkfR2UBdtZF8rbT7ko 53qVGmB+av3sgAxc9spmDry/ps4SpUKPDtvGb1OGbf51kmmvIfxd0NV+CgbbbgRK Dg+i6sMnLPzBUv64PirvCfig6nDikRkozST7pPOo28d0DJa54UcScgnSX1WqwzVu 9Ff4A9eQBDUu83CLOjUu0JSGpFUq1rEhLPZZRZoe8QlZLdZla8oAuMJiGA5QEjfR kWQd2euzntwOUUqBlx0DH5UCAwEAAaOCARkwggEVMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRAvIjcQ75L/nK9OrgkJk703gj8SY+TlrGFtpbme4yIiLLf8l//iQvhkBQP c2FQVVb2k3W80mt0ITpkdhTYn/d9WjBLBgNVHSMERDBCgECSOlRnZPXRC/c3rLkp jMGpnVo9QJgt+L/JMwGmK5XKPV948q864IsCgyEkewkTAMruWW2xNs2F+g8F4Upk IhIfMD4GA1UdEQQ3MDWCMyouYXBwcy41Y2E5YTBjNThjN2I2ZmZlM2IzYS5wcm9k LmtvbmZsdXgtb2NwLWNpLmRldjANBgkqhkiG9w0BAQsFAAOCAQEAkAgIULVxSMgG stv83i77YdrE9WER6J7a51QXF4tpFgrPe+EUb8vgZ1D3GXdDqIxuZnE1vg7Sb28t wEJA8/QnWNoV+/TM9vef+SgNxoGLXOmrOTw4t4GGTAoUnRtI2qLB3qtc6V6WL7DL 6kwCEMmYzzk6yTmw6QPYHFscqaIDaTevoCFYpbpdynDY0BTVJ+FGQMD3ehARvL50 zAY8G/ixoy8lOQz38lk1WR1FjBDPWxZGjUxZCfRZqkT2RCVVV5ScWZ62iyKXRLEF JZ7L/HDhaj12CSqS9xmSSogJh/cvSoo97XSVi0oD/7/U9Cy28H4F0mMrRtzP/Yxs WmV4EkogmA== -----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-02T09:19:13Z" 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-02T09:19:13Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "4408" uid: 19fb15c1-04e0-47b6-b3fa-06dc8e73f45b - 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-02T09:18:49Z" 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":"60f14f6a-b1d2-4615-a5e3-b59ae3690d88"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-11-02T09:18:49Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 60f14f6a-b1d2-4615-a5e3-b59ae3690d88 resourceVersion: "3964" uid: 98c3cc4c-e9a3-4513-9609-8d85f4b5a95a - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIde8SjuCStyMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc5MzYxMTIwMTAe Fw0yNjExMDIwOTIwMDBaFw0yODEyMzEwOTIwMDFaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3OTM2MTEyMDEwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7qao7P9Gi1J/oa492N38tHuggYtlejuAy mpFsZ7pL2dFuKoxlAXuwtkR0RgagC3UPlwrpYxlXJO6fcJIE9R8eySnxoQIrMlpp 0pDAtZeWkBnGo+C65OLP2f+Bwg07zmxcCXdPZpgendt3D0UgFe5dAle3boFUvXtd KYzj0hWLseKSULfEX1rrcbdc3v93hFhJN6jqPTkKngsHWlRMTujBjU44C8q1FW6m o1XFkUYo9+fJDbk4iWfbb0OREfwkyFcvwHLQKCPDhoDZzM4XPJ4T/y4UXjQ2z6kj ZLwipbij3GKGa+YTfDEyySCYlypVblgYMfEQyr2kbnIT7nlrXnORAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQLYvRL zzJtNXgKxYSB7IsyGxtxzzAfBgNVHSMEGDAWgBQLYvRLzzJtNXgKxYSB7IsyGxtx zzANBgkqhkiG9w0BAQsFAAOCAQEAWZWcgEC4RTibbX2YuoUP0FSjeBAIIzZgtMKZ Qicbphwr9UzzxtuNFvl41h8phoS/yUL11033XUMpqtAWYBqgLjKoMv0P8w2pnaNC uW9vXocJUv79MIXuZDUmH4hFUpujBhiG+ii42hPFft/b3NtAWbmOcH+5Ew6v0vqW oY+ekLyl+H1EVWmQUWSDKyf2ZFVjPrCkIjVnlTFSEGNDtNaRoVtIj1mDO5w9DwEx BPBcMiIz+ykag4sE1VWVIkHEnlJRdR0haMdYRefXGlymp8ZnoWbNiJDMjEp975Rr UeO+AadyxdRga2f60PyZ2rwR9Y0hBwtb5/dR5LYKYw/tuG8hoA== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-11-02T09:19:13Z" 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-02T09:19:13Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-11-02T09:20:16Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "6816" uid: 893a40e1-840a-4cde-9e4f-b5cb359ff680 - 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-02T09:18:48Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"60f14f6a-b1d2-4615-a5e3-b59ae3690d88"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-11-02T09:18:48Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 60f14f6a-b1d2-4615-a5e3-b59ae3690d88 resourceVersion: "3963" uid: 39562633-ffc8-4810-a0ee-6d20be16f2c8 kind: ConfigMapList metadata: resourceVersion: "26329"