--- 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.33 creationTimestamp: "2026-02-23T13:00:00Z" 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":"e36d755a-b4af-41ec-b0e3-63309f0d6530"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-02-23T13:00:00Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: e36d755a-b4af-41ec-b0e3-63309f0d6530 resourceVersion: "2781" uid: dd7bcd30-9a8f-4cdc-b01e-3b4cf36924f7 - 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.33 creationTimestamp: "2026-02-23T13:00:00Z" 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-02-23T13:00:00Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2777" uid: 66306b1f-4cf3-4330-9f66-97c21fb79b53 - 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.33 creationTimestamp: "2026-02-23T13:00:00Z" 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":"e36d755a-b4af-41ec-b0e3-63309f0d6530"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-02-23T13:00:00Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: e36d755a-b4af-41ec-b0e3-63309f0d6530 resourceVersion: "2776" uid: 63ef38a0-9fed-4308-8579-28b72b4d0d78 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIIKco5Z5zGd7IwDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjYwMjIzMTI0NDIzWhcNMzYwMjIxMTI0NDIzWjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMqNyXbXysrtOVKi3lPVCLivGjXq5ITl yB2SF57xAaQdrQsd0qI0W74KKMT+9zpqslhkGvNrps6eewUZubRhHispP6W+UjRk anvLOeDOz0Pi/yNiYotAFwGDfBw0qRXVkU/uv9is1ZIR2BN4jMQ/h/n3m3UniGqP koJBy+7HxHFfoCEciv7v6tFWSMZSGEJRvx4r0hwoD3neqj9lh8ZOYEC+7ZMmYFsN mYjtfq1qwm6nQ2VcwmKkfacAxzQYKQ4WpBVOc4xwzgvgqor14XsPAIKGp0XcTNdQ u7e+eNekbi0VkIF5eRkhjQTCoaxch05oG3UwQ7n4RL1xKf7xpYz3wX8CAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK6L +MuiHJ/dsnP2LJqm4GANcsmkMA0GCSqGSIb3DQEBCwUAA4IBAQBlLi1HEVw+5Ca7 RaAsQ/0p0BBgNDZziRvKXcH1g6SkPs+XIbwJ5tCG17PchD/Yc4iXUofUKi4gpEzK kiTHvOQIyINDgr9u3skJi0EHvL90YMmyHvZl5eeZ0c3Jyd5PTzR/NUXvok4Fbqy1 AdQ2H/hAUEBtdOzPHSRNy3AJ5ce9mqykHH8oMG+FCA1CFA1vWHlgTaRAFaAHjEZh NM94BkwRd3nW10HtfROWlXCKwDCieJc3w0pyuEwfKLb0gYwAEUasEYysU9Ep/NhT kIySVDIwkFpQ3wiUfiKgb2FYtUOvQ1OSy8jae31lL58OYR18SFJS6Fl6FvZxEXqY KbHfJOLY -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIIKnj6gT1hEAkwDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI2MDIyMzEyNDQyM1oXDTM2MDIyMTEyNDQyM1owPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtOeHDBJLeAY9 ZBQbUDCJ+QGgDz3o/TgHv34c3BnzMsatwsqV7TjAs6f4Ozs9TvtHUhXftAdExWp6 glKt8ndmDFlQ1JJJCkU+urW4POEqbmDGccj3WpCm+y5kGzGO4ipdpiorwD6Yj5Sq qYEqpiIbER+u0nPiuoTxyfNe/Lx0vOxa9096TxLu8UEQlZm+UBXjcVchbck5ojwR O4BJh+UKp95NdE2K+hzTpo4NPqNocV3kRxB/BT5fBm9HokIm2bvlFL1EuqEm2tU0 W6Pn2d/gfPQ5JDi0cwGsB3c0vbANnClTsf52NaAmt2jhfPQI6APyuevLIPtAoN76 URoUyz0vLwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUInflIn/chHhhGCFCfnpPvvSP3m4wDQYJKoZIhvcNAQELBQAD ggEBACnNVff0AK0y4t49Br9CeYigNmA6x2zzo2Tf+sO+5I+FUiLzvSFvVO2U1QL1 ZtBdOfnTdcXK/nYvvZBZWsaehgRMxUkjJxlgn6Hn0hqyq3CsLedF0VqO3PYFebWX ShTISsYapUf9oQzaC/U4AlsQ0ij4/Iaaqi0vyywYbrJJRKaMAw+cltU91NAyxM7y v94DjjEdb70dty6eZfkXM/8rPL3cCEIe5ysce79y3y7vygdbBBFbZW4v8lXIPySJ 9g6zLptgpr77eYzmtCVlKChXyYCJ0rrAgLFf5QVWoWG4HgK6o1KJKZhz/R8Egmpx 6UYeLDWin5kHlPEGKTaevO1JUr8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIRfYJ5DkIZEEwDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI2MDIyMzEyNDQyM1oXDTM2MDIyMTEyNDQyM1owRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAp4Px+4YRs63h/W13U090CvPzQyawUti/MmsBDwDYrixRyxH2CBqPAeZXXEuc wHhqRy9EDBp/1dBT2psbt/tV9vwWYhDQOgBgjjMZzI3aXstEdyw2XNYP65Yz0f9U r61Xymn7Y0AtVRokj1ihFJPCUNQXoMIKnhlXiBi+9zghLKCd4ZJSm+h+34cZ/SUN /Q5IhbRDiDj1EZG4m8ZvVw+QC4k/M2Y2si8cXecOJWVRIir35LAIRYWF/Pk6F9OZ 9cbESSXFlDjJNaLYt7nsscHIQXWn1/j9wfPPMc18E2fUADI0+utoj0UpGFwOnOzw J/RWwVdQdCPtBtqnPceLYlj2swIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUDNGOEI0Wqg/LACn4M47u0kbajuswDQYJ KoZIhvcNAQELBQADggEBAFJyxyUyZnGZ007StA+SLRg/hueA8feypcWOleYK3BEm wuzwrDCDzlN8rjUEmfQlxk6fWpqwgE23qK99WGInEYYbK5CQJEVkLYZ41M0eGY7r lArGS/XLsZiZiE7wkfZWKPwhxqK4lpv4Wv1g78E0qchqqOp3+w7znBVyR/ybVVyu PtMNzze0JbFo8pTaVs+0JE1wgWE16YyuYK+Vqj4yc35SxtZ0872L2rI54v2jKhQk kIKmlwQzjLJde3guvr7oqHibJiLj9rdd2722lWmfxu0pJtJDwcqc7auHZebevW+e 0R9ljgmH/9ZqunGz6JOG+wzw+GpHPmfr1Wi5H2K5PCM= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIIdRZdBSarIgwDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzcxODUxNjU3MB4XDTI2MDIyMzEzMDA1 NloXDTM2MDIyMTEzMDA1N1owWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzcxODUxNjU3MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl2oS +HZKAqYwa2a4jJEhxs/Z5tBsZk8PmGDN89oj7Xbuq4g4fBEMG7lM5+05ztg1AC74 mOGG5uccEKoowZ+Vvq941zoRQnVToYzb8UzTht8fyggI1EPWtLG775QDkwvfTzqQ 9Jh0UA7Hh2xrAwkCPt1aYcKs0CwNvXpxTgkL3YRlqf1JFxlxnqhz67SPTUUJsFUy weqTI1GZZH3qKnd/4+Sw8ME4c9tEAzAOUzoyzPbM9xRSQeODUdO7r8a8j82AlyJs SHENUUif1cutDZ6WgOR1SagqR0vxLAcWE5g6hJByxYx9BtZEzhR+5KdTT3ikfnqs 2lr0Gqgkr/RTD0cAhQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUOl/x2jeQHbvrjgL3sCt0uZ3TAEAwHwYDVR0jBBgw FoAUOl/x2jeQHbvrjgL3sCt0uZ3TAEAwDQYJKoZIhvcNAQELBQADggEBAF2cOzb9 UAbwgVTyhe+G55OROuYTyqaSJ4x93/UgLF66VgJQUwE8XJJoAI0G4CQpC2Ukznh4 YDPj0m3MEq5jAx4t3HRr8TXGl7VZIP4MgfmDN5JqzmqJ9lhP9xsycxde0wXxRpXM 1rXAICBsp8tt5AlCjWl35b31v3cetj959X9f8kArW8A1MhaCZ7j0Sd4UpDOqhNJm LYI9m9Gz5EMONM/PQhOjWLEctmQo5TQ1SOpP0O2QRNKk5KyegNLDGAq0jjXYdAyS m/KryjVr5OCRWA2mpSjaUdmrS4CJFzMYJXFT9yNRBlxNqzvCDleUbGLIfUGTnugM YRCr3nXgk0+cqjE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIIR/CqUm3Q2tIwDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzcxODUxNzAxMB4XDTI2MDIyMzEzMDE0MVoX DTI4MDIyMzEzMDE0MlowIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzTMDHscuY03QQXk7 MpYaebUWPyRRxOLIoLOHErv+IQtrUzvR75Xfz7iNBsG2EBdKQXiE6BpNzUN8y9S6 orb7Ma3kDKg86wov+DS1NxLqfG8W0Q/KUPMOJ6zncytA5jX4D9+cBKJ52pojbGWq axX/Apzzt6j+0+BD36V+SkfJqPimkWK4ripNuZXM1kHEOhRz+qSfPS1b44ynnecT 19F0+k6g9LfXKSTGMyOiUxax7Svza432hVYxIrJOjNzYJvW7vBICaVAbE3e+LaFs Y32qjF99FEmxFVPr1F5QifqlSqQCj6hQlcU/jchranRmBdaMEpGItXW6Pcl5Sq/7 NcIF9QIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRgqrUIQLdaBX2vKWGmabn3+lU6 6jAfBgNVHSMEGDAWgBQLqnaP0r4FP8fWcqM2/Gyq9gJuWzAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBADbKsCnv bIzaPYDBAmsleTkkhLJ2qZExaOP8xi7s5FENYSoTyvSXr9TpGsJOfwBIlFqZxQhN tEK9CisP1pEqJyn15jBc5NMG6WCp3eCNNipU5bAEyw5SF9r2etsSDaT+nmxg49P8 GbqyktipaBrnjeMC5/1QwryB6CVCYaQQmMEuqhuTCyZD2G7PxQ1/5YlEN2DCUDzh nCeEtrEhT59/2q/06AL+BPFJwpSqMq/9ufuXAgr08pdhvFrev5B8Y5UsWQSRTwS9 rAphP1tCUtcAaUNZjLhpWRIyzSnShw4BvuAXDhoPjsva0R7i6NjnCp76WG2g2z3k ZOHhTk/mjyR+MmI= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NzE4NTE3MDEwHhcNMjYwMjIzMTMwMTQxWhcNMjgwMjIz MTMwMTQyWjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NzE4NTE3MDEw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCnL+XCWxX6HbAhBLGRL55w wCL54lEg+7ijgj+97rsZocnR3z6kxp1CjxeuM5Pg/DWSsZ2lrGEVFxANZnrkCrLC Vo3XrUk6HdGVBcUSPJn5ynt0lwtc62UNLbkJbTjlmJkucxQXsxu2QK5L1MVYaZgs zYpf1Ub1Q95zrXxlAMxMmOkdXdyOrPv3kc0YEJ7neEPzK6+mPfGZzWpS0tOu7EMe 7sDRQ1OvNpEmeByiVN9O7Z+QcU21X/LSpdVIfTD0aZVijIGj+t4Ou/cpwFBjAQl2 IAH0s8X7Bnb+LDzEI0iZB/ecSL6HSLZB/YeqVqYwDyNIf8JK45E9CK9O0bRXc67L AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBQLqnaP0r4FP8fWcqM2/Gyq9gJuWzANBgkqhkiG9w0BAQsFAAOCAQEA TgE7teog2j9FVPDlSVEwE2SxYpkHuoku/sBBVka2sVr6dtG4rC2N1QWuuqVgQVTn P24g0SinrqZ65tjuZipwQz91b9G1InnHrO8290q+mpmZF7tajkofF7R1ZUplWImU RWXfFCAz3+xorCp6UZpo0nUJyu1KZHMhUKDZuZyn0xk+qAZCgmfA5UasEaRT8gTg eFaTPBU/F1DNth9QSLK7EwXcaSCHqktnXKb1ALUKIYyjz5E3qxp0keXhHR1vUtBh 6mFD072Oj4Cv95gYpcxAaujSEy+dWnc/IDXevteT0ksR996gZTXtMhodxVQ+Bekj jSiCnUdX84slo8ugN+38iw== -----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-02-23T12:59:58Z" 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-02-23T13:12:24Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "11511" uid: 9c804d62-b81b-4a69-855f-175691184d6d - 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-02-23T13:00:01Z" 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":"e36d755a-b4af-41ec-b0e3-63309f0d6530"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-02-23T13:00:01Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: e36d755a-b4af-41ec-b0e3-63309f0d6530 resourceVersion: "2783" uid: 0403a44d-1ead-42df-bdca-95e9189142e2 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIWlTrV1zdDFQwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc3MTg1MTY3NzAe Fw0yNjAyMjMxMzAxMTZaFw0yODA0MjMxMzAxMTdaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NzE4NTE2NzcwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHYQptQMyFkhfrUta2c/Izx4q+A5wwVAuf oVU+oCbcPGjOF3tIBTLSaIo83C5++EPrvUlNRE7dL1abHFyPqpuJX/MQWYTkgk4Q A6zIrUtwezdiZ75Aj/Rw5B7IgWDhZjqvfYT4X6rVbkce/5f599RnFB1C9ZtRVH1N 4G4mC2S3WatXqnq7D145M+tjWny2wa2r88/5wxDlRng+lGUHv/UhFjOFrtHbAnYk jN+WRaX/NZBDQF4E/qXFZwpOxeDZHdeWJvWyPwQBV4ZkdTjPfwBuwJsMPDmmPJvS 6v77VpRU9PbYrhMWcRtifmzBh36ABcm5NJi5myFdurcc45YzUc1zAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQcBrzg rWva9Ry5Vmv8SioDn+xy/zAfBgNVHSMEGDAWgBQcBrzgrWva9Ry5Vmv8SioDn+xy /zANBgkqhkiG9w0BAQsFAAOCAQEAuXIDIHTIOr6/z0RJrralOR61jB7MFwN0dZk2 4aOhMVMnh/zryUCWAYwUNb4fvNFvIyvqPFR5to67dgCAq4IFXlAiRwe++Z8g1zF+ 0n+EBYObCuhz0g38bq0XjzQc3kTt9W3N+L2/p4uxt49Z5xVn5stpSDWZPWL8kYSv 4Obf5QlJN+MnJmg9+4nPr18m4cQq69oACvrTWIsmRhlpw6hE1WjONPVdjOXkg7h7 bYmuIJc3bxD54fkChOD7XYuFgB3d11kn9EAJBnTOZ19zasYhu5VeMJZ+WiNHp058 nxyAqjTqwYtl7BSTdi2jcEqwym8/k5psPYr5XxPQN1VetClRrQ== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-02-23T12:59:58Z" 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-02-23T12:59:58Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-02-23T13:01:28Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "5662" uid: 53ad1506-ad63-4dd8-b215-e99a84258d10 - 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-02-23T13:00:01Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"e36d755a-b4af-41ec-b0e3-63309f0d6530"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-02-23T13:00:01Z" name: whereabouts-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: e36d755a-b4af-41ec-b0e3-63309f0d6530 resourceVersion: "2782" uid: 2d436c03-bebf-45cd-85bd-51a2ff37122a kind: ConfigMapList metadata: resourceVersion: "38848"