# 4.20.0-okd-scos.17
Created: 2026-01-12 05:30:37 +0000 UTC
Image Digest: `sha256:b52285e69a91c2ec67567a3576611e986577e03977f8dd28cf1dc679ae6856dd`
Promoted from registry.ci.openshift.org/origin/release-scos:4.20.0-0.okd-scos-2026-01-09-111956
## Changes from 4.20.0-okd-scos.12
### Components
* Kubectl 1.33.3
* Kubernetes 1.33.6
* Kubernetes Tests 1.33.4
* CentOS Stream CoreOS 10.0.20251023-0
### FeatureGate Changes
| FeatureGate | Default
Hypershift | Default
SelfManagedHA | DevPreviewNoUpgrade
Hypershift | DevPreviewNoUpgrade
SelfManagedHA | TechPreviewNoUpgrade
Hypershift | TechPreviewNoUpgrade
SelfManagedHA |
| :------ | :---: | :---: | :---: | :---: | :---: | :---: |
| PreconfiguredUDNAddresses
(10 tests)| Enabled
(Changed)| Enabled
(Changed)| Enabled| Enabled| Enabled| Enabled |
### Rebuilt images without code change
* [aws-kms-encryption-provider](https://github.com/openshift/aws-encryption-provider) git [088dcaf7](https://github.com/openshift/aws-encryption-provider/commit/088dcaf73f980b977ef4f5d2f99e2a93deb87eef) `sha256:ea4d5d880904d4c4de3731ef7e9fb46397e08dad0f7a394c5096b938e8673812`
* [cluster-openshift-controller-manager-operator](https://github.com/openshift/cluster-openshift-controller-manager-operator) git [aa455c04](https://github.com/openshift/cluster-openshift-controller-manager-operator/commit/aa455c043152123595c2b4f72e02279aad9dd48a) `sha256:de2b50ed9b1a6e95fd3fd68d1bf8567391b88dd6a408eff87e98a6d12ab1d84e`
### [agent-installer-utils](https://github.com/openshift/agent-installer-utils/tree/523e7d76637bd70cec447e7ce4655bf2bfee9272)
* [OCPBUGS-69834](https://issues.redhat.com/browse/OCPBUGS-69834): Update quay.io/konflux-ci/konflux-vanguard/task-rpms-signature-scan:0.2 Docker digest to 20eb21c [#208](https://github.com/openshift/agent-installer-utils/pull/208)
* [OCPBUGS-69830](https://issues.redhat.com/browse/OCPBUGS-69830): Update Konflux references [#207](https://github.com/openshift/agent-installer-utils/pull/207)
* [OCPBUGS-67306](https://issues.redhat.com/browse/OCPBUGS-67306): Update Konflux release version to 4.20.8 [#212](https://github.com/openshift/agent-installer-utils/pull/212)
* [OCPBUGS-66431](https://issues.redhat.com/browse/OCPBUGS-66431): Add Konflux PipelineRun params required by release pipeline [#206](https://github.com/openshift/agent-installer-utils/pull/206)
* [Full changelog](https://github.com/openshift/agent-installer-utils/compare/cb0b70c71609b094c4949b2dc3e6213efb28c056...523e7d76637bd70cec447e7ce4655bf2bfee9272)
### [baremetal-installer, installer, installer-artifacts](https://github.com/openshift/installer/tree/db608c3e6a8817e3304bf16c2f4d9661d9bb35cb)
* [OCPBUGS-71212](https://issues.redhat.com/browse/OCPBUGS-71212): Increase agent-installer pre-network-manager timeout [#10199](https://github.com/openshift/installer/pull/10199)
* [OCPBUGS-65767](https://issues.redhat.com/browse/OCPBUGS-65767): Add StandardFXmdsv2Family to azure tested instance type list [#10104](https://github.com/openshift/installer/pull/10104)
* [OCPBUGS-66231](https://issues.redhat.com/browse/OCPBUGS-66231): Use separate tmpfs for ostree checkout on live ISO [#10140](https://github.com/openshift/installer/pull/10140)
* [Full changelog](https://github.com/openshift/installer/compare/0576db3156d4e371a7255f3b19a883c9d2f05b24...db608c3e6a8817e3304bf16c2f4d9661d9bb35cb)
### [baremetal-operator](https://github.com/openshift/baremetal-operator/tree/8000d7e910a6c08481beca722074d12419e25edf)
* [OCPBUGS-69667](https://issues.redhat.com/browse/OCPBUGS-69667): Change architecture default to match controller [#440](https://github.com/openshift/baremetal-operator/pull/440)
* [Full changelog](https://github.com/openshift/baremetal-operator/compare/a7d0035a144d5b51c1401426bbe7ce518f24f154...8000d7e910a6c08481beca722074d12419e25edf)
### [cli, cli-artifacts, deployer, tools](https://github.com/openshift/oc/tree/dc61926008ad5333863dd1ae2902b95aed6dceaa)
* [OCPBUGS-66241](https://issues.redhat.com/browse/OCPBUGS-66241): Fall back to simpler behavior, if setsid,ps,pkill are not installed [#2158](https://github.com/openshift/oc/pull/2158)
* [Full changelog](https://github.com/openshift/oc/compare/0963a015e8051f256030f1af5895d5640530fa23...dc61926008ad5333863dd1ae2902b95aed6dceaa)
### [cluster-baremetal-operator](https://github.com/openshift/cluster-baremetal-operator/tree/dd59e1f8ff03f03fc7a79946ef005fe79ca44379)
* [OCPBUGS-71203](https://issues.redhat.com/browse/OCPBUGS-71203): Mount /etc/pki/ca-trust to machine-os-images & Enable runtime extraction of aarch64 images [#543](https://github.com/openshift/cluster-baremetal-operator/pull/543)
* [Full changelog](https://github.com/openshift/cluster-baremetal-operator/compare/2c9f77f2a7fe3c7233a50b2ba0acb3155f9d34bb...dd59e1f8ff03f03fc7a79946ef005fe79ca44379)
### [cluster-config-api](https://github.com/openshift/api/tree/50517c6f4bfdbf9fc2cb291fd97cce150a3237ca)
* [CORENET-6431](https://issues.redhat.com/browse/CORENET-6431): network, virt: Graduate PreconfiguredUDNAddresses feature gate [#2546](https://github.com/openshift/api/pull/2546)
* [Full changelog](https://github.com/openshift/api/compare/1cb53e34ca33d020c765093c21c9b7f4502cbea7...50517c6f4bfdbf9fc2cb291fd97cce150a3237ca)
### [cluster-ingress-operator](https://github.com/openshift/cluster-ingress-operator/tree/24ef5ae121b8f658b649bb555be827f114ead438)
* NO-JIRA: Add new NID team members to OWNERS [#1317](https://github.com/openshift/cluster-ingress-operator/pull/1317)
* [OCPBUGS-66135](https://issues.redhat.com/browse/OCPBUGS-66135): Implement HTTPKeepAliveTimeout tuning option [#1312](https://github.com/openshift/cluster-ingress-operator/pull/1312)
* [OCPBUGS-66204](https://issues.redhat.com/browse/OCPBUGS-66204): Implement ClosedClientConnectionPolicy field [#1314](https://github.com/openshift/cluster-ingress-operator/pull/1314)
* [Full changelog](https://github.com/openshift/cluster-ingress-operator/compare/21bea5b51e3729694c91343b130da3b0d36da230...24ef5ae121b8f658b649bb555be827f114ead438)
### [cluster-monitoring-operator](https://github.com/openshift/cluster-monitoring-operator/tree/47ab4cb2b5bb27718150b82bb3e0a03755200ca3)
* [OCPBUGS-67166](https://issues.redhat.com/browse/OCPBUGS-67166): Add the collection of MTV migration metrics [#2772](https://github.com/openshift/cluster-monitoring-operator/pull/2772)
* [Full changelog](https://github.com/openshift/cluster-monitoring-operator/compare/870b44fc269ae4e790a3487d1795880d93ff72a9...47ab4cb2b5bb27718150b82bb3e0a03755200ca3)
### [cluster-network-operator](https://github.com/openshift/cluster-network-operator/tree/dbd9826dbe5373bd3605dfef606d118ffc65b830)
* [OCPBUGS-66253](https://issues.redhat.com/browse/OCPBUGS-66253): Add kubevirt platform to dual-stack supported platforms [#2860](https://github.com/openshift/cluster-network-operator/pull/2860)
* [OCPBUGS-66412](https://issues.redhat.com/browse/OCPBUGS-66412): Fix whereabouts-token-watcher DaemonSet improvements [#2850](https://github.com/openshift/cluster-network-operator/pull/2850)
* [Full changelog](https://github.com/openshift/cluster-network-operator/compare/c49c5e776b44dbac0dcba4897ca0ce803928693e...dbd9826dbe5373bd3605dfef606d118ffc65b830)
### [cluster-node-tuning-operator](https://github.com/openshift/cluster-node-tuning-operator/tree/ae91d95f908377c7852d44249364d59b6f3bd14d)
* [OCPBUGS-64832](https://issues.redhat.com/browse/OCPBUGS-64832): e2e:hugepages: changing tests to use hugepages-allocator tool [#1427](https://github.com/openshift/cluster-node-tuning-operator/pull/1427)
* [OCPBUGS-64588](https://issues.redhat.com/browse/OCPBUGS-64588): e2e:llc: skip test when no BM worker is found [#1422](https://github.com/openshift/cluster-node-tuning-operator/pull/1422)
* [Full changelog](https://github.com/openshift/cluster-node-tuning-operator/compare/2ed182ba57106a7c8cc727aa003e46be079b7dd9...ae91d95f908377c7852d44249364d59b6f3bd14d)
### [cluster-version-operator](https://github.com/openshift/cluster-version-operator/tree/73583cd49830e22349b5d8bf25dc2e95f3882692)
* [OCPBUGS-70180](https://issues.redhat.com/browse/OCPBUGS-70180): [release-4.20] OCPBUGS-70180: Unify capitalization when comparing architectures for available updates [#1281](https://github.com/openshift/cluster-version-operator/pull/1281)
* [Full changelog](https://github.com/openshift/cluster-version-operator/compare/77782f1a4b9648f8ade2bc1e75d10779784e341f...73583cd49830e22349b5d8bf25dc2e95f3882692)
### [console](https://github.com/openshift/console/tree/e46a42a6b67699f738fb8854fad3f64d3dbd39a3)
* [OCPBUGS-69732](https://issues.redhat.com/browse/OCPBUGS-69732): Fix Helm chart installation with CA/TLS certificates [#15862](https://github.com/openshift/console/pull/15862)
* [OCPBUGS-70332](https://issues.redhat.com/browse/OCPBUGS-70332): Visiting Group Detail Page > RoleBindings will show error [#15887](https://github.com/openshift/console/pull/15887)
* [OCPBUGS-67136](https://issues.redhat.com/browse/OCPBUGS-67136): Spread operand details across 2 col [#15858](https://github.com/openshift/console/pull/15858)
* [OCPBUGS-66427](https://issues.redhat.com/browse/OCPBUGS-66427): Update client initialization in checkPackageManifestHandler [#15822](https://github.com/openshift/console/pull/15822)
* [OCPBUGS-67221](https://issues.redhat.com/browse/OCPBUGS-67221): Disallowed Pipelines-plugin Pipelines navigation section [#15833](https://github.com/openshift/console/pull/15833)
* [Full changelog](https://github.com/openshift/console/compare/77175da338f4d424063647c8eea0612248f1c801...e46a42a6b67699f738fb8854fad3f64d3dbd39a3)
### [console-operator](https://github.com/openshift/console-operator/tree/ac81d030ea60351838be670de5ddca92a0320d45)
* [OCPBUGS-69960](https://issues.redhat.com/browse/OCPBUGS-69960): Reset StorageVersionMigrationDegraded condition [#1085](https://github.com/openshift/console-operator/pull/1085)
* [OCPBUGS-69654](https://issues.redhat.com/browse/OCPBUGS-69654): Update path for browsing catalogs and operators in quickstarts. [#1083](https://github.com/openshift/console-operator/pull/1083)
* [Full changelog](https://github.com/openshift/console-operator/compare/cdbc995ad9906b20a6048630d5d8af285bad7cc5...ac81d030ea60351838be670de5ddca92a0320d45)
### [haproxy-router](https://github.com/openshift/router/tree/db8d384266051ef06b67883aaa83674bc6c9f1ae)
* [OCPBUGS-66204](https://issues.redhat.com/browse/OCPBUGS-66204): Add option abortonclose to HAProxy configuration template [#695](https://github.com/openshift/router/pull/695)
* [Full changelog](https://github.com/openshift/router/compare/96bfd2164c7885df9019ce9eeb79d506bd7e871b...db8d384266051ef06b67883aaa83674bc6c9f1ae)
### [hyperkube, installer-kube-apiserver-artifacts, kube-proxy, pod](https://github.com/openshift/kubernetes/tree/33a825ebe5da727e8ccce0fb3c9d33fce7c6bdd9)
* [OCPBUGS-61843](https://issues.redhat.com/browse/OCPBUGS-61843): UPSTREAM: 131850: cpumanager: uncorecache alignment for odd integer cpus [#2498](https://github.com/openshift/kubernetes/pull/2498)
* [Full changelog](https://github.com/openshift/kubernetes/compare/2a7ef4adf7d3074804e6666221bc7c73c2c89ca1...33a825ebe5da727e8ccce0fb3c9d33fce7c6bdd9)
### [hypershift](https://github.com/openshift/hypershift/tree/0877ad678ffc7687c02ce8e890d35f2e2206f9eb)
* [OCPBUGS-66409](https://issues.redhat.com/browse/OCPBUGS-66409): test: Fix control plane components rollout failure when NetworkType is not OVNKubernetes [#7337](https://github.com/openshift/hypershift/pull/7337)
* [CNTRLPLANE-2205](https://issues.redhat.com/browse/CNTRLPLANE-2205): fix(hcco): allow for ARN reuse across components [#7383](https://github.com/openshift/hypershift/pull/7383)
* [OCPBUGS-69378](https://issues.redhat.com/browse/OCPBUGS-69378): test: remove network-dependent unit tests for image metadata [#7391](https://github.com/openshift/hypershift/pull/7391)
* [OCPBUGS-66397](https://issues.redhat.com/browse/OCPBUGS-66397): fix(kas): apply LoadBalancerSourceRanges only for LoadBalancer service type [#7336](https://github.com/openshift/hypershift/pull/7336)
* NO-JIRA: Update expected digest for busybox:latest in TestGetDigest [#7350](https://github.com/openshift/hypershift/pull/7350)
* [Full changelog](https://github.com/openshift/hypershift/compare/a5aab25bedac7d53d90415cf08490acb6d0d7052...0877ad678ffc7687c02ce8e890d35f2e2206f9eb)
### [ironic](https://github.com/openshift/ironic-image/tree/c6c2be3dbdedd8ab7c0b9701307c17df7d2bb591)
* [OCPBUGS-69786](https://issues.redhat.com/browse/OCPBUGS-69786): Bump eventlet version [#756](https://github.com/openshift/ironic-image/pull/756)
* [Full changelog](https://github.com/openshift/ironic-image/compare/1821ac0208c0af8decbfb5aa077b793b7222d102...c6c2be3dbdedd8ab7c0b9701307c17df7d2bb591)
### [ironic-agent](https://github.com/openshift/ironic-agent-image/tree/6ae9e9e35571eedf00c240e10f62b56bbac1af07)
* [OCPBUGS-69777](https://issues.redhat.com/browse/OCPBUGS-69777): Bump eventlet version [#228](https://github.com/openshift/ironic-agent-image/pull/228)
* [OCPBUGS-66934](https://issues.redhat.com/browse/OCPBUGS-66934): Filter out more USB network devices [#221](https://github.com/openshift/ironic-agent-image/pull/221)
* [Full changelog](https://github.com/openshift/ironic-agent-image/compare/f29e5b702153ecd51ee75cf7b55426075888d7e4...6ae9e9e35571eedf00c240e10f62b56bbac1af07)
### [machine-config-operator](https://github.com/openshift/machine-config-operator/tree/8af0c84e6fcc34c60768b3955366a78a440b7a85)
* [OCPBUGS-70322](https://issues.redhat.com/browse/OCPBUGS-70322): Skip boot image updates if arch annotation is not found [#5525](https://github.com/openshift/machine-config-operator/pull/5525)
* [OCPBUGS-70349](https://issues.redhat.com/browse/OCPBUGS-70349): Remove the dead code of setting the operator status for cgroupv1 based clusters [#5446](https://github.com/openshift/machine-config-operator/pull/5446)
* [OCPBUGS-69666](https://issues.redhat.com/browse/OCPBUGS-69666): Remove log exposing kubeconfig [#5505](https://github.com/openshift/machine-config-operator/pull/5505)
* [OCPBUGS-69444](https://issues.redhat.com/browse/OCPBUGS-69444): MCP is not correctly degraded when a pivotError happens [#5503](https://github.com/openshift/machine-config-operator/pull/5503)
* [OCPBUGS-65545](https://issues.redhat.com/browse/OCPBUGS-65545), [OCPBUGS-67007](https://issues.redhat.com/browse/OCPBUGS-67007): cherry pick to few fixes that needed for missing services and configuration [#5480](https://github.com/openshift/machine-config-operator/pull/5480)
* [OCPBUGS-67137](https://issues.redhat.com/browse/OCPBUGS-67137): Fix cleanup in `TestInstallRPMAndCheckMCDMetrics` to decrease risk of test failures due to interference [#5478](https://github.com/openshift/machine-config-operator/pull/5478)
* [Full changelog](https://github.com/openshift/machine-config-operator/compare/2a29ea49e2625aac5e66e9675de04c2677689c7c...8af0c84e6fcc34c60768b3955366a78a440b7a85)
### [monitoring-plugin](https://github.com/openshift/monitoring-plugin/tree/b0bf464e64bc17bcd2f9d06e8d47d45915115624)
* [OU-1146](https://issues.redhat.com/browse/OU-1146): remove random multiplication [#704](https://github.com/openshift/monitoring-plugin/pull/704)
* [OU-1135](https://issues.redhat.com/browse/OU-1135): [release-4.20] monitoring testing backport [#700](https://github.com/openshift/monitoring-plugin/pull/700)
* [OCPBUGS-69725](https://issues.redhat.com/browse/OCPBUGS-69725): [release-4.20] fix: upgrade node-forge vulnerable dependency [#701](https://github.com/openshift/monitoring-plugin/pull/701)
* [OU-1130](https://issues.redhat.com/browse/OU-1130): Merge main to release 4.20 [#683](https://github.com/openshift/monitoring-plugin/pull/683)
* [OCPBUGS-66389](https://issues.redhat.com/browse/OCPBUGS-66389): Time range and Refresh interval dropdown button lack of unique identifier [#668](https://github.com/openshift/monitoring-plugin/pull/668)
* [Full changelog](https://github.com/openshift/monitoring-plugin/compare/8de67446fade49119c06c1d7c00f9f2b62518b77...b0bf464e64bc17bcd2f9d06e8d47d45915115624)
### [networking-console-plugin](https://github.com/openshift/networking-console-plugin/tree/7df8cc9ca8362fecc840653bba092d02f15a19ed)
* [CNV-72230](https://issues.redhat.com/browse/CNV-72230): fix networking links [#308](https://github.com/openshift/networking-console-plugin/pull/308)
* [Full changelog](https://github.com/openshift/networking-console-plugin/compare/619d169136e369b1d8d1f48f598ab713bac6b4bb...7df8cc9ca8362fecc840653bba092d02f15a19ed)
### [openstack-cluster-api-controllers](https://github.com/openshift/cluster-api-provider-openstack/tree/d1c8e7edf11e78db401bc1672e0f17d551fe09db)
* [OCPBUGS-64814](https://issues.redhat.com/browse/OCPBUGS-64814): Merge https://github.com/kubernetes-sigs/cluster-api-provider-openstack:release-0.12 into release-4.20 [#381](https://github.com/openshift/cluster-api-provider-openstack/pull/381)
* [OCPBUGS-64814](https://issues.redhat.com/browse/OCPBUGS-64814): Fix verify step [#389](https://github.com/openshift/cluster-api-provider-openstack/pull/389)
* [Full changelog](https://github.com/openshift/cluster-api-provider-openstack/compare/30944900c974852654db4125082d616f9be4b1a6...d1c8e7edf11e78db401bc1672e0f17d551fe09db)
### [operator-framework-tools, operator-lifecycle-manager, operator-registry](https://github.com/openshift/operator-framework-olm/tree/0d95a7ef5d73153f5593e67bc41c0c7a53567ee6)
* [OCPBUGS-62014](https://issues.redhat.com/browse/OCPBUGS-62014): rorfs for cacheless lacks write access to /tmp/ to generate cache [#1170](https://github.com/openshift/operator-framework-olm/pull/1170)
* [Full changelog](https://github.com/openshift/operator-framework-olm/compare/dd6d22bd02554c039e7bbec4bf39c6e97ebf0b9b...0d95a7ef5d73153f5593e67bc41c0c7a53567ee6)
### [ovn-kubernetes, ovn-kubernetes-microshift](https://github.com/openshift/ovn-kubernetes/tree/1faf1ac5bb2e604f745d93a5fe70bec93024ad7f)
* [OCPBUGS-66049](https://issues.redhat.com/browse/OCPBUGS-66049): Fix conntrack reconciliation to use service port instead of endpoint port [#2874](https://github.com/openshift/ovn-kubernetes/pull/2874)
* [Full changelog](https://github.com/openshift/ovn-kubernetes/compare/6c78b6defbd606f8fdf002d7cc37e3d49c7bcd98...1faf1ac5bb2e604f745d93a5fe70bec93024ad7f)
### [tests](https://github.com/openshift/origin/tree/b3dfe24701b9b592b9c55153974804db7ec76459)
* [OCPBUGS-69686](https://issues.redhat.com/browse/OCPBUGS-69686): BeforeEach was indirectly called in DetermineReleasePayloadImage [#30620](https://github.com/openshift/origin/pull/30620)
* [OCPBUGS-66072](https://issues.redhat.com/browse/OCPBUGS-66072): [release-4.20] net(virt) remove virtctl if not correctly retrieved [#30538](https://github.com/openshift/origin/pull/30538)
* [OCPBUGS-64836](https://issues.redhat.com/browse/OCPBUGS-64836): back-port IP & MAC conflict detection e2e tests [#30414](https://github.com/openshift/origin/pull/30414)
* [OCPBUGS-66963](https://issues.redhat.com/browse/OCPBUGS-66963): Fix MachineConfigNode test in two-node fencing clusters [#30540](https://github.com/openshift/origin/pull/30540)
* [OCPBUGS-66365](https://issues.redhat.com/browse/OCPBUGS-66365): update watch request limits for marketplace-operator [#30569](https://github.com/openshift/origin/pull/30569)
* [OCPBUGS-66979](https://issues.redhat.com/browse/OCPBUGS-66979): Revert "OCPNODE-3912: Add a test for NodeSizing default change to OCP 4.20" [#30582](https://github.com/openshift/origin/pull/30582)
* [Full changelog](https://github.com/openshift/origin/compare/11e5d68ef2da023d9add4aaf2feaff48c350e11a...b3dfe24701b9b592b9c55153974804db7ec76459)