From 8f24b7d63ed022019c9c221a7e9b54ec1c11f533 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 10 May 2019 11:06:17 +0200 Subject: 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. --- pkg/instance/instance.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'pkg/instance/instance.go') 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 -- cgit mrf-deployment