Skip to content

Commit 5a4772a

Browse files
authored
Merge pull request #1575 from AkihiroSuda/vz-faily-early-invalid-arch
vz: fail early when arch is invalid
2 parents 3b6de79 + fecf6ed commit 5a4772a

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

pkg/limayaml/validate.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,17 @@ func Validate(y LimaYAML, warn bool) error {
4848
return fmt.Errorf("field `arch` must be %q, %q, or %q; got %q", X8664, AARCH64, RISCV64, *y.Arch)
4949
}
5050

51+
switch *y.VMType {
52+
case QEMU:
53+
// NOP
54+
case VZ:
55+
if !IsNativeArch(*y.Arch) {
56+
return fmt.Errorf("field `arch` must be %q for VZ; got %q", NewArch(runtime.GOARCH), *y.Arch)
57+
}
58+
default:
59+
return fmt.Errorf("field `vmType` must be %q or %q; got %q", QEMU, VZ, *y.VMType)
60+
}
61+
5162
if len(y.Images) == 0 {
5263
return errors.New("field `images` must be set")
5364
}

pkg/vz/vz_driver_darwin.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ func (l *LimaVzDriver) Validate() error {
7676
logrus.Warnf("Ignoring: vmType %s: %+v", *l.Yaml.VMType, unknown)
7777
}
7878

79+
if !limayaml.IsNativeArch(*l.Yaml.Arch) {
80+
return fmt.Errorf("unsupported arch: %q", *l.Yaml.Arch)
81+
}
82+
7983
for k, v := range l.Yaml.CPUType {
8084
if v != "" {
8185
logrus.Warnf("Ignoring: vmType %s: cpuType[%q]: %q", *l.Yaml.VMType, k, v)

0 commit comments

Comments
 (0)