Skip to content

test(e2e): deploy cert-manager via the certmanager.io addon - #18753

Merged
kubernetes-prow[bot] merged 8 commits into
kubernetes:masterfrom
hakman:e2e-cert-manager-addon
Aug 26, 2026
Merged

test(e2e): deploy cert-manager via the certmanager.io addon#18753
kubernetes-prow[bot] merged 8 commits into
kubernetes:masterfrom
hakman:e2e-cert-manager-addon

Conversation

@hakman

@hakman hakman commented Aug 26, 2026

Copy link
Copy Markdown
Member

The clusterapi, splitkcp and ai-conformance scenarios each installed cert-manager from their own pinned upstream release URL, with two different versions across the three scripts. This enables the bundled certmanager.io addon in the cluster spec instead, so there is a single cert-manager definition in the tree and version bumps happen only in the addon.

The explicit readiness waits are removed: the addon pods run with the system-cluster-critical priority class, so cluster validation during kops-up already waits for them to be ready.

The clusterapi README is updated to match. The discovery dev task keeps its upstream install, as it targets clusters not managed by kOps.

/cc @rifelpet @ameukam

@kubernetes-prow
kubernetes-prow Bot requested review from ameukam and rifelpet August 26, 2026 06:00
@kubernetes-prow kubernetes-prow Bot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Aug 26, 2026
@hakman

hakman commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

/test pull-kops-scenario-clusterapi-gcp
/test pull-kops-scenario-splitkcp-gcp
/test pull-kops-ai-conformance

@kubernetes-prow kubernetes-prow Bot added area/provider/gcp Issues or PRs related to gcp provider size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Aug 26, 2026
@hakman

hakman commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

/test pull-kops-scenario-clusterapi-gcp
/test pull-kops-scenario-splitkcp-gcp
/test pull-kops-ai-conformance

1 similar comment
@hakman

hakman commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

/test pull-kops-scenario-clusterapi-gcp
/test pull-kops-scenario-splitkcp-gcp
/test pull-kops-ai-conformance

@hakman

hakman commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

/test pull-kops-scenario-clusterapi-gcp
/test pull-kops-scenario-splitkcp-gcp
/test pull-kops-ai-conformance

@hakman

hakman commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

/test pull-kops-scenario-clusterapi-gcp
/test pull-kops-scenario-splitkcp-gcp
/test pull-kops-ai-conformance

@kubernetes-prow kubernetes-prow Bot added lgtm "Looks good to me", indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. and removed lgtm "Looks good to me", indicates that a PR is ready to be merged. labels Aug 26, 2026
@hakman
hakman force-pushed the e2e-cert-manager-addon branch from ad74b36 to c7d8040 Compare August 26, 2026 15:17
hakman added 8 commits August 26, 2026 18:21
The kustomization pulls the v1.10.0 manifests but the image patch still
pinned the controller to v1.5.0, five minors older than the CRDs and
RBAC it is deployed with, and the args patch passed v1.5.0-era flags.
v1.10.0 removed --metrics-bind-addr, so the manager crash-looped
printing usage. Mirror the upstream v1.10.0 manager args with the
variable substitutions resolved.
The affinity terms are OR'ed and any supported cluster labels its
control plane nodes with the control-plane key, so the master term only
triggered an API deprecation warning.
The KopsConfig reconciler and the node config server both failed when
the cluster channel could not be read, e.g. a file:// channel set by
the e2e harness that only exists on the machine that created the
cluster. The channel only provides optional defaults here, so warn and
continue like apply_cluster does.

With a nil channel, instance group spec population then fails resolving
a default machine image on GCE. The image is chosen by the CAPI
infrastructure provider and is not used for nodeup config generation,
so give the placeholder instance groups a placeholder image.
kube-proxy special-cased only control-plane nodes for the localhost
address and used the API internal name on dedicated apiserver nodes.
Those nodes have no /etc/hosts record for that name (and no DNS record
in dns=none clusters, previously masked by gossip), so kube-proxy could
never reach the API and never programmed cluster IPs. As a result the
local kube-apiserver could not call any admission webhook by service,
failing with a timeout regardless of where the webhook pods run.

Use the same HasAPIServer condition as the kubeconfig builders.
Firewall source tags only match traffic sent from an instance's primary
address, so pod-sourced traffic is matched by CIDR instead. That rule
only targeted node instances, leaving pods unable to reach pods hosted
on control plane or dedicated apiserver nodes, such as addons that are
pinned to the control plane. Grant pod CIDRs the same limited port set
that nodes get, so host ports such as etcd stay protected.
keypair-ids.yaml covers every keypair on the host, while the server
keystore only loads the CAs it is configured to serve, so the etcd CAs
always trigger this warning on the CAPI node bootstrap path.
The clusterapi, splitkcp and ai-conformance scenarios each installed
cert-manager from their own pinned upstream release URL, with two
different versions across the three scripts. Enable the bundled
certmanager.io addon in the cluster spec instead, so the tree has a
single cert-manager definition and version bumps happen only in the
addon.

The explicit readiness waits are no longer needed: the addon runs its
pods with the system-cluster-critical priority class, and cluster
validation during kops-up fails while any such pod is pending or not
ready.
@hakman
hakman force-pushed the e2e-cert-manager-addon branch from c7d8040 to 037a7d0 Compare August 26, 2026 15:22
@hakman

hakman commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

/test pull-kops-scenario-clusterapi-gcp
/test pull-kops-scenario-splitkcp-gcp
/test pull-kops-ai-conformance

@hakman

hakman commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

/retest

@hakman hakman closed this Aug 26, 2026
@hakman hakman reopened this Aug 26, 2026
@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 26, 2026
@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rifelpet

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubernetes-prow
kubernetes-prow Bot merged commit 16c04c0 into kubernetes:master Aug 26, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/kops-controller area/nodeup area/provider/gcp Issues or PRs related to gcp provider cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants