--- 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.28 creationTimestamp: "2025-12-03T13:52:47Z" 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":"90b2aefe-9034-4695-91f0-552516dd2aa4"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2025-12-03T13:52:47Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 90b2aefe-9034-4695-91f0-552516dd2aa4 resourceVersion: "2871" uid: e78048e9-1673-4ab9-8cad-db463f7637c2 - 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.28 creationTimestamp: "2025-12-03T13:52:47Z" 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: "2025-12-03T13:52:47Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2867" uid: e3d67623-ea55-470c-ad0f-7164c211acf3 - 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.28 creationTimestamp: "2025-12-03T13:52:47Z" 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":"90b2aefe-9034-4695-91f0-552516dd2aa4"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2025-12-03T13:52:47Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 90b2aefe-9034-4695-91f0-552516dd2aa4 resourceVersion: "2866" uid: 9f606616-7de3-4d03-9ba5-38029ccff43a - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIIFPSn/tdYkZAwDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjUxMjAzMTMyOTQ2WhcNMzUxMjAxMTMyOTQ2WjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMZ0+hK4Zoex3+RanmdoiqQe0xplKdpH /OMG/QTMwpTqURAHTnCL5WAyEglzoG5vTdOtMDK2ycbGiS6NXETIdL0gRMKx7Xss rVp/n53d6k6jg79S6Eq0AuhMqZhT5ZAy+31QXSveINPspkMeMKP6KFMUMdCgZudh Q1KKTQMDZtQP2RTUFuGo9tgm7swHuYu2yPbi9PliksIcpkjwAYTaJLt86WQMUzr0 j5LZBOtw17wmqDmZNs58lpZWHKhLstIhrHoc2mpz1aWb703gWd8XIOKtG3Hm32Va Ws605j7H5d4txhZ27Cyo6mYjStInYDNS0Kyz00oy3gIoZx5uecw5ho0CAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFGba T0if16xdPMDleDxjCbZS5mICMA0GCSqGSIb3DQEBCwUAA4IBAQCE/zvr2d4TZHqO 1jUefUI9qn1+L5Zkeu08tL9gWoPjVEuJiImFiJRQj0ITC8bZAMgEmg3avFx0lgsb FGitw1vpD9SRf9bNSJl9swryfO54YZEFatusYXQ07RoUX0s3BQ6ARf973S52oLdg 6US9VmhpZZAEz6SB+VInsaDcnT6j03+g1yPK3DdyCY0JBIi8eGnTEBEm3U5GALUs ZuUULBA6Q6vupWTk9NBZAmaeWrQVnOcYmkJNPe4k8E96wRCMc7HjBW1stPpLxpqD mzeUFs27OVUlavaZEVydiyTNHOOoB+zyxDvDVZ9lEt/YuW+iw11D6ZEkLFExHpbq sKwuOWAk -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIISgR8cbrgvZswDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI1MTIwMzEzMjk0NloXDTM1MTIwMTEzMjk0NlowPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAojdcUZH3ZwiL W0xBLb4hmXFb+7/Q9bQ61BP0pm/EEy45aMMtUwTbllFcGrvv7ExOmA56qqoslDUg oBja8ZFgLWDTZPBAyo97AmA7ZT9KbA5epllSaND/h712RaXvuAyrKTQEtMUZZPNj VduTszQZnU07HdJq5yNQUoYuNvtKqmgsGRb+fjIriuXkCUv6SIwKGc8CT5hUsmF0 +/r5M8+iJi+a1eEFVelggk5YF1sgp9T9hTlc2aOnkAiuYuvYu82Qb0ruvVIFruyT GVBCY1TDEiH97A6oNR9w2WqJ5WaQYFBGwub2RzCcD9UZeqPXALxGETrSPgD4frjd 9U6ImeG+BQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQU1dVODHuSaiIZOMzzoc3Nc1msO6kwDQYJKoZIhvcNAQELBQAD ggEBADw47+w77dOwr5fwtxeh4/rXaVfSDcuZa2XcHdUjRbP23YLAbIIviXI6IiR5 PNGOB6rIebRQiqkS0LuiazTTuGQCmjqA5XB6LmZWT0RP/z64WJmJECjHiTYcTcw0 2aAgMU3mvA6KW8pwvzz/feeHBYBF9vPfBpDhxQkOAECGTv5VugDpoAcH8v7ZUV/c DQWa5KrVOsk8x/z4cpvCOT0PNWHuEHevVCPzSmeKWanwvQPTsZoEfPName59WHPx 1OAifca/kKeKw74RJ0Zb/Hfb3GIElk+CnAcMfx6K6yDeIln4m23niSecWKtekAIL jh6iElMYiwZMtfynTNA6PW6ISlc= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIXQiN+p7+YHowDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI1MTIwMzEzMjk0NloXDTM1MTIwMTEzMjk0NlowRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAtryF0aWJA9ye//8RuoC7mLkYyIJCrUzP66Z+yItow6QO6gHlUccwfcp/7RBO ELegvePZwjnCpQlSXygJJEiCQtfXSwpWTbrlg3uq3FWWDtqSy/MFEwhijJsECu5/ Z47qrICDGIDgdUxGUzqTbdelDvxHfT8wTxdJeg0WKaaV4OpgW2q9jQ5XWqlJaLr5 6Pg76VCXhTE/jfRRH1tTL1yDgYPICSMWchmnxtgl0G1yXc3fvKoKCvxf4arGLfi3 FDQOJX0+nvWqd/yaoQHBVMReuwYJ3Sg1gbCTKYgBpd7kdjSveL/WHYs2tvNW53Ke Gb9JcSz7UHl6IqX/+auEb6UYOQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUx9z7XQ42+ITt05RxJT/gYxskSMUwDQYJ KoZIhvcNAQELBQADggEBAIcZEgUOTaKhGrWo/GwRwgjEaUB7DxwhvvDGpPjfmyJA WSva1WrB0vvje/DaR1hdOhn6scvvh/UQoKPpMXPunbsyi15naFq0P6duXXdVzyW1 jzS6ehXYD2k4G4sTC/y8Vrf1AuYHaUq04UWqFGKDQwUcW7zBW2hbTl3VTWW0velE sIRb1shZlVWKY4qA8E9sxk6vzwlo57YVZFVi0ocr9XuCUqoYmXGerJBTS2gK2KAb gpew20pFYHm1dEQvb99CuNyCBOpzkO+Spvv6NJiTgz3KSWQzNqAsEToR/2VYbjmm M7n3+xT7h+/cyu5CZqLob6ta9Gl3cnETx6n9IP6Z7rc= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIdr2vzePoX1gwDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzY0NzcwMDk4MB4XDTI1MTIwMzEzNTQ1 N1oXDTM1MTIwMTEzNTQ1OFowWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzY0NzcwMDk4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0xc0 rzYjozxn072OiRmquBI/G4qwQa5UGpOQ6Ok9B8M/OrprcnAKVehapiNXBPMUeiMx m3qTrcvZcE+cGCvvlUAjkL03ouBVq/LqgyqFyHbveb24G2SegICXNW4M2bX6NfOM fahH7gKAlPd8Ho13AH+bqQxQBA/i/Nj0S/2C8X9ZOXX1BVCOinQomrY0fM9WMc+r w6mTiEfpH3NObBCZAZKC4stLpvyC/qx3ngdlJYCIgb3UQdgLfrCkOjsmgAje7cGQ +vbjtRFSqvnmSmQCFvEYIk2dfXQAdZDtqhA78LP/uyAUB/8cgZKothXuewy3X7U6 J6l+kGc5RZg7m4/YTwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUZGZfAvI0fRHNwTRdJnAHTiJBF5MwHwYDVR0jBBgw FoAUZGZfAvI0fRHNwTRdJnAHTiJBF5MwDQYJKoZIhvcNAQELBQADggEBACX2mvSf SkeSSmUvhddG1Ag8IxtrebiKWiNpNz1lgQLEULphnDzU33gXuARk3KwfW86pPTqo 1UH7ZHAPIZVQu1zV3xrKzRYpS30kFV4S8IAEvG7Sj8mInwQoBWvGsgY4eyDyApHE RUvw97utppUzzZVG3SHLxVZT9hBzwNdrR0tphHt14AhyxiDlhVNFWx/qYFYSZWen yt0LH8IjCIMblqyRx5+/1Q7A+SX4CSl/vEyqI8R03Ta0PhWyKsTNTzqSsgqaFb8n OsxPPQPGQWTn3ySN7xww88aw4gCi/X+K20Bf1GS2MOBPWMX3KzAiAac1OPKPm1ev LSeh20Bxe56jJPs= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIIXCLoi/13m/UwDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzY0NzcwMTU3MB4XDTI1MTIwMzEzNTU1OFoX DTI3MTIwMzEzNTU1OVowIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7Vt4S/8oiBRV2cTT bsVaWlmqNIp5gJz51dQZ40+sxHKdVnLzzmnT41/YFix7kFZpi86yXOPSjRZV88Y3 NbtLyX0w/CZMXCgFPPc5btMtT3gw1cFYzVlXujDlc2yHRSvA2KAUjkpBLTQOcQpY /E2OLo4KzienQxBrfW2cN9FM46ox1cOasEw26jjVwxhFAzqEcwkhR/l3J5eTU5Mn dBGx2TbkH9II7ZnAD6notZDhsU+eLdP2mNiP9wGo2TWyNZCdgBKobs2+K0vSk9ZJ O+z9vpseq7Jg9qANnB7l129Q/z28hAGvQtZOzR3CcaGC7CS2qWY/TKj+SmSmCykH Bi202wIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBS6dg/HyW8x/hyeD5kgshSt/5U2 BDAfBgNVHSMEGDAWgBTduIlcdmPAuMMdgxvQLGcLcfpEBDAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBAHLLKjhy clvNhetNq+r9E4CdOeKcr6Z35Jl1EvJP2gCoXbU7LSLqjf3J/wscEx/wvzka9sKi sa16MRBap91g+1ZGBLanJItfCBbJiMF6oe7dZp47zxp7NsrB0OtcZZ0Sf9fsNo+X GiDPNTgPE9LGrpd4m8jEMXQw0ngw68ppzAu8Y+gHFPOeGQtSEUIXa9utOqIhv+aF 4Nrqm6y/5NDK35Qatjwq/B0ymE9kCn2KVqK5hgwjUuwqv/72NO711wJK+2m4PGk5 rukX9kkLJc7eTGXgtEHMT8YSEPgX1Voi/dltQQMJfZ035TVvRGZidBtHl0kVBqup fCtOJNfRpbORfaQ= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NjQ3NzAxNTcwHhcNMjUxMjAzMTM1NTU3WhcNMjcxMjAz MTM1NTU4WjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NjQ3NzAxNTcw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqMvz1Ph7SZ0yNT35W16t0 rweT0KHW2fR01Yd5mro0DQyESIOkT23zPmr8MVO1Zj0aQxoNEcQkXqvVqWUa3RUH dEHzshxyI1ScvdRRzYipsXVUUc2Kbbz1R2LXRklJJzn1PpH5r2R+t9gBoZe3q6T0 wRTPv3sKGNYu86rQY/NNxWspjE9A2Dt86/zdo3NtmWLpnCQg+yKXCBL9hEsGgeFO a0+99+PZEge93NwkWvdvFJy7L6SVr6wAkmYV+5bYnxjUaWOYTyVIjmFnp6HO0+Rr 1Ptyfex6TtroiqRzJOHiH2oMDZRMGtnzN8W37Rl35W1wN0Z/FaYAvCbCw3IAErAp AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBTduIlcdmPAuMMdgxvQLGcLcfpEBDANBgkqhkiG9w0BAQsFAAOCAQEA lCJbZmX/yApKTe/KlUgExNIR+SNCKqFQfRjTNrcmkDBvWxTfO8wbZg2jKXywsJLo nsiFeWxaILBzpTOdrL5ETdgpuv8h8/DJA8RamoXLV/FthonOhHU6VSf0A/x8bC3S YF8M/ohNfzBBytYqssZp7WBemmTYz0PAhpzUDdPMIRPqKUkHpGa8gcGEpl1icPQK Z6FBCYgWVAsAzm9KftC7PzUr8tsxdEpVsicd6FSOZyxWGECucS20OW/cPlLKx95+ KZUgwc4KJanYpWIRPZrLHFHa6ceYtlydX9DvK42NbIrsd4RpmXwysTuUMrsgCsg/ YX57bFwGygLOZRSgeuaAiw== -----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: "2025-12-03T13:52:45Z" 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: "2025-12-03T14:26:30Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "20984" uid: e20cedcd-b993-457d-a372-672d5237e548 - 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: "2025-12-03T13:52:47Z" 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":"90b2aefe-9034-4695-91f0-552516dd2aa4"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2025-12-03T13:52:47Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 90b2aefe-9034-4695-91f0-552516dd2aa4 resourceVersion: "2874" uid: 6b9215a1-a13b-41a5-98ab-f8493b80655a - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIZl1rapk7ihUwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc2NDc3MDExOTAe Fw0yNTEyMDMxMzU1MThaFw0yODAyMDExMzU1MTlaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NjQ3NzAxMTkwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCveIJLzisetAzaG7Rn/Lhqh6U9SIRC9D5n q1lReFso554T0wl6ncUdSmVEMG3FELSDhD45zd6ii1Ff72r7rPJSBR2LpcRXNycw 9V+FAgb86f5tkedY6bVZOgQWeCOXmpqfkReomEaxg04v4s4nwW+pyr/nYmRvya69 aH/6wILlN7EkOrb0y211WXlmk/4ajp6A943/VdPqFwo5zLBMhdPXYbifAItytzO0 iE6YpbpsZj8wPLFu8wox0Nc3TsTHfISf/Vn+rjUMsCTTPhjUc2oAriljS34tT5ps iR32nfRvWNyeOD3QmC7SVaiEXYrMPv6riA0gPRQIsnti6WOWastlAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTf9F94 hEeWAkQnAxa53htAXgsuaDAfBgNVHSMEGDAWgBTf9F94hEeWAkQnAxa53htAXgsu aDANBgkqhkiG9w0BAQsFAAOCAQEAioqBRC8AxvmfoDsGVpXk8t9lwyoj/XU5xRBF atrpTbc3j70q+cVcVS2ZKWmXr3Se+Si6QCZwDzDd1hH0H4Y0bSVkSsi54o1DhE3z e3SHMs4PXv6g7vOLFrWlNMZ2xEhHLXmVR7UJpAzEKwh6YMdsuD67pFm5hE4ftTMr ipYkGmbVS1LWwcHoGs1giRswuQBh4RgP7xeXsMVf2ZPYahn00iEtxlBcBX1lEien blkkR8alTnT+/2yUmkj9U0/rea7Rz+Gi1qN/C1M9fHtse2qGp8SvX8clIYQVnA6j 86xLUJ/5mbEb6CmoQ/Sq2QVGfIRkZLAcpN6pq2K2x4AUYzcaCg== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2025-12-03T13:52:45Z" 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: "2025-12-03T13:52:45Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2025-12-03T13:55:31Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "5366" uid: 09af584d-9e2c-4ef8-a7f9-1584f630d3d8 - 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: "2025-12-03T13:52:47Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"90b2aefe-9034-4695-91f0-552516dd2aa4"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2025-12-03T13:52:47Z" name: whereabouts-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 90b2aefe-9034-4695-91f0-552516dd2aa4 resourceVersion: "2873" uid: 7a7a8dcf-a25b-41a6-81b7-f0c6dc3861a8 kind: ConfigMapList metadata: resourceVersion: "34830"