diff --git a/.gitignore b/.gitignore index 453b431..0fd313f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ .vagrant .idea *.swp -tests/logs/ \ No newline at end of file +tests/logs/ +logs/ \ No newline at end of file diff --git a/ec2driver.py b/ec2driver.py index 0e3ea35..d908d8d 100644 --- a/ec2driver.py +++ b/ec2driver.py @@ -212,7 +212,7 @@ class EC2Driver(driver.ComputeDriver): if user_data: user_data = base64.b64decode(user_data) - reservation = self.ec2_conn.run_instances(aws_ami, instance_type=flavor_type, user_data=user_data) + reservation = self.ec2_conn.run_instances(aws_ami, instance_type=flavor_type, placement="us-east-1d", user_data=user_data) ec2_instance = reservation.instances ec2_id = ec2_instance[0].id diff --git a/tests/test_ec2driver.py b/tests/test_ec2driver.py index 2441d62..ad98928 100644 --- a/tests/test_ec2driver.py +++ b/tests/test_ec2driver.py @@ -184,5 +184,20 @@ class TestEC2Driver(EC2TestBase): volumes = self.nova.volumes.get_server_volumes(instance.id) self.assertIn(volume, volumes) + @unittest.skipIf(os.environ.get('MOCK_EC2'), 'Not supported by moto') + def test_detach_volume(self): + volume = self.nova_volume.volumes.create(1, snapshot_id=None, display_name='test', display_description=None, + volume_type=None, availability_zone=None, imageRef=None) + self.volumes.append(volume) + instance, instance_ref = self.spawn_ec2_instance() + self.nova.volumes.create_server_volume(instance_ref, volume.id, "/dev/sdb") + self.sleep_if_ec2_not_mocked(30) + volumes = self.nova.volumes.get_server_volumes(instance.id) + if volume in volumes: + self.nova.volumes.delete_server_volume(instance_ref, volume.id) + self.sleep_if_ec2_not_mocked(30) + volumes = self.nova.volumes.get_server_volumes(instance.id) + self.assertNotIn(volume, volumes) + if __name__ == '__main__': unittest.main()