--- 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.20 creationTimestamp: "2026-06-14T15:47:01Z" 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":"fa14882f-59cb-4234-a7bf-aa91ddab6394"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-06-14T15:47:01Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: fa14882f-59cb-4234-a7bf-aa91ddab6394 resourceVersion: "2222" uid: b8e7c6e1-d6ae-4811-87bc-2c2feec5bb00 - 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.20 creationTimestamp: "2026-06-14T15:47:01Z" 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-06-14T15:47:01Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2218" uid: df62a015-725c-46a2-b8de-2ddbccdcee93 - 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.20 creationTimestamp: "2026-06-14T15:47:01Z" 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":"fa14882f-59cb-4234-a7bf-aa91ddab6394"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-06-14T15:47:01Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: fa14882f-59cb-4234-a7bf-aa91ddab6394 resourceVersion: "2217" uid: 50aca9b2-d4a1-4a00-81af-f56b0ddef214 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIIde8t4VKIRJQwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDYxNDE1NDQ1MVoX DTM2MDYxMTE1NDQ1MVowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx0Eyd3IOXUj3 N/B47VJx/5yD7ggCB3YilAkScsvcc8FUNHKq6p4NVs5h2DD+b8dnnryn7QQgwS4w fb/ANU6p+bIJlZzkP+GFGcZVpuOY4mdJzq8q4mQUAl0sYhYGtbxEOaJbRVJIftRh FKelph8D4S4tYMQ3yz4LZ1B0f6MmZFCsbp5nUDUDUSV0A+JmNRNDDP3PDLDGpLTt T9CetusM9YBuCURtB0c+tzwQofZ+mf2qcVNdKGJ6mqM0jEyFitk+tQ9pLWwyV144 q+HbnrRev35NhsVh9oAp4e+9W1I5V5TdlQoNWyu1C+S/KkdlVUYX3mUAMydRLW2y wIUXR+AERQIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRAfa4gsDDBQOuUTzYprv1r1jTdl57/26fL7RdMhkpGxN03vVpt BDVUjl+nJdfJs2lgcCdM8rfh5f6mayafpihUgDANBgkqhkiG9w0BAQsFAAOCAQEA nvAVaEDWqBfbZUgSnr1Vwq4jVjCk47BTcQzh783l5UVac9oy/GEp9C7cSiJiHhHq irfSPpryaYEGZsAV309FcNKrcEGo1oYe2hlm+/RLeGL6ta+PzemUOGroKWyDBdJr vhTph46jLiG9z+Y2u3fLNM17MPOCic0cxk38vk5qtFdMixigteBQuq2sujS2HN87 7h8SFC6xY7tHNwV1LOC8XP9McOPVFPzwEGmQphyspHhc7+b4mAb65XKWtjo8w65t nru9wP5XlSyZbNejiVRi76KKvRwbxNJT/Y7w6c6q8KBrzMmiRhpjzf6MObyJUIMj iwAxL7+9tJIO6hhl6ecKFQ== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIIT0X+8tRM/TEwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDYxNDE1NDUxN1oX DTI3MDYxNDE1NDUxN1owMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AMxDw0CFYjX8LFFGHG6clQyp06FI4ISLz0XoMJsI9OuZ6jbrDnkqxpIEPFg2Df6Y 7/cdAyEt2TZvhqgRtPVxCc7ZqYuhbu1V7fvWj4W74Gj4x1Aoxu7rDSaOXVs1E0UH RbYE3TbRWLfqGfE/aOhHTMu5bTjWIJKpkshR0UzY+lvXoB2+zW0JJZ2HU6Blq+SR +4PbsdXOXImOI1PmhSF7tPgVb24YFOGqAfDcpaoUOya3j7aLY2C+M6f73t0Qrz8y 9PIkq0vPTG47BG03C1PGPhDANBbt51hTV622oLs10zze5f76pJIT683bCFZc98bL jsYXWY/Kue57QmaIFddx6R0CAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRAZbutj2SwjTEbzVppyRnXR1HrXNpk2QKp7koUJaIi/5ydqCrH9l7jVLrg WU7pNmM77BMgkWxqZ6ePIRwAnFbRwDBLBgNVHSMERDBCgEB9riCwMMFA65RPNimu /WvWNN2Xnv/bp8vtF0yGSkbE3Te9Wm0ENVSOX6cl18mzaWBwJ0zyt+Hl/qZrJp+m KFSAMEsGA1UdEQREMEKCQCouYXBwcy40YzAyNGMwMC0zZWI3LTRlZjItYjIzMi1k ZTExNjA2M2RjNGUucHJvZC5rb25mbHV4ZWFhcy5jb20wDQYJKoZIhvcNAQELBQAD ggEBAHck9Zr6G7MaPqUaahtqGtceN9BCnwwdBHWmTZtK+CYUsv/Hg9vw91Fymzym cQu2Xfzc2FKzIGVZBcuR5UMXJV9B6NN0ydj4qjSvcqfzeJeYuOmF6Nkwhhbup2oy apYnKDyJTZ5LmQWX/8EUabnNaPIjoxeAReoFsBJGd2jWqdVaBNVQmPnbR1PylcIO ObTBRYcWLv2dRhXoFMxs3n0K3NWuNS9GK2p7Qnowr4ACrBx57VDwQo8CxYQSkTdH QZw3AcNYdtCxtY7PbQDIdD+/BgqP3I22zZlOHmv0c8mPe/uziZiYLlKKCLQ4rThV 3DVra86nym+icT0XPZSH8r/GNjM= -----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-06-14T15:47:12Z" 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-06-14T15:47:12Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "2523" uid: eb1566bf-4d46-4d02-b1dd-a155ebbed410 - 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-06-14T15:47:01Z" 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":"fa14882f-59cb-4234-a7bf-aa91ddab6394"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-06-14T15:47:01Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: fa14882f-59cb-4234-a7bf-aa91ddab6394 resourceVersion: "2225" uid: 257d925c-6b3c-4a4d-9902-a2bfac922ec6 - apiVersion: v1 data: cabundle.crt: |- -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIdysj/45enPEwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4MTQ1MjYzOTAe Fw0yNjA2MTQxNTU3MThaFw0yODA4MTIxNTU3MTlaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODE0NTI2MzkwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDL6Ci+M+n9BPc7hF7cowxir6MwcwbkzxbB fqCv7DIRPAKoLmdY/p7F/sJx2ronugX7jcZJoPjv/CXosTLZXZ6jwesM8OOKSbpr lQCkVaZUQ8v3LdtiIrQfTDYFrGx42AHKwlCVrUqmdjhYWwOIclYqP4yI86Wo+lmH NgtZRCSkkgqOo9i4sDkNqY/BjD2UsOpqduVjCM2uW48Tss/pYw0IKbKhxy071zA0 u83mWdNGkhxaaTytDmAceYjWRD6x3muIgVw4Fb3lZ7gnvX4JfLIMxc50hDRxU48a ikxZI2v0CFz2QDyXOaxwOLiw1FMhnyV12YBPaumCIROpUDPU1EpzAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTEtxL6 o2/MNsEXK902E5wUu74WyDAfBgNVHSMEGDAWgBTEtxL6o2/MNsEXK902E5wUu74W yDANBgkqhkiG9w0BAQsFAAOCAQEAcfVrad2gKCHCor5LTHK+O0N8n255gx3gfjME 2U17HHPF0CGopZfB/T9xfYNRCw9krQH51h4zH1Oc8i79A+2VKNQEpW8HzXPCLz20 Wp80nbbFCdkRd9eLeNcUWeDZDNEW1uxBylBcTdL2iX8ujVP7k+9+LWTitJUldw02 vg3m4mTvm6dHEh9HXQmevVwZcE1qx1eXrlAAUxfUovPGOViDxJSoLuhZKLVWPURi s1sWhzOb2LF6W4+GJ1cpRxWiZHiFfCcs4wyqdSsOrVMHl+ic795XCDxiwoRhEAZl DxooHP4Z8xkF8KibtvgJns+1CMP1/EJVYxRUA67cqKemlp/duQ== -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2026-06-14T16:01:26Z" 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-06-14T16:01:26Z" name: odh-kserve-custom-ca-bundle namespace: openshift-multus resourceVersion: "15170" uid: 76ad298f-8a50-4401-b28f-7ca415a1c1e3 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIdysj/45enPEwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4MTQ1MjYzOTAe Fw0yNjA2MTQxNTU3MThaFw0yODA4MTIxNTU3MTlaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODE0NTI2MzkwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDL6Ci+M+n9BPc7hF7cowxir6MwcwbkzxbB fqCv7DIRPAKoLmdY/p7F/sJx2ronugX7jcZJoPjv/CXosTLZXZ6jwesM8OOKSbpr lQCkVaZUQ8v3LdtiIrQfTDYFrGx42AHKwlCVrUqmdjhYWwOIclYqP4yI86Wo+lmH NgtZRCSkkgqOo9i4sDkNqY/BjD2UsOpqduVjCM2uW48Tss/pYw0IKbKhxy071zA0 u83mWdNGkhxaaTytDmAceYjWRD6x3muIgVw4Fb3lZ7gnvX4JfLIMxc50hDRxU48a ikxZI2v0CFz2QDyXOaxwOLiw1FMhnyV12YBPaumCIROpUDPU1EpzAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTEtxL6 o2/MNsEXK902E5wUu74WyDAfBgNVHSMEGDAWgBTEtxL6o2/MNsEXK902E5wUu74W yDANBgkqhkiG9w0BAQsFAAOCAQEAcfVrad2gKCHCor5LTHK+O0N8n255gx3gfjME 2U17HHPF0CGopZfB/T9xfYNRCw9krQH51h4zH1Oc8i79A+2VKNQEpW8HzXPCLz20 Wp80nbbFCdkRd9eLeNcUWeDZDNEW1uxBylBcTdL2iX8ujVP7k+9+LWTitJUldw02 vg3m4mTvm6dHEh9HXQmevVwZcE1qx1eXrlAAUxfUovPGOViDxJSoLuhZKLVWPURi s1sWhzOb2LF6W4+GJ1cpRxWiZHiFfCcs4wyqdSsOrVMHl+ic795XCDxiwoRhEAZl DxooHP4Z8xkF8KibtvgJns+1CMP1/EJVYxRUA67cqKemlp/duQ== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-06-14T15:47:12Z" 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-06-14T15:47:12Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-06-14T15:57:31Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "9310" uid: bb5ea8dd-464e-4624-97bd-8b906eaecbcc - 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-06-14T15:47:01Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"fa14882f-59cb-4234-a7bf-aa91ddab6394"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-06-14T15:47:01Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: fa14882f-59cb-4234-a7bf-aa91ddab6394 resourceVersion: "2224" uid: 7c85a831-1765-4683-a517-3d2eba5b610f kind: ConfigMapList metadata: resourceVersion: "25449"