--- 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.18.35 creationTimestamp: "2026-03-19T09:17:24Z" 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":"a366457c-ed0e-412f-ac0b-680db18ac330"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-19T09:17:24Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: a366457c-ed0e-412f-ac0b-680db18ac330 resourceVersion: "2977" uid: 979dc82b-4a1b-423b-ab64-51f4e31d52ef - 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.18.35 creationTimestamp: "2026-03-19T09:17:24Z" 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-03-19T09:17:24Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2973" uid: 9d51391d-1636-4564-9798-7a57804155ad - 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.18.35 creationTimestamp: "2026-03-19T09:17:24Z" 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":"a366457c-ed0e-412f-ac0b-680db18ac330"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-19T09:17:24Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: a366457c-ed0e-412f-ac0b-680db18ac330 resourceVersion: "2972" uid: fb7875d4-f51d-4469-b100-b4ebbd3dac11 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIIXFcYIpMk6+UwDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjYwMzE5MDkwMTQ4WhcNMzYwMzE2MDkwMTQ4WjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMKE/pASiNQH4A0P08D3N9rlv8WvlhAE GYCmgRZiB3ZUcrcqKuhgf3eSaAw5v4ihoeXHvCwS2C2dGjhv+a6y5Et3DPFXDa5Q g28uAygVBYSW6hfvR4i++k43vOdV0VnZJhhiFPAb6zfVOt80ZO+/CJ48Hj6tFk4U ICFuz+rWLuBCuFvY8zxX6oiOVlm+dNFmO6I3Ha1WDK0Mb3ICk4CAI9SkFkpj8O/X IES+zNsaPtllZDVM9Ig9T5JHLoY4XGqIp4U4cANQegpiPuewi6zpvb4nKyAzQv1R dtkoyZm0mzjGLFUjbc1e1eJIx7QAygWG0MT/ZE9lDHsjCYG5oW6LAvMCAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFDOY 2d6oWd8KLkOCOCXtO3urs8NwMA0GCSqGSIb3DQEBCwUAA4IBAQCOIqd5teBawwBR jueJLyz/smSJa3J+4uq6EeLH8ASF1EeKDXgy4luNGVcE0t614MKPSAFLmEnUmtN+ Um7jCtiVdCZvMRTcn1G98KM9T1vbZRxgK9oi/kbtDDeUJVMmG+7JwG1qaIw9yLnW PbWhbiLz2zE/en2Sj4SG3Os3ny9esTXur1mpy8qXxRMeRnddkhy0QR0b/D/anccO FuyWQ+Hz+GwFXprulG9nIeT40h23yJt4DytwTAmmjmDaAPGFSGqZQFTQtuZIiHS6 hljczH7S9byJOHIdyZjeY8Ulybwhl6VjwPbFwizTyV+Gn9q65BqxPbubck2vvK3B m+5iBSv5 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIILCm9Y6/7VhkwDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI2MDMxOTA5MDE0OFoXDTM2MDMxNjA5MDE0OFowPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrWvf40Ne+W/ /6Nq6ehmMvfcvYx0AhXG7oHhqQoQBpZRbB3S9yCl6j8d0hxkiVKwwOjimLwmZUf3 YeogBzIw+lDYLJJljsSg/BqspBKx1XKHbDAxVoEhvTanAc0Z78cBpvEPQ9mumx8g 5nvFlbxUr76IoOgXRYwyA9vm/QGR8KzJzWdpxXdhy2+ke7Z9KiVio5GgFDTpEn90 CpPxZkjW8XT6TcOmdUGUrB1i1aaUooNgisxAnSMfkHNIujSpTN0XqmBpLJOWV1pe H++bEsQBaYFeJnhjGcmn2TPkCLg2eZvcKzof5ikFDIog2qBVsSczvyOWjTf+l3ZS cOuD8oUe8QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQU8GaiuI0+hghAGDh+iOchQlPCu34wDQYJKoZIhvcNAQELBQAD ggEBAEHo2yGu5bPwXTv+khuZ8gYBeGzGWk8jkhbDVhYNArM8GuZKifuHW6BMwpQJ YTpVlUZOlCMutfhMkwDo7IMAQTNWF1ujxnt19HP+7LTbvZ7sul/+EG3mmqjQy2hw uGh6sP0HqQcuvQ24aRrLdFSIPmj0I65DBLOQK7HjIEup7U6g2avNjjJu1+XVa5V/ vPR94+0f2BuKauujSqhjEVOb07KBTvH0uRWZjaK5mFb5rqL0WML4KTMuEiukrj3b uWWxqDgbxIIWAY4F9vZ5h8ngqgiXJyahYFSPbySgMngrrzIX9MsYAuXpQ1Zbk1Nv VhwybaKLi2Y5YGcmw8/WISpgFj0= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIWwf/eyTAt2swDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI2MDMxOTA5MDE0OVoXDTM2MDMxNjA5MDE0OVowRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAyMQp1Om93cquEiL036Y05XUUVD6QqsZXKXCYmOIDISnCZTpZuiSHYrJ5D3FH z9RpU8yETPqEYriAaa+Mr8ifJOL2gzxIfsJmuKnbwe/AjgvlerrKrVmTFv77nVbA h+C6oqk4JrwC5k/J+ieQVqdlLQ63dTRad832v+FYxObD3ljCcQ3DX+Wi61/08r3p WhPNDrwAwCqEFCFWJywcXSk+wRTpx80MlXfNtaKkzQDfxFiBGcdAWgZk6RnJyO37 3SndXEY7qbmR27BnDdkQA1zRjJnq+rja5t9I0r15IVCwej2ikTgOdVkEcbdUM7H9 jcVE+ZZQLET0OPxAwR1REnuAIwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUNpEUrQX6nBJXM5RRoq0XJIeGIqowDQYJ KoZIhvcNAQELBQADggEBAJFqcj+7hsJM2Ilg5sjTfexKUuS4ngikSDhyH4J6qQU2 6KcfYqSlHaUCDL0gDXtWOAHG8qj0Pshhwg4Bb9wihS5qlfGJtbTf+3xN28LkG0ay tDlD/0lz/R7l3p6YBtm0LjFBy0pqbQlKX5fxJeVQlLOBU9k4F50yI/SSZd5Fdcqs pPcTDNG2TbnzFxbESBTBgTAuZcnAHq6BfQKlWcQZiQgms9yfqkDHci24knlo8NLw /5B/mQGX3K7DUKxUORcUrCyrYarmKqZM+WIGCGauWBhciLsoSC6BC6BpmAQXuhmm kNOsva7vX6Pgib0FgAK4OggseWwi00IgBLbqSsWCdHc= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIEtQYvDsOMggwDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzczOTExODk5MB4XDTI2MDMxOTA5MTgx OFoXDTM2MDMxNjA5MTgxOVowWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzczOTExODk5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1ZyN qakLMMl34lSsd1Zor5x9iEEW/gac/iM5PeGlAxZls9Xdk9sbeXMKhF4UKDOLjQji LnwnsSv/8aT/7ZdD4bycgnrFVKGOr8s+YgtBQ1y/4dvEsFO4N6Y8JHcWlBvKLxSy u8uv0yhv1k08i4U74Md7LsWII353Ryve9FGvPLkSZOP2UBt+WHs9n7apcF9uQSe8 LftsvDr2fC4Lh45OGi2DBnc84KcBAhoOv3udrHV0zk/XPUIMev4AjCr9SjssiXkR ez0t4HH+Ad4urJaD332s4ufd+9/l8ERIbVOjdobKBdy4QFeOBeqCdHd8zGETdrd7 +Y2ChpPtx+N4kbguuQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUB/UR1JuwAjUvrAJC90P4G5Ed8CwwHwYDVR0jBBgw FoAUB/UR1JuwAjUvrAJC90P4G5Ed8CwwDQYJKoZIhvcNAQELBQADggEBAJ21A9nf WpS21tMO/ewNJXPVS+Q1/ZlhmQSroCjm3x3HqWB72J4xWtQqiu5hncPHmKwgCo8b BMr6Dit6Uxz5fAAWeJLEnBhCJ4GwcXScLNNAGF3P7isDgyW0hh9Rzs0QGODDrEcw c638qk7s/JYHvXhmfddzsc2SqcPOoWbk25ScpDJ/Hin2QtnbG2VSoE0iix0mFnWD /EPwUgiu2WgfsWVnekiynodVBWAZOqUvSdFkv+reQAhGDZYfwuNZ2s12gUfAQxAl 3UXyK8Y9X8ro1VokzozftG22KduBxRY1XoMGmbVH/tgUWZFW/jizSCcW+VFYxN6m nU0kxx3LJQFSOQs= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIINDmDQVRZAXcwDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzczOTEyMDk3MB4XDTI2MDMxOTA5MjEzN1oX DTI4MDMxODA5MjEzOFowIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjqT6YFgsHQrweDD Z25zhNmKedE4UqhzLD+5Si/azYIr3UfUzAoQuTc8j5sDwAOncvlH0CkJzNEfLcua b8JDgRIvVFi8nQwYqcI28KPZ4UG/mfARDom9nLe++p+Bhg0fzFCrGAVYwXbglS9D JIkIrZcbHa8cuTDB4m7Fq7lYmGDHMOc1ypmiW69nHjQm1jKH9YnMSCbRH7HcK+F/ tvd66OFfsucair3snrRS/NmJnHaWUpnopUabpeXc+bYKKmqXiTaYNev8v7IADodk F6pP2V0VxHP4BC5Wm8GNJzKBJGZTi1pRB4Gw/5s8R+pNmZ+juQSUNr7tGzvrPiZg OFsI9wIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBS1oK+IE78oC8UMSRmXoGw5Zl31 oDAfBgNVHSMEGDAWgBQcHT1cTdZau1RVWci9VoKdYR66zDAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBAFKV+Ov1 qUu3DbGeirw5XI0ReiQFuOQNGo2KgSv9KnD+fyBcO06/eLGzjlK7NP8uHfMk7rRk TScLk8GyKiq3MvVWzeuOXU8UUFolv0QYeR1XmdS3LUghNHEyfOMkkEOwxSh6/pIf hAsF4VZ+oZv52NlXkkA3uWxT+BpsAwdPsVEd3F9VYFN4Lr3dNheCF9PixYqk7GoJ QC5NnQRtZiJXDjX6EYv0aA/pSoWEIAJJpTn8nxPk08SKY1426bUiScofPk3XKzkl pcuo8iLcSDOv/X221HjmWTf2i0ufWNuKU2Y0TmB0l7y/HU4Gf6l49g+mcz6CMRwU IfMvBcuDFP08xNg= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NzM5MTIwOTcwHhcNMjYwMzE5MDkyMTM2WhcNMjgwMzE4 MDkyMTM3WjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NzM5MTIwOTcw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCdTMrpAVw01ntuXI/QBMHp x9q4peOnYX2uzb5um3fPVP12jY8aVPvXTgsYkBTQOrGYKk/kti7gKtHiWYzNms1p 2D/XUyQXYcMccThDOmxD3lshqkcpwzSr11nOg2wKf4IrukNyFITSM7k3GXkaSqKo 4Idwrmmoxr5iw4TEaTra3YBHWwExbqBhhSbkHCuDrIJbONSZyj9n+lYRHpPSEQ9W 9e+KkRhoRZHRuvGr+aXE+xf+R5y8z+kx/zQEo9vhlbOyoxnnQZxIlOnhF2Tg1KWB Lz64R5C+7GoDGUTv+PqXs9LbQmEGFxSypCZBYIn5usL0vImbr0ZGvdX0JjFkizvd AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBQcHT1cTdZau1RVWci9VoKdYR66zDANBgkqhkiG9w0BAQsFAAOCAQEA ZZRBFxdqqCDPRl/zFDlTTB3jot0mpgEIuiSyLB6yLvErJTs/NTL8Vdt6Uh7zGJ5j mL+g11NHvLqn2JruSKjz6PLK63qLeSopBUy1tc/cb7ugl5vh03/9ksH7PcUBwsGa yxCjw9FvE83daNQRA/+DDeAdEeWGDuCSOf1D6piqAkBMSJm2E9UNY+iKTlqzIfqW /Y3gyT8eEI3k0RvWsV/mgBal0qBJGLrqSVEVcrZfrJtyYCsO2gZK6KsUCo0grINE 7F0BbnL3qdWWif641VDw7GVsYpKWr+XMheoxvZEcBIYl2nkKlwbXHtb4l77nR/2Y od4dlZV7G0sXItri5z8Cbg== -----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-03-19T09:17:22Z" 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-03-19T09:32:56Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "12971" uid: 4cf5c8fa-558d-4aac-8ed8-bf6452bfff28 - 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-03-19T09:17:25Z" 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":"a366457c-ed0e-412f-ac0b-680db18ac330"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-19T09:17:25Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: a366457c-ed0e-412f-ac0b-680db18ac330 resourceVersion: "2980" uid: bd7d8f51-dc6e-4f38-8686-e8df4eb9bb6d - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIP6xcL6xCn/IwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc3MzkxMTkzMzAe Fw0yNjAzMTkwOTE4NTJaFw0yODA1MTcwOTE4NTNaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NzM5MTE5MzMwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC30JLy3w4/QZ1rpU14eshgyWNNcb+UGCOa g9Cf761AzDqfA1okXrUaD5XmKmlZrk6doLeQPuaIClC3Gn4vVovMds7Pevvr/TNE Wi3cLAlPj0Kep12NAmykjWyK4pmg/WWlstyCyE736VuifiB9wC0auI7c3wTjG3zN LIGd1XHgtFvjj7di9AkF4MFPOOI+OMRjUifGuUPrYfl8p94NoazqqSiaIm4FJ3q/ O1lHf2IeTKbv1NZCTdCo7S7LGX3AIiMIkZo1Ww0vH2LpeGb+j6wH6Xn07wI6+xwd Iy5zxZpCZLSk3j3OJKGK9liCuzmW+sa48pU2jd+uYGkmYJ/iOY1HAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIqp99 n4fMl5kZ3Grj1N1z9IFLHDAfBgNVHSMEGDAWgBTIqp99n4fMl5kZ3Grj1N1z9IFL HDANBgkqhkiG9w0BAQsFAAOCAQEAehd++EBg/KtHkp2XoE0WjTTtvKqnrKKymzCB K0laex3XxZgxaBrGH+GdmSuCRb8znPVfgNcfPSuYaF9ziUxsRSDMjnR9IDlabTXy kq5sd1CrDxz+2UVZEDX6nISdAdfJ3dSVBa387r9G2TSgn+W4kTEBYg/YzRPkrsgn sIRqiUw+n+cHBDPDWGiMiLxX49Bh5sauS1TOk9E9YUo8vWX7VLpdl8S87wPUXg6b i0RVVM8BDwiYisKqchAp6ltpRR0MkpcdCUMyPOm08FSlIbzQ7Wb1RX4q2HxDQJFw xWA6iUq0xksSMatlMm4JW/DuKDEurbhCoy8XxjhgLOva1aEwbw== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-03-19T09:17:22Z" 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-03-19T09:17:22Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-03-19T09:19:03Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "6331" uid: ec378a99-a098-4c64-a1de-7321d102794c - 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-03-19T09:17:25Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"a366457c-ed0e-412f-ac0b-680db18ac330"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-19T09:17:25Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: a366457c-ed0e-412f-ac0b-680db18ac330 resourceVersion: "2979" uid: a832d4bd-59f0-4d28-b790-7a12a6b354a2 kind: ConfigMapList metadata: resourceVersion: "49523"