From 170286a427ea97e90ed938673ad1c184b4beca87 Mon Sep 17 00:00:00 2001 From: Marin Salinas Date: Fri, 15 Jan 2021 09:36:56 -0600 Subject: [PATCH] fix: [bsusurrogate] override bsu when omi root device is set --- builder/osc/bsusurrogate/step_register_omi.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/builder/osc/bsusurrogate/step_register_omi.go b/builder/osc/bsusurrogate/step_register_omi.go index cee2eacdb..8f6bb1cfb 100644 --- a/builder/osc/bsusurrogate/step_register_omi.go +++ b/builder/osc/bsusurrogate/step_register_omi.go @@ -114,7 +114,7 @@ func (s *StepRegisterOMI) Cleanup(state multistep.StateBag) { } } -func (s *StepRegisterOMI) combineDevices(snapshotIds map[string]string) []osc.BlockDeviceMappingImage { +func (s *StepRegisterOMI) combineDevices(snapshotIDs map[string]string) []osc.BlockDeviceMappingImage { devices := map[string]osc.BlockDeviceMappingImage{} for _, device := range s.OMIDevices { @@ -125,12 +125,20 @@ func (s *StepRegisterOMI) combineDevices(snapshotIds map[string]string) []osc.Bl // the same name in ami_block_device_mappings, except for the // one designated as the root device in ami_root_device for _, device := range s.LaunchDevices { - snapshotId, ok := snapshotIds[device.DeviceName] + snapshotID, ok := snapshotIDs[device.DeviceName] if ok { - device.Bsu.SnapshotId = snapshotId + device.Bsu.SnapshotId = snapshotID } if device.DeviceName == s.RootDevice.SourceDeviceName { device.DeviceName = s.RootDevice.DeviceName + + if device.Bsu.VolumeType != "" { + device.Bsu.VolumeType = s.RootDevice.VolumeType + if device.Bsu.VolumeType != "io1" { + device.Bsu.Iops = 0 + } + } + } devices[device.DeviceName] = copyToDeviceMappingImage(device) }