From b68f214ca49143c91e1f593b2c19f4cabb69dcbe Mon Sep 17 00:00:00 2001 From: Matthew Hooker Date: Fri, 7 Sep 2018 11:40:20 -0700 Subject: [PATCH] add boot volume to builder instance --- builder/oracle/classic/builder.go | 7 +++++++ builder/oracle/classic/config.go | 2 ++ builder/oracle/classic/step_create_pv_builder.go | 11 ++++++++--- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/builder/oracle/classic/builder.go b/builder/oracle/classic/builder.go index 6d21dd117..d1dde8293 100644 --- a/builder/oracle/classic/builder.go +++ b/builder/oracle/classic/builder.go @@ -82,6 +82,12 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe sourceImageList: b.config.SourceImageList, bootable: true, }, + &stepCreatePersistentVolume{ + volumeSize: fmt.Sprintf("%d", b.config.PersistentVolumeSize), + volumeName: fmt.Sprintf("builder-boot_%s", runID), + sourceImageList: b.config.SourceImageList, + bootable: true, + }, &stepCreatePersistentVolume{ volumeSize: fmt.Sprintf("%d", b.config.PersistentVolumeSize*2), volumeName: fmt.Sprintf("builder-storage_%s", runID), @@ -109,6 +115,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe name: fmt.Sprintf("builder-instance_%s", runID), masterVolumeName: fmt.Sprintf("master-storage_%s", runID), builderVolumeName: fmt.Sprintf("builder-storage_%s", runID), + builderBootName: fmt.Sprintf("builder-boot_%s", runID), }, &communicator.StepConnect{ Config: &b.config.Comm, diff --git a/builder/oracle/classic/config.go b/builder/oracle/classic/config.go index b15ea0de2..a7250b4f8 100644 --- a/builder/oracle/classic/config.go +++ b/builder/oracle/classic/config.go @@ -31,6 +31,8 @@ type Config struct { // Image // PersistentVolumeSize lets us control the volume size by using persistent boot storage PersistentVolumeSize int `mapstructure:"persistent_volume_size"` + //TODO + // builder image ImageName string `mapstructure:"image_name"` Shape string `mapstructure:"shape"` diff --git a/builder/oracle/classic/step_create_pv_builder.go b/builder/oracle/classic/step_create_pv_builder.go index 96e189209..a0b044a89 100644 --- a/builder/oracle/classic/step_create_pv_builder.go +++ b/builder/oracle/classic/step_create_pv_builder.go @@ -13,6 +13,7 @@ type stepCreatePVBuilder struct { name string masterVolumeName string builderVolumeName string + builderBootName string } func (s *stepCreatePVBuilder) Run(_ context.Context, state multistep.StateBag) multistep.StepAction { @@ -40,15 +41,19 @@ func (s *stepCreatePVBuilder) Run(_ context.Context, state multistep.StateBag) m }, Storage: []compute.StorageAttachmentInput{ { - Volume: s.builderVolumeName, + Volume: s.builderBootName, Index: 1, }, { - Volume: s.masterVolumeName, + Volume: s.builderVolumeName, Index: 2, }, + { + Volume: s.masterVolumeName, + Index: 3, + }, }, - ImageList: config.SourceImageList, + BootOrder: []int{1}, Attributes: config.attribs, SSHKeys: []string{config.Comm.SSHKeyPairName}, }