--- 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-18T09:53:02Z" 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":"de550c1c-97fa-41bf-b0f4-7ff4deb7591c"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-18T09:53:02Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: de550c1c-97fa-41bf-b0f4-7ff4deb7591c resourceVersion: "2862" uid: 58043725-cafa-4a92-b4b5-d050dd228b80 - 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-18T09:53:02Z" 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-18T09:53:02Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2858" uid: c7680a35-a9ca-46a4-9f1a-f9673eeb71a3 - 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-18T09:53:02Z" 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":"de550c1c-97fa-41bf-b0f4-7ff4deb7591c"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-18T09:53:02Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: de550c1c-97fa-41bf-b0f4-7ff4deb7591c resourceVersion: "2857" uid: c908eab9-685a-4f9d-a4ba-6ea01830f642 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIIFW5mhA1Snx0wDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjYwMzE4MDkzNjU0WhcNMzYwMzE1MDkzNjU0WjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAM4hORKXdQtUh90rczIViwB0j2T+FeLV 1KS7L3/RMuq4WAn6EAs/+UDVXULtr4i+lg9PM2TDV2qchlY9bIewyaap0Ex73BJ1 GiCOaPWvCxtzURWKL7PXypGCUE+ph4b4y7Rbkxqcf7L8Mp4C1Hcsz+5mRaHdIari 4lVdWwOlp5uTAr+kuv1VpR4qKzzVRVx5bIFiMlWrkWTqh/gSF3w0eNbLBr+3J46V YUG+vRkZBy4B77ljKS3tfINBFDucXPYqA3DxIgN6MXr9oJ3UMUFvj5f3fOHCX7Gx Rz2pKmMOPoZ3ZlYpyPApmOOT0lpJH43WIyKuis9vRKHUbzoBmOY/xPUCAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOry A8uvMzfyUiTsk5sUuvIcm2vEMA0GCSqGSIb3DQEBCwUAA4IBAQBoKSvBmEddUql1 24A40bUNWs0L7zgZJ290w55PRLuslTnLdL6n664kGebsQGWRZKqSzWm4RAWkJ7ty X4906yji04kJZwgswFONP6fxXXHZ89ggk3+4RkNH9wFbKEAlwBGZbONwkGEQEvcJ V++GjlIImqAFneO40MeLYHTJYpci0B4liw91JDbiWCjP1LToueto0RH65upM91Dm B9KXnGTvraBL9kdHazAfOY3yCEZ/vx4wukyQIPO4UDKkux6tJ2XTzP5rWBzJjnOJ 7ZVQaI5mFtoAFx2Wk+EM7xIW8fVKGTKNX+MhGciBOMnYZWye1jiEQ/T50PbLzPG6 yrRmFdcR -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIISZ3uOKYiFAwwDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI2MDMxODA5MzY1NFoXDTM2MDMxNTA5MzY1NFowPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/3SOcY2d6+N xGfFEE+gMGRE8UNl/MNz7jpojqvlr6DqvnsuCAUDn7Sh9bjwFRjXypMW0qzoUoYg 2iQV+rvjyTK4XU4mvwIVoik1bWkW4NwI+DGLmJK4QKIX5V6yUal09kHn61mCjsVM YCroRVEAaXN+pIOqXk3pxpi2hWPSZFaly1/dVmaN4wMs8MP0BA/9rTeVnRjcVynB EC79u6aj0bli+nNdfOoMWXV/rGAV15KQJ7NWYBAesR9eX5x0pFe+iL7eavCcWMfH Wfdnbc5olwChwesPIGGErMfuv4fpw7AkLXqVGl8rYge+VTPL9DctTP6FhzgBtTR1 YNn8soPsTwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUqj6TnkWgLqgvLauLgibTevsxXN8wDQYJKoZIhvcNAQELBQAD ggEBABnxJveG/LnJlQ4tEcQ5apqck+S8/Z22jlfW9GTHSx2wQBlL3AoNQzOYMCay UnNJUS5zckyfuvo8RX6fDQy63XG8bW/jTcXyYUx7erzLgZwLFpv9bKbNh5lYyzfY HOhyxF8dDHXkBEFrLKF48sCBFxkdxINAlWjtiU3ZMndNa3Q8u0S4M09J85HBfFJ5 lp1O2FCZ0hjRTY+BhK2TOYTNf1fSPMvm0E9cXHhFtSeAKywe3ZFtEkCqPw50OV4q aCCQ7LyAmKr4gcf8DC8Z7T8UC5W587xoI/IUOOsToZ5I5fv4iK0IRmTMOmNpHxB8 0USmqRI30lZ7OjO6Pwu8zz4crp8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIGEJVPzP2cQAwDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI2MDMxODA5MzY1NFoXDTM2MDMxNTA5MzY1NFowRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAzSA9cWYuhY0fAM2f/3cBufhz+kk4jfTNMF2kP1MZ4eyQ7L1rs7E8mTShbQYB yvaUMT4/dLOeY/1hO6y42uEDhcVj2/B2Xsux2yMY53riMn9zr6hENhKSGfUehOoi ExfPCl+RXiQYdGMwRORRFXwqJpZa1xzvyuxmz5fNaFtx9rlx3HhM3j6u2SuP9WYK khbtPtB3rGo1SiUyhaQpn3hVtmfk3kgLZIYuyI6Flotj5Hj+tcdo5UlbseKLI6aI xdWa0TuBsmOJpWIKYTJnMDDeMgGluHc0HNHuuajuGr2Kt2wVBhqQcX2iq1MmqTYZ QKVhCYxiUaG+YkzGX/GzGYeGPwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU001u0Jxu+OM0H1H07E/g/sW0dD4wDQYJ KoZIhvcNAQELBQADggEBAD6bwS6FnR/SuKzAbQ2A97VmHqH//8L9nR6nwctbGAiR sc+w83K/4qROe+iOSOnl2l1ygMGWy7a2HrAFol6k2dsOuH2eS66ur+sNgOTVXiHs 2BLPtLl81O4T2cwAzIyEujI8Ebh1ArX+XojzDz+IfGcXfMf+h83qEVautUY2tz2U HpVQCPw/5DFGvVd5G/yLpQVa2Zhuru80sF3wNgUzEIrV61DNNCkGkIJWcHZ/KRNw f7OWVlhkE+48OUYCdzAsoTGwzggBTWV5uO6o4rRXaLz2agzFDbRRQkdKJZLhCR/G Wn7zTyXFtwCUQFbXSVJRHaqTTKqsONzR8+P0wJ3QNoE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIdLMH4O2CgtIwDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzczODI3Njc1MB4XDTI2MDMxODA5NTQz NFoXDTM2MDMxNTA5NTQzNVowWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzczODI3Njc1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1c08 ZCeMJpcjqWJCn0pvPbR4As8KksT3PYfVWwI5mAJbSqSgVW2XdLy7eo7ZDCL85BAa r6EnUyJp6MD7Iuov+uZvy46B7fg+hMKUbXfrTSyCxSLSVRJdRDt4z1O0Ue0SICBk il2nSGRXoQwCztIRWsgG7rYEMG9ddc7HeDA9F6iLti+eIUk5WCDvBPJlZFqzAX9h 96wmvFEg3ftNmwHcQESGjtTPgMVMpV9qXd5wyZsJSc/5s6aJOtBRrjsue3LDhN04 /n0S0Fwa9Z+/4E6/ZJeUM8iUlnUEs2z6V808NZ1EVxyR5NPRkihGYiR0U2Tz5/pV hdyhIMHBOgGqSMcxBwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUIoJmj3xhagQxSS+i2SgjynZs11MwHwYDVR0jBBgw FoAUIoJmj3xhagQxSS+i2SgjynZs11MwDQYJKoZIhvcNAQELBQADggEBAC2nJE9m N9MuIDaugW4PDn7aI7OpYKzaw/9iyuIbeh3ccUbZiBrd88UOA+vWS3PZ06FdZ6sQ Y9t/7Bmk7UWS7wa70BjNT6Dm+sgMfx8ZrtAbbAiikXxfZuDEfX5TDLHbWr+wp3Yj VcYndaQ5R1bKVgMM/trkd6Z98UlCLZauPU+t6ZX2fpRByS1e89aznv9aV7F1dYn9 RHpARXq7zaoaS7a0ivSJEX+poKnqMJl8m3CazNv9DazFP2wCXyir6TzLBW00wtKp WrOgCOLGHbPYCJvDNsaWOxUdA0yNRWpyPo75nI4GMDT14gVAYL2i+rfk5u7q6qEo eVEIIV1jgxUUXHY= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIIV4vT3hziS/kwDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzczODI3NzE1MB4XDTI2MDMxODA5NTUxN1oX DTI4MDMxNzA5NTUxOFowIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1CKH3WlvHvV734Rj Xi+SdU1KXr+hfzD5QOKrbzJt9BTG+SOuUgXZ1BEstt+ldYohogPRHxzR1gPcKwWx S7bI/QJGHftVA4zNcAODumX3oBy8A3GebRcGTeCYC6s+1yWIpZtvNsdVdxqqjOer nzsI3i9R3P8xhxlEPssgYcs7ASPYQklIm603YT1EgVPkjexh3hZov6WuFeLfr0ib ChP1GEDkbG/3BqjBjVuJubCwmyuvNIBs5r51Kl/SmpP6YJVTxQOzEQq2KOe/K2L2 868WlGGrwO6KlYgowKgMasinxZj0oaZOHYLnVR468FSAsRjN4/02w5MgjfYtT2FR 7nuDKwIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQN6zqIqVdcLe8FOgtz5aIhaAOA hjAfBgNVHSMEGDAWgBQUTXnSNx5cHLkNxOznkPcQK5/fYTAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBAGjkJ2aC 6xvnIAegaq8XLckMJtg0WfWoGp8TdlGZEt+flCRv2Z1GrWDzakzLITJREbMwQJc1 TCjcYtgSUxQ7DxDtTjcUiYrhpN31eeUIp9OxLFQrbyh0M6rC4o9rEe0L4EC8kTmo LkndywD8X7EYL9i3pi1DG0fdc+QMNm7rlf+aimM1c2w85Lyquljl5j7/26LO0XJx 7eULqKgJcK6yK3/DFwxdhrfOgRhgbFgGLXYcZpKdCaizNpJgsG25e7KxC4Liq9Ks ijpfROhxXWMQZpdf1Ga6BqDHetSiU3F+vFwn3EDhJBpM5C00vSJ9tzF1+QLQFbTn wmBzR5hwHZ6rTBM= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NzM4Mjc3MTUwHhcNMjYwMzE4MDk1NTE0WhcNMjgwMzE3 MDk1NTE1WjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NzM4Mjc3MTUw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPwxwyRFPbvju8L+DSjVz7 wSviCToBAJuLjgNR1AUVorVwPnUSaCfXdDp5oz401pPnZ1zP8KuW2iXq36S4yKZT jE8NwRRiMfr8Zohujy7tkZnlXtYMip6yZufbGWdM9UUZouXP1XcWaqsneNmagDQE 7zkrz2clPNcYkth8xZsjou5ZKDizQ4A5S3QXApqGrLXnR9fYdD8Beq/ixdXmIvPH qau7Sw2tJ1vsPn8NubGfAM9ccTwm/v5PiKBuH9iXO1t8bgcXw7XatZEch8oHaQLP 7+VKm0shdm9/oVDCyZQxB2a+OjWUUkOWU6JyV/+38WgmV+X8cgg31+1vL3a33aFh AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBQUTXnSNx5cHLkNxOznkPcQK5/fYTANBgkqhkiG9w0BAQsFAAOCAQEA gKQ0yDumDLG59cagbxwKPFWMyQmgnGn7rJp3H6nv+yQumGtLkiMuiBXdt7izFcPb mUKxoT8mcC4maCkPQWiA0+YzRssw9r/9df1H3UJjG9Derb79jLOxtB97oslP8aaQ SvBFntgaKQrYxRs7IwxE1xUiJ/2QFTRbWMH6CwymqOnue4nTDKRCeJH6LRWxDZXW wYkVoLyhXokW0Dqh8n+PnZnuEBHSI+6hUmnwNzc3RJL82NlfrDFdpLiRtEiHuTwF PQ6yIzv30CI7CrhAxIkNyWyLg04tsyLkJlVMAfgwl/nCDtCxRzCHF/dfIeON4o7b Gdi+5mYfA6hz5rg7p3gBrQ== -----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-18T09:53:00Z" 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-18T10:04:17Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "13195" uid: 041cc8d6-89a7-43b9-87b9-fd955b7af19a - 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-18T09:53:03Z" 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":"de550c1c-97fa-41bf-b0f4-7ff4deb7591c"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-18T09:53:03Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: de550c1c-97fa-41bf-b0f4-7ff4deb7591c resourceVersion: "2864" uid: 7385fc72-c3a1-4d66-8172-d2c9fce16544 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIeiD86wU75eYwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc3MzgyNzY4MzAe Fw0yNjAzMTgwOTU0NDJaFw0yODA1MTYwOTU0NDNaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NzM4Mjc2ODMwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCV1ZjcxMFknRtFLmmPXg9ogO+QXMlwt/u tddKVKtQcOb16i0wYaTnWcfERSN9rmBjaxMIPJiOG/rXzj4SpYqTCBvuMaDrJKFn zJ+8reZHCve3JsJyU4qs5XhcXesqlgKZWJ7eydnFDIHhMesCB2eAs6UUG23g2j8h DSDyIqXSuq954sRx2Zfu5e5/ioOwCgZFsMc5jHsHud/3iDyCPGbpon/7KYaY5lNG UkhZnLNFsv+yVHD0n1jmBToRazDjyxFOwWD81DLUiK2PAewUg0hucqwXdqpHLM4y g0tcomTCLGSq/ZxL0A8T5cfsb4TjV5oWo96ISPMHGtatZxcwViShAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRVWlTN Lnd+K7HoZoWakYpVSFSBojAfBgNVHSMEGDAWgBRVWlTNLnd+K7HoZoWakYpVSFSB ojANBgkqhkiG9w0BAQsFAAOCAQEAW89z6mE7X0bSggsFUMcQk4xxZLzuyqiqUWis gFnKejnX/5I6gtWGudSuMqTtn4Q1wEX9aia9MBDBkBkM2Hn6PTOuuutk7uLRvcvb ZqXmX1m28FMNKWPKjkQjRUOnqcDmh4lXZ5quf+uT+W/U8nuZPY5/gGJ8SdjUE+Y6 VGXa7J2c2UPYYzzGJ368Xb0kWvOuOTNTrDh+qzHt3aisfsHOEPGjmVjmt49+QrgC 0Tpuifwg8a6b+d1iR4MysiQQRqp7thnPfCecsaRUm3qmBYG0qR8ufgnlYD4oUO/A dpXrUbgek4MKlKst9PHcOPJyMzlv5PsF3GMnSwvhkEBXBiQA2Q== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-03-18T09:53:00Z" 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-18T09:53:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-03-18T09:54:57Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "5758" uid: 0d87b5af-63eb-45d5-b609-f040194a13a8 - 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-18T09:53:03Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"de550c1c-97fa-41bf-b0f4-7ff4deb7591c"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-18T09:53:03Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: de550c1c-97fa-41bf-b0f4-7ff4deb7591c resourceVersion: "2863" uid: 217a9b9b-c3b6-4060-a9e1-78ca9d2f6a55 kind: ConfigMapList metadata: resourceVersion: "25142"