From 461367ad1cbaa7ac7d97432f599ff51073d3bb1b Mon Sep 17 00:00:00 2001 From: Dom Del Nano Date: Sat, 15 Apr 2023 14:49:11 -0700 Subject: [PATCH] Move create instance step to common directory --- .../{iso => common}/step_create_instance.go | 23 +++++++++---------- builder/xenserver/iso/builder.go | 2 +- 2 files changed, 12 insertions(+), 13 deletions(-) rename builder/xenserver/{iso => common}/step_create_instance.go (91%) diff --git a/builder/xenserver/iso/step_create_instance.go b/builder/xenserver/common/step_create_instance.go similarity index 91% rename from builder/xenserver/iso/step_create_instance.go rename to builder/xenserver/common/step_create_instance.go index df6702a..8f3611a 100644 --- a/builder/xenserver/iso/step_create_instance.go +++ b/builder/xenserver/common/step_create_instance.go @@ -1,4 +1,4 @@ -package iso +package common import ( "context" @@ -9,18 +9,17 @@ import ( "github.com/hashicorp/packer-plugin-sdk/packer" xenapi "github.com/terra-farm/go-xen-api-client" xsclient "github.com/terra-farm/go-xen-api-client" - xscommon "github.com/xenserver/packer-builder-xenserver/builder/xenserver/common" ) -type stepCreateInstance struct { +type StepCreateInstance struct { instance *xsclient.VMRef vdi *xsclient.VDIRef } -func (self *stepCreateInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { +func (self *StepCreateInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { - c := state.Get("client").(*xscommon.Connection) - config := state.Get("config").(xscommon.Config) + c := state.Get("client").(*Connection) + config := state.Get("config").(Config) ui := state.Get("ui").(packer.Ui) ui.Say("Step: Create Instance") @@ -134,7 +133,7 @@ func (self *stepCreateInstance) Run(ctx context.Context, state multistep.StateBa } self.vdi = &vdi - err = xscommon.ConnectVdi(c, instance, vdi, xsclient.VbdTypeDisk) + err = ConnectVdi(c, instance, vdi, xsclient.VbdTypeDisk) if err != nil { ui.Error(fmt.Sprintf("Unable to connect packer disk VDI: %s", err.Error())) return multistep.ActionHalt @@ -174,7 +173,7 @@ func (self *stepCreateInstance) Run(ctx context.Context, state multistep.StateBa } log.Printf("Creating VIF on network '%s' on VM '%s'\n", network, instance) - _, err = xscommon.ConnectNetwork(c, network, instance, "0") + _, err = ConnectNetwork(c, network, instance, "0") if err != nil { ui.Error(fmt.Sprintf("Failed to create VIF with error: %v", err)) @@ -203,7 +202,7 @@ func (self *stepCreateInstance) Run(ctx context.Context, state multistep.StateBa //we need the VIF index string vifIndexString := fmt.Sprintf("%d", i) - _, err = xscommon.ConnectNetwork(c, networks[0], instance, vifIndexString) + _, err = ConnectNetwork(c, networks[0], instance, vifIndexString) if err != nil { ui.Say(fmt.Sprintf("Failed to connect VIF with error: %v", err.Error())) @@ -223,14 +222,14 @@ func (self *stepCreateInstance) Run(ctx context.Context, state multistep.StateBa return multistep.ActionContinue } -func (self *stepCreateInstance) Cleanup(state multistep.StateBag) { - config := state.Get("config").(xscommon.Config) +func (self *StepCreateInstance) Cleanup(state multistep.StateBag) { + config := state.Get("config").(Config) if config.ShouldKeepVM(state) { return } ui := state.Get("ui").(packer.Ui) - c := state.Get("client").(*xscommon.Connection) + c := state.Get("client").(*Connection) if self.instance != nil { ui.Say("Destroying VM") diff --git a/builder/xenserver/iso/builder.go b/builder/xenserver/iso/builder.go index 9a0d1d1..055d001 100644 --- a/builder/xenserver/iso/builder.go +++ b/builder/xenserver/iso/builder.go @@ -235,7 +235,7 @@ func (self *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (p VdiName: self.config.ISOName, VdiUuidKey: "isoname_vdi_uuid", }, - new(stepCreateInstance), + new(xscommon.StepCreateInstance), &xscommon.StepAttachVdi{ VdiUuidKey: "floppy_vdi_uuid", VdiType: xsclient.VbdTypeFloppy,