--- 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 "$RHEL8_SOURCE_DIRECTORY" ] || [ -z "$RHEL9_SOURCE_DIRECTORY" ] || [ -z "$DEFAULT_SOURCE_DIRECTORY" ]; then log "FATAL ERROR: You must set env variables: RHEL8_SOURCE_DIRECTORY, RHEL9_SOURCE_DIRECTORY, DEFAULT_SOURCE_DIRECTORY" exit 1 fi if [ ! -d "$DESTINATION_DIRECTORY" ]; then log "FATAL ERROR: Destination directory ($DESTINATION_DIRECTORY) does not exist" exit 1 fi # Collect host OS information . /host/etc/os-release rhelmajor= # detect which version we're using in order to copy the proper binaries case "${ID}" in rhcos|scos) RHEL_VERSION=$(echo "${CPE_NAME}" | cut -f 5 -d :) rhelmajor=$(echo $RHEL_VERSION | sed -E 's/([0-9]+)\.{1}[0-9]+(\.[0-9]+)?/\1/') ;; rhel|centos) rhelmajor=$(echo "${VERSION_ID}" | cut -f 1 -d .) ;; fedora) if [ "${VARIANT_ID}" == "coreos" ]; then rhelmajor=8 else log "FATAL ERROR: Unsupported Fedora variant=${VARIANT_ID}" exit 1 fi ;; *) log "FATAL ERROR: Unsupported OS ID=${ID}"; exit 1 ;; esac # Set which directory we'll copy from, detect if it exists sourcedir= founddir=false case "${rhelmajor}" in 8) if [ -d "${RHEL8_SOURCE_DIRECTORY}" ]; then sourcedir=${RHEL8_SOURCE_DIRECTORY} founddir=true fi ;; 9) if [ -d "${RHEL9_SOURCE_DIRECTORY}" ]; then sourcedir=${RHEL9_SOURCE_DIRECTORY} founddir=true fi ;; *) log "ERROR: RHEL Major Version Unsupported, rhelmajor=${rhelmajor}" ;; esac # When it doesn't exist, fall back to the original directory. if [ "$founddir" == false ]; then log "Source directory unavailable for OS version: ${rhelmajor}" sourcedir=$DEFAULT_SOURCE_DIRECTORY fi # 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 cp -r --remove-destination ${sourcedir}* $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.26 creationTimestamp: "2026-07-24T20:09:49Z" 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":"d46cbf65-964d-4f89-ba1b-bc48bb16593d"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-24T20:09:49Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: d46cbf65-964d-4f89-ba1b-bc48bb16593d resourceVersion: "2746" uid: 06120562-0d0a-416a-8d43-e481cb7869b0 - 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.26 creationTimestamp: "2026-07-24T20:09:49Z" 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-07-24T20:09:49Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2741" uid: ce99f095-da46-4bac-9448-84590d05bced - 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.26 creationTimestamp: "2026-07-24T20:09:49Z" 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":"d46cbf65-964d-4f89-ba1b-bc48bb16593d"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-24T20:09:49Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: d46cbf65-964d-4f89-ba1b-bc48bb16593d resourceVersion: "2740" uid: 7e71d1fc-403e-46ba-adc0-c51d18eab767 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIIN/CbA6CCcWgwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDcyNDIwMDY1MloX DTM2MDcyMTIwMDY1MlowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8ivhJPkiSZyN YovUo//cp8ZG4lDZBh/ZZzA/KTRYPAfDRFtIY1VBJCES7e8B6y09FeUDoG1Ao8qQ X53dB9LpykLX9yCZnmxFSdh28utOFSOyQtWdaCCMLydWzb0atcJ4BP+LK3SCmhd5 MTUJfoUUwPUZ7RtDrqdrnKcEwnB/IYY+KdGmsWv1mfMPAtJHTwDpCWS1PSW3/0ub pFyUjD7fkMsyQ9xZc961OHHjw8US22yqUAfWA0nWh8fsyll9bghHFKzFNtty6Aie rdp4xyXVerelkdRUhhHhftVMNWNiRUgq8jZ4V/e+fr5xQzYm71gQE93IwNzKORrX K1hkcox4kQIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRARpUr78ZJ5E1VZG5XHv3tXPGFYVtJ5wQETcPiCQRePTptgb4/ +ECc8fVA88R+xBoPon0eOXTM/TQWddEm13TZxTANBgkqhkiG9w0BAQsFAAOCAQEA z2lclRmW+h7pJTPLWBIGtmBohQa4MBLTqjN56w+vO9/ZD5tVEw55n60dm8n3tK/7 64Uz1uwXx/5TEy/ZTOb9CcphjQYwGXbhvhV8wZFy/gju+ZPSv61w30HU6Xs1BW2v ZQsD/xlOFztqHZudVLujcybm/fT7uA4cQE5uW3rOKsemE1b7V7C0ySKprgJ+9N/b Mc91xCZnvLPGz8UsvMJrhovVBx/7ltGKSWjYKwaxlYatOz3pjIVj+AA+ORxQfBd4 +4LzCKom40Uqiu5fpdQxkb90bLzOItHiD5xOC4PMT5Jcm5mziLQZNgryv06ufD39 b6XhHbjPsY/lsAQsGi3ccQ== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIIDqySD9dIGzQwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDcyNDIwMDcyNloX DTI3MDcyNDIwMDcyNlowMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AMU8qjaLVGbt38Msicx2AfZiSDepoSYccCS/dU/TJBp5CMZZWo6WcHtoYvhRbbIA YhRhIP4SxiMtIoNR5VtPZLqslif9+QTZcRv3NsrK2UBhFH8aGD8IBSFjBb5qXw4f q8iFnX+VlNF2+xMBdwJuejq1d0Z1R2HPG3rAkdIt4tBohAmlNtTnVcaMsnzuIpcx dYg5YgiakNIRmSj7gREja4nkKIPPQm+kZDuM013MvFLr/hTnNqh6v0Tw5XdOLjXU MguJimfiY1VeQWM5kPIAIuHRofGBZ5btdEg5KTttJfIvFU1vLtm2pboqY2vF7knQ KDcrQAZcI/cKAXgOeH/3wDMCAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRAcHkC1vf2hOaCCqpUfCK3TUM7zhXPw5taT2FBRv0jZLtdmS2sD31ZRFVE fU2xbhErC8yumrumCb123XrHZRgDLjBLBgNVHSMERDBCgEBGlSvvxknkTVVkblce /e1c8YVhW0nnBARNw+IJBF49Om2Bvj/4QJzx9UDzxH7EGg+ifR45dMz9NBZ10SbX dNnFMEsGA1UdEQREMEKCQCouYXBwcy5kODNmZmRmMS01M2ZiLTRiZjEtOWJlMC0w NDA1MDNjMzMxNTcucHJvZC5rb25mbHV4ZWFhcy5jb20wDQYJKoZIhvcNAQELBQAD ggEBAJndFjjmWcMLVIvVHtzNfouPOz79oKjK7/duuRLMhvnTbbqonyqhHWkgbX+9 my3YUtLNJ18aPUbE7FR/zJaRvoViE0KYiZyAqRWGEgUb/P3CSoyrJ1gmxFSZsYZq orgLYdecDLSm96ss5MkBNENwxEe141GoBG1ZWBBJ/lkNCRjvPKDcG953HJhOas4a q4eQUay1SoY9qZwXjuVZXZH1+WtUHa/XW5YEja/CnTNw/sDyNhop+QERKaQIGGDu EfRv/LzNI/lCCX4unG06TmUkyUw4tSEClhGPxWWbu7Q+ijpglClOQ9Sp2PoTLA16 3dF2/f6aS6FBwflB+VBioZ4ddDM= -----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-07-24T20:09:46Z" 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-07-24T20:10:22Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "4391" uid: 841f8d59-2a15-4d25-b3a5-5b1494eaf3bd - 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-07-24T20:09: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":"d46cbf65-964d-4f89-ba1b-bc48bb16593d"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-24T20:09:49Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: d46cbf65-964d-4f89-ba1b-bc48bb16593d resourceVersion: "2752" uid: c471170a-744f-4be4-86cb-f216e36e911f - apiVersion: v1 data: cabundle.crt: |- -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIEUn/fdXhbd8wDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4NDkyNDE1ODAe Fw0yNjA3MjQyMDE1NTdaFw0yODA5MjEyMDE1NThaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODQ5MjQxNTgwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEhXXfqrmYhnjZQ2nXmbh5SCH1ok542h0R 3pvWomj8w3ZkAPnAkk+TNNG0z1MXUC1e8vxBx+eXESeUF7j70b/GPaESyF81dxHK Zcs2ZTW5x9wveSW9JUWE/DDa91tEw6R+DrXRjphCtSxZcBx0P0vxnUymUoDCvb97 HKHL3OZEYG4js2QZ0+fOAYLG9YRNxM+RITTc+hkA5GT6/lWotjsol6Zj86wq9d7f vMXqiV0evAP9FvVRtwQd55Venm9zgXydhQipO2yfRxh6YcfL6KFIbjzr6E2ZYfUX Sij+aujFSk6yW0+Z/9pI9NcKDYYQuRhren2pNzbL4lw6nYWxKwRXAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBT4tKeu gn10g2OLq9ncc1UZMyxaLjAfBgNVHSMEGDAWgBT4tKeugn10g2OLq9ncc1UZMyxa LjANBgkqhkiG9w0BAQsFAAOCAQEAmyP+M34wGHkZn22mHiiGJKxnEmjQvaB9XJhA doU3sG2/03pJGR4v9rwnFqGcJIbQGeLPOIUI81NxmYSOnUXedV+o5TX2ZWQAAFTe VOMvrxSvSKMKhzM2FQfStfVGXQ5UqhDC2wsIsWA+3lKAPWU8OVAt7/Wjg7CCY7P7 f7b9Hk4FWGqD5e16TBOSxr33e6eGcCOzoZ0graiDvLYZWoXkg7G8dntz41linNfC crbHFHEtnziROD9Gr3brPepmf3SupG9mbGfIh6oSPSYs5kHH60qZAWdKsR1CkGlz aBoacmUsIsGl5yGJzsjW7P5Jmjqp8vD6uaLhX1T8MQ8Tro87Ww== -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2026-07-24T20:21:39Z" 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-07-24T20:21:39Z" name: odh-kserve-custom-ca-bundle namespace: openshift-multus resourceVersion: "15361" uid: 5585162b-a708-4e71-b50b-780a0e46e787 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIEUn/fdXhbd8wDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4NDkyNDE1ODAe Fw0yNjA3MjQyMDE1NTdaFw0yODA5MjEyMDE1NThaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODQ5MjQxNTgwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEhXXfqrmYhnjZQ2nXmbh5SCH1ok542h0R 3pvWomj8w3ZkAPnAkk+TNNG0z1MXUC1e8vxBx+eXESeUF7j70b/GPaESyF81dxHK Zcs2ZTW5x9wveSW9JUWE/DDa91tEw6R+DrXRjphCtSxZcBx0P0vxnUymUoDCvb97 HKHL3OZEYG4js2QZ0+fOAYLG9YRNxM+RITTc+hkA5GT6/lWotjsol6Zj86wq9d7f vMXqiV0evAP9FvVRtwQd55Venm9zgXydhQipO2yfRxh6YcfL6KFIbjzr6E2ZYfUX Sij+aujFSk6yW0+Z/9pI9NcKDYYQuRhren2pNzbL4lw6nYWxKwRXAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBT4tKeu gn10g2OLq9ncc1UZMyxaLjAfBgNVHSMEGDAWgBT4tKeugn10g2OLq9ncc1UZMyxa LjANBgkqhkiG9w0BAQsFAAOCAQEAmyP+M34wGHkZn22mHiiGJKxnEmjQvaB9XJhA doU3sG2/03pJGR4v9rwnFqGcJIbQGeLPOIUI81NxmYSOnUXedV+o5TX2ZWQAAFTe VOMvrxSvSKMKhzM2FQfStfVGXQ5UqhDC2wsIsWA+3lKAPWU8OVAt7/Wjg7CCY7P7 f7b9Hk4FWGqD5e16TBOSxr33e6eGcCOzoZ0graiDvLYZWoXkg7G8dntz41linNfC crbHFHEtnziROD9Gr3brPepmf3SupG9mbGfIh6oSPSYs5kHH60qZAWdKsR1CkGlz aBoacmUsIsGl5yGJzsjW7P5Jmjqp8vD6uaLhX1T8MQ8Tro87Ww== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-07-24T20:09:46Z" 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-07-24T20:09:46Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-07-24T20:16:10Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "8073" uid: e1026dc6-e62f-473b-b17e-2eaa6c4b67ff - 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-07-24T20:09:49Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"d46cbf65-964d-4f89-ba1b-bc48bb16593d"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-24T20:09:49Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: d46cbf65-964d-4f89-ba1b-bc48bb16593d resourceVersion: "2747" uid: 5587fe06-a4be-4494-8c58-7dd4454e2810 kind: ConfigMapList metadata: resourceVersion: "72359"