--- 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.23 creationTimestamp: "2026-07-06T15:22:19Z" 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":"582eda3c-1164-4d4f-a302-1171c5c68aec"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-06T15:22:19Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 582eda3c-1164-4d4f-a302-1171c5c68aec resourceVersion: "2510" uid: a874bfd4-c3eb-4846-9330-e6f37ebee48f - 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.23 creationTimestamp: "2026-07-06T15:22:19Z" 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-06T15:22:19Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2499" uid: 5ab14b3b-5214-4bab-bc54-d6621db35dc7 - 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.23 creationTimestamp: "2026-07-06T15:22:19Z" 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":"582eda3c-1164-4d4f-a302-1171c5c68aec"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-06T15:22:19Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 582eda3c-1164-4d4f-a302-1171c5c68aec resourceVersion: "2498" uid: 78bcd0d7-787a-463a-a03a-302dc21f8f26 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIINoaDotlZ6fswDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDcwNjE1MTcxNloX DTM2MDcwMzE1MTcxNlowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt5ZqN4dBrx0A /ZGr+xVhQgUxjxECtMGZeYmJnr/F+WlozCAwccDp/Ksvk7KdvcWA5tchocXp0aOk bkuIyiihGfCz8+8S90KsvOj0u54dELbjy79Qb4uz762sc/m4JmzQGPj3gm3NfyO8 Bzygj/kZ3w5LIyb3HbYe7EYJPbXQJTFn6EDceLkhRGrrN7S8Q02ECIxga5Zs6q06 sfnM2on3zcMFvZHsx4NmRnInkZEJvapyOhxtpA56b71qr8V49Xvvnoi+NHwEi5YM VwggpeSSHdGPgL91mB5rfrfeCtGHhmzPzHvBWD1e2q5nx78Jgd+IU6HT1Xcawj89 NwWUTB3LkQIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRAIhCfNNqVVae/EW0zTKwk8kpYoHx9JywgT9+mABmCVPavjOke j8HVTH9TENQFyD82fXtlI0Yrt53/AdP9xel+SDANBgkqhkiG9w0BAQsFAAOCAQEA BNGh6sa1hjTwiweBShFeZPsKD7MPp7iYriL6t8KLBrkOH5Av0/nR4oO8H+jSB7dc PQ00AyQ70QXkjv/AKoWLQa+APSroW/11fE6C6lAFQC10pFGddGE7Z6dscz0oX56v qnblpsn9yb6yqxnRNxJ7UsUcp8Ag5J2tZSusZzJJfJgPJ0GDtnKsFTRa0j3pMdxc sqlWqXlc+YlpS8o/qu6FcIxOTXZttWQjwRlHJNSCtbuZS3NywcO2NRXuqlnjLJX7 QkAO+qY29QZAcrcMuG6hvYFfxHkLhb8p5IhHPK/tuEHg1K5w5vdjU9BlneEf+t3C taXSzd0O2776aC0RBFGjog== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIIYCBveScqeoIwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDcwNjE1MTg0N1oX DTI3MDcwNjE1MTg0N1owMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AKq2Wf12BRlp60iS/kdqGOxv7PYdkl98ABDqWbr0zYDIe7oyd1tvJKt1oG+snrUe ZKkR8xaAO3RH/PpM6gpxzuz/NpZN0f+7bWH1W8GPIJbaInvdM4s+ZiCVoc4pPWee wFAw8HY8iNytjuLAf0YATc6gVzVyGsmSDRjArHyDmmEBDYO+Q4edEqgPQmTR9ZSA eDO+viGBesOna0m/BN9RmEWp05S+1mwIbbdbDA7mKAgqKLWulrE5HGTAq5ZZAdYQ mvmZTho11koom/oq0476yV9bo03rLN03jCXSY3v2qsGB6wND+hfB4FpNK/8ImVrH aDCpQTGNz14aqLA8FAJzV3MCAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRApUZzT9kJXwR3LCPuAgFfzZn4Hq+dx25pp1M2ZmGXDZoFRnKHHXbdGAn9 xzhUJYfr/Gq20bjJ1fFeOBPR8uClJzBLBgNVHSMERDBCgEAiEJ802pVVp78RbTNM rCTySligfH0nLCBP36YAGYJU9q+M6R6PwdVMf1MQ1AXIPzZ9e2UjRiu3nf8B0/3F 6X5IMEsGA1UdEQREMEKCQCouYXBwcy5lNTE1NDc2OS05YjVkLTRlZTctOTAzMi1k OThhMjY2OWQzYzcucHJvZC5rb25mbHV4ZWFhcy5jb20wDQYJKoZIhvcNAQELBQAD ggEBACxcNBrx1U/YwLinbQWfCpWxCl4XjFIx9maYonii5lVr9dqOIfaBFh5ueDLv miZdFLxTM0bJsAOWjA84cosbAhC6qmmQm4huncB/0D52OdhjL65/VxplO9X3+AJp HOyr6noidfcNtvOJiukuwPLWyqV1xPivmrVuxl2HRrLt/aMwYp8IJkYRISlAdHVk /lG8QA0SofCaLXblG7DLvd/aiz4wC5BiS1BXJvbcmUF4F2kgGw56zxshb/3zrxdN +0mEiSg4+e3cYIe6YhVyJiLcKjJZMvp4284Ns0yjKqPOX9gDChdTTxyMRqiU0uTc IcQ6v0ZDo+zwIOsji51VRptPQZw= -----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-06T15:22:19Z" 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-06T15:22:19Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "2486" uid: 60fdd8e7-3cf9-4e1d-8b54-9778dc1c351c - 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-06T15:22:19Z" 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":"582eda3c-1164-4d4f-a302-1171c5c68aec"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-06T15:22:19Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 582eda3c-1164-4d4f-a302-1171c5c68aec resourceVersion: "2547" uid: c8a7cb91-b99a-4e8d-a7ce-85ed26c13b2c - apiVersion: v1 data: cabundle.crt: |- -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIILmUndW3OaQAwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4MzM1MTY3OTAe Fw0yNjA3MDYxNTI3NTlaFw0yODA5MDMxNTI4MDBaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODMzNTE2NzkwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCoqWUqb01I+zapJsxs4pcq0dZ3LgOD4bsl J7IDyIVmIAuAcS6vnzljFfxy/BAjDXceewo0tKtKLjWrHtsAGAkitzlSN9oqN2w4 HJPWJZBrmBEiTgA/Ing5n5pEuF/nnInw5wywE6XwJwyaOXSeIs5cW+z36XCrKieW jmOpHSiEL95NeZ5gL/3IIafMabEsJbI4vl659B7+p9jnnIlfQTBZQgaoOflGbSL6 5C7q0dZh1TU0wjQwylq82En664Gkanp1eek/oVBouKj1nr7iy2nKc6tdiQVwTHKr GE/EvA9qzPt0ONRWDXiELtu+k+HEHfdG1T0aZ3ygiqXyhm6H8KcjAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR9RSu4 Vh+Eg8Twf3669PEW1a9EMzAfBgNVHSMEGDAWgBR9RSu4Vh+Eg8Twf3669PEW1a9E MzANBgkqhkiG9w0BAQsFAAOCAQEALa+NGJkgnCXJn03i/SMRqZc3v7EJwVY/13Uo z+tcrdVDUFklhVXFpGP9wKKcPIqrEZ08pG/UomSspd4qkRQU1Vh4ptHxFR3UcRPk 45zaFGDClaaw+0u91zZFcXgEDZNvp4bPIkMykLXzAwwk60miZnGFwJ1t4oiwMrjy LjsXqlu6/wF6nA4powdPY+r7PcUPi6UA3ye8IsNWd/hdpSyaxGUbpXzpbh8xhkOq x7bO/ib2ZCWocz98ggjuH+Lb5ETBpx1onPxuYv4Z+4SM2QqDoUpTZSW0Lj0e5dFP B2gIHxB4PMitAyAfw62imABKQtsrtztpNr6gtaH416k5c9vx8w== -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2026-07-06T15:39:24Z" 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-06T15:39:24Z" name: odh-kserve-custom-ca-bundle namespace: openshift-multus resourceVersion: "14410" uid: 5ef4d54e-690b-4373-84d2-58019a6324b3 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIILmUndW3OaQAwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4MzM1MTY3OTAe Fw0yNjA3MDYxNTI3NTlaFw0yODA5MDMxNTI4MDBaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODMzNTE2NzkwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCoqWUqb01I+zapJsxs4pcq0dZ3LgOD4bsl J7IDyIVmIAuAcS6vnzljFfxy/BAjDXceewo0tKtKLjWrHtsAGAkitzlSN9oqN2w4 HJPWJZBrmBEiTgA/Ing5n5pEuF/nnInw5wywE6XwJwyaOXSeIs5cW+z36XCrKieW jmOpHSiEL95NeZ5gL/3IIafMabEsJbI4vl659B7+p9jnnIlfQTBZQgaoOflGbSL6 5C7q0dZh1TU0wjQwylq82En664Gkanp1eek/oVBouKj1nr7iy2nKc6tdiQVwTHKr GE/EvA9qzPt0ONRWDXiELtu+k+HEHfdG1T0aZ3ygiqXyhm6H8KcjAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR9RSu4 Vh+Eg8Twf3669PEW1a9EMzAfBgNVHSMEGDAWgBR9RSu4Vh+Eg8Twf3669PEW1a9E MzANBgkqhkiG9w0BAQsFAAOCAQEALa+NGJkgnCXJn03i/SMRqZc3v7EJwVY/13Uo z+tcrdVDUFklhVXFpGP9wKKcPIqrEZ08pG/UomSspd4qkRQU1Vh4ptHxFR3UcRPk 45zaFGDClaaw+0u91zZFcXgEDZNvp4bPIkMykLXzAwwk60miZnGFwJ1t4oiwMrjy LjsXqlu6/wF6nA4powdPY+r7PcUPi6UA3ye8IsNWd/hdpSyaxGUbpXzpbh8xhkOq x7bO/ib2ZCWocz98ggjuH+Lb5ETBpx1onPxuYv4Z+4SM2QqDoUpTZSW0Lj0e5dFP B2gIHxB4PMitAyAfw62imABKQtsrtztpNr6gtaH416k5c9vx8w== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-07-06T15:22:18Z" 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-06T15:22:18Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-07-06T15:28:13Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "7829" uid: 213dad79-df75-4397-9d77-0082038e7df6 - 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-06T15:22:19Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"582eda3c-1164-4d4f-a302-1171c5c68aec"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-06T15:22:19Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 582eda3c-1164-4d4f-a302-1171c5c68aec resourceVersion: "2537" uid: ba41eb2d-6e0e-47f8-89c1-2651669314a2 kind: ConfigMapList metadata: resourceVersion: "15647"