示例#1
0
 def create_vm_large_flavor(self, block_device_mapping=None):
     started_time = int(round(time.time() * 1000))
     image_id = 'ami-9e6af129'
     # if block_device_mapping is not None:
     #     image_id = None
     self.amazon_driver = AmazonDriver(amazon_config_driver)
     result = self.amazon_driver.create(
         block_device_mapping,
         image_id,
         'm1.large',
         'subnet-94e5201d',
         'cal'  # keypair
     )
     print(result[0])
     if (result[0]):
         ended_time = int(round(time.time() * 1000))
         print 'LARGE_FLAVOR CREATED_TIME (ms): ', ended_time - started_time
         # self.delete_server(result[0].id)
     return result[0]
示例#2
0
 def __init__(self):
     self.amazon_driver = AmazonDriver(amazon_config_driver)
     self.amazon_volume_driver = AmazonVolumeDriver(amazon_config_driver)
     self.amazon_net_driver = AmazonNetDriver(amazon_config_driver)
示例#3
0
class AmazonTest():
    def __init__(self):
        self.amazon_driver = AmazonDriver(amazon_config_driver)
        self.amazon_volume_driver = AmazonVolumeDriver(amazon_config_driver)
        self.amazon_net_driver = AmazonNetDriver(amazon_config_driver)

    def create_vm_small_flavor(self, block_device_mapping=None):
        started_time = int(round(time.time() * 1000))
        image_id = 'ami-9e6af129'
        # if block_device_mapping is not None:
        #     image_id = 'ami-9e6af129'
        self.amazon_driver = AmazonDriver(amazon_config_driver)
        result = self.amazon_driver.create(
            'm1.small',
            'subnet-94e5201d',
            'cal',  # keypair
            block_device_mapping,
            image_id,
        )
        print(result[0])
        if (result[0]):
            ended_time = int(round(time.time() * 1000))
            print 'SMALL_FLAVOR CREATED_TIME (ms): ', ended_time - started_time
            # self.delete_server(result[0].id)
        return result[0]

    def create_vm_medium_flavor(self, block_device_mapping=None):
        started_time = int(round(time.time() * 1000))
        image_id = 'ami-9e6af129'
        # if block_device_mapping is not None:
        #     image_id = None
        self.amazon_driver = AmazonDriver(amazon_config_driver)
        result = self.amazon_driver.create(
            block_device_mapping,
            image_id,
            'm1.medium',
            'subnet-94e5201d',
            'cal'  # keypair
        )
        print(result[0])
        if (result[0]):
            ended_time = int(round(time.time() * 1000))
            print 'MEDIUM_FLAVOR CREATED_TIME (ms): ', ended_time - started_time
            # self.delete_server(result[0].id)
        return result[0]

    def create_vm_large_flavor(self, block_device_mapping=None):
        started_time = int(round(time.time() * 1000))
        image_id = 'ami-9e6af129'
        # if block_device_mapping is not None:
        #     image_id = None
        self.amazon_driver = AmazonDriver(amazon_config_driver)
        result = self.amazon_driver.create(
            block_device_mapping,
            image_id,
            'm1.large',
            'subnet-94e5201d',
            'cal'  # keypair
        )
        print(result[0])
        if (result[0]):
            ended_time = int(round(time.time() * 1000))
            print 'LARGE_FLAVOR CREATED_TIME (ms): ', ended_time - started_time
            # self.delete_server(result[0].id)
        return result[0]

    def delete_server(self, id):
        time.sleep(10)
        print 'DELETED', id
        self.amazon_driver.delete(id)
        time.sleep(10)

    def create_volume(self):
        configs = {
            'size': 15,
            'name': 'Amazon-Cal-Vol-Test',
            'snapshot_id': 'snap-e6bfaec3'
        }
        return self.amazon_volume_driver.create(configs)

    def create_snapshot(self):
        configs = {
            'description': 'snapshot for testing CAL with EC2',
            'name': 'cal-snapshot'
        }
        return self.amazon_volume_driver.create_snapshot(configs)

    def associate_public_ip(self, allocation_id, instance_id):
        started_time = int(round(time.time() * 1000))
        configs = {'allocation_id': allocation_id, 'instance_id': instance_id}
        result = self.amazon_driver.associate_public_ip(configs)
        ended_time = int(round(time.time() * 1000))
        print 'Associate Public IP in (ms): ', ended_time - started_time
        return result

    def is_valid_pub_ip(self, pub_ip):
        search_opts = {
            'Filters': [
                {
                    'Name':
                    'network-interface.addresses.association.public-ip',
                    'Values': [
                        pub_ip,
                    ]
                },
            ]
        }
        instances = self.amazon_driver.list(**search_opts)
        return False if len(instances) else True
示例#4
0
 def setUp(self):
     super(AmazonDriverTest, self).setUp()
     self.fake_driver = AmazonDriver(fake_config_driver)
示例#5
0
class AmazonDriverTest(base.TestCase):

    """docstring for AmazonDriverTest"""

    def setUp(self):
        super(AmazonDriverTest, self).setUp()
        self.fake_driver = AmazonDriver(fake_config_driver)

    def test_create_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'create_instances',
            mock.Mock(return_value=mock.Mock))

        self.fake_driver.create(
            'fake_image_id',
            'fake_flavor_id',
            'fake_net_id',
            'fake_name'
        )

        self.fake_driver.resource.create_instances.\
            assert_called_once_with(
                ImageId='fake_image_id',
                MinCount=1,
                MaxCount=1,
                InstanceType='fake_flavor_id',
                SubnetId='fake_net_id',
                IamInstanceProfile={
                    'Arn': '',
                    'Name': 'fake_name'
                }
            )

    def test_create_without_instance_name(self):
        self.mock_object(
            self.fake_driver.resource, 'create_instances',
            mock.Mock(return_value=mock.Mock))

        self.fake_driver.create(
            'fake_image_id',
            'fake_flavor_id',
            'fake_net_id'
        )

        self.fake_driver.resource.create_instances. \
            assert_called_once_with(
                ImageId='fake_image_id',
                MinCount=1,
                MaxCount=1,
                InstanceType='fake_flavor_id',
                SubnetId='fake_net_id',
                IamInstanceProfile={
                    'Arn': '',
                    'Name': mock.ANY
                }
            )

    def test_create_unable_to_create_instance(self):
        self.mock_object(
            self.fake_driver.resource, 'create_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError, self.fake_driver.create,
                'fake_image_id',
                'fake_flavor_id',
                'fake_net_id',
                'fake_name')

        self.fake_driver.resource.create_instances. \
            assert_called_once_with(
                ImageId='fake_image_id',
                MinCount=1,
                MaxCount=1,
                InstanceType='fake_flavor_id',
                SubnetId='fake_net_id',
                IamInstanceProfile={
                    'Arn': '',
                    'Name': mock.ANY
                }
            )

    def test_show_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(return_value=fake_describe_return))

        self.fake_driver.show('fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_show_unable_to_show(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.show, 'fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_list_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(return_value=fake_describe_return))

        self.fake_driver.list()

        self.fake_driver.client.describe_instances. \
            assert_called_once_with()

    def test_list_unable_to_list(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.list)

        self.fake_driver.client.describe_instances. \
            assert_called_once_with()

    def test_delete_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(return_value=FakeInstance()))

        self.fake_driver.delete('fake_id')

    def test_delete_unable_to_list(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.delete, 'fake_id')

    def test_shutdown_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(return_value=FakeInstance()))

        self.fake_driver.shutdown('fake_id')

    def test_shutdown_unable_to_list(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.shutdown, 'fake_id')

    def test_start_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(return_value=FakeInstance()))

        self.fake_driver.start('fake_id')

    def test_start_unable_to_list(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.start, 'fake_id')

    def test_reboot_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(return_value=FakeInstance()))

        self.fake_driver.reboot('fake_id')

    def test_reboot_unable_to_list(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.reboot, 'fake_id')

    def test_add_nic_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'attach_network_interface',
            mock.Mock(return_value=mock.Mock))

        self.fake_driver.add_nic('fake_id', 'fake_net_id')

        self.fake_driver.client.attach_network_interface. \
            assert_called_once_with('fake_id', 'fake_net_id', 1)

    def test_add_nic_unable_to_add(self):
        self.mock_object(
            self.fake_driver.client, 'attach_network_interface',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            )))

        self.assertRaises(ClientError,
                          self.fake_driver.add_nic, 'fake_id', 'fake_net_id')

        self.fake_driver.client.attach_network_interface. \
            assert_called_once_with('fake_id', 'fake_net_id', 1)

    def test_delete_nic_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'detach_network_interface',
            mock.Mock(return_value=mock.Mock))

        self.fake_driver.delete_nic('fake_id', 'fake_attachment_id')

        self.fake_driver.client.detach_network_interface. \
            assert_called_once_with('fake_attachment_id')

    def test_delete_nic_unable_to_delete(self):
        self.mock_object(
            self.fake_driver.client, 'detach_network_interface',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            )))

        self.assertRaises(ClientError,
            self.fake_driver.delete_nic, 'fake_id', 'fake_attachment_id')

        self.fake_driver.client.detach_network_interface. \
            assert_called_once_with('fake_attachment_id')

    def test_list_nic_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(return_value=fake_describe_return))

        self.fake_driver.list_nic('fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_list_nic_unable_to_list(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            )))

        self.assertRaises(ClientError,
                          self.fake_driver.list_nic, 'fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_list_ip_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(return_value=fake_describe_return))

        self.fake_driver.list_ip('fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_list_ip_unable_to_delete(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            )))

        self.assertRaises(ClientError,
                          self.fake_driver.list_ip, 'fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])
 def setUp(self):
     super(AmazonDriverTest, self).setUp()
     self.fake_driver = AmazonDriver(fake_config_driver)
class AmazonDriverTest(base.TestCase):

    """docstring for AmazonDriverTest"""

    def setUp(self):
        super(AmazonDriverTest, self).setUp()
        self.fake_driver = AmazonDriver(fake_config_driver)

    def test_create_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'create_instances',
            mock.Mock(return_value=mock.Mock))

        self.fake_driver.create(
            'fake_image_id',
            'fake_flavor_id',
            'fake_net_id',
            'fake_name'
        )

        self.fake_driver.resource.create_instances.\
            assert_called_once_with(
                ImageId='fake_image_id',
                MinCount=1,
                MaxCount=1,
                InstanceType='fake_flavor_id',
                SubnetId='fake_net_id',
                IamInstanceProfile={
                    'Arn': '',
                    'Name': 'fake_name'
                }
            )

    def test_create_without_instance_name(self):
        self.mock_object(
            self.fake_driver.resource, 'create_instances',
            mock.Mock(return_value=mock.Mock))

        self.fake_driver.create(
            'fake_image_id',
            'fake_flavor_id',
            'fake_net_id'
        )

        self.fake_driver.resource.create_instances. \
            assert_called_once_with(
                ImageId='fake_image_id',
                MinCount=1,
                MaxCount=1,
                InstanceType='fake_flavor_id',
                SubnetId='fake_net_id',
                IamInstanceProfile={
                    'Arn': '',
                    'Name': mock.ANY
                }
            )

    def test_create_unable_to_create_instance(self):
        self.mock_object(
            self.fake_driver.resource, 'create_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError, self.fake_driver.create,
                'fake_image_id',
                'fake_flavor_id',
                'fake_net_id',
                'fake_name')

        self.fake_driver.resource.create_instances. \
            assert_called_once_with(
                ImageId='fake_image_id',
                MinCount=1,
                MaxCount=1,
                InstanceType='fake_flavor_id',
                SubnetId='fake_net_id',
                IamInstanceProfile={
                    'Arn': '',
                    'Name': mock.ANY
                }
            )

    def test_show_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(return_value=fake_describe_return))

        self.fake_driver.show('fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_show_unable_to_show(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.show, 'fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_list_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(return_value=fake_describe_return))

        self.fake_driver.list()

        self.fake_driver.client.describe_instances. \
            assert_called_once_with()

    def test_list_unable_to_list(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.list)

        self.fake_driver.client.describe_instances. \
            assert_called_once_with()

    def test_delete_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(return_value=FakeInstance()))

        self.fake_driver.delete('fake_id')

    def test_delete_unable_to_list(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.delete, 'fake_id')

    def test_shutdown_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(return_value=FakeInstance()))

        self.fake_driver.shutdown('fake_id')

    def test_shutdown_unable_to_list(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.shutdown, 'fake_id')

    def test_start_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(return_value=FakeInstance()))

        self.fake_driver.start('fake_id')

    def test_start_unable_to_list(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.start, 'fake_id')

    def test_reboot_successfully(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(return_value=FakeInstance()))

        self.fake_driver.reboot('fake_id')

    def test_reboot_unable_to_list(self):
        self.mock_object(
            self.fake_driver.resource, 'Instance',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            ))
        )

        self.assertRaises(ClientError,
                          self.fake_driver.reboot, 'fake_id')

    def test_add_nic_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'attach_network_interface',
            mock.Mock(return_value=mock.Mock))

        self.fake_driver.add_nic('fake_id', 'fake_net_id')

        self.fake_driver.client.attach_network_interface. \
            assert_called_once_with('fake_id', 'fake_net_id', 1)

    def test_add_nic_unable_to_add(self):
        self.mock_object(
            self.fake_driver.client, 'attach_network_interface',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            )))

        self.assertRaises(ClientError,
                          self.fake_driver.add_nic, 'fake_id', 'fake_net_id')

        self.fake_driver.client.attach_network_interface. \
            assert_called_once_with('fake_id', 'fake_net_id', 1)

    def test_delete_nic_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'detach_network_interface',
            mock.Mock(return_value=mock.Mock))

        self.fake_driver.delete_nic('fake_id', 'fake_attachment_id')

        self.fake_driver.client.detach_network_interface. \
            assert_called_once_with('fake_attachment_id')

    def test_delete_nic_unable_to_delete(self):
        self.mock_object(
            self.fake_driver.client, 'detach_network_interface',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            )))

        self.assertRaises(ClientError,
            self.fake_driver.delete_nic, 'fake_id', 'fake_attachment_id')

        self.fake_driver.client.detach_network_interface. \
            assert_called_once_with('fake_attachment_id')

    def test_list_nic_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(return_value=fake_describe_return))

        self.fake_driver.list_nic('fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_list_nic_unable_to_list(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            )))

        self.assertRaises(ClientError,
                          self.fake_driver.list_nic, 'fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_list_ip_successfully(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(return_value=fake_describe_return))

        self.fake_driver.list_ip('fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])

    def test_list_ip_unable_to_delete(self):
        self.mock_object(
            self.fake_driver.client, 'describe_instances',
            mock.Mock(side_effect=ClientError(
                fake_error_code,
                'operation_name'
            )))

        self.assertRaises(ClientError,
                          self.fake_driver.list_ip, 'fake_id')

        self.fake_driver.client.describe_instances. \
            assert_called_once_with(InstanceIds=['fake_id'])