Example #1
0
    def test_count_members_by_user(self):
        instance1 = tests_utils.get_test_instance(
            self.context, flavor=flavors.get_default_flavor(), obj=True)
        instance1.user_id = 'user1'
        instance1.save()
        instance2 = tests_utils.get_test_instance(
            self.context, flavor=flavors.get_default_flavor(), obj=True)
        instance2.user_id = 'user2'
        instance2.save()
        instance3 = tests_utils.get_test_instance(
            self.context, flavor=flavors.get_default_flavor(), obj=True)
        instance3.user_id = 'user2'
        instance3.save()

        instance_ids = [instance1.uuid, instance2.uuid, instance3.uuid]
        values = self._get_default_values()
        group = self._create_instance_group(self.context, values)
        instance_group.InstanceGroup.add_members(self.context, group.uuid,
                                                 instance_ids)

        group = instance_group.InstanceGroup.get_by_uuid(
            self.context, group.uuid)
        count_user1 = group.count_members_by_user('user1')
        count_user2 = group.count_members_by_user('user2')
        count_user3 = group.count_members_by_user('user3')
        self.assertEqual(1, count_user1)
        self.assertEqual(2, count_user2)
        self.assertEqual(0, count_user3)
Example #2
0
    def test_get_hosts(self):
        instance1 = tests_utils.get_test_instance(self.context,
                flavor=flavors.get_default_flavor(), obj=True)
        instance1.host = 'hostA'
        instance1.save()
        instance2 = tests_utils.get_test_instance(self.context,
                flavor=flavors.get_default_flavor(), obj=True)
        instance2.host = 'hostB'
        instance2.save()
        instance3 = tests_utils.get_test_instance(self.context,
                flavor=flavors.get_default_flavor(), obj=True)
        instance3.host = 'hostB'
        instance3.save()

        instance_ids = [instance1.uuid, instance2.uuid, instance3.uuid]
        values = self._get_default_values()
        group = self._create_instance_group(self.context, values)
        instance_group.InstanceGroup.add_members(self.context, group.uuid,
                instance_ids)

        group = instance_group.InstanceGroup.get_by_uuid(self.context,
                group.uuid)
        hosts = group.get_hosts()
        self.assertEqual(2, len(hosts))
        self.assertIn('hostA', hosts)
        self.assertIn('hostB', hosts)
        hosts = group.get_hosts(exclude=[instance1.uuid])
        self.assertEqual(1, len(hosts))
        self.assertIn('hostB', hosts)
Example #3
0
    def test_get_hosts(self):
        instance1 = tests_utils.get_test_instance(
            self.context, flavor=flavors.get_default_flavor(), obj=True)
        instance1.host = 'hostA'
        instance1.save()
        instance2 = tests_utils.get_test_instance(
            self.context, flavor=flavors.get_default_flavor(), obj=True)
        instance2.host = 'hostB'
        instance2.save()
        instance3 = tests_utils.get_test_instance(
            self.context, flavor=flavors.get_default_flavor(), obj=True)
        instance3.host = 'hostB'
        instance3.save()

        instance_ids = [instance1.uuid, instance2.uuid, instance3.uuid]
        values = self._get_default_values()
        group = self._create_instance_group(self.context, values)
        instance_group.InstanceGroup.add_members(self.context, group.uuid,
                                                 instance_ids)

        group = instance_group.InstanceGroup.get_by_uuid(
            self.context, group.uuid)
        hosts = group.get_hosts()
        self.assertEqual(2, len(hosts))
        self.assertIn('hostA', hosts)
        self.assertIn('hostB', hosts)
        hosts = group.get_hosts(exclude=[instance1.uuid])
        self.assertEqual(1, len(hosts))
        self.assertIn('hostB', hosts)
Example #4
0
    def test_count_members_by_user(self):
        instance1 = tests_utils.get_test_instance(self.context,
                flavor=flavors.get_default_flavor(), obj=True)
        instance1.user_id = 'user1'
        instance1.save()
        instance2 = tests_utils.get_test_instance(self.context,
                flavor=flavors.get_default_flavor(), obj=True)
        instance2.user_id = 'user2'
        instance2.save()
        instance3 = tests_utils.get_test_instance(self.context,
                flavor=flavors.get_default_flavor(), obj=True)
        instance3.user_id = 'user2'
        instance3.save()

        instance_ids = [instance1.uuid, instance2.uuid, instance3.uuid]
        values = self._get_default_values()
        group = self._create_instance_group(self.context, values)
        instance_group.InstanceGroup.add_members(self.context, group.uuid,
                instance_ids)

        group = instance_group.InstanceGroup.get_by_uuid(self.context,
                group.uuid)
        count_user1 = group.count_members_by_user('user1')
        count_user2 = group.count_members_by_user('user2')
        count_user3 = group.count_members_by_user('user3')
        self.assertEqual(1, count_user1)
        self.assertEqual(2, count_user2)
        self.assertEqual(0, count_user3)
Example #5
0
 def test_snapshot_not_running(self):
     instance_ref = test_utils.get_test_instance()
     img_ref = self.image_service.create(self.ctxt, {'name': 'snap-1'})
     self.assertRaises(exception.InstanceNotRunning,
                       self.connection.snapshot,
                       self.ctxt, instance_ref, img_ref['id'],
                       lambda *args, **kwargs: None)
Example #6
0
 def _get_running_instance(self, obj=True):
     instance_ref = test_utils.get_test_instance(obj=obj)
     network_info = test_utils.get_test_network_info()
     network_info[0]['network']['subnets'][0]['meta']['dhcp_server'] = \
         '1.1.1.1'
     image_info = test_utils.get_test_image_info(None, instance_ref)
     self.connection.spawn(self.ctxt, instance_ref, image_info,
                           [], 'herp', network_info=network_info)
     return instance_ref, network_info
Example #7
0
    def setUp(self):
        super(FixedIpTest, self).setUp()

        instance = dict(test_utils.get_test_instance(),
                        hostname='openstack', host='host')
        fake_fixed_ips = [{'id': 1,
                   'address': '192.168.1.1',
                   'network_id': 1,
                   'virtual_interface_id': 1,
                   'instance_uuid': '1',
                   'allocated': False,
                   'leased': False,
                   'reserved': False,
                   'created_at': None,
                   'deleted_at': None,
                   'updated_at': None,
                   'deleted': None,
                   'instance': instance,
                   'network': test_network.fake_network,
                   'host': None},
                  {'id': 2,
                   'address': '192.168.1.2',
                   'network_id': 1,
                   'virtual_interface_id': 2,
                   'instance_uuid': '2',
                   'allocated': False,
                   'leased': False,
                   'reserved': False,
                   'created_at': None,
                   'deleted_at': None,
                   'updated_at': None,
                   'deleted': None,
                   'instance': instance,
                   'network': test_network.fake_network,
                   'host': None},
                  ]

        def fake_fixed_ip_get_by_address(context, address,
                                         columns_to_join=None):
            for fixed_ip in fake_fixed_ips:
                if fixed_ip['address'] == address:
                    return fixed_ip
            raise exception.FixedIpNotFoundForAddress(address=address)

        def fake_fixed_ip_update(context, address, values):
            fixed_ip = fake_fixed_ip_get_by_address(context, address)
            if fixed_ip is None:
                raise exception.FixedIpNotFoundForAddress(address=address)
            else:
                for key in values:
                    fixed_ip[key] = values[key]

        self.stubs.Set(db, "fixed_ip_get_by_address",
                       fake_fixed_ip_get_by_address)
        self.stubs.Set(db, "fixed_ip_update", fake_fixed_ip_update)
    def setUp(self):
        super(ServerActionsSampleJsonTest, self).setUp()
        self.actions = fake_server_actions.FAKE_ACTIONS
        self.events = fake_server_actions.FAKE_EVENTS
        self.instance = test_utils.get_test_instance(obj=True)

        def fake_instance_action_get_by_request_id(context, uuid, request_id):
            return copy.deepcopy(self.actions[uuid][request_id])

        def fake_server_actions_get(context, uuid):
            return [
                copy.deepcopy(value)
                for value in self.actions[uuid].itervalues()
            ]

        def fake_instance_action_events_get(context, action_id):
            return copy.deepcopy(self.events[action_id])

        def fake_instance_get_by_uuid(context, instance_id):
            return self.instance

        def fake_get(self,
                     context,
                     instance_uuid,
                     expected_attrs=None,
                     want_objects=True):
            return fake_instance.fake_instance_obj(None,
                                                   **{'uuid': instance_uuid})

        self.stubs.Set(db, 'action_get_by_request_id',
                       fake_instance_action_get_by_request_id)
        self.stubs.Set(db, 'actions_get', fake_server_actions_get)
        self.stubs.Set(db, 'action_events_get',
                       fake_instance_action_events_get)
        self.stubs.Set(db, 'instance_get_by_uuid', fake_instance_get_by_uuid)
        self.stubs.Set(compute_api.API, 'get', fake_get)
Example #9
0
 def test_get_test_instance(self):
     # get_test_instance's return value looks like an instance_ref.
     instance_ref = test_utils.get_test_instance()
     ctxt = test_utils.get_test_admin_context()
     db.instance_get(ctxt, instance_ref['id'])
Example #10
0
 def test_unfilter_instance(self):
     instance_ref = test_utils.get_test_instance()
     network_info = test_utils.get_test_network_info()
     self.connection.unfilter_instance(instance_ref, network_info)
Example #11
0
 def test_ensure_filtering_for_instance(self):
     instance = test_utils.get_test_instance(obj=True)
     network_info = test_utils.get_test_network_info()
     self.connection.ensure_filtering_rules_for_instance(instance,
                                                         network_info)
Example #12
0
 def test_get_info_for_unknown_instance(self):
     fake_instance = test_utils.get_test_instance(obj=True)
     self.assertRaises(exception.NotFound,
                       self.connection.get_info,
                       fake_instance)
Example #13
0
 def test_destroy_instance_nonexistent(self):
     fake_instance = test_utils.get_test_instance(obj=True)
     network_info = test_utils.get_test_network_info()
     self.connection.destroy(self.ctxt, fake_instance, network_info)
Example #14
0
    def setUp(self):
        super(FixedIpTest, self).setUp()

        instance = dict(test_utils.get_test_instance(),
                        hostname='openstack',
                        host='host')
        fake_fixed_ips = [
            {
                'id': 1,
                'address': '192.168.1.1',
                'network_id': 1,
                'virtual_interface_id': 1,
                'instance_uuid': '1',
                'allocated': False,
                'leased': False,
                'reserved': False,
                'created_at': None,
                'deleted_at': None,
                'updated_at': None,
                'deleted': None,
                'instance': instance,
                'network': test_network.fake_network,
                'host': None
            },
            {
                'id': 2,
                'address': '192.168.1.2',
                'network_id': 1,
                'virtual_interface_id': 2,
                'instance_uuid': '2',
                'allocated': False,
                'leased': False,
                'reserved': False,
                'created_at': None,
                'deleted_at': None,
                'updated_at': None,
                'deleted': None,
                'instance': instance,
                'network': test_network.fake_network,
                'host': None
            },
        ]

        def fake_fixed_ip_get_by_address(context,
                                         address,
                                         columns_to_join=None):
            for fixed_ip in fake_fixed_ips:
                if fixed_ip['address'] == address:
                    return fixed_ip
            raise exception.FixedIpNotFoundForAddress(address=address)

        def fake_fixed_ip_update(context, address, values):
            fixed_ip = fake_fixed_ip_get_by_address(context, address)
            if fixed_ip is None:
                raise exception.FixedIpNotFoundForAddress(address=address)
            else:
                for key in values:
                    fixed_ip[key] = values[key]

        self.stubs.Set(db, "fixed_ip_get_by_address",
                       fake_fixed_ip_get_by_address)
        self.stubs.Set(db, "fixed_ip_update", fake_fixed_ip_update)