diff --git a/driver/flag_processing.go b/driver/flag_processing.go index 0b882467669a6ba97e962a37294e9babc4580dbf..4e7622fe72f2a39dda0d823e875e405225586d48 100644 --- a/driver/flag_processing.go +++ b/driver/flag_processing.go @@ -8,6 +8,22 @@ import ( "strings" ) +var legacyDefaultImages = [...]string{ + defaultImage, + "ubuntu-18.04", + "ubuntu-16.04", + "debian-9", +} + +func isDefaultImageName(imageName string) bool { + for _, defaultImage := range legacyDefaultImages { + if imageName == defaultImage { + return true + } + } + return false +} + func (d *Driver) setImageArch(arch string) error { switch arch { case "": @@ -23,7 +39,7 @@ func (d *Driver) setImageArch(arch string) error { } func (d *Driver) verifyImageFlags() error { - if d.ImageID != 0 && d.Image != "" && d.Image != defaultImage /* support legacy behaviour */ { + if d.ImageID != 0 && d.Image != "" && !isDefaultImageName(d.Image) /* support legacy behaviour */ { return d.flagFailure("--%v and --%v are mutually exclusive", flagImage, flagImageID) } else if d.ImageID != 0 && d.ImageArch != "" { return d.flagFailure("--%v and --%v are mutually exclusive", flagImageArch, flagImageID)