From bc67d458be2e45d28a0c47e7779c95f04bf0129b Mon Sep 17 00:00:00 2001 From: Ole Markus With Date: Sat, 18 Jun 2022 15:51:56 +0200 Subject: [PATCH] Add kubetest2 deployer option for the control plane size --- tests/e2e/kubetest2-kops/deployer/common.go | 4 ++++ tests/e2e/kubetest2-kops/deployer/deployer.go | 15 ++++++++------- tests/e2e/kubetest2-kops/deployer/up.go | 4 ++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/tests/e2e/kubetest2-kops/deployer/common.go b/tests/e2e/kubetest2-kops/deployer/common.go index fc03d86e0f..2d1fb9559e 100644 --- a/tests/e2e/kubetest2-kops/deployer/common.go +++ b/tests/e2e/kubetest2-kops/deployer/common.go @@ -157,6 +157,10 @@ func (d *deployer) verifyKopsFlags() error { return errors.New("missing required --kops-binary-path when --kops-version-marker is not used") } + if d.ControlPlaneSize == 0 { + d.ControlPlaneSize = 1 + } + switch d.CloudProvider { case "aws": case "gce": diff --git a/tests/e2e/kubetest2-kops/deployer/deployer.go b/tests/e2e/kubetest2-kops/deployer/deployer.go index 8e57e789e8..5ad0289636 100644 --- a/tests/e2e/kubetest2-kops/deployer/deployer.go +++ b/tests/e2e/kubetest2-kops/deployer/deployer.go @@ -48,13 +48,14 @@ type deployer struct { KopsBaseURL string `flag:"-"` PublishVersionMarker string `flag:"publish-version-marker" desc:"The GCS path to which the --kops-version-marker is uploaded if the tests pass"` - ClusterName string `flag:"cluster-name" desc:"The FQDN to use for the cluster name"` - CloudProvider string `flag:"cloud-provider" desc:"Which cloud provider to use"` - GCPProject string `flag:"gcp-project" desc:"Which GCP Project to use when --cloud-provider=gce"` - Env []string `flag:"env" desc:"Additional env vars to set for kops commands in NAME=VALUE format"` - CreateArgs string `flag:"create-args" desc:"Extra space-separated arguments passed to 'kops create cluster'"` - KopsBinaryPath string `flag:"kops-binary-path" desc:"The path to kops executable used for testing"` - createBucket bool `flag:"-"` + ClusterName string `flag:"cluster-name" desc:"The FQDN to use for the cluster name"` + ControlPlaneSize int `flag:"control-plane-size" desc:"Number of control plane instances"` + CloudProvider string `flag:"cloud-provider" desc:"Which cloud provider to use"` + GCPProject string `flag:"gcp-project" desc:"Which GCP Project to use when --cloud-provider=gce"` + Env []string `flag:"env" desc:"Additional env vars to set for kops commands in NAME=VALUE format"` + CreateArgs string `flag:"create-args" desc:"Extra space-separated arguments passed to 'kops create cluster'"` + KopsBinaryPath string `flag:"kops-binary-path" desc:"The path to kops executable used for testing"` + createBucket bool `flag:"-"` ControlPlaneIGOverrides []string `flag:"control-plane-instance-group-overrides" desc:"overrides for the control plane instance groups"` NodeIGOverrides []string `flag:"node-instance-group-overrides" desc:"overrides for the node instance groups"` diff --git a/tests/e2e/kubetest2-kops/deployer/up.go b/tests/e2e/kubetest2-kops/deployer/up.go index 57901add3d..e294d3be46 100644 --- a/tests/e2e/kubetest2-kops/deployer/up.go +++ b/tests/e2e/kubetest2-kops/deployer/up.go @@ -127,7 +127,7 @@ func (d *deployer) createCluster(zones []string, adminAccess string, yes bool) e args = append(args, createArgs...) } args = appendIfUnset(args, "--admin-access", adminAccess) - args = appendIfUnset(args, "--master-count", "1") + args = appendIfUnset(args, "--master-count", fmt.Sprintf("%d", d.ControlPlaneSize)) args = appendIfUnset(args, "--master-volume-size", "48") args = appendIfUnset(args, "--node-count", "4") args = appendIfUnset(args, "--node-volume-size", "48") @@ -273,7 +273,7 @@ func (d *deployer) verifyUpFlags() error { func (d *deployer) zones() ([]string, error) { switch d.CloudProvider { case "aws": - return aws.RandomZones(1) + return aws.RandomZones(d.ControlPlaneSize) case "gce": return gce.RandomZones(1) case "digitalocean":