Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
588fb32
Merge tag 'v1.32.4' into bump-1.32.4
dusk125 Apr 23, 2025
9773512
UPSTREAM: <drop>: hack/update-vendor.sh, make update and update image
dusk125 Apr 23, 2025
22e84c9
fix(kubelet): acquire imageRecordsLock when removing image
ndbaker1 Apr 10, 2025
f6cfe0c
Merge pull request #2275 from dusk125/bump-1.32.4
openshift-merge-bot[bot] May 5, 2025
60a5c4c
UPSTREAM: 131418: Check for newer fields when deciding expansion reco…
gnufied Apr 23, 2025
fe91d28
UPSTREAM: <carry>: Mark admissionregistration.k8s.io/v1beta1 as depre…
benluddy May 6, 2025
334610c
Merge pull request #2289 from openshift-cherrypick-robot/cherry-pick-…
openshift-merge-bot[bot] May 14, 2025
ed29f7f
UPSTREAM: 131236: RWX tests should create RWX volumes
jsafrane Apr 10, 2025
2e8b352
UPSTREAM: 130047: adjusting loopback certificate validity in kube-api…
HirazawaUi Feb 8, 2025
9fe7dfd
Merge pull request #2301 from openshift-cherrypick-robot/cherry-pick-…
openshift-merge-bot[bot] May 15, 2025
f2cf509
UPSTREAM: 131495: Handle unsupported node expansion for RWX volumes
gnufied May 7, 2025
375cd1b
Merge pull request #2302 from openshift-cherrypick-robot/cherry-pick-…
openshift-merge-bot[bot] May 21, 2025
2146839
Merge tag 'v1.32.5' into bump-4.19-1.32.5
dusk125 May 21, 2025
8ed7d1c
UPSTREAM: <drop>: manually resolve conflicts
dusk125 May 21, 2025
01fefa3
UPSTREAM: <drop>: hack/update-vendor.sh, make update and update image
dusk125 May 21, 2025
ca10af6
Merge pull request #2304 from dusk125/bump-4.19-1.32.5
openshift-merge-bot[bot] May 28, 2025
fadb78e
Merge pull request #2297 from openshift-cherrypick-robot/cherry-pick-…
openshift-merge-bot[bot] May 29, 2025
62eb11d
Clean backoff record earlier
linxiulei Jun 5, 2025
355302e
Add check to see if promote worked within the retry loop
BernardMC Mar 18, 2025
a36c41d
Merge pull request #2290 from openshift-cherrypick-robot/cherry-pick-…
openshift-merge-bot[bot] Jun 16, 2025
c14c572
Update CHANGELOG/CHANGELOG-1.32.md for v1.32.6
k8s-release-robot Jun 17, 2025
2804ee3
UPSTREAM: <carry>: Update rebase.sh to handle go versions major.minor…
dusk125 May 30, 2025
c6ca8e4
UPSTREAM: 132502: Fix flake caused by invalid detection of active pol…
bertinatto Jun 26, 2025
106d040
Merge pull request #2347 from openshift-cherrypick-robot/cherry-pick-…
openshift-merge-bot[bot] Jul 1, 2025
e0c4cae
Merge tag 'v1.32.6' into bump-4.19-1.32.6
dusk125 Jul 1, 2025
b8c23df
UPSTREAM: <drop>: manually resolve conflicts
dusk125 Jul 1, 2025
b1689fc
UPSTREAM: <drop>: hack/update-vendor.sh, make update and update image
dusk125 Jul 1, 2025
fc40a87
Merge pull request #2341 from openshift-cherrypick-robot/cherry-pick-…
openshift-merge-bot[bot] Jul 2, 2025
4c58a9d
Fix validation for Job with suspend=true,completions=0 to set Complet…
mimowo Jun 30, 2025
339ead4
Review remarks
mimowo Jun 30, 2025
38c60a5
Merge pull request #2340 from dusk125/bump-4.19-1.32.6
openshift-merge-bot[bot] Jul 4, 2025
5b6a01c
Merge pull request #132159 from linxiulei/automated-cherry-pick-of-#1…
k8s-ci-robot Jul 9, 2025
bb2ad5a
Use per-policy marker names for VAP integration tests.
benluddy Jun 24, 2025
cb46821
Bump images, dependencies and versions to go 1.23.11 and distroless i…
cpanato Jul 11, 2025
f5f9e1b
Merge pull request #132861 from mimowo/automated-cherry-pick-of-#1325…
k8s-ci-robot Jul 11, 2025
bcb9d4c
Merge pull request #132727 from mimowo/automated-cherry-pick-of-#1326…
k8s-ci-robot Jul 11, 2025
39ec379
Merge pull request #131578 from ndbaker1/automated-cherry-pick-of-#13…
k8s-ci-robot Jul 12, 2025
79edb7e
Merge pull request #132281 from neolit123/automated-cherry-pick-of-#1…
k8s-ci-robot Jul 12, 2025
158eee9
Release commit for Kubernetes v1.32.7
k8s-release-robot Jul 15, 2025
a1bc55e
Update CHANGELOG/CHANGELOG-1.32.md for v1.32.7
k8s-release-robot Jul 15, 2025
69e56f3
Merge pull request #132898 from cpanato/update-go123-132
k8s-ci-robot Jul 16, 2025
6fe2e8e
Merge tag 'v1.32.7' into release-4.19
dusk125 Jul 18, 2025
4c3192d
UPSTREAM: <drop>: hack/update-vendor.sh, make update and update image
dusk125 Jul 18, 2025
e497bc6
remove failing test that depends on expired credential, remove creden…
BenTheElder Jul 28, 2025
0f03470
Merge pull request #133265 from BenTheElder/cherrypick-133262-release…
k8s-ci-robot Jul 29, 2025
4aa7318
UPSTREAM: 132028: podresources: list: use active pods in list
ffromani Jun 4, 2025
223cf89
UPSTREAM: <carry>: remove the backward compat featuregate for 132028
ffromani Jul 22, 2025
138db52
Merge pull request #2367 from dusk125/rebase-v1.32.7
openshift-merge-bot[bot] Aug 5, 2025
21b02fa
do not allow the node to update it's owner reference
SergeyKanzhelev May 22, 2025
991dfd5
Merge pull request #133469 from natherz97/node-deletion-release-1.32
k8s-ci-robot Aug 11, 2025
2e83bc4
Release commit for Kubernetes v1.32.8
k8s-release-robot Aug 13, 2025
97b7f2e
Merge pull request #2391 from ffromani/podresources-list-active-pods-…
openshift-merge-bot[bot] Aug 14, 2025
5e0db83
Merge tag 'v1.32.8' into release-4.19
dusk125 Aug 14, 2025
4845a3c
UPSTREAM: <drop>: hack/update-vendor.sh, make update and update image
dusk125 Aug 14, 2025
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 .go-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.23.6
1.23.11
729 changes: 649 additions & 80 deletions CHANGELOG/CHANGELOG-1.32.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion build/build-image/cross/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1.32.0-go1.23.6-bullseye.0
v1.32.0-go1.23.11-bullseye.0
4 changes: 2 additions & 2 deletions build/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@ readonly KUBE_RSYNC_PORT="${KUBE_RSYNC_PORT:-}"
readonly KUBE_CONTAINER_RSYNC_PORT=8730

# These are the default versions (image tags) for their respective base images.
readonly __default_distroless_iptables_version=v0.6.8
readonly __default_go_runner_version=v2.4.0-go1.23.6-bookworm.0
readonly __default_distroless_iptables_version=v0.6.12
readonly __default_go_runner_version=v2.4.0-go1.23.11-bookworm.0
readonly __default_setcap_version=bookworm-v1.0.4

# These are the base images for the Docker-wrapped binaries.
Expand Down
8 changes: 4 additions & 4 deletions build/dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ dependencies:

# Golang
- name: "golang: upstream version"
version: 1.23.6
version: 1.23.11
refPaths:
- path: .go-version
- path: build/build-image/cross/VERSION
Expand All @@ -140,7 +140,7 @@ dependencies:
match: golang:([0-9]+\.[0-9]+).0-bullseye

- name: "registry.k8s.io/kube-cross: dependents"
version: v1.32.0-go1.23.6-bullseye.0
version: v1.32.0-go1.23.11-bullseye.0
refPaths:
- path: build/build-image/cross/VERSION

Expand Down Expand Up @@ -178,15 +178,15 @@ dependencies:
match: registry\.k8s\.io\/build-image\/debian-base:[a-zA-Z]+\-v((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)

- name: "registry.k8s.io/distroless-iptables: dependents"
version: v0.6.8
version: v0.6.12
refPaths:
- path: build/common.sh
match: __default_distroless_iptables_version=
- path: test/utils/image/manifest.go
match: configs\[DistrolessIptables\] = Config{list\.BuildImageRegistry, "distroless-iptables", "v([0-9]+)\.([0-9]+)\.([0-9]+)"}

- name: "registry.k8s.io/go-runner: dependents"
version: v2.4.0-go1.23.6-bookworm.0
version: v2.4.0-go1.23.11-bookworm.0
refPaths:
- path: build/common.sh
match: __default_go_runner_version=
Expand Down
9 changes: 9 additions & 0 deletions cmd/kubeadm/app/util/etcd/etcd.go
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,15 @@ func (c *Client) MemberPromote(learnerID uint64) error {
ctx, cancel := context.WithTimeout(context.Background(), etcdTimeout)
defer cancel()

isLearner, err := c.isLearner(learnerID)
if err != nil {
return false, err
}
if !isLearner {
klog.V(1).Infof("[etcd] Member %s was already promoted.", strconv.FormatUint(learnerID, 16))
return true, nil
}

_, err = cli.MemberPromote(ctx, learnerID)
if err == nil {
klog.V(1).Infof("[etcd] The learner was promoted as a voting member: %s", strconv.FormatUint(learnerID, 16))
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ require (
bitbucket.org/bertimus9/systemstat v0.5.0
github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab
github.com/Microsoft/go-winio v0.6.2
github.com/Microsoft/hnslib v0.0.8
github.com/Microsoft/hnslib v0.1.1
github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5
github.com/blang/semver/v4 v4.0.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/Microsoft/hnslib v0.0.8 h1:EBrIiRB7i/UYIXEC2yw22dn+RLzOmsc5S0bw2xf0Qus=
github.com/Microsoft/hnslib v0.0.8/go.mod h1:EYveQJlhKh2obmEIRB3uKN6dBd9pj1frPsrTGFppKuk=
github.com/Microsoft/hnslib v0.1.1 h1:JsZy681SnvSOUAfCZVAxkX4LgQGp+CZZwPbLV0/pdF8=
github.com/Microsoft/hnslib v0.1.1/go.mod h1:DRQR4IjLae6WHYVhW7uqe44hmFUiNhmaWA+jwMbz5tM=
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
github.com/RangelReale/osincli v0.0.0-20160924135400-fababb0555f2/go.mod h1:XyjUkMA8GN+tOOPXvnbi3XuRxWFvTJntqvTFnjmhzbk=
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion openshift-hack/images/hyperkube/Dockerfile.rhel
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ COPY --from=builder /tmp/build/* /usr/bin/
LABEL io.k8s.display-name="OpenShift Kubernetes Server Commands" \
io.k8s.description="OpenShift is a platform for developing, building, and deploying containerized applications." \
io.openshift.tags="openshift,hyperkube" \
io.openshift.build.versions="kubernetes=1.32.3"
io.openshift.build.versions="kubernetes=1.32.7"
2 changes: 1 addition & 1 deletion openshift-hack/rebase.sh
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ fi
# openshift-hack/images/hyperkube/Dockerfile.rhel still has FROM pointing to old tag
# we need to remove the prefix "v" from the $k8s_tag to stay compatible
sed -i -E "s/(io.openshift.build.versions=\"kubernetes=)(1.[1-9]+.[1-9]+)/\1${k8s_tag:1}/" openshift-hack/images/hyperkube/Dockerfile.rhel
go_mod_go_ver=$(grep -E 'go 1\.[1-9][0-9]?' go.mod | sed -E 's/go (1\.[1-9][0-9]?)/\1/')
go_mod_go_ver=$(grep -E 'go 1\.[1-9][0-9]?' go.mod | sed -E 's/go (1\.[1-9][0-9]?)/\1/' | cut -d '.' -f 1,2) # Need to handle mod versions like 1.23 and 1.23.4; our release images only have major.minor
tag="rhel-8-release-golang-${go_mod_go_ver}-openshift-${openshift_release#release-}"

# update openshift go.mod dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ import (
var DeprecatedAPIRemovedRelease = map[schema.GroupVersionResource]uint{
{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta3", Resource: "flowschemas"}: 32,
{Group: "flowcontrol.apiserver.k8s.io", Version: "v1beta3", Resource: "prioritylevelconfigurations"}: 32,

// 4.17 shipped with admissionregistration.k8s.io/v1beta1 served under the default featureset.
{Group: "admissionregistration.k8s.io", Version: "v1beta1", Resource: "validatingwebhookconfigurations"}: 33,
{Group: "admissionregistration.k8s.io", Version: "v1beta1", Resource: "mutatingwebhookconfigurations"}: 33,
{Group: "admissionregistration.k8s.io", Version: "v1beta1", Resource: "validatingadmissionpolicies"}: 33,
{Group: "admissionregistration.k8s.io", Version: "v1beta1", Resource: "validatingadmissionpolicybindings"}: 33,
}

// removedRelease of a specified resource.version.group.
Expand Down
7 changes: 7 additions & 0 deletions pkg/apis/core/validation/validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -3031,6 +3031,13 @@ func gatherPodResourceClaimNames(claims []core.PodResourceClaim) sets.Set[string
}

func validatePodResourceClaim(podMeta *metav1.ObjectMeta, claim core.PodResourceClaim, podClaimNames *sets.Set[string], fldPath *field.Path) field.ErrorList {
// static pods don't support resource claims
if podMeta != nil {
if _, ok := podMeta.Annotations[core.MirrorPodAnnotationKey]; ok {
return field.ErrorList{field.Forbidden(field.NewPath(""), "static pods do not support resource claims")}
}
}

var allErrs field.ErrorList
if claim.Name == "" {
allErrs = append(allErrs, field.Required(fldPath.Child("name"), ""))
Expand Down
11 changes: 10 additions & 1 deletion pkg/apis/core/validation/validation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24293,6 +24293,8 @@ func TestValidateDynamicResourceAllocation(t *testing.T) {
}

failureCases := map[string]*core.Pod{
"static pod with resource claim reference": goodClaimReference,
"static pod with resource claim template": goodClaimTemplate,
"pod claim name with prefix": podtest.MakePod("",
podtest.SetResourceClaims(core.PodResourceClaim{
Name: "../my-claim",
Expand Down Expand Up @@ -24422,7 +24424,14 @@ func TestValidateDynamicResourceAllocation(t *testing.T) {
}(),
}
for k, v := range failureCases {
if errs := ValidatePodSpec(&v.Spec, nil, field.NewPath("field"), PodValidationOptions{}); len(errs) == 0 {
podMeta := shortPodName
if strings.HasPrefix(k, "static pod") {
podMeta = podMeta.DeepCopy()
podMeta.Annotations = map[string]string{
core.MirrorPodAnnotationKey: "True",
}
}
if errs := ValidatePodSpec(&v.Spec, podMeta, field.NewPath("field"), PodValidationOptions{}); len(errs) == 0 {
t.Errorf("expected failure for %q", k)
}
}
Expand Down
6 changes: 6 additions & 0 deletions pkg/controller/job/job_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -537,6 +537,12 @@ func (jm *Controller) deleteJob(logger klog.Logger, obj interface{}) {
}
}
jm.enqueueLabelSelector(jobObj)

key := cache.MetaObjectToName(jobObj).String()
err := jm.podBackoffStore.removeBackoffRecord(key)
if err != nil {
utilruntime.HandleError(fmt.Errorf("error removing backoff record %w", err))
}
}

func (jm *Controller) enqueueLabelSelector(jobObj *batch.Job) {
Expand Down
13 changes: 12 additions & 1 deletion pkg/kubelet/apis/podresources/server_v1.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (

v1 "k8s.io/api/core/v1"
utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/klog/v2"
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
kubefeatures "k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/kubelet/metrics"
Expand All @@ -36,17 +37,21 @@ type v1PodResourcesServer struct {
cpusProvider CPUsProvider
memoryProvider MemoryProvider
dynamicResourcesProvider DynamicResourcesProvider
useActivePods bool
}

// NewV1PodResourcesServer returns a PodResourcesListerServer which lists pods provided by the PodsProvider
// with device information provided by the DevicesProvider
func NewV1PodResourcesServer(providers PodResourcesProviders) podresourcesv1.PodResourcesListerServer {
useActivePods := true
klog.InfoS("podresources", "method", "list", "useActivePods", useActivePods)
return &v1PodResourcesServer{
podsProvider: providers.Pods,
devicesProvider: providers.Devices,
cpusProvider: providers.Cpus,
memoryProvider: providers.Memory,
dynamicResourcesProvider: providers.DynamicResources,
useActivePods: useActivePods,
}
}

Expand All @@ -55,7 +60,13 @@ func (p *v1PodResourcesServer) List(ctx context.Context, req *podresourcesv1.Lis
metrics.PodResourcesEndpointRequestsTotalCount.WithLabelValues("v1").Inc()
metrics.PodResourcesEndpointRequestsListCount.WithLabelValues("v1").Inc()

pods := p.podsProvider.GetPods()
var pods []*v1.Pod
if p.useActivePods {
pods = p.podsProvider.GetActivePods()
} else {
pods = p.podsProvider.GetPods()
}

podResources := make([]*podresourcesv1.PodResources, len(pods))
p.devicesProvider.UpdateAllocatedDevices()

Expand Down
Loading