From 8af852ff63b5e38f914d986c5ec77ec0c1b92008 Mon Sep 17 00:00:00 2001 From: Andreas Sommer Date: Wed, 2 Jul 2025 11:17:48 +0200 Subject: [PATCH] Add feature gate environment variable for machine pool machines --- config/manager/manager.yaml | 2 +- docs/book/src/development/tilt-setup.md | 1 + docs/book/src/topics/machinepools.md | 4 ++++ docs/book/src/topics/reference/reference.md | 3 ++- test/e2e/data/e2e_conf.yaml | 1 + test/e2e/data/e2e_eks_conf.yaml | 1 + 6 files changed, 10 insertions(+), 2 deletions(-) diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 18c5547f53..802b8b23ae 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -19,7 +19,7 @@ spec: containers: - args: - "--leader-elect" - - "--feature-gates=EKS=${CAPA_EKS:=true},EKSEnableIAM=${CAPA_EKS_IAM:=false},EKSAllowAddRoles=${CAPA_EKS_ADD_ROLES:=false},EKSFargate=${EXP_EKS_FARGATE:=false},MachinePool=${EXP_MACHINE_POOL:=false},EventBridgeInstanceState=${EVENT_BRIDGE_INSTANCE_STATE:=false},AutoControllerIdentityCreator=${AUTO_CONTROLLER_IDENTITY_CREATOR:=true},BootstrapFormatIgnition=${EXP_BOOTSTRAP_FORMAT_IGNITION:=false},ExternalResourceGC=${EXTERNAL_RESOURCE_GC:=true},AlternativeGCStrategy=${ALTERNATIVE_GC_STRATEGY:=false},TagUnmanagedNetworkResources=${TAG_UNMANAGED_NETWORK_RESOURCES:=true},ROSA=${EXP_ROSA:=false}" + - "--feature-gates=EKS=${CAPA_EKS:=true},EKSEnableIAM=${CAPA_EKS_IAM:=false},EKSAllowAddRoles=${CAPA_EKS_ADD_ROLES:=false},EKSFargate=${EXP_EKS_FARGATE:=false},MachinePool=${EXP_MACHINE_POOL:=false},MachinePoolMachines=${EXP_MACHINE_POOL_MACHINES:=false},EventBridgeInstanceState=${EVENT_BRIDGE_INSTANCE_STATE:=false},AutoControllerIdentityCreator=${AUTO_CONTROLLER_IDENTITY_CREATOR:=true},BootstrapFormatIgnition=${EXP_BOOTSTRAP_FORMAT_IGNITION:=false},ExternalResourceGC=${EXTERNAL_RESOURCE_GC:=true},AlternativeGCStrategy=${ALTERNATIVE_GC_STRATEGY:=false},TagUnmanagedNetworkResources=${TAG_UNMANAGED_NETWORK_RESOURCES:=true},ROSA=${EXP_ROSA:=false}" - "--v=${CAPA_LOGLEVEL:=0}" - "--diagnostics-address=${CAPA_DIAGNOSTICS_ADDRESS:=:8443}" - "--insecure-diagnostics=${CAPA_INSECURE_DIAGNOSTICS:=false}" diff --git a/docs/book/src/development/tilt-setup.md b/docs/book/src/development/tilt-setup.md index 97989588a1..41737e2621 100644 --- a/docs/book/src/development/tilt-setup.md +++ b/docs/book/src/development/tilt-setup.md @@ -52,6 +52,7 @@ Next, create a `tilt-settings.json` file and place it in your local copy of `clu "kustomize_substitutions": { "EXP_CLUSTER_RESOURCE_SET": "true", "EXP_MACHINE_POOL": "true", + "EXP_MACHINE_POOL_MACHINES": "true", "EVENT_BRIDGE_INSTANCE_STATE": "true", "AWS_B64ENCODED_CREDENTIALS": "W2RlZmFZSZnRg==", "EXP_EKS_FARGATE": "false", diff --git a/docs/book/src/topics/machinepools.md b/docs/book/src/topics/machinepools.md index e48ff54051..82dc33d8ee 100644 --- a/docs/book/src/topics/machinepools.md +++ b/docs/book/src/topics/machinepools.md @@ -148,3 +148,7 @@ When using GitOps, make sure to ignore differences in `spec.replicas` on Machine jsonPointers: - /spec/replicas ``` + +## Machine pool machines + +With the feature gate `MachinePoolMachines=true`, you can enable creation of `Machine`/`AWSMachine` objects for nodes created by a `AWSMachinePool`. This is experimental and will be used to introduce features such as per-node health checks. diff --git a/docs/book/src/topics/reference/reference.md b/docs/book/src/topics/reference/reference.md index 05467b9579..af2ce4a9db 100644 --- a/docs/book/src/topics/reference/reference.md +++ b/docs/book/src/topics/reference/reference.md @@ -9,10 +9,11 @@ | EKSAllowAddRoles | CAPA_EKS_ADD_ROLES | false | | EKSFargate | EXP_EKS_FARGATE | false | | MachinePool | EXP_MACHINE_POOL | false | +| MachinePoolMachines | EXP_MACHINE_POOL_MACHINES | false | | EventBridgeInstanceState | EVENT_BRIDGE_INSTANCE_STATE | false | | AutoControllerIdentityCreator | AUTO_CONTROLLER_IDENTITY_CREATOR | true | | BootstrapFormatIgnition | EXP_BOOTSTRAP_FORMAT_IGNITION | false | | ExternalResourceGC | EXP_EXTERNAL_RESOURCE_GC | false | | AlternativeGCStrategy | EXP_ALTERNATIVE_GC_STRATEGY | false | | TagUnmanagedNetworkResources | TAG_UNMANAGED_NETWORK_RESOURCES | true | -| ROSA | EXP_ROSA | false | \ No newline at end of file +| ROSA | EXP_ROSA | false | diff --git a/test/e2e/data/e2e_conf.yaml b/test/e2e/data/e2e_conf.yaml index 2bce7f423b..d6e3838b2d 100644 --- a/test/e2e/data/e2e_conf.yaml +++ b/test/e2e/data/e2e_conf.yaml @@ -209,6 +209,7 @@ variables: # Enabling the feature flags by setting the env variables. EXP_CLUSTER_RESOURCE_SET: "true" EXP_MACHINE_POOL: "true" + EXP_MACHINE_POOL_MACHINES: "true" CLUSTER_TOPOLOGY: "true" INIT_WITH_BINARY_V1BETA1: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.2.0/clusterctl-{OS}-{ARCH}" # INIT_WITH_KUBERNETES_VERSION are only used by the clusterctl upgrade test to initialize diff --git a/test/e2e/data/e2e_eks_conf.yaml b/test/e2e/data/e2e_eks_conf.yaml index 173223b15e..4697f9b7fe 100644 --- a/test/e2e/data/e2e_eks_conf.yaml +++ b/test/e2e/data/e2e_eks_conf.yaml @@ -123,6 +123,7 @@ variables: UPGRADE_TO_VERSION: "v1.32.0" UPGRADE_FROM_VERSION: "v1.31.0" EXP_MACHINE_POOL: "true" + EXP_MACHINE_POOL_MACHINES: "true" EXP_CLUSTER_RESOURCE_SET: "true" EVENT_BRIDGE_INSTANCE_STATE: "true" AWS_NODE_MACHINE_TYPE: t3.large