--- 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.24 creationTimestamp: "2026-07-15T12:02:51Z" 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":"affe16d8-eb4c-4022-b66c-0eec6f038d16"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-15T12:02:51Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: affe16d8-eb4c-4022-b66c-0eec6f038d16 resourceVersion: "2857" uid: 034a17b9-13e3-48be-b0b7-839cda60a771 - 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.24 creationTimestamp: "2026-07-15T12:02:51Z" 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-15T12:02:51Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2846" uid: 0e96021e-01c5-4d72-99f9-1ad36b513915 - 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.24 creationTimestamp: "2026-07-15T12:02:51Z" 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":"affe16d8-eb4c-4022-b66c-0eec6f038d16"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-15T12:02:51Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: affe16d8-eb4c-4022-b66c-0eec6f038d16 resourceVersion: "2845" uid: cea0eae8-53b8-4b16-a28b-622345607c7a - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDPDCCAiSgAwIBAgIICzaPfYlPs8swDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDcxNTExNTkxOVoX DTM2MDcxMjExNTkxOVowJjESMBAGA1UECxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdy b290LWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6adNuiduQaOv ub1SP40D9SmIXZMC+MVYcDMysw1HC+Gi/qM49fIyFzwJXvENLemVuTIuTjNB96Cd TYrueI0NLJi4BNpPy6LBKGRhwHcz7kGRSbr3SUHSrC/f8WqF3i5LbOY+fNWn3VgG gZRe+E1ZHocoZ73XbNj9T+Z9dAkdlrO7maWaU8gCeblCDQpylRUfW3UvUfHw02fN CyQlehCzE+FWLL3dNmAiEVtg6c+OmKOL0FuGBW2CwZC5GaFQuYnCzepS71apYcgA Xl+U94KOKbeAaBKGQgrsy74qK78W8uJ0sb2DasBq/5c3xNDVxswADoVVzKighyh/ vEWajynksQIDAQABo24wbDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zBJBgNVHQ4EQgRABhYJweq7UYOw0xe04V9wdgBOaJnaWSRQhCo/CdUjnPV32nUq LrXkhUDkmUVTyLQeNFhPF5kWmq6kLJgDRq1oHTANBgkqhkiG9w0BAQsFAAOCAQEA fek/pQSBYLf12uffvHxmrW9CwOAnH/nqUIRYRxtjKHvV6ZQx5KlYcXjYOmzf6Ead iLJeYuhx1DkOZB9pEG8So45IhYW62S98pKeRBWboD02R6ta7Ex7b398ZgaBklVIe Exx1xXpJjoxpOHhHo/D3MSWKlA+BgwpyxyyEOmtB2iIMRGTMHDkhBt5iD88+gjc4 2hoT5Zmy9zLjbwEarGEyaNUfZjN7SPD/yQDscAH8VQGK4rcWmYy00R8XsHsMo/6q 0jWkSjeyzcDzC30qcuQ0vQ/HM9za/T0BoAxfXExSqlBWiz6WBsQStl0HOXY2BHfC JTuLpWlS8J8xHORufafWEA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIIWEgw3H1vyBIwDQYJKoZIhvcNAQELBQAwJjESMBAGA1UE CxMJb3BlbnNoaWZ0MRAwDgYDVQQDEwdyb290LWNhMB4XDTI2MDcxNTEyMDAxOVoX DTI3MDcxNTEyMDAxOVowMDESMBAGA1UEChMJb3BlbnNoaWZ0MRowGAYDVQQDExFv cGVuc2hpZnQtaW5ncmVzczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ALyW8G5fdxAeAR0tlXmL0Hr2VSxcixbWRqZ8hV9IDB8iOgS5luNNn/qcN7py9DAu 27g79Y59qQtl37VUMIzV2A5ed05LWD8RUnABr1TcA4LBfJ3RLCw2svNFUs6jNVHw l+M1Jes8Rf5r2aYqqQuJMaP2TIA3UzBlIRjQ2Befb4X2jdSeHbbE2+3OMgVk73R+ LkfDmn6Vk4d5Oxap3G7B7hQzJBSmeGQR1kI4HXPG3AlSqqAbY2Inm6VogALyMnoE xLtRKgpaUb3tLmhHVbwWIBMgWbGiNCm7wCeLUC1d8ZPFOF1qYQ8Q04540pH46VHB n6WRl3rOZIYMAQcMkPb8pM0CAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd BgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBJBgNV HQ4EQgRAye3SojsEOv1zH8IdLSxdPm9H02cUYWo5rahRMp/PYrh90y+fma4uK/Fd LkB2ErAIMXo+NKB4WfZWxn6/3EYXKDBLBgNVHSMERDBCgEAGFgnB6rtRg7DTF7Th X3B2AE5omdpZJFCEKj8J1SOc9XfadSouteSFQOSZRVPItB40WE8XmRaarqQsmANG rWgdMEsGA1UdEQREMEKCQCouYXBwcy5lNDM4ODZhZi1kM2UxLTRjYTItOTE0NC01 ZjUzNWRlYTYyM2YucHJvZC5rb25mbHV4ZWFhcy5jb20wDQYJKoZIhvcNAQELBQAD ggEBAFWpCP0Hy0YOMVbOXA5Q8R5QMwSn+pf+1S8TqkxgDUgOLZirt8EAqBE/D3sP RLWH7KDDw0a9/cMMYRJhwvvUpwfdZtIGAtKWwQZtSDhFhP5FiPaiM3BDCVL4e7xQ dfI3Q5OFaHqhAJFKGRvYoeBGGUYyedxiUyj9TuYT8hr4nDviNmzKiwT8pATOCwDA vullngngF7WUo6mScdoASMasVHmEKuBbwfNitYyJrfH06TQJ9sMruPEUAGu12NnY krFpiznKxeNZ4rXxwSgEKECpskt5ye3iHMlYfgGmU7VSwryn4du3vSBQMHcVJ7aH EaJLP/rR3qAkfxzMni5Bd94IFng= -----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-15T12:03:08Z" 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-15T12:03:08Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "3722" uid: db11e10a-f2a4-4a7f-a9e9-d3e7acd6c3bc - 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-15T12:02:52Z" 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":"affe16d8-eb4c-4022-b66c-0eec6f038d16"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-15T12:02:52Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: affe16d8-eb4c-4022-b66c-0eec6f038d16 resourceVersion: "2890" uid: 8450cb3d-3dd4-44bf-9219-89a030dd9775 - apiVersion: v1 data: cabundle.crt: |- -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIINGlH/JHVm48wDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4NDExNzMyNDAe Fw0yNjA3MTUxMjA4NDRaFw0yODA5MTIxMjA4NDVaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODQxMTczMjQwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCl3HGn5p4OrOz65dQJhc7Bms33LhJU+6Rq aqGxsTVMcj3lLlloiWtA8Ib7H5sggCvvmr7DDSNjAKEYuRIf+GMgaiG0SjjSYGNZ 2yZWhq1VSwPgyZ07uIJhAONMqm9l1XvPhDvYpZt8KyPrrW9L1f8Jgf6BkBucsBgq cVRByqSj/VJjE3swWFhdYBB3NTj1cfS8igvD6nc0rc05GgD9nLULSaWnNBz/Lc0N yHxQiCcQcFgfkHdScWv6T6Y22+IOb4exzS++HFSFuIFvrpmPz8sbziXTnLpjQBsP d7/uFVD4HOgE+1rC9I29Z/XDGLGWwg+av12G7LAXzlfM8jo3pGIrAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR32tm8 9K8f8Yq3nPJ319s4q+W+ljAfBgNVHSMEGDAWgBR32tm89K8f8Yq3nPJ319s4q+W+ ljANBgkqhkiG9w0BAQsFAAOCAQEAnWdCQ+IbcD43COpjYufMIcsunQhaMD9L3UKb omKWkBnOkTDodih/IUTbQRSLew08JOb2FhRfugvyyHw8sxBx58ltQM3M2U+HrLyT e/CpNfc9Te6R2xEFON6RinnptOrNNXKU6jjMWfjRC9MbSfGN0DfdAlFsNJBe5EwM kg8xRNbEJzmAkXXKnVW43YezloZoHBZZYd36rp9FHEJcvg3/DjOxJMfDcF9z8jKe bctOq/TO4ZCf99EwcswOLS8ZL2hygcmTg8pl53/bqoJ6dt7XMtmNYj+SZb81buJn GG1fXIy1qI8a9mONZRasJpgwJImtcUgWH4iNBTtyKl7CKIif/Q== -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2026-07-15T12:15:12Z" 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-15T12:15:12Z" name: odh-kserve-custom-ca-bundle namespace: openshift-multus resourceVersion: "15057" uid: 437eef98-fb7a-45f0-b6c0-055761b29bd4 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIINGlH/JHVm48wDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc4NDExNzMyNDAe Fw0yNjA3MTUxMjA4NDRaFw0yODA5MTIxMjA4NDVaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3ODQxMTczMjQwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCl3HGn5p4OrOz65dQJhc7Bms33LhJU+6Rq aqGxsTVMcj3lLlloiWtA8Ib7H5sggCvvmr7DDSNjAKEYuRIf+GMgaiG0SjjSYGNZ 2yZWhq1VSwPgyZ07uIJhAONMqm9l1XvPhDvYpZt8KyPrrW9L1f8Jgf6BkBucsBgq cVRByqSj/VJjE3swWFhdYBB3NTj1cfS8igvD6nc0rc05GgD9nLULSaWnNBz/Lc0N yHxQiCcQcFgfkHdScWv6T6Y22+IOb4exzS++HFSFuIFvrpmPz8sbziXTnLpjQBsP d7/uFVD4HOgE+1rC9I29Z/XDGLGWwg+av12G7LAXzlfM8jo3pGIrAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR32tm8 9K8f8Yq3nPJ319s4q+W+ljAfBgNVHSMEGDAWgBR32tm89K8f8Yq3nPJ319s4q+W+ ljANBgkqhkiG9w0BAQsFAAOCAQEAnWdCQ+IbcD43COpjYufMIcsunQhaMD9L3UKb omKWkBnOkTDodih/IUTbQRSLew08JOb2FhRfugvyyHw8sxBx58ltQM3M2U+HrLyT e/CpNfc9Te6R2xEFON6RinnptOrNNXKU6jjMWfjRC9MbSfGN0DfdAlFsNJBe5EwM kg8xRNbEJzmAkXXKnVW43YezloZoHBZZYd36rp9FHEJcvg3/DjOxJMfDcF9z8jKe bctOq/TO4ZCf99EwcswOLS8ZL2hygcmTg8pl53/bqoJ6dt7XMtmNYj+SZb81buJn GG1fXIy1qI8a9mONZRasJpgwJImtcUgWH4iNBTtyKl7CKIif/Q== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-07-15T12:03:07Z" 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-15T12:03:07Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-07-15T12:08:57Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "8077" uid: 4fbf4dd7-c1ac-4bd1-8adb-c6334aa9d114 - 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-15T12:02:52Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"affe16d8-eb4c-4022-b66c-0eec6f038d16"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-07-15T12:02:52Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: affe16d8-eb4c-4022-b66c-0eec6f038d16 resourceVersion: "2876" uid: eef1ed47-3eea-4927-9287-dd6f6c86ddd1 kind: ConfigMapList metadata: resourceVersion: "64415"