--- 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.34 creationTimestamp: "2026-03-12T20:48:41Z" 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":"e3993f2f-7854-4c11-bdac-85912b157c72"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-12T20:48:41Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: e3993f2f-7854-4c11-bdac-85912b157c72 resourceVersion: "2899" uid: 4ba7e227-8f3c-4ecd-a395-1139b09c5e79 - 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.34 creationTimestamp: "2026-03-12T20:48:41Z" 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-12T20:48:41Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2895" uid: 576a7bcf-53b9-4d21-b6b2-8f9e11505e97 - 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.34 creationTimestamp: "2026-03-12T20:48:41Z" 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":"e3993f2f-7854-4c11-bdac-85912b157c72"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-12T20:48:41Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: e3993f2f-7854-4c11-bdac-85912b157c72 resourceVersion: "2894" uid: 30dc27c7-92d9-406f-b0fc-6a7221dff2e7 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIIIY32aeyowF4wDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjYwMzEyMjAzMzE4WhcNMzYwMzA5MjAzMzE4WjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMc4fXyptPWkqogqLnQvim5vJrE0iaTT Bzol/7UoTxsmc4kXvqYLPn4nmngaadsHW+c+4DQhLwXUp655/go5Z84My1S4n9Ij M+u35P2pOaGVQgKK4pqCcfIjWeYJdpSlNsEN3K9et3ECYcZ1j/OL7c2/bEatWlcj zOdM+aoRLQM+sLRQ5FIRjKGCmv5G/xX55uou7MwwKMKX5OpIbNNwXGRbWcubeGXt uAVdtj6dhLGSdg3L6qNlpWwORper2OOOG4Y6KBs5nuPIb+mKBKxfYNiWHZlLAfyw VPHgvyzc4ptxeru3wuyNi1XmFH52GueMAf9XAcvTfbB391Z3oVwpIMMCAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFDOC l965Y6HJ4QgFTgy6RI1OCBeoMA0GCSqGSIb3DQEBCwUAA4IBAQB8LV1M3pf2ye79 9bupzf470eX6xtVUjCSRfW3AzF3NX09xCH1aSwGwgDqGEVARqIT6cYMg9OsFNy4h NT4bA2aWstcXR2/+dWxqyysHTayjSCWfxd69nGIj3uxwbug4H7g+20JEYJub9Ah6 YqSnmaJqmyhoDsiscdBx3fU68zlGZduvMZKlH9N1DVj9vXB2Hz3SdS1mhA+gPIQ9 EHTEFX/lwkCVyMjL8CMsynXEeGaBtd1y4gQ1oX6ES1ftXPh+J2JHmySIGKCNsvoS Iv9BN5cWCblm6P6R4N0RlzVBFKdOjl02qBmemgNvYub2EXvRnTeYR/+79obAeBds +ocs8kcc -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIIAuE89q9u3hQwDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI2MDMxMjIwMzMxOVoXDTM2MDMwOTIwMzMxOVowPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtazTcciglRAx w4bVrKLFhpNUQQHpbo8kT4x0g1rgJiMwvHEhb+xfwtAFMZ3Ez8+Pp2HzmJ+fetz/ 4dIL3ISp5qCH/QS0kFuB3HT23GZNP212WzcPp2LIOh4JcLdjmBKUX2JM42nC7rrr vUHs0mRiTf2lwQ+I02+5KRVyVmMUlkiTnBNW17MlGqBjwU8cME+/ykSV7ib6EHwB B0KkR11+wE6aYh42bHoN3JeHRgk3FpSgMtLW1CjBIf0wxyP5IClmCBIAL8/iDuhM dlE8yAZZ8YLoYTSLGuryTTMSBzyuLzfFlHv4aI0kd1NzQpE/nvlzyo9c67/BnSN5 lVOpVNMVOQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUUcT7NKCr0DWbRikB2sBFZtO4m6YwDQYJKoZIhvcNAQELBQAD ggEBAByFOpgFAG+lLUDqDKLS1rt32eHbkE4m89o3daqjE0Qx7rTkpM1OVlIUxHNt AUQcJ9kQpA4CbasDr89kifquMsZBSPrtu4BoVtOdhGUwBOPL/Y+jJT6x1xepdwwN GYmWx9iXNv18p4EGvNrUR55o1ne5trL4fq/UM00w6MZwKiVb56bn+qmX7gcQsiyl IAO+f01K0ivTJ7CUWyU7d5tupQkp8ZiDXyVUZw+cjuofVIRBBtKeGqZjZAbnoliT RqbGHbSqsxqr6WvN60EMUzfxOxAHruJtvqEdnf/q+eOrPdd3FCXhQrQzgHst6i3l O1Eqepho1vWsBD0ikuvBKeeo06M= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIUGZYBIps220wDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI2MDMxMjIwMzMxOVoXDTM2MDMwOTIwMzMxOVowRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAwwhiotCKstSNvGiPWQJdNFY/Qm+zhv8KpTgnmx1isA6oSGzenJ0VljbhlG6k hgvJrlLK9XlQo6WQJ3tIziCY9J3yvX3ngoWnHBhoe8ppzmc1yybMPkgPOGBzaLgM G0Zj1qPV/8+otKCL76qkuX9/B7HXK27ySapQtUNICMtyk4v1a/qxZCiFWitvOfGz 71UUSoRMRrp0ehWRVryd42N4frBi8qHIpj7F1WviWo+U33LKZopqLDI0NMzOFdfL CADurkoLgrNUaMMaxLBPx7neqnueKJIrY29uOaw/rG7QftElGMXTKaSvSuNgZvsb 8CkykpDARErSgcCKs6CSc2xl4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUBC6CHaB8scDcUOF8psvmo74CNTIwDQYJ KoZIhvcNAQELBQADggEBAHSkFh8zi4tsTFeGpp6R8k/ZJQhXZf0GhJlivzHcg0g5 bPTbAU40TC0OlFswwotf/8OEPQwS8z7uqDFY9LigKZU9orm4K5AZnbLNQy1I95BG 22K1Q5SaF0Y4fCCB49RX0ZRe2kFRndNdmX/Eec5e+ibz4+EsNvoD/+J+S8zcFUOh H/IcjJT6259gLmwKFB9Xka6K1uSzUA7VrwKITj5ZaPuqWpdaBfr89ooYvdX5fmW4 nIq0nsye08cSYsSIqj7GUo1osZkQb8W4l7QBGFepkmry0w+3glCDcXgccWA388Dt TYHN+ulIx3lu8bT9DLozJ7XMGhHKD1pKTDabw/g+n6s= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIT2YgpYI6MM4wDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzczMzQ4NTc5MB4XDTI2MDMxMjIwNDkz OFoXDTM2MDMwOTIwNDkzOVowWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzczMzQ4NTc5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAznqZ 8Td7kyBWJijlhBB26VZ3H0ffQZgomXLgalsfajssaX3NfZ7MJ/wSGluIF/V7uiCJ whVBVI70LMLiyKhT1oR51sstw9lQ3mt11e4Becr76zSxBlscEUTXSQQSqJxFv5Kz MIySkavjxYlAiYk+c3kHtagYrfFKqTzj8ii9jvNjEycPjsQUgChgJNaBcckBJgtI HxaPPHFkbHBb7hzLCubfLqxKE2wf2tcRJTmU2cnBp+AZ7K73gbkZkR6xBJ1BEDp4 2/E2YJmxB/9PZHccNS0ZChvv+NPmOuQsuv1K/t788oQlWgdMyJBdvu3K5GPvaJel 20Qv5wDhmO+KfBcXFwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUMXeop1Iw2YG5PQmokLbj7nHVks8wHwYDVR0jBBgw FoAUMXeop1Iw2YG5PQmokLbj7nHVks8wDQYJKoZIhvcNAQELBQADggEBAKizMcV2 zPvYvB/OgUlgOxyAcV/cqE8FYV7umv//le763cEeozWpkkBpt+WLJ/2xQ5T0dAWq +X/rv1IuU381UNGO8WNi66KyfohTCx3xPvM6fP9ffnwNcOjcL7n6VTlS9v51OJhJ +L0z1zL4V6dlw7LS6lYLG8EFKAzXLHOayTqBLFGB97JP1FdET53uQ+XRBOw5RdxZ K3GrdzAlVaCEFzH2k1KHLlyc1yInzrihLMyFEw36UHWnIQ8MIDdZjkvazJU+DB/Q 42kruwZpOa7YNx4TcqyG1s1DDwSCqvTntaEtd91nwcm5rEGpqrWozMx7Rn0v22Pk IdLO2Scg93NTfz0= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIIO06p9bohPK0wDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzczMzQ4NjE2MB4XDTI2MDMxMjIwNTAxN1oX DTI4MDMxMTIwNTAxOFowIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+o9xnFP10BScpNR1 Zgs9c0pw95eSECwq0zYgW+xrv2SNsrp0JwW4+wBV+PiD3C88LrEPEXrmwSOuNEs5 cBt4b7rZcLgPwmQqyLQQ7AKC3fme4h15ZyoRrcxHQrg5nGWT4U9UkosmoZ2/s1Y3 R+s5EcARpVlI9dTSDFKFXFNV6VATEiSYh5QPniw7K15f5IA284pP0V9IhvZbwCBn 5FA5sHbLe8UFRsAZImK+AlievjRd9aM7Eo+uSLTcz/5fcANWxdCWS0a5YNCdLEvc FCF+OMxc1D3CPKoYc3I59QqL5QWA1cNy+x9GCin08n8aDE/6XiIUmrGuoB/0RJKl IctVhQIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRrhQelqNfUmq9tu64OC4cDQieN 8zAfBgNVHSMEGDAWgBSHxncAZMHPNNyvYjZRNfvNFsGFhjAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBADAqvDPT xnaz+ql7D/Y94/d+WS9HahS98ZqqLAFenyklouU/eDrQ8YB8KIPExcSMQFsQGskv PKkJtpXy7Hwwic7k1iFTISSzA3f6IGGOoes+lDTp0lnM7Bd3N35KDUfARb6egf7B udivetAAl9SBh3U6+Pq1qmEhR3FNbbpZODgMWspl9tHZ83QSbm+b6d8zg131dQab HsK7XlMMXDxsHSj1TTcxkMzw/dyd9r5f1Pp50gfHKceMPlurZnit+770fZwS9XGD TsyrXcUAcglwxYY2YSuxn9pTke60HkKJREQ73FOpgO+yz0aGhyG2TlagMslf/w+1 6pEREYYtq7dxBg4= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NzMzNDg2MTYwHhcNMjYwMzEyMjA1MDE1WhcNMjgwMzEx MjA1MDE2WjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NzMzNDg2MTYw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyBUIpxBnvWTMxvMkK5pBc HCh3MAzB3q7HS9QlU7xGZzN81sSnIGcvg032HeKiiqNvOYPSKQ+6jm6vGiD/ui9l mNlBVNyogyOPZh0V3BiWY505rdCGdlJT0dIDuVc9sN92LRGmNI0NbHLyHBZP4Trp KjYzzkEZZRVsJsh9nmfZ1UoBnICCSk47G4YDvqOflfjAvVdXU9dhPZoJw2hrT7Hd GJvBvtTuw2/mLK+EWjN8LkN0+BNIZO0CSbElCUcrz6m2Yw2BiLGi/WTPVlICs01K HhTL5Qb95PyGir0WnIav9+lEldZIDRaWGKP/0fiaB39FN3cri1WIrvnsa8d3o4Ft AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBSHxncAZMHPNNyvYjZRNfvNFsGFhjANBgkqhkiG9w0BAQsFAAOCAQEA U83MFjGAIRdYqVtBVpW1OHmsIBOvRsSygdqk+uMOhKHVFM9XjHgDpgQoAsutRywt ZZDZAlpyo+pPUred1jOMAgmSsszsdSBpTszY5Ev9m7zlRuq7fl8fNiOfsufd2Dw1 t0s/WyLeCLOYTuUMlxaGkAXoLbdCe67PSglxIyUz2AU34gvovJByoaO0eo+yLQ9/ vFW8BKTX2tdDj7023QJoc+3Cx6GhWYUE2h7CCins3YPtnx9PnDpURmQ28ImNbL5T SkvdHSuOuxNO4o1cze4p+ECK0xx570QIbghgR18w2UvphtSH950jlwQg6gbQrj7+ bs36xlNRHk0oYPFHPBTsxA== -----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-12T20:48:39Z" 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-12T20:56:53Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "10162" uid: 3319c52b-ddae-49d7-8108-a81b6a1fa463 - 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-12T20:48:41Z" 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":"e3993f2f-7854-4c11-bdac-85912b157c72"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-12T20:48:41Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: e3993f2f-7854-4c11-bdac-85912b157c72 resourceVersion: "2901" uid: 6de1cf16-05f4-4e8e-9719-466cbf572560 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIII45lwxs46AEwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc3MzM0ODU5MjAe Fw0yNjAzMTIyMDQ5NTFaFw0yODA1MTAyMDQ5NTJaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NzMzNDg1OTIwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCkXSOEDLPl3jSv5cOzPhYIDncp0L/L2gCb nF3qFp2/XB7JXkKnvldcdEVgEukc3umHEPZgKS4CiZLe8Ec6/Msm9k70RPg5UciW E9ACMCvZ7yp/T5d7k5VuT7lxfl4uEp5F8TgVluX9XdWjPXaAlcGZtPrmSV8pgzsy QRCGrm+qtlM1NYKkENJAsxXidbNSXI4gqGPx1owkVuSd2ppaERMtPvIBYeO+70an 8ZvMXQZmP3PFBe7lNiUOxdg2yPztYXHnSTl5hdlldIy9pzbtOKh71vFbhUXawoIn oERquPSAXfpvYcs6AI2euSgRA6W1EuUjTXC/Lkwc2UPk0wxzuljvAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTy0cc3 bMFMpX/1ImLjNA7VXCbjxTAfBgNVHSMEGDAWgBTy0cc3bMFMpX/1ImLjNA7VXCbj xTANBgkqhkiG9w0BAQsFAAOCAQEABJUVOOYkLbyzB5JIscqk/DVFiULJij6/6omg H4yh/yJoSARUapMjgLnFiUSGOdIYR1A/e9fSVkdLDCz8y72btEMC8vKoYgjJY5bc BGVvIMAX2hRFc2t8RTZHbN2+pycB9yM4XvsCzKf8tUMvCKskU4P/pbII6Gb89YjA nMT4UqI4JfDyKkIQjOqOMaztHQ1f13SKBiXQNWRTRJcAH0YKI9eSjS9FSsmiTmyK jF4Pj6whPD7AKAlvcJp3Gh10hHEh9VUGLSU8FcQii8fYXfrQ25clxd7Cy9zCpQed bTpg3JsW1dmcptmLKGSglFzzu1TF59CavuZRc1hCq5FnhBjs3g== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-03-12T20:48:39Z" 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-12T20:48:39Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-03-12T20:50:05Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "5617" uid: f53b2b9e-4741-4968-b159-50be0ccc8f21 - 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": "debug", "log_file": "/tmp/whereabouts.log", "configuration_path": "/etc/kubernetes/cni/net.d/whereabouts.d" } kind: ConfigMap metadata: creationTimestamp: "2026-03-12T20:48:41Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"e3993f2f-7854-4c11-bdac-85912b157c72"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-12T20:48:41Z" name: whereabouts-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: e3993f2f-7854-4c11-bdac-85912b157c72 resourceVersion: "2900" uid: 2d85b535-ad03-457f-9d47-84827afb7ccf kind: ConfigMapList metadata: resourceVersion: "41084"