Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile.kube_git.var
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
KUBE_GIT_MAJOR=1
KUBE_GIT_MINOR=35
KUBE_GIT_VERSION=v1.35.4
KUBE_GIT_COMMIT=da4553e9f23c91c792094a1ddbba933784becce4
KUBE_GIT_COMMIT=80f28ac33ac111532fb8ba59b2e569085ee871b0
KUBE_GIT_TREE_STATE=clean
2 changes: 1 addition & 1 deletion Makefile.version.aarch64.var
Original file line number Diff line number Diff line change
@@ -1 +1 @@
OCP_VERSION := 4.22.0-0.nightly-arm64-2026-05-07-131722
OCP_VERSION := 4.22.0-0.nightly-arm64-2026-05-11-031617
2 changes: 1 addition & 1 deletion Makefile.version.x86_64.var
Original file line number Diff line number Diff line change
@@ -1 +1 @@
OCP_VERSION := 4.22.0-0.nightly-2026-05-05-131253
OCP_VERSION := 4.22.0-0.nightly-2026-05-10-025105
4 changes: 2 additions & 2 deletions assets/components/multus/kustomization.aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
images:
- name: multus-cni-microshift
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:6bc294a19561dd1ea678e56b9d8429ae3746b5db78abe6bad967138d66f6f4dc
digest: sha256:a339483761ed2aa820d4181a0395ca3edef83e631cdd4433c8e7ccf1a39c1b8c
- name: containernetworking-plugins-microshift
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:b7c91ffe8e969cc648d5de792ff3f37aa7e955451458cf923e997875c152901b
digest: sha256:87a3fc20e2672e68587e04209a0a5f17e798f424ba756cdf84fd7449b531760d
4 changes: 2 additions & 2 deletions assets/components/multus/kustomization.x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
images:
- name: multus-cni-microshift
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:276fb37cdad468e03d504e3ea57c1a8e9a1b26d4d8ccbe03ae8d9ac9abccd58e
digest: sha256:0f2800279630bade6f011ec2ff19651b4c206d89c8194d1c71359f02c7c2964a
- name: containernetworking-plugins-microshift
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:893c1678b874b7ce2fd6ef8df7b3c6da551b8152a8cd1fd982229766aeba4edd
digest: sha256:9962397e6b75b2a932f0b45dcec4d69fafe66d064c61844de1a751fbafa8ea8c
6 changes: 3 additions & 3 deletions assets/components/multus/release-multus-aarch64.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"release": {
"base": "4.22.0-0.nightly-arm64-2026-05-07-131722"
"base": "4.22.0-0.nightly-arm64-2026-05-11-031617"
},
"images": {
"multus-cni-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:6bc294a19561dd1ea678e56b9d8429ae3746b5db78abe6bad967138d66f6f4dc",
"containernetworking-plugins-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b7c91ffe8e969cc648d5de792ff3f37aa7e955451458cf923e997875c152901b"
"multus-cni-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:a339483761ed2aa820d4181a0395ca3edef83e631cdd4433c8e7ccf1a39c1b8c",
"containernetworking-plugins-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:87a3fc20e2672e68587e04209a0a5f17e798f424ba756cdf84fd7449b531760d"
}
}
6 changes: 3 additions & 3 deletions assets/components/multus/release-multus-x86_64.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"release": {
"base": "4.22.0-0.nightly-2026-05-05-131253"
"base": "4.22.0-0.nightly-2026-05-10-025105"
},
"images": {
"multus-cni-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:276fb37cdad468e03d504e3ea57c1a8e9a1b26d4d8ccbe03ae8d9ac9abccd58e",
"containernetworking-plugins-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:893c1678b874b7ce2fd6ef8df7b3c6da551b8152a8cd1fd982229766aeba4edd"
"multus-cni-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0f2800279630bade6f011ec2ff19651b4c206d89c8194d1c71359f02c7c2964a",
"containernetworking-plugins-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:9962397e6b75b2a932f0b45dcec4d69fafe66d064c61844de1a751fbafa8ea8c"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@
images:
- name: quay.io/operator-framework/olm
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:19a8f42e7f4b4bfe3c18e2c70e196f43aa71c7f3fcecd2c1eb0cf11a16b597e3
digest: sha256:b300f79d3b5391e155c45586f7273061fe72c63cd684b14fc2f45e13af8eb391
- name: quay.io/operator-framework/configmap-operator-registry
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:036a7e01a119d56f642a9ad35d9748dc0ba5775a22fd7c787f12a885ce8ad18d
digest: sha256:dfc17d862ab5364327bdea9edd36205e10864617f4a10846660f170bfad65953
- name: quay.io/openshift/origin-kube-rbac-proxy
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:4c86178e34a6f7959590bbfd6cca3e56d455ee84efabe7c17c74632a103b0886
digest: sha256:bad63efb7c149b090e9ce499e037e2720bfea98da65a021ee903f5d8d2107b8d

patches:
- patch: |-
- op: add
path: /spec/template/spec/containers/0/env/-
value:
name: OPERATOR_REGISTRY_IMAGE
value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:036a7e01a119d56f642a9ad35d9748dc0ba5775a22fd7c787f12a885ce8ad18d
value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:dfc17d862ab5364327bdea9edd36205e10864617f4a10846660f170bfad65953
- op: add
path: /spec/template/spec/containers/0/env/-
value:
name: OLM_IMAGE
value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:19a8f42e7f4b4bfe3c18e2c70e196f43aa71c7f3fcecd2c1eb0cf11a16b597e3
value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b300f79d3b5391e155c45586f7273061fe72c63cd684b14fc2f45e13af8eb391
target:
kind: Deployment
labelSelector: app=catalog-operator
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@
images:
- name: quay.io/operator-framework/olm
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:d69c1d9542bab05d89605a7c904797518543651e51db57ba3aa44d509ef7b8be
digest: sha256:d0825f282d6e41379875ac38bfad7293a3cb5c18846a12617fbd735ff462e2d1
- name: quay.io/operator-framework/configmap-operator-registry
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:1ef926550985c77ae2570217cb3aa082809964514bb4fb62ff4c85c4fc58cfab
digest: sha256:f8150398a04e21df4c6a1b897e52883809e806f382041b8a00b3591a2c342782
- name: quay.io/openshift/origin-kube-rbac-proxy
newName: quay.io/openshift-release-dev/ocp-v4.0-art-dev
digest: sha256:d6bb41c8deaea4f42de481e35c208c264c9292f0113bf303b380756bb80b8ad2
digest: sha256:fa1787fbd0cc0c3c9659e3355afe6bec44aed4deec8a99e1ce495f62df774b86

patches:
- patch: |-
- op: add
path: /spec/template/spec/containers/0/env/-
value:
name: OPERATOR_REGISTRY_IMAGE
value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1ef926550985c77ae2570217cb3aa082809964514bb4fb62ff4c85c4fc58cfab
value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f8150398a04e21df4c6a1b897e52883809e806f382041b8a00b3591a2c342782
- op: add
path: /spec/template/spec/containers/0/env/-
value:
name: OLM_IMAGE
value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d69c1d9542bab05d89605a7c904797518543651e51db57ba3aa44d509ef7b8be
value: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d0825f282d6e41379875ac38bfad7293a3cb5c18846a12617fbd735ff462e2d1
target:
kind: Deployment
labelSelector: app=catalog-operator
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"release": {
"base": "4.22.0-0.nightly-arm64-2026-05-07-131722"
"base": "4.22.0-0.nightly-arm64-2026-05-11-031617"
},
"images": {
"operator-lifecycle-manager": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:19a8f42e7f4b4bfe3c18e2c70e196f43aa71c7f3fcecd2c1eb0cf11a16b597e3",
"operator-registry": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:036a7e01a119d56f642a9ad35d9748dc0ba5775a22fd7c787f12a885ce8ad18d",
"kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:4c86178e34a6f7959590bbfd6cca3e56d455ee84efabe7c17c74632a103b0886"
"operator-lifecycle-manager": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b300f79d3b5391e155c45586f7273061fe72c63cd684b14fc2f45e13af8eb391",
"operator-registry": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:dfc17d862ab5364327bdea9edd36205e10864617f4a10846660f170bfad65953",
"kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:bad63efb7c149b090e9ce499e037e2720bfea98da65a021ee903f5d8d2107b8d"
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"release": {
"base": "4.22.0-0.nightly-2026-05-05-131253"
"base": "4.22.0-0.nightly-2026-05-10-025105"
},
"images": {
"operator-lifecycle-manager": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d69c1d9542bab05d89605a7c904797518543651e51db57ba3aa44d509ef7b8be",
"operator-registry": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:1ef926550985c77ae2570217cb3aa082809964514bb4fb62ff4c85c4fc58cfab",
"kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d6bb41c8deaea4f42de481e35c208c264c9292f0113bf303b380756bb80b8ad2"
"operator-lifecycle-manager": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d0825f282d6e41379875ac38bfad7293a3cb5c18846a12617fbd735ff462e2d1",
"operator-registry": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f8150398a04e21df4c6a1b897e52883809e806f382041b8a00b3591a2c342782",
"kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:fa1787fbd0cc0c3c9659e3355afe6bec44aed4deec8a99e1ce495f62df774b86"
}
}
16 changes: 8 additions & 8 deletions assets/release/release-aarch64.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"release": {
"base": "4.22.0-0.nightly-arm64-2026-05-07-131722"
"base": "4.22.0-0.nightly-arm64-2026-05-11-031617"
},
"images": {
"cli": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:83de4633d89083f64afda76ccae7ce41d23fb98c208a4dbaee4021ce8f8dd2b0",
"coredns": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b62a405839d893afb31ef442f9ae26eab5170f8e9cf4f7fa040fbeb64aca7e37",
"cli": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:283dabdca83c3bd1143b81351b2531399e985e929255cfbe2c071f46ef69e75b",
"coredns": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a04599a629047e5207302d1abc3cd34e0d53a7317eb2975afc6b47f0d37aa22",
"haproxy-router": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d95f2a39f9b0a3c93ae81e3b1598fbc1daec60934121d705a74d439663dc1fca",
"kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:4c86178e34a6f7959590bbfd6cca3e56d455ee84efabe7c17c74632a103b0886",
"ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:66f1f296b0797f8e9dbc0c7db9944d9dcb91223e3ac568be19122a30e0518816",
"pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:5a46c358d68b075344a1f05a7a456e59befbec3195d76f1dc9ed5b31e16d32f4",
"service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c36e7da1702f1bb40fa2f87deb0770b7d298d53d4bb1108617999d693e7c4173",
"kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:bad63efb7c149b090e9ce499e037e2720bfea98da65a021ee903f5d8d2107b8d",
"ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:9fba8b924f84e0a95572434784acd1a9e93963fdbc5a66b84df52162b4431c23",
"pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:ddd8fc893c116c07bd691b60e6640966fde4fc2ac731e7f26337f2e2d5c97048",
"service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:7847b2c52a18ca9a52e95aebbf518795db0793e2365f9eb9a3868d266b6e49a8",
"lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:3766640b19c336b443619ecdb35f36b479c79ea71b21de97febf024a5eaf6c84",
"csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:00cf65fef227c8af1c77c756681ac6cd73bac2df58a279175dac61109138b821"
"csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:a9a9ad26a571bf48412b71ea60ddbffbe5d27a9a1e44180348cdc1afe132a0f4"
}
}
16 changes: 8 additions & 8 deletions assets/release/release-x86_64.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"release": {
"base": "4.22.0-0.nightly-2026-05-05-131253"
"base": "4.22.0-0.nightly-2026-05-10-025105"
},
"images": {
"cli": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:233458a2060d80a33ed8c4b5c71f5865c1a1964158bd4cfcfe3685fff66b0f0b",
"coredns": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:dc5dc59da1ccb71521578043aec4ce2d894339c85319278019d11f6936afde4e",
"cli": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:3c3c0e9fbd7c4156ad282c81101ec17af719ade532412d7ce4f5eee2217a6d55",
"coredns": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:46ab0b877beb64255d0840a8c001cdc2473d1aacc955195ac61cfd9266f17f50",
"haproxy-router": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:18e468aec4c7c11c8185384388940d19f0436ecd9ac7aaa26ae86ddbd32f8c8a",
"kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d6bb41c8deaea4f42de481e35c208c264c9292f0113bf303b380756bb80b8ad2",
"ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:d4f50b9625e53542fb114b433484ec222f180efca3caa0d64c445e52fbad11ac",
"pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:af6be392c7cc9c779786db0f1e5a3bd1acbfbef900b49ee6dc091f8e493a6f1d",
"service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:87746cb5b32d56075d81579155ce32375014f0f727104020e474bbfe8db3bfe9",
"kube-rbac-proxy": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:fa1787fbd0cc0c3c9659e3355afe6bec44aed4deec8a99e1ce495f62df774b86",
"ovn-kubernetes-microshift": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f42dc8ac6c06b8babf4c3fce94e8baeb38c1d9aaa30f1bedca676d35d06f1703",
"pod": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:34a6a51c9104d19bfdfeef6087a6d557c0c594a700ab15d57b7539e2380b43ff",
"service-ca-operator": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:cbd194f6fde1826d46b350c6d5c694b68569e80bb759b6b1ef9c4a08a1c08701",
"lvms_operator": "registry.redhat.io/lvms4/lvms-rhel9-operator@sha256:58804d8baf922927b66cec9424d431a3bdb341d207024ce40cc8f0123bac03ee",
"csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:11d0a10900773e5d3c26a1decf518c021010d64897e1d9f33f281094846d1b15"
"csi-snapshot-controller": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b5c076ce05279b9a8cbc00f34e43c4a11f8fc4765e4a27cf47545b5ca86acfe5"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -152,12 +152,27 @@ func (m *ManagerImpl) getAvailableDevices(resource string) sets.Set[string] {
}

func (m *ManagerImpl) generateDeviceTopologyHints(resource string, available sets.Set[string], reusable sets.Set[string], request int) []topologymanager.TopologyHint {
// Initialize minAffinitySize to include all NUMA Nodes
minAffinitySize := len(m.numaNodes)
// Narrow the bitmask iteration to NUMA nodes that actually host
// devices for this resource. On platforms where the OS exposes many
// NUMA nodes that carry no devices (e.g. NVIDIA GB200 with 36 NUMA
// nodes, most hosting only GPU HBM), iterating all machine NUMA
// nodes would enumerate O(2^n) subsets. Restricting to device-
// bearing nodes reduces n to the number of nodes that matter.
// Because device-less nodes never contribute to devicesInMask,
// excluding them does not change minAffinitySize or Preferred
// flag computation.
numaNodes := m.deviceNUMANodes(resource)
if len(numaNodes) == 0 {
numaNodes = m.numaNodes
}

// Initialize minAffinitySize to the number of NUMA nodes under
// consideration; it will be narrowed as satisfying masks are found.
minAffinitySize := len(numaNodes)

// Iterate through all combinations of NUMA Nodes and build hints from them.
hints := []topologymanager.TopologyHint{}
bitmask.IterateBitMasks(m.numaNodes, func(mask bitmask.BitMask) {
bitmask.IterateBitMasks(numaNodes, func(mask bitmask.BitMask) {
// First, update minAffinitySize for the current request size.
devicesInMask := 0
for _, device := range m.allDevices[resource] {
Expand Down Expand Up @@ -218,6 +233,28 @@ func (m *ManagerImpl) generateDeviceTopologyHints(resource string, available set
return hints
}

// deviceNUMANodes returns the sorted list of NUMA node IDs that host at least
// one device for the given resource. The returned set is guaranteed to be a
// subset of m.numaNodes: any NUMA IDs reported by device plugins that are not
// known to cadvisor are logged and dropped.
// The caller must hold m.mutex.
func (m *ManagerImpl) deviceNUMANodes(resource string) []int {
nodesWithDevices := sets.New[int]()
for _, device := range m.allDevices[resource] {
nodesWithDevices.Insert(m.getNUMANodeIds(device.Topology)...)
}

knownNodes := sets.New[int](m.numaNodes...)
unknown := nodesWithDevices.Difference(knownNodes)
if unknown.Len() > 0 {
klog.TODO().Info("Ignoring NUMA node IDs reported by device plugin that are unknown to cadvisor",
"resource", resource, "unknownNodes", sets.List(unknown), "knownNodes", m.numaNodes)
nodesWithDevices = nodesWithDevices.Intersection(knownNodes)
}

return sets.List(nodesWithDevices)
}

func (m *ManagerImpl) getNUMANodeIds(topology *pluginapi.TopologyInfo) []int {
if topology == nil {
return nil
Expand Down
Loading