--- 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-12T12:20:16Z" 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":"d16dc021-96e1-4852-8e03-7140a994761e"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-12T12:20:16Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: d16dc021-96e1-4852-8e03-7140a994761e resourceVersion: "2939" uid: 0bac912e-a90c-4f16-aff8-8386f95413ba - 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-12T12:20:16Z" 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-12T12:20:16Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2934" uid: 592ec8ac-0be9-45c6-a464-ccb88e63700f - 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-12T12:20:16Z" 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":"d16dc021-96e1-4852-8e03-7140a994761e"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-12T12:20:16Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: d16dc021-96e1-4852-8e03-7140a994761e resourceVersion: "2933" uid: 8cbe332e-f789-4a61-8ed3-59de5b600ce4 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIIEQF0dGWqMQMwDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjYwMzEyMTIwNDA1WhcNMzYwMzA5MTIwNDA1WjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBALvFJJ6H4wir+s6JvrMmH53hU0oT202m 17U/CaZrVJJL75RO23sG1jWg6F9Dg4PAvYnjUKD79o13uvwl+9iR4PS1V5iIw6aJ VgCKIxXpVRXKUo2ldAr9ge4ER9eCEY4SqJFOhTUS6gDAcawJv+9leDjA8QaEit9E bke8sokqfO1eMthkfFPw5BonW/JlQpuqiJnzaWlz0zdmpD7010BCDd6G7G1ytQBC 0uX3PXHLUJ54znaoS2mK/FqanLkz8U+g2G4E1o9nyzABuFPtriIK1PRd3OMAfhaQ kWh86L3GqUOWbyabkWP7d9Jgo84HhBTWQimcUUR27Che/NT1AEsC/z0CAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP5w 7D83g3f/8jKPwo81X9w8LRA/MA0GCSqGSIb3DQEBCwUAA4IBAQB7rl8jLyMvBLWR NQvjO8IoekG2xAwz+Xh3xzVQukrlLXg6TxsVb86oq4p8/fObqDKjX128ywhoFfIr 62yjX2KHwPBpZHjtm8aqDTuKBQFaxdmrWq8LZRlhsxH4r4BfLv2qe88P1nIvD3r1 VPlbOsjPmHt0vOY88AONIHMcbxMjfZ3ifgGiN36iffGjNGavvDeXoO4LyzDs6p5s guvmKhOZ6YckDhndIfnWzy6BCVWP6q66ZuRwR+SVpTEJTF3fSMwCf60vjhtXrDT2 7OyoBcsBFzhqEgen15YOSneDRpYPak6dVVCMzHZBUnUb2GotGrd9g1G+pCoznmpz xhi4onzy -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIIDLI+MeXjy4gwDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI2MDMxMjEyMDQwNVoXDTM2MDMwOTEyMDQwNVowPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlpNwm0HPcyod m0iDWeKXH1ktfvnWfYgRAUVFeUz3BBTR4Y/zdeDKRskOTJhFWHMx9DKYiAOs1dyl /QleI7QoF2fWnYFHwJ7rb5AQNCYUaxACpPuimDfxhtXVcezydh0kMvi8iEiEYYnU FRgy7tgc1k3zVTrdC7dSLCw4twka8HheJCY7Fy+ELBrxO2inMJ9ewPzlUm/9MetE nUDciUY6BBTN+v+6xrIqnZyrIXUJQWRLo5yXWlcSPxIprNLOuL64Xrt9l2xJVjcY GO6Ur12o+ahWR39QIyKcwjVeCxyKCDGOBJ2QZIRLgND2vk21zDZz16vL1FuyeAY1 OxXtQNID3QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUEn8T50Ds5hMToilWtZ5hV5YxdFIwDQYJKoZIhvcNAQELBQAD ggEBAAq1j6sNIPwMJuBuyosyd6s3xdcmaAnhiZUZ9LomEFqINPdAWGZxILIJZoIs PQ9zo0QIGceMWK8NRifKM4qlA7qCFGiFWzJ/YU6qzXq2rhZ7877CEH8PrybB/26/ WtYnuzVKWnRF0snrj1sF6WLaWF/hWCu5yCdQ2K8yhr3hgy+IHHjzErNPMcTA7tvx 7KnG5Hfs9UxyzRDyd8s2KPdOEkGaQ07kC9kgzpGfmm7NBsHGoImvRX5vBhehfQE/ YshEvgQ9/q+m9Ut3DUWFtV8ab8l2S9VXcioN+uiWA/hpytuzXknYXUdZS5VU/J9o ewnUqCUSkQs7CSFIhY0xIRXr8as= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIcmf49Mnu0Q8wDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI2MDMxMjEyMDQwNVoXDTM2MDMwOTEyMDQwNVowRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEA1J3jBCWtj5O6usqO+udKJQ3APfbMcuIefFXpQ2poUniecBpB1o+flq/q1rUn BHKFxdVyAY4s5PRltHmpsDiGDFMADtpyfheUvkqYumSp8rPA3HXkkqdji4Y7Xgag 4aKPOGDHoJmk0tWPM1DIbUvUERmAKj7yf4J8zG8seTB2YmaiCH+iOqaPMykLBa+C EEPvVYuOmx+L9UWHKwJN1EGg84MXKS1h+vf3s21ARKS8/8SlsoQbzvaNbSxSLfWv 6Hqjxu52ou22GPGxTm3iIQyqCkNOErTUCW7PTCQ+/aEGYKhgBid76vFm1cwfNy5k rddtsn5dFH22eXyrI18pP5fanwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUy6WZb+2bE3Oc3YwUk5dNZPqpOhUwDQYJ KoZIhvcNAQELBQADggEBAK/up9OelDCF6wVLfz+zMK1mERbgGDE3g9LvuF88r4FA PVpC/b/864EAk9iZ3nTbzs/07rVDLoPJ+rA1AhocO7ffHZO8b9fe1OJG2VOX9B+A Z/OsI9t379sG4USHYZ1OU1FMmZc2RqDyayGqh9MpDlIbUwstH8ORGStFwtpa3FgK uX3g8jJeLGrJf8uaPF570TGA/aFVEglnNWAWEq1JsbiXLRNykHrBRwk2f89n83R0 M/jS1GEEJE38eHS4P9H2SuGd1C//qjZPiLE6yqY752rZoCnEMOAs8wZEHgrp6Mor Ec8hUi5Ow6wqqoNQ4hSqqYO6XLiTiHOT7bDqOeMpyfE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIMsOWLNwr/pwwDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzczMzE4MDc3MB4XDTI2MDMxMjEyMjEx NloXDTM2MDMwOTEyMjExN1owWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzczMzE4MDc3MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/E0 R9jgaTIBRVfvLZXgnjlO+fzFktKNsTd0U9pJhSFOGTPmmEDmL50n+JNQvi+fquAI dm5fIxz5vAyYoEkfvsTwWcBccKyrSMvMTEa3vyHo8ZeyuulVMAZn+IhxLP5QVnt4 8PuXoacb88+gFS063cc9w+oc75g/KncKLIAS8T7coHCqZoQ+X4RzF0lkNemzA5PD n2dBaoEm4+jEvSUNUtZ2Qa3juflv/DdHsox+5PNGZUBuh5IsTC9/s3xOdSG1wvGg i7h94TWZLZLknuq2iR3VVmWhL/2oMcRjnWMQ3N00R+/K0DKlsxFRIZ1kECmn6sQR m9F8ST7Fl+qEY3K34QIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUmQ+Mn4eA+T+ARR9A3uZUZc6cd0swHwYDVR0jBBgw FoAUmQ+Mn4eA+T+ARR9A3uZUZc6cd0swDQYJKoZIhvcNAQELBQADggEBADjxfkEz W762+b+sT/JCS4UuFUKEgS9bsUbOz7C6IfBM4yWi5os2wuoW5bE0yq3nzoAsEuug F156Zvs/Qoq9BEvAWYpgBwt9opdQQtF2kKr1lloF/bER2VJ5S6QTvTojvSVT1F2t sPLuG/ccUxP6rfUrHYniqGzrzcJO6oOFXNa2YM/qg0C7YFYLGSg/dGRclKCnfYOL VaAUHT2QP/N9XX73OZzYIw6HaKSBn7R4GdLYv/qyzilUhWx+nTqvJRhMQCQkXjWA iHySFR6LiraLv9uGDeca1cqUDhIcEb50ts2laUkI4xD0Bphr5+Kulo4+817CvbbK zFcxN64YZgxk6zQ= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIIDCtTgd56LPQwDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzczMzE4MTIyMB4XDTI2MDMxMjEyMjIwMloX DTI4MDMxMTEyMjIwM1owIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAveyTs7/aI3oTZm9K A4S9Sqc7pEKHmBXjZs/VJ0otxrXoI+bAqBZaqkjc9zJ9r6RbqC7FrKFcusXnJmDT yJoFLQv0OuamBFbF9kHZw6JjUc4Royka6TkyOZJr0Z1hzEZqzzFIoK/TZMXh4AGi UqE8xdBoPDwRCnoRWQRqlZxOOWs8EFKfakSNIwBSoZZQzqFKfrg+XtFAVnAH580Y oHGk9n1azxb8oaSi70I07/36Vp7luwMbw7ApcLz0H9z03Yr0bJV803Ps4LlnkNzw ExWxd48gmJqgzQrhazPrXAjEBQD2v+8dDBJ4/wYJeaw84YbXDSY+pvcTdZnyqoWI KvAsPQIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRUFC3YKCSZH6gvwu5P/cKrFlUn mTAfBgNVHSMEGDAWgBQ0VvA1wlhXdyWDbLuz5aH8JOwjujAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBAGyX0l3u ADHduY23WcXOCYM0CXIbIdc9aY0pbHGsynYBxl645w6YfxXSqzVdxoN+Ow5pNOoZ UNydjibRZJCtOBAD6ivALXtf1iKOy0s8F3mopVvArF51UmQmtEteU7AtRZWo/CQ1 Qev8MlPkxCjy72NN7NdbtN5E67pApSqtJpBXFIfI4wSoSVQws9coVn56MFLx6gob 8cn6LeSRdjkjZPsBt+kPnNWiCbAo49POF8nciqKjlppyFtk6/II+6Ssub2DGOrlw OuZyNQfDlGMGubZzOX5LSPD3hueFhvGW7yN+Jysog5UgQjGL26fsVcOODRROzjkS G4/vORoEFaXE8kA= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NzMzMTgxMjIwHhcNMjYwMzEyMTIyMjAxWhcNMjgwMzEx MTIyMjAyWjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NzMzMTgxMjIw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6bxGPc7PMRQVwkKBiQxS5 6uKQPLMa8WkMm2CWNyFChGNqyU78cA+IC4Hdf9uQ97W3RjruspkMSjUcmKwHVJi/ mdItDxajKFQ3jjhNw1Y7zl5BbVXuj29Q7P9RDosLUp5zXMMTcNnl/iK8nTmq0qtm PuK6aJMrClp1mG5zronp75gCJH4VgVlxCe3Sw9sgXmQvmHwlQ5l9Rat3uFSXehSx 3U1e+FYn3Sv7XhgcN+GlzX17NHv/f/tE80eSF92tCSDn8lqj83j3GJyBZDlVEvo2 jPkJSA/1v3IleytDfWethF/CqE+iLzUBoVlPXZrLsTiXPkmdK26cYLJ4VJ2iakRn AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBQ0VvA1wlhXdyWDbLuz5aH8JOwjujANBgkqhkiG9w0BAQsFAAOCAQEA qD0JUW+aZ9ysvDx3T1GKAOSn07SdCn/159/j4i/4g7YqcJiF6+hGLwFy5QzUImRr X9PotVQyAK6DFFM9glkvxJRRJVbL5VYDCAUjlO5uepkiVzvwiSBChaLcQAMuG8Cj 899ct/vdGBVHP8YpY8l3FxctPRphpiBtn6rXyAjmjVnLEV1IowqOGFzGBSAkpmXx tbzAhxb/c0O7emVFftPle/A/+GKDmeFAE4TF4YGwOph+amq2zlXz+QYZNUV8j6rw Xed5qEyO6cPN6XwAiUIpk4onhsRtVKU/5PWJV7VN8QBS+1UIdQeHdpVH28BXDYNu sWCp4hNzd9XuGfnNe8l4Ww== -----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-12T12:20:14Z" 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-12T12:24:57Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "10390" uid: e8fa2e53-1c68-440d-83f1-2c64d27279d4 - 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-12T12:20:17Z" 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":"d16dc021-96e1-4852-8e03-7140a994761e"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-12T12:20:17Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: d16dc021-96e1-4852-8e03-7140a994761e resourceVersion: "2941" uid: 6d7418cf-e220-41e2-be32-344e23af997d - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIISF/G+wBr/3AwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc3MzMxODA5NzAe Fw0yNjAzMTIxMjIxMzZaFw0yODA1MTAxMjIxMzdaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NzMzMTgwOTcwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUOkXkHxmX7Tc+sUFEVmBV5VPPgor4ZG7n /kAlXn39SXw4Wbkqnmd/xTzkTYoIyL2zkwLbKdZdDUbFwcJu2Jtwmm7XPuYCSuuw 4MMcPF47pbNxZmPBOr7omTSdFql8O3a/ARTRvxH3HC+C5OaFqB14fCAjJRTq31tW MSxzSodBqAQpQ64mMQeCT4hvKG5TQYHAYB7LQN+TxFSpRlaxtb/2MVebGHpV/eaO ojrJBhTFDTxsNi9BKemjEOf3Os3Ho/6j+UpKR6ZgoyG9k3Q2xnE42mLYae06SjG4 PMK5G5e+Rx5E74maqnL/uQQRnFY/qWID4qj75XiAALjMzRKSAeh/AgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBT+rLZU aABAZnYVkg6EUgLMcKZbAzAfBgNVHSMEGDAWgBT+rLZUaABAZnYVkg6EUgLMcKZb AzANBgkqhkiG9w0BAQsFAAOCAQEAWIkaLb5RRrKw42fspzkfSgOlYuqHj3d5o/7k mH/WT9p1ZZNvSuVTR3Fk9gGiyy1LyjWYNxeLKlFoelDXLENZ6MbZk5BIwpaUqusw SY7afF/f8NZnh1c0LIAnA2fqSDG3IZLvhfA/kQnxlIHYo1USIOOEp/P2a301a/0k 8+BblafwE5VWWhuRpxNoJImcXnH/pDGj0DsiLslUKjLpJmlL/5BNKFoxFjNOi1kg Bz8mKW7JcdjOcVYn/W2c194YSk4EvxGUf4HqySICU3ECtGdt8g/vFZc5HNxbZh8n pISbDFq1bV+cDg73t3BGeQy4UYwKCyTQSataT8yz9oQDJTXFYQ== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-03-12T12:20:14Z" 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-12T12:20:14Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-03-12T12:21:49Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "5862" uid: 0b29c0b6-e459-4ff0-9dc0-3a691e1588a1 - 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-12T12:20:17Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"d16dc021-96e1-4852-8e03-7140a994761e"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-12T12:20:17Z" name: whereabouts-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: d16dc021-96e1-4852-8e03-7140a994761e resourceVersion: "2940" uid: 213b277b-06a6-42ba-9123-d91abd5dea45 kind: ConfigMapList metadata: resourceVersion: "37137"