aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/instance/instance.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-05-10 11:06:17 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-05-10 11:06:17 +0200
commit8f24b7d63ed022019c9c221a7e9b54ec1c11f533 (patch)
tree0176351a3a0883f2369c779864a6067f35023f1d /pkg/instance/instance.go
parent4e7ecf0713aa5b07b0e2b9fffb6d6e51f759900d (diff)
syz-ci: always use 10 VMs for bisection
If a manager has less then 10 VMs override it to 10 for bisection. If a manager has only 1 VM, bisection won't end well.
Diffstat (limited to 'pkg/instance/instance.go')
-rw-r--r--pkg/instance/instance.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go
index d92c25cfa..30d0cbe4b 100644
--- a/pkg/instance/instance.go
+++ b/pkg/instance/instance.go
@@ -123,6 +123,23 @@ func SetConfigImage(cfg *mgrconfig.Config, imageDir string, reliable bool) error
return nil
}
+func OverrideVMCount(cfg *mgrconfig.Config, n int) error {
+ vmConfig := make(map[string]interface{})
+ if err := json.Unmarshal(cfg.VM, &vmConfig); err != nil {
+ return fmt.Errorf("failed to parse VM config: %v", err)
+ }
+ if vmConfig["count"] == "" || !vm.AllowsOvercommit(cfg.Type) {
+ return nil
+ }
+ vmConfig["count"] = fmt.Sprint(n)
+ vmCfg, err := json.Marshal(vmConfig)
+ if err != nil {
+ return fmt.Errorf("failed to serialize VM config: %v", err)
+ }
+ cfg.VM = vmCfg
+ return nil
+}
+
type TestError struct {
Boot bool // says if the error happened during booting or during instance testing
Title string