diff --git a/engine/resources/virt_builder.go b/engine/resources/virt_builder.go index 8a6d28f9..6a7f0ebb 100644 --- a/engine/resources/virt_builder.go +++ b/engine/resources/virt_builder.go @@ -574,8 +574,14 @@ func (obj *VirtBuilderRes) CheckApply(ctx context.Context, apply bool) (bool, er "--enable", // start on first boot! fmt.Sprintf("--binary-path=%s", m), "--no-server", // TODO: hardcode this for now - fmt.Sprintf("--seeds=%s", strings.Join(obj.Seeds, ",")), + //fmt.Sprintf("--seeds=%s", strings.Join(obj.Seeds, ",")), } + for _, seed := range obj.Seeds { + // TODO: validate each seed? + s := fmt.Sprintf("--seeds=%s", seed) + setupSvc = append(setupSvc, s) + } + setupSvcCmd := strings.Join(setupSvc, " ") args := []string{"--run-command", setupSvcCmd} // cmd must be a single string cmdArgs = append(cmdArgs, args...) diff --git a/integration/instance.go b/integration/instance.go index e2448b0f..ba9e0c55 100644 --- a/integration/instance.go +++ b/integration/instance.go @@ -261,11 +261,10 @@ func (obj *Instance) Run(seeds []*Instance) error { return fmt.Errorf("instance `%s` has not started yet", instance.Hostname) } urls = append(urls, instance.clientURL) + + s := fmt.Sprintf("--seeds=%s", instance.clientURL) + cmdArgs = append(cmdArgs, s) } - s := fmt.Sprintf("--seeds=%s", urls[0]) - // TODO: we could just add all the seeds instead... - //s := fmt.Sprintf("--seeds=%s", strings.Join(urls, ",")) - cmdArgs = append(cmdArgs, s) } if obj.EtcdServer { cmdArgs = append(cmdArgs, "--no-server") diff --git a/setup/svc.go b/setup/svc.go index e8109408..c15d659b 100644 --- a/setup/svc.go +++ b/setup/svc.go @@ -115,9 +115,9 @@ func (obj *Svc) Run(ctx context.Context) error { argv = append(argv, fmt.Sprintf("--ssh-url=%s", s)) } - if seeds := obj.SetupSvcArgs.Seeds; len(seeds) > 0 { + for _, seed := range obj.SetupSvcArgs.Seeds { // TODO: validate each seed? - s := fmt.Sprintf("--seeds=%s", strings.Join(seeds, ",")) + s := fmt.Sprintf("--seeds=%s", seed) argv = append(argv, s) }