EC2 - fix missing AZ on auto-generated volumes for instances (#4560)

This commit is contained in:
Dominik Schubert 2021-11-11 13:50:07 +01:00 committed by GitHub
parent dfe01dad17
commit 756f772c5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -796,7 +796,7 @@ class Instance(TaggedEC2Resource, BotoInstance, CloudFormationModel):
):
volume = self.ec2_backend.create_volume(
size=size,
zone_name=self.region_name,
zone_name=self._placement.zone,
snapshot_id=snapshot_id,
encrypted=encrypted,
kms_key_id=kms_key_id,
@ -808,7 +808,7 @@ class Instance(TaggedEC2Resource, BotoInstance, CloudFormationModel):
def setup_defaults(self):
# Default have an instance with root volume should you not wish to
# override with attach volume cmd.
volume = self.ec2_backend.create_volume(size=8, zone_name="us-east-1a")
volume = self.ec2_backend.create_volume(size=8, zone_name=self._placement.zone)
self.ec2_backend.attach_volume(volume.id, self.id, "/dev/sda1", True)
def teardown_defaults(self):

View File

@ -561,6 +561,13 @@ def test_volume_attach_and_detach_boto3():
ec2 = boto3.resource("ec2", region_name="us-east-1")
reservation = client.run_instances(ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1)
instance = reservation["Instances"][0]
volumes = client.describe_volumes(
Filters=[{"Name": "attachment.instance-id", "Values": [instance["InstanceId"]]}]
)["Volumes"]
volumes.should.have.length_of(1)
volumes[0]["AvailabilityZone"].should.equal("us-east-1a")
volume = ec2.create_volume(Size=80, AvailabilityZone="us-east-1a")
volume.reload()