From cbbbc451b5bc4857bb626007bc1d6b91abc2693f Mon Sep 17 00:00:00 2001 From: bh9 Date: Mon, 1 Apr 2019 11:43:21 +0100 Subject: [PATCH] Allow both ports and networks in openstack builder Current code would throw an index out of range exception when trying to access `s.Networks[len(s.Networks)]` when `len(s.Ports)>0` and would ignore the first `len(s.Ports)` entries of `s.Networks`, fix by shifting access to `s.Networks` back by `len(s.Ports)` so that the final read is `networks[len(s.Networks)+len(s.Ports)-1].UUID=s.Networks[len(s.Networks)+len(s.Ports)-1-len(s.Ports)]` which is necessarily the last member of `s.Networks` --- builder/openstack/step_run_source_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/openstack/step_run_source_server.go b/builder/openstack/step_run_source_server.go index 00c5420a0..fc108b098 100644 --- a/builder/openstack/step_run_source_server.go +++ b/builder/openstack/step_run_source_server.go @@ -48,7 +48,7 @@ func (s *StepRunSourceServer) Run(_ context.Context, state multistep.StateBag) m networks[i].Port = s.Ports[i] } for ; i < len(networks); i++ { - networks[i].UUID = s.Networks[i] + networks[i].UUID = s.Networks[i-len(s.Ports)] } userData := []byte(s.UserData)