Hi there,
I'm having issues with detaching an ephemeral disk on an existing AMI during the build process.
I've got the following in the template:
"launch_block_device_mappings": [
{
"device_name": "/dev/sda",
"volume_size": 20,
"delete_on_termination": true
},
{
"device_name": "/dev/sdb",
"no_device": true
}
],
"ami_block_device_mappings": [
{
"device_name": "/dev/sda",
"volume_size": 20,
"delete_on_termination": true
},
{
"device_name": "/dev/sdb",
"no_device": true
}
]
If I enable debugging, the following is shown:
2013/11/05 11:39:22 /usr/local/packer/packer-builder-amazon-ebs: 2013/11/05 11:39:22 Config: {PackerConfig:{PackerBuildName:amazon-ebs PackerBuilderType:amazon-ebs PackerDebug:false PackerForce:false PackerUserVars:map[aws_access_key: aws_secret_key: } AccessConfig:{AccessKey:[] SecretKey:[] RawRegion:eu-west-1} AMIConfig:{AMIName:VPC-BASE-AMI-1383651562 AMIDescription:VPC-BASE-AMI-1383651562 AMIUsers:[] AMIGroups:[] AMIProductCodes:[] AMIRegions:[] AMITags:map[Name:VPC-BASE-AMI-1383651562]} BlockDevices:{AMIMappings:[{DeviceName:/dev/sda VirtualName: SnapshotId: VolumeType: VolumeSize:20 DeleteOnTermination:true IOPS:0 NoDevice:false} {DeviceName:/dev/sdb VirtualName: SnapshotId: VolumeType: VolumeSize:0 DeleteOnTermination:false IOPS:0 NoDevice:true}] LaunchMappings:[{DeviceName:/dev/sda VirtualName: SnapshotId: VolumeType: VolumeSize:20 DeleteOnTermination:true IOPS:0 NoDevice:false} {DeviceName:/dev/sdb VirtualName: SnapshotId: VolumeType: VolumeSize:0 DeleteOnTermination:false IOPS:0 NoDevice:true}]} RunConfig:{SourceAmi:ami-8aa3a8fe IamInstanceProfile: InstanceType:t1.micro UserData:{ UserDataFile: RawSSHTimeout:5m SSHUsername:ec2-user SSHPort:22 SecurityGroupId:sg-1ab04675 SubnetId:subnet-41cf9a2a TemporaryKeyPairName:packer 5278d8ea-9acb-0442-f0c5-341eaa209b8e VpcId: sshTimeout:300000000000} tpl:0xc2100d1c60}
2013/11/05 11:39:22 /usr/local/packer/packer-command-build: 2013/11/05 11:39:22 Waiting on builds to complete...
2013/11/05 11:39:22 /usr/local/packer/packer-command-build: 2013/11/05 11:39:22 Starting build run: amazon-ebs
2013/11/05 11:39:22 /usr/local/packer/packer-command-build: 2013/11/05 11:39:22 Running builder: amazon-ebs
==> amazon-ebs: Creating temporary keypair: packer 5278d8ea-9acb-0442-f0c5-341eaa209b8e
2013/11/05 11:39:22 ui: ==> amazon-ebs: Creating temporary keypair: packer 5278d8ea-9acb-0442-f0c5-341eaa209b8e
2013/11/05 11:39:44 /usr/local/packer/packer-builder-amazon-ebs: 2013/11/05 11:39:44 Using specified security group: sg-1ab04675
==> amazon-ebs: Launching a source AWS instance...
2013/11/05 11:39:44 ui: ==> amazon-ebs: Launching a source AWS instance...
==> amazon-ebs: Error launching source instance: The request received was invalid. (InvalidRequest)
2013/11/05 11:40:24 ui error: ==> amazon-ebs: Error launching source instance: The request received was invalid. (InvalidRequest)
==> amazon-ebs: Deleting temporary keypair...
2013/11/05 11:40:24 ui: ==> amazon-ebs: Deleting temporary keypair...
Build 'amazon-ebs' errored: Error launching source instance: The request received was invalid. (InvalidRequest)
I'm not sure if this is relevant, but CloudFormation appears to specify 'NoDevice' as an empty hash, not a bool:
Is it possible that the bool is not being processed by the AWS APIs correctly?
Thanks in advance!
Andrew