From 35478f3a4414c03e68abd179d44f3ba3a80d5767 Mon Sep 17 00:00:00 2001 From: Steve Pulec Date: Sun, 10 Jan 2016 00:54:48 -0500 Subject: [PATCH] Fix AZs for run_instances. Closes #490. --- moto/ec2/models.py | 3 +++ tests/test_ec2/test_instances.py | 18 ++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/moto/ec2/models.py b/moto/ec2/models.py index 501615722..548740a00 100644 --- a/moto/ec2/models.py +++ b/moto/ec2/models.py @@ -342,6 +342,9 @@ class Instance(BotoInstance, TaggedEC2Resource): if self.subnet_id: subnet = ec2_backend.get_subnet(self.subnet_id) self.vpc_id = subnet.vpc_id + self._placement.zone = subnet.availability_zone + else: + self._placement.zone = ec2_backend.region_name + 'a' self.block_device_mapping = BlockDeviceMapping() diff --git a/tests/test_ec2/test_instances.py b/tests/test_ec2/test_instances.py index 0dda4eb9c..e80d1f979 100644 --- a/tests/test_ec2/test_instances.py +++ b/tests/test_ec2/test_instances.py @@ -51,21 +51,23 @@ def test_instance_launch_and_terminate(): reservations[0].id.should.equal(reservation.id) instances = reservations[0].instances instances.should.have.length_of(1) - instances[0].id.should.equal(instance.id) - instances[0].state.should.equal('running') - instances[0].launch_time.should.equal("2014-01-01T05:00:00.000Z") - instances[0].vpc_id.should.equal(None) + instance = instances[0] + instance.id.should.equal(instance.id) + instance.state.should.equal('running') + instance.launch_time.should.equal("2014-01-01T05:00:00.000Z") + instance.vpc_id.should.equal(None) + instance.placement.should.equal('us-east-1a') - root_device_name = instances[0].root_device_name - instances[0].block_device_mapping[root_device_name].status.should.equal('in-use') - volume_id = instances[0].block_device_mapping[root_device_name].volume_id + root_device_name = instance.root_device_name + instance.block_device_mapping[root_device_name].status.should.equal('in-use') + volume_id = instance.block_device_mapping[root_device_name].volume_id volume_id.should.match(r'vol-\w+') volume = conn.get_all_volumes(volume_ids=[volume_id])[0] volume.attach_data.instance_id.should.equal(instance.id) volume.status.should.equal('in-use') - conn.terminate_instances([instances[0].id]) + conn.terminate_instances([instance.id]) reservations = conn.get_all_instances() instance = reservations[0].instances[0]