Skip to content

[pull] master from kubernetes:master#1924

Open
pull[bot] wants to merge 8141 commits into
next-stack:masterfrom
kubernetes:master
Open

[pull] master from kubernetes:master#1924
pull[bot] wants to merge 8141 commits into
next-stack:masterfrom
kubernetes:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Oct 24, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull Bot added the ⤵️ pull label Oct 24, 2021
k8s-ci-robot and others added 29 commits May 9, 2026 08:07
etcd-manager: Bump etcd patches and drop 3.4 support
Removes dead code that was unused, no behavior change:
- main.go: --remove-dns-names, --dns-update-interval, --zone,
  --dns-internal-suffix, --cluster-id (parsed, never read);
  also RootFS package var and KubeBoot.InternalDNSSuffix
- {GCE,OpenStack}CloudProvider: unused Project() method
- nodeup ProtokubeFlags: matching ClusterID, DNSInternalSuffix,
  Zone fields and their populators.
Convert struct fields that were only used for construction-time
validation/logging into local vars, and drop a redundant interface:
- AWS: drop zone, deviceMap; imdsClient becomes a local
- GCE: drop compute, project, zone, region, clusterName
  (only discovery and instanceName are read post-construction)
- OpenStack: drop storageZone
- DO: drop region, dropletID and the now-orphaned
  getMetadataRegion / getMetadataDropletID helpers and constants
- Azure: replace the local 4-method client interface with the
  concrete *gossipazure.Client; the interface served only as a
  compile-time assertion with no test mocks
The flag was always set true by nodeup and protokube already gated
the label-bootstrap call on k.Master. Remove the flag, the
ProtokubeFlags / KubeBoot fields, and the inner gate; rely on
k.Master alone.
The local TokenSource type just reimplemented what
golang.org/x/oauth2 already provides.
gce: shrink etcd-cluster disk label to fit 63-char limit
protokube: drop unused flags, fields, and methods and cleanup
Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 4.9.0 to 5.0.0.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](actions/dependency-review-action@2031cfc...a1d282b)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
The pod's priorityClassName was hardcoded to system-cluster-critical.
Expose it as spec.externalDNS.priorityClassName so it can be overridden
or dropped (set to "").

This lets the upgrade e2e presubmits drop the priorityClassName so `kops
validate cluster` ignores the dns-controller pod while the new image
hasn't side-loaded.

Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
dns-controller: make priorityClassName configurable
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
…vider

dns-controller: default Provider when ExternalDNS is partially set
aws: Only set nodeAllocatableUpdatePeriodSeconds on K8s 1.35+
Enable workers to reach kops-controller via the internal API load balancer
instead of resolving kops-controller.internal via gossip DNS, which broke
when the gcediscovery resolver was removed in #15121.
…ctions/dependency-review-action-5.0.0

build(deps): bump actions/dependency-review-action from 4.9.0 to 5.0.0
gce: expose kops-controller on internal LB for gossip clusters
kubetest2-kops heartbeats the Boskos GCP project lease from a goroutine
that dies when kubetest2 exits. The upgrade scenario then runs the long
kops reconcile + rolling-update + e2e phases outside kubetest2, so the
project sits unattended past the reaper's 30 min TTL and the cluster is
silently destroyed mid-test. Refresh the lease before the reconcile and
again before the ginkgo suite. No-op on non-GCE.

Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
e2e: heartbeat Boskos lease during upgrade test
e2e: Improve resource dump reliability
k8s-ci-robot and others added 30 commits May 26, 2026 22:20
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
scaletest: decouple client HTTP traffic for etcd events
chore: Add hashes for additional May releases
Add logs at v2 level to ensure we have slow pods data in logs
chore: upgrade containerd to v2.3.1
The helm+kustomize migration switched the controller Deployment and
webhook Service selectors from {component, name} to the chart's
{instance, name}. A Deployment's spec.selector is immutable, so upgrading
from kops <1.36 has the apply rejected: the pod template is never updated,
the webhook Service loses its endpoints, and the mutating webhooks
(failurePolicy: Fail) time out, breaking target registration.
Pin both selectors back to the historical {component, name} labels and add
the component label to the pod template so it still satisfies the selector,
keeping upgrades working without touching the immutable field.
aws: pin LBC selectors to fix in-place upgrades
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
cert-manager: upgrade to v1.19.5 and set AWS_REGION for Route53 dns-01
etcd: add ListenClientHTTPURLs field to EtcdManagerSpec
A cluster spec applied with the top-level `authorization` field omitted
(kops create -f / replace -f) defaulted to AlwaysAllow, while
`kops create cluster` has always defaulted to RBAC. Align the v1alpha2
and v1alpha3 SetDefaults_ClusterSpec with the CLI: an omitted or empty
authorization now defaults to RBAC. AlwaysAllow is still honored when set
explicitly.

Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
Default omitted authorization to RBAC instead of AlwaysAllow
kOps forbids setting masquerade (disableMasquerade) when Cilium ENI IPAM is
used, erroring with "Masquerade must be enabled when ENI IPAM is used". This
blocks users who want Cilium's upstream no-masquerade behavior for ENI (e.g.
private-topology clusters with NAT-gateway egress, or clusters using VPC
endpoints), forcing them to patch the cilium-config ConfigMap after the fact,
which races new nodes during rolling updates.

Remove the validation so masquerade can be set in either direction for ENI.
The default is intentionally left unchanged (masquerade stays on): flipping it
off by default breaks pod egress to external endpoints (e.g. IRSA -> STS) on
public-topology clusters whose pod ENI IPs have no public address, as shown by
a red pull-kops-e2e-cni-cilium-eni run. Users who can route pod egress without
masquerading opt in via masquerade=false (or via extraConfig).

Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
Apply errors were only logged, so a manifest the apiserver rejects (e.g. an
immutable Deployment selector) left the cluster silently broken. /readyz now
reflects the last apply outcome; the pod is system-node-critical, so a NotReady
fails `kops validate cluster` and halts the rolling update before workers roll.
cilium: allow disabling masquerade in ENI IPAM mode
channels: surface addon apply failures via a readiness probe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants