undo validation changes

pull/12425/head
Steven Powell 2021-09-10 11:26:19 -07:00
parent 030b3837ab
commit 7dfb817d0f
1 changed files with 19 additions and 37 deletions

View File

@ -1121,7 +1121,25 @@ func validateFlags(cmd *cobra.Command, drvName string) {
if cmd.Flags().Changed(containerRuntime) {
runtime := strings.ToLower(viper.GetString(containerRuntime))
validateContainerRuntime(runtime, drvName)
validOptions := cruntime.ValidRuntimes()
// `crio` is accepted as an alternative spelling to `cri-o`
validOptions = append(validOptions, constants.CRIO)
var validRuntime bool
for _, option := range validOptions {
if runtime == option {
validRuntime = true
}
// Convert `cri-o` to `crio` as the K8s config uses the `crio` spelling
if runtime == "cri-o" {
viper.Set(containerRuntime, constants.CRIO)
}
}
if !validRuntime {
exit.Message(reason.Usage, `Invalid Container Runtime: "{{.runtime}}". Valid runtimes are: {{.validOptions}}`, out.V{"runtime": runtime, "validOptions": strings.Join(cruntime.ValidRuntimes(), ", ")})
}
validateCNI(cmd, runtime)
}
@ -1188,42 +1206,6 @@ func validateFlags(cmd *cobra.Command, drvName string) {
validateInsecureRegistry()
}
func validateContainerRuntime(runtime string, drvName string) {
validOptions := cruntime.ValidRuntimes()
// `crio` is accepted as an alternative spelling to `cri-o`
validOptions = append(validOptions, constants.CRIO)
var validRuntime bool
for _, option := range validOptions {
if runtime == option {
validRuntime = true
}
// Convert `cri-o` to `crio` as the K8s config uses the `crio` spelling
if runtime == "cri-o" {
viper.Set(containerRuntime, constants.CRIO)
}
}
if !validRuntime {
exit.Message(reason.Usage, `Invalid Container Runtime: "{{.runtime}}". Valid runtimes are: {{.validOptions}}`, out.V{"runtime": runtime, "validOptions": strings.Join(cruntime.ValidRuntimes(), ", ")})
}
// cri-o runtime only supports amd64 & arm64 if kicbase driver is used
if runtime != "cri-o" && runtime != constants.CRIO {
return
}
if !driver.IsKIC(drvName) {
return
}
arch := detect.RuntimeArch()
if arch != "amd64" && arch != "arm64" {
return
}
exit.Message(reason.Usage, `Invalid Container Runtime: "{{.runtime}}". When using a kicbase driver (docker & podman), {{.runtime}} is only supported on amd64 & arm64, use docker or containerd instead.`, out.V{"runtime": runtime})
}
// if container runtime is not docker, check that cni is not disabled
func validateCNI(cmd *cobra.Command, runtime string) {
if runtime == "docker" {