hashicorp / hashicorp/packer-plugin-amazon
Unable to set volume size on amazon-ebs
- Dominant language
- Go
- Stars
- 91
- Forks
- 141
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 3
Description
May relate to https://github.com/hashicorp/packer-plugin-amazon/issues/122.
When specifying an amazon-ebs builder, I'm trying to set the boot volume size with launch_block_device_mappings. By the above bug, I should set this to "xvda" for Windows root devices.
However, with the hcl code,
```
data "amazon-ami" "windows_server_2022" {
filters = {
name = "Windows_Server-2022-English-Full-Base-*"
root-device-type = "ebs"
virtualization-type = "hvm"
}
most_recent = true
owners = ["801119661308"] # Amazon Official
region = "us-east-1"
}
source "amazon-ebs" "this" {
ami_name = "Test"
ami_virtualization_type = "hvm"
instance_type = "m3.xlarge"
launch_block_device_mappings {
# The C drive
delete_on_termination = true
device_name = "xvda" #"/dev/xvda"
volume_size = 50
}
launch_block_device_mappings {
delete_on_termination = true
device_name = "xvdb"
volume_size = 100
volume_type = "gp3"
}
region = "us-east-1"
source_ami = data.amazon-ami.windows_server_2022.id
subnet_id = var.subnet_id
user_data = templatefile(var.user_data_file, {winrm_password = data.external-raw.random_pass.result})
communicator = "winrm"
winrm_insecure = true
winrm_port = 5986
winrm_use_ssl = true
}
```
I get _three_ volumes. The goal is to increase /dev/sda1 from 30 -> 50GB, but instead I get a new volume:
| `device_name = "/dev/xvda"` |
|--------|------|------|
| vol-006f0d5xxxx | /dev/sda1 | 30 | Attached | 2023/12/15 |
| vol-07130xxx | /dev/xvda | 50 | Attached | 2023/12/15 |
| vol-0a14a96xxx | xvdb | 100 | Attached |
| `device_name = "xvda"` |
|------|------|------|
| vol-0279fxxx | /dev/sda1 | 30 | Attached | 2023/12/15 |
| vol-03214xxx | xvda | 50 | Attached | 2023/12/15 |
| vol-0111xxx | xvdb | 100 | Attached |
The two xvdX volumes are kept separate and neither applies to the root volume. However, when I specify either `/dev/sda` or `sda`, I get an error:
```
launch_block_device_mappings {
# The C drive
delete_on_termination = true
device_name = "/dev/sda"
volume_size = 50
}
==> amazon-ebs.this: Error launching source instance: InvalidBlockDeviceMapping: Invalid
==> amazon-ebs.this: device name /dev/sda
==> amazon-ebs.this: status code: 400, request id: cc529xxx-xxx
```
I believe this is a bug or regression. Or is there something wrong with the builder config?
Contributor guide
Assessment
This issue has not been assessed yet.