--- 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-13T12:36:15Z" 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":"7e9152e6-38e3-4536-8603-a138d1af3fd0"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-13T12:36:15Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 7e9152e6-38e3-4536-8603-a138d1af3fd0 resourceVersion: "2863" uid: 1f3febed-3e7d-42d1-bbb2-c8a67370d892 - 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-13T12:36:15Z" 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-13T12:36:15Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2859" uid: 44ab104c-5b8b-443e-b153-e5ae2d415c8c - 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-13T12:36:15Z" 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":"7e9152e6-38e3-4536-8603-a138d1af3fd0"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-13T12:36:15Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 7e9152e6-38e3-4536-8603-a138d1af3fd0 resourceVersion: "2858" uid: 65504e94-eb86-49fd-83e9-e79c6a329dac - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIITzZVb/uljBowDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjYwMzEzMTIxOTQ1WhcNMzYwMzEwMTIxOTQ1WjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMKDOtwXonFYbbZsMXKZnLH5/XxCD+X/ OkrjXEPmeqzdtYoh7yVMj4oQHB7L6Os4mNcx3jjHRJv3wcETWx3fkjvXQUZh7RH7 hP1hATCjM91p9USiA6h7paGdvxnnOo7HU7ajtoW7n2HSTFSC/U1pY7nNfnKCxziI dKmOrBMwxx2ECBFx7AYv63WDc4bA/PGUAfkpIhz8PGlvVCiAp+rMla4NXtENkFpG TorhRq63cf7YSnaiq/qrwLU3zzh1LAUTHc5i9i3ssvxMVfJIB54/6v9B+Bn+rTnJ +55A9hpg3oR+uXRbP2srT3ew6jOup6hDgGpEJRQdt0L/ny9FY1tjEpsCAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHvx uu6aFBIxyDzYY1mODetR8gORMA0GCSqGSIb3DQEBCwUAA4IBAQAkJcLIP8HbMYTc tJx6CL9ACqrhitYu6D6aCcnaDJ+N+r3MrPar2ZxKHaQC7/HkJvNcPf8ZLlgkOEqw SmiZZqqYRcyYGWqepDVasVe+/9wS1dPKNSGEiLWtLhoUWPSL/fHAHgeqqQW0/FLZ dWNI2QwAu93sVNZ228WXeG4nS2T29L16i3lSX7fHKNp61kgtUqBUnWTykKAxIgHt e9RAvkFb+2ErRshv5H0O9KxR8dnFT2hrE+xs6RQ+jfwvv4MMFJQSiKHFmeYfJITs BjdKfKcPnhNKHSGIhvtSKLXltyylmKo6bIbRPDWckoEcugqekuPZyeOZLz78mD/a F9na6Ct8 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIId67rcoVgxxwwDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI2MDMxMzEyMTk0NVoXDTM2MDMxMDEyMTk0NVowPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArMfhP2lKA3eD LCUPQBFw9Lt0LgMKK/0TzoI4eo570fSkvb+0x1IibMkMp0c8VGSY4jyG6InLe8fb p9ht+/QQrSej30T8xiJcJMdEucNsaKYppJA315KiLrPDdW101QTAlLsNJSGdNKJi 3gpRn5x4e7Qv06kmi0i9AljOERyC2Tr5EqzkJFAZLPCHvCszV/7rSkwMYADCE220 VyEcPfnzjqr6WRAwHD6P0inxKWG2Y2CSfGL0X0av8gFrBgrU79ulxgnOk1A9CP5d fP42AF4H4ulNeB5tfSL+9KgOjbheuQ/SYcjCT4D4EqT83jZTrQ+Pl+lohdcDZrxa rqK8KkEiFwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUasA3gYL4jJl6ZR2+WtucN9kR/ZIwDQYJKoZIhvcNAQELBQAD ggEBAC0oi7fTgLXbYlF9nBQMOyM303RM8u+D/e3Ur0f98Dj34OFIOuHmQP8fcXTZ /Hd/knthNHNBSGAQLypTllaoBQBFl8hFun0x+awuBZ4iV71htzZVHcHNvi5cMu3y Pt8cpgMA2RQtI7cdTtskoO2wDf8z7JBKL0mbmxa+2IbGM6XeEM//TwhuD/oiMN/q pg960XrnZyuIKXiE/XQArIgO4WUxMH7iPygE8jSFLlXIhWbP/GwR26lx96txrG7F pk0tgr8hqGa4HLB0btgCiBkd2B3hnKCi2Zn+ZH30Z9Itkap2VUlyzpJS/7mjEVEE R9CHQRIZ3vw+ZViZ7gofYmlc0cY= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIDBOnBLd1FoIwDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI2MDMxMzEyMTk0NloXDTM2MDMxMDEyMTk0NlowRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAy1onzBP74bRHraLjiI86331jXrwdz9Q3IS3sfCnWNPdy69+NZ8MHNgmSjg2v ilyoK93pNyQRfOrsRaZEXdJMR5hE/S2C3YhC1mrKYYr2882vo4nijxzd5j1uuZnW lWOEXoEOtUN2rc3fORkKd1J8j6KmFLrsLRouptfAxiqcklJ3ZGo94JShxFt4FDeS rv3ZZEbhtAJUfXa2+HJybi0CWfSI2EVwUl4pyAA7nEtzvdlIqLswLttNBXfN5Fr3 7MfwJBK7okgmmTuJJd776d5ckXqbmGw3miQ/KAOsKMFzw9qA3PiFlIB7+rTjWxGf 7yckqDxBYDLHbV05CHuo77rgTwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUAW5mLrXgIMs4co7HgupIojY/zYowDQYJ KoZIhvcNAQELBQADggEBAKyquq0c2w4X8g2tXdrwtJzZyYFkua+gXYUMADUViy9I ZO2+EVnBiBKxsLgwDxfxnoTcMUydh6cD2rzyqAxY4eRPMRP1LrO7TMRUuno8eDyc UjLZWNAq0bCXAHrVozkCN/kxAI4MeW1DubjOkbM76XDZ2vUhNsLGTNDT5vM1SuI0 oX40UioPFxPrNN5Z5AnN4Z1rpA1qeCkRYj+L5bNXrqionDyhiRse/r2j2tFcH89O csmOdOIfjchdCntizOxR0NRt3IjR5ex3HIhcVFum5dWzWWIp+t2j8UiCpy3LvDkN vx4GlzwpCOoFARZaKIeYXgKccIMO6l9x8Lie9hPZDls= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIQDBwbN52NcgwDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzczNDA1NDQ1MB4XDTI2MDMxMzEyMzcy NFoXDTM2MDMxMDEyMzcyNVowWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzczNDA1NDQ1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs1yt 8H687Km4abLwTRFHe5RwcEC//UBBPUAQ+35OpqTAXIMT8Qyd5TIvpn6UyxBuM307 RXqK5FIxEWys163aDFaE87qC8zf+c/mEiIT+Fcr8V3t3BpnGJzyyZhscZPuQ53yp R4ef2bEK5KIQfRpbITstcHOE0aAlXPzlfZaz5Fdfs5MAEsDyJ/Ur5iiYPvyeKWZ1 2hUw6TraiCrbwhDpHwz5HvWvU/1JdxykGTxdGJwQ19e7HRibSGlm8PwDX5Seza+N XSL4VdiCmmmDNpzKZqRILfio9h4WhpSUxCFZwiryfsyxTebVRvKRNVGQ2ZaFmsZB L3AAkTZWwwUMBHBYzwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUVZfgreit4zpilwP6ypYqJvQHZ+swHwYDVR0jBBgw FoAUVZfgreit4zpilwP6ypYqJvQHZ+swDQYJKoZIhvcNAQELBQADggEBAGvMzOK/ Zuj5EJAJJk3upyDGQ/y+Cw6NHo4+O6p48d6g5HeCFsLWEdSdhYQSDrugJChgWHW2 B3b1YO7SQ+bF6qNaHP90mnTOaTWIgjhlQFSmnUgu4lYb6E2FGI5RGLKDERDbfI9/ GkYV2nehyEMC0jvJhhbIPwLX9zyiQp/qj0BOkOy7+Ycdm7OU9UFGfbEe53FI41/q oylbjBJ6dcFV2voJiDOL7qsAKl9VVQR9FA3VMVpoJREJ3xI/duJpDLdCvZgNmM2F BZtUBzvVO1qbR6o0Yzwq4+rtcxADC+x2ZinfCPiUP68leM1jiIipAaL5teIt6oUn 2U3YrPNNaLsVuRk= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIIXW1e3vLwrZgwDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzczNDA1NDkzMB4XDTI2MDMxMzEyMzgxNVoX DTI4MDMxMjEyMzgxNlowIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsNcOgmyz0aQ6LVFd njULFnuFuMgB7AGavnjzIm2Fg2yZ74kvqccgRVULrKX/OK82IBWIrhk5cH2rnCum ye6CtO+WjWNLAtQ6dWQymOMEfkrJv5uJH+S1JvfBM3olbKwNgUIjBeXjSRfOnwZP AEbWnFhSuEyDl2mvGXH0beUi/lqSl1Z/93zd/Q4TvZxxuze2J7QpCasLpE5yvKbL YLUKYPSHBX0BIgeUllz9p3ylvutlCLPp1d8Eko1tci9oZL14xy2PBvVfLVhNAArm K1whbNPhyf6Qy00RwAVKtD7/4JNruPKcspN7lb2yDEAplOqS49BY9NLLQQ3jL8Y6 zzddrwIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQOcBYn7ckvMx95qZVi4QG5zEvH 2zAfBgNVHSMEGDAWgBSbkwqeXzXTLXavh01kL2UNp8LCiDAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBAH4piM7x qoPo42QAQY1dVBzpRnYMG+pgXYyHoG8nrnmw39owAZ6kuTGA2/xH4JWdS4UesjHK CUPB0uLbzLCU73pFx8FcASKkEE0eNJxofA2xwLEFyFPeejuVq8sS0hiVhMPmocKc JRGYg6A7h68FiLsubbcduhQNOIIn6vCbr8FIj8MaJwQRICatPeRXYHYNHhEKJKx0 RzA7CFddwsdmQafvThNIirkuAiNgNTRCRn3it7Sv6KDx7UHUr5EzDeqiENLFFQsM lkG24XDneuhoMJDOg4AT/fSWedww8GrAyavV3IoujN725Ma8PtyOQxPHc0O9LgwJ YqJWIrSJiFDkefU= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NzM0MDU0OTMwHhcNMjYwMzEzMTIzODEzWhcNMjgwMzEy MTIzODE0WjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NzM0MDU0OTMw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvZJFCJxSoFC/thyRwjFXi 8RlzauKSBUOSVBm9fYziAmXPBsROh/HUOGvJO6CS92Prndj1W53K58qeq5O+dS3/ wLzq6S7FJRZSP8zKSMCC4TSWyKczLSzqU443oTDPDE9Gf5TiGGFAt7D1RqRuPW5u C/xlQBIzs7WQMQmVzY25SebiT5dlZyvf25cz/VHnFprQ8lk6kLIqjN40QAOQXOve kGGg13e/dUGmU4nHQ4VB+Il4HE4b6Ts22yArseXc+bQBEFurxRFTb1YHq4olf6El lC+lT7khCVrjAzdOqKF/JkKW4SZU2MVWQpIsbe/ZP0QCQytgRFJb3E0vY2E+dxib AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBSbkwqeXzXTLXavh01kL2UNp8LCiDANBgkqhkiG9w0BAQsFAAOCAQEA EWgXvukmtldHrwRqVmwGDACZQyQfod2BL/jFWMN37tuUGXVXjnykSbWJ2tFfvRAv d4g8nvgQpwySrXRmdGcNRM8D5s/EQRfEvOgXjo9asqnqiWpHyEbdmXJB625irU5H 46p8KQErBw1PXsNfYGt8sXARMzehkYyyyWZu0GZgHMDpDNGnNT0pmiyaW0stswaQ 4+t4lrxRgqovsEN3DSFfV+W+XWY9H9f817QGtXi41GzAJUPhFO79EpLxmNMfIKxH 8zLfwXmpLge+NBqFsC1IeXhj3Hf7p82zrlOq5sKQIYw4LO1SJgwqG1PIrK/dL1lo P1uuyOAOLgc07eDdtMWIEw== -----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-13T12:36:13Z" 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-13T12:52:34Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "13215" uid: eacda9d8-e9b6-4952-b49a-3fedb45f9b6d - 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-13T12:36:16Z" 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":"7e9152e6-38e3-4536-8603-a138d1af3fd0"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-13T12:36:16Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 7e9152e6-38e3-4536-8603-a138d1af3fd0 resourceVersion: "2865" uid: 7c5970b0-9859-4a4c-8107-3ec86d5fd5c9 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIdWr1B71f0RgwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc3MzQwNTQ2NDAe Fw0yNjAzMTMxMjM3NDNaFw0yODA1MTExMjM3NDRaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NzM0MDU0NjQwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAHeW0Va5nOtyaJ18k+wmg2ORqYXPA9Ifj x5czJM1SdOEt2a96gUiKTcJukfp5TBnwF7gCuwa7FbTovo+mhwmrtcwGDcTVfb3L m4joxV0fAdKbJCR8VFk1Yo3unP0ChJLTJkx9ts1vTYUD4BmUyo7Shsortk2fpfQy 8P0oAWrqsbAQ8J2OTA4DEmVBMQZO6IhDCoqCTugKc/UZ2WHY26cgv4xc2sWfLP95 yOARPfkNsj2EFACpORDXIp96Lh1VEY8khFNU7/v3aByhKBAufJ8parEnvXj3iH4u b17AxulFLVpTpRIr/yd4roM+KqZ45CQUWVErPjP+LbVAdVVjhLrXAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRFxCaX KVdn9eGfccJkqBhZNo5KuDAfBgNVHSMEGDAWgBRFxCaXKVdn9eGfccJkqBhZNo5K uDANBgkqhkiG9w0BAQsFAAOCAQEAR08SNHXA1Y76h9Xc8kaY7rfxSZmPG6M9Tw4D mbSpFlwaGfgKRYl+GANfhrqxrWVb1ISbDfK+TMeiuutISDdmFt8S1ghPxvH1ad7x 1rX6gM1TnJnHTbzfMK+hki7fzSkcNf1lR53Dy+cMJiQN5LjcNCm0Jvm6ghdCw/so D0WsaexoLun0RLc+dOHQ9sFxnHHHBVxYgGh+Up55FSu1q/XrnzldlzM4yFG6SOTE djSvYNwXwINL10qiNHPY1+A+eZOJG6cgkFu08/xPJZPQefmuTTO8qC7DExb2mDJi mXxq2Rim/+Ix2MZorZQ8BA6F+SzltLe4t2cX5r+orsbhICDGVQ== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-03-13T12:36:13Z" 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-13T12:36:13Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-03-13T12:37:57Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "5859" uid: 2c468a4a-f684-4eb3-87cc-49b55aebf7f9 - 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-13T12:36:16Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"7e9152e6-38e3-4536-8603-a138d1af3fd0"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-13T12:36:16Z" name: whereabouts-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 7e9152e6-38e3-4536-8603-a138d1af3fd0 resourceVersion: "2864" uid: be8af5c6-1f9e-426d-8eeb-5122b8937e92 kind: ConfigMapList metadata: resourceVersion: "41465"