Add --create-args kubetest2 flag

This allows us to customize the images, instance types, etc.

kubetest (1) named this --kops-args, I think --create-args is more appropriate because its only passed to `create cluster`
This commit is contained in:
Peter Rifel 2021-01-25 17:48:54 -06:00
parent a4e611aa36
commit 39537d7190
No known key found for this signature in database
GPG Key ID: BC6469E5B16DB2B6
2 changed files with 7 additions and 0 deletions

View File

@ -47,6 +47,7 @@ type deployer struct {
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"`
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"`
Networking string `flag:"networking" desc:"The networking mode to use"`
StateStore string `flag:"-"`

View File

@ -129,6 +129,12 @@ func (d *deployer) createCluster(zones []string, adminAccess string) error {
args = append(args, "--networking", d.Networking)
}
if d.CreateArgs != "" {
// TODO: we should only set the above flags if they're not in CreateArgs
// allowing any flag to be overridden
args = append(args, strings.Split(d.CreateArgs, " ")...)
}
klog.Info(strings.Join(args, " "))
cmd := exec.Command(args[0], args[1:]...)
cmd.SetEnv(d.env()...)