Skip to content

Rename --cordon-control-plane to --cordon-system-infra-components and its node pool label to ate-system-infra - #3210

Merged
Tim Hockin (thockin) merged 3 commits into
agent-substrate:mainfrom
haiyanmeng:rename-cordon
Oct 27, 2026
Merged

Tim Hockin (thockin) merged 3 commits into
agent-substrate:mainfrom
haiyanmeng:rename-cordon

Conversation

@haiyanmeng

@haiyanmeng haiyanmeng commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

--cordon-control-plane also pins atenet-router and atenet-egress, which are data plane components, so the name is confusing.

Renamed:

Old New
--cordon-control-plane --cordon-system-infra-components
ATE_INSTALL_CORDON_CONTROL_PLANE ATE_INSTALL_CORDON_SYSTEM_INFRA_COMPONENTS
cordonControlPlane (config file key) cordonSystemInfraComponents
ate.dev/workloadType=ate-control-plane (shared pool label and taint) ate.dev/workloadType=ate-system-infra
manifests/ate-install/components/cordon-control-plane manifests/ate-install/components/cordon-system-infra-components

The postgres pool label ate.dev/workloadType=ate-postgres is unchanged.

The missing postgres pool error linked to docs/upgrade.md#cordoned-control-plane-postgres-pool, which doesn't exist. It now links to the System Infra Isolation section in docs/architecture.md.

AI use: I used Claude Code to make the rename and update the docs and comments, and I reviewed the diff.

Breaking change

Installs that don't use --cordon-control-plane need no action.

Installs that do:

  1. Replace the old flag, env var or config file key with the new one in your scripts and config. The old flag and config key fail with an error. The old env var is ignored silently, and the install would stop cordoning.

  2. Relabel and retaint the shared pool from ate-control-plane to ate-system-infra. Running pods keep running, because node selectors and NoSchedule taints only apply at scheduling. On GKE:

    gcloud container node-pools update <shared pool> --cluster $CLUSTER --location $LOCATION \
      --node-labels ate.dev/workloadType=ate-system-infra
    gcloud container node-pools update <shared pool> --cluster $CLUSTER --location $LOCATION \
      --node-taints ate.dev/workloadType=ate-system-infra:NoSchedule

    Both flags replace the pool's whole set of labels or taints, so include any others the pool carries. gcloud asks for confirmation. Add --quiet to skip it. GKE updates the existing nodes in place.

    On other providers, update the pool's node template the same way. For nodes labeled by hand, overwrite the label and taint in place:

    kubectl label node <node> ate.dev/workloadType=ate-system-infra --overwrite
    kubectl taint node <node> ate.dev/workloadType=ate-system-infra:NoSchedule --overwrite

    Don't remove the old taint before adding the new one. While the node has no taint, DaemonSets such as atelet schedule pods onto it.

  3. Redeploy with ate-setup deploy ate-system --cordon-system-infra-components. The new pods schedule onto the relabeled pool.

Do steps 2 and 3 close together. A system infra pod rescheduled between them stays Pending until step 3.

  • Tests pass
  • Docs updated

@haiyanmeng haiyanmeng changed the title ate-setup: Rename --cordon-control-plane to --cordon-system-infra-components Rename --cordon-control-plane to --cordon-system-infra-components and its node pool label to ate-system-infra Oct 26, 2026
@haiyanmeng haiyanmeng added breaking-change PRs with breaking changes area/dev-infra kind/cleanup Small fixes that are not bugs, for example a typo in a code comment labels Oct 26, 2026
@haiyanmeng
haiyanmeng marked this pull request as ready for review October 26, 2026 17:46

@maxsmythe Max Smythe (maxsmythe) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but needs approval for slush exception (not pure docs/test change)

@haiyanmeng haiyanmeng added this to the M3 milestone Oct 27, 2026
@thockin Tim Hockin (thockin) self-assigned this Oct 27, 2026
@thockin Tim Hockin (thockin) added prio/P0 Highest priority / required for next milestone milestone-ack labels Oct 27, 2026
@haiyanmeng

Copy link
Copy Markdown
Collaborator Author

Rebased the PR to resolve merge conflict.

…ponents

The flag also pins atenet-router and atenet-egress, which are data plane
components, so "control plane" misnamed what it cordons. The env var,
setting key and kustomize component are renamed to match, and the shared
node pool label ate.dev/workloadType=ate-control-plane becomes
ate.dev/workloadType=ate-system-infra.

Installs that use the flag must relabel and retaint the shared pool before
they redeploy. Otherwise the new pods stay Pending.

Signed-off-by: Haiyan Meng <[email protected]>
Say system infra in the cordon component comment, rewrap the size10
postgres comment, and note that the postgres pool goes in the zone of
its volume.

Signed-off-by: Haiyan Meng <[email protected]>
hack/install-ate.sh only forwards to cmd/ate-setup, so ate-setup alone
selects the component.

Signed-off-by: Haiyan Meng <[email protected]>
@haiyanmeng

Copy link
Copy Markdown
Collaborator Author

Ran git rebase --signoff main to add a Signed-off-by line to every commit in the PR.

@thockin

Copy link
Copy Markdown
Collaborator

I don't love "system-infra" just for being long, but whatever. "sysinfra" might have been sufficient. :) Approving

@thockin
Tim Hockin (thockin) added this pull request to the merge queue Oct 27, 2026
@haiyanmeng

Copy link
Copy Markdown
Collaborator Author

I don't love "system-infra" just for being long, but whatever. "sysinfra" might have been sufficient. :) Approving

Naming is hard. Thanks for the review and approval.

Merged via the queue into agent-substrate:main with commit 2e931ec Oct 27, 2026
5 checks passed
@haiyanmeng
haiyanmeng deleted the rename-cordon branch October 27, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/dev-infra breaking-change PRs with breaking changes kind/cleanup Small fixes that are not bugs, for example a typo in a code comment milestone-ack prio/P0 Highest priority / required for next milestone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants