"By default, verify that client and server have exact version match. "+
"You can explicitly set to false if you're, e.g., testing client changes "+
"for which the server version doesn't make a difference.")
checkLeakedResources=flag.Bool("check_leaked_resources",false,"Ensure project ends with the same resources")
deployment=flag.String("deployment","bash","up/down mechanism (defaults to cluster/kube-{up,down}.sh) (choices: bash/kops/kubernetes-anywhere)")
down=flag.Bool("down",false,"If true, tear down the cluster before exiting.")
dump=flag.String("dump","","If set, dump cluster logs to this location on test or cluster-up failure")
kubemark=flag.Bool("kubemark",false,"If true, run kubemark tests.")
skewTests=flag.Bool("skew",false,"If true, run tests in another version at ../kubernetes/hack/e2e.go")
testArgs=flag.String("test_args","","Space-separated list of arguments to pass to Ginkgo test runner.")
test=flag.Bool("test",false,"Run Ginkgo tests.")
timeout=flag.Duration("timeout",time.Duration(0),"Terminate testing after the timeout duration (s/m/h)")
up=flag.Bool("up",false,"If true, start the the e2e cluster. If cluster is already up, recreate it.")
upgradeArgs=flag.String("upgrade_args","","If set, run upgrade tests before other tests")
verbose=flag.Bool("v",false,"If true, print all command output.")
// kops specific flags.
kopsPath=flag.String("kops","","(kops only) Path to the kops binary. Must be set for kops.")
kopsCluster=flag.String("kops-cluster","","(kops only) Cluster name. Must be set for kops.")
kopsState=flag.String("kops-state",os.Getenv("KOPS_STATE_STORE"),"(kops only) s3:// path to kops state store. Must be set. (This flag defaults to $KOPS_STATE_STORE, and overrides it if set.)")
kopsSSHKey=flag.String("kops-ssh-key",os.Getenv("AWS_SSH_KEY"),"(kops only) Path to ssh key-pair for each node. (Defaults to $AWS_SSH_KEY or '~/.ssh/kube_aws_rsa'.)")
kopsKubeVersion=flag.String("kops-kubernetes-version","","(kops only) If set, the version of Kubernetes to deploy (can be a URL to a GCS path where the release is stored) (Defaults to kops default, latest stable release.).")
kopsZones=flag.String("kops-zones","us-west-2a","(kops AWS only) AWS zones for kops deployment, comma delimited.")
kopsNodes=flag.Int("kops-nodes",2,"(kops only) Number of nodes to create.")
kopsUpTimeout=flag.Duration("kops-up-timeout",20*time.Minute,"(kops only) Time limit between 'kops config / kops update' and a response from the Kubernetes API.")
kopsAdminAccess=flag.String("kops-admin-access","","(kops only) If set, restrict apiserver access to this CIDR range.")
// kubernetes-anywhere specific flags.
kubernetesAnywherePath=flag.String("kubernetes-anywhere-path","","(kubernetes-anywhere only) Path to the kubernetes-anywhere directory. Must be set for kubernetes-anywhere.")
kubernetesAnywherePhase2Provider=flag.String("kubernetes-anywhere-phase2-provider","ignition","(kubernetes-anywhere only) Provider for phase2 bootstrapping. (Defaults to ignition).")
kubernetesAnywhereCluster=flag.String("kubernetes-anywhere-cluster","","(kubernetes-anywhere only) Cluster name. Must be set for kubernetes-anywhere.")
kubernetesAnywhereUpTimeout=flag.Duration("kubernetes-anywhere-up-timeout",20*time.Minute,"(kubernetes-anywhere only) Time limit between starting a cluster and making a successful call to the Kubernetes API.")
// Deprecated flags.
deprecatedPush=flag.Bool("push",false,"Deprecated. Does nothing.")
deprecatedPushup=flag.Bool("pushup",false,"Deprecated. Does nothing.")
deprecatedCtlCmd=flag.String("ctl","","Deprecated. Does nothing.")