Hello Thenuka,
wondering if you found solution for the error, I am facing same issue:

2019/04/24 14:59:43 machine readable: amazon-ebs,error []string{"Error 
launching source instance: InvalidBlockDeviceMapping: snapshotId cannot be 
modified on root device\n\tstatus code: 400, request id: 
ecf7e228-bf92-4e1a-9d65-57dea48c99a5"}


On Thursday, November 23, 2017 at 10:08:08 PM UTC+11, Thenuka 
Keerthibandara wrote:
>
> When I change my block device mapping as follows accorfing to
>  https://github.com/hashicorp/packer/issues/2765 
> <https://github.com/hashicorp/packer/issues/2765>
>
> "ami_block_device_mappings": [
>         {
>           "device_name": "/dev/sdb",
>           "volume_size": 25,
>           "volume_type": "gp2",
>           "delete_on_termination": true
>         }
>       ],
>       "launch_block_device_mappings": [
>         {
>           "device_name": "/dev/sdb",
>           "snapshot_id": "snap-00d5d1ebd4558da90",
>           "volume_size": 25,
>           "volume_type": "gp2",
>           "delete_on_termination": true
>         }
>       ]
>
> Then I get the following error from packer. How to exactly attach the 
> already created snapshot to packer?
>
>  [1;32m==> amazon-ebs: Prevalidating AMI Name... [0m
>  [0;32m    amazon-ebs: Found Image ID: ami-80861296 [0m
>  [1;32m==> amazon-ebs: Creating temporary keypair: 
> packer_5a16ab0c-8b80-643f-6f53-e890a3fe3143 [0m
>  [1;32m==> amazon-ebs: Creating temporary security group for this instance... 
> [0m
>  [1;32m==> amazon-ebs: Authorizing access to port 22 the temporary security 
> group... [0m
>  [1;32m==> amazon-ebs: Launching a source AWS instance... [0m
>  [1;31m==> amazon-ebs: Error launching source instance: 
> InvalidBlockDeviceMapping: snapshotId can only be modified on EBS devices
> ==> amazon-ebs:       status code: 400, request id: 
> 42e8cf61-fb92-4ab6-9953-d79a469ab87c [0m
>  [1;32m==> amazon-ebs: No volumes to clean up, skipping [0m
>  [1;32m==> amazon-ebs: Deleting temporary security group... [0m
>  [1;32m==> amazon-ebs: Deleting temporary keypair... [0m
>  [1;31mBuild 'amazon-ebs' errored: Error launching source instance: 
> InvalidBlockDeviceMapping: snapshotId can only be modified on EBS devices
>       status code: 400, request id: 42e8cf61-fb92-4ab6-9953-d79a469ab87c [0m
>
> ==> Some builds didn't complete successfully and had errors:
> --> amazon-ebs: Error launching source instance: InvalidBlockDeviceMapping: 
> snapshotId can only be modified on EBS devices
>       status code: 400, request id: 42e8cf61-fb92-4ab6-9953-d79a469ab87c
>
> ==> Builds finished but no artifacts were created.
> Finished: FAILURE
>
>
> On Wednesday, November 22, 2017 at 5:20:02 PM UTC+5:30, Thenuka 
> Keerthibandara wrote:
>>
>> I'm using  a packer script to encrypt my EBS volumes on AWS by creating a 
>> new AMI with encrypted EBS. 
>>
>> I have a created a CMK using KMS and have added the kms_key_id in packer 
>> script builder section as follows.
>>
>> "variables": {
>>      ....................
>>     "kms_key_prod": "{{env `kms_key_prod`}}",
>>      ....................
>>     },
>>
>> "builders": [
>>     {
>>       "type": "amazon-ebs",
>>       "access_key": "{{user `aws_access_key`}}",
>>       "secret_key": "{{user `aws_secret_key`}}",
>>       "vpc_id": "{{user `aws_vpc_id`}}",
>>       "subnet_id": "{{user `subnet_id`}}",
>>       "region": "{{user `region`}}",
>>       "kms_key_id": "{{user `kms_key_prod`}}",
>>       "source_ami": "{{user `base_ami`}}",
>>       "instance_type": "t2.micro",
>>       "ssh_username": "ubuntu",
>>       "ami_name": "{{user `name`}}-Default-{{isotime 
>> \"2006-01-02-1504\"}}",
>>       "ami_description": "Base AMI for Ubuntu 16.04",
>>       "tags": {
>>         "Name": "Default-Base",
>>         "Project": "Public Cloud",
>>         "Build": "{{ user `buildtime` }}"
>>       },
>>       "ami_block_device_mappings": [
>>         {
>>           "device_name": "/dev/xvdk",
>>           "volume_size": 25,
>>           "Encrypted": true,
>>           "volume_type": "gp2",
>>           "delete_on_termination": true
>>         }
>>       ],
>>       "launch_block_device_mappings": [
>>         {
>>           "device_name": "/dev/xvdk",
>>           "volume_size": 25,
>>           "Encrypted": true,
>>           "volume_type": "gp2",
>>           "delete_on_termination": true
>>         }
>>       ]
>>     }
>>   ],
>>
>>
>> But when packer runs, the generated AMI has an attached snapshots of the 
>> devices I have attached encrpted with the "default" CMK which is "aws/ebs" 
>> that is unique for the specific region.
>>
>> I don't need my boot volume to get encrypted but the attahced EBS volumes 
>> to be encrypted with the KMS key that I have created.
>>
>> Does anyone know if this a limitation in packer or if there is any other 
>> way to achieve this through packer?
>>
>> Regards,
>> Thenuka
>>
>>
>>

-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/packer/issues
IRC: #packer-tool on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Packer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/packer-tool/bf028940-ddcd-4793-bfb6-fbadfb76cda5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to