Merge pull request #4600 from mitchellh/ebssurrogate-duplicate-root-volume

builder/amazon-ebssurrogate: Exclude duplicate root volume
This commit is contained in:
Matthew Hooker 2017-02-27 10:33:45 -08:00 committed by GitHub
commit c7b4e58ed4
1 changed files with 11 additions and 3 deletions

View File

@ -24,15 +24,23 @@ func (s *StepRegisterAMI) Run(state multistep.StateBag) multistep.StepAction {
ui.Say("Registering the AMI...") ui.Say("Registering the AMI...")
blockDevices := s.BlockDevices blockDevicesExcludingRoot := make([]*ec2.BlockDeviceMapping, 0, len(s.BlockDevices)-1)
blockDevices = append(blockDevices, s.RootDevice.createBlockDeviceMapping(snapshotId)) for _, blockDevice := range s.BlockDevices {
if *blockDevice.DeviceName == s.RootDevice.SourceDeviceName {
continue
}
blockDevicesExcludingRoot = append(blockDevicesExcludingRoot, blockDevice)
}
blockDevicesExcludingRoot = append(blockDevicesExcludingRoot, s.RootDevice.createBlockDeviceMapping(snapshotId))
registerOpts := &ec2.RegisterImageInput{ registerOpts := &ec2.RegisterImageInput{
Name: &config.AMIName, Name: &config.AMIName,
Architecture: aws.String(ec2.ArchitectureValuesX8664), Architecture: aws.String(ec2.ArchitectureValuesX8664),
RootDeviceName: aws.String(s.RootDevice.DeviceName), RootDeviceName: aws.String(s.RootDevice.DeviceName),
VirtualizationType: aws.String(config.AMIVirtType), VirtualizationType: aws.String(config.AMIVirtType),
BlockDeviceMappings: blockDevices, BlockDeviceMappings: blockDevicesExcludingRoot,
} }
if config.AMIEnhancedNetworking { if config.AMIEnhancedNetworking {