def _create_instance_with_availability_zone(self, zone_name):
        def create(*args, **kwargs):
            self.assertIn('availability_zone', kwargs)
            self.assertEqual('patron', kwargs['availability_zone'])
            return old_create(*args, **kwargs)

        old_create = compute_api.API.create
        self.stubs.Set(compute_api.API, 'create', create)
        image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
        flavor_ref = ('http://localhost' + self.base_url + 'flavors/3')
        body = {
            'server': {
                'name': 'server_test',
                'imageRef': image_href,
                'flavorRef': flavor_ref,
                'metadata': {
                    'hello': 'world',
                    'open': 'stack',
                },
                'availability_zone': zone_name,
            },
        }

        admin_context = context.get_admin_context()
        db.service_create(
            admin_context, {
                'host': 'host1_zones',
                'binary': "patron-compute",
                'topic': 'compute',
                'report_count': 0
            })
        agg = db.aggregate_create(admin_context, {'name': 'agg1'},
                                  {'availability_zone': 'patron'})
        db.aggregate_host_add(admin_context, agg['id'], 'host1_zones')
        return self.req, body
    def _create_instance_with_availability_zone(self, zone_name):
        def create(*args, **kwargs):
            self.assertIn('availability_zone', kwargs)
            self.assertEqual('patron', kwargs['availability_zone'])
            return old_create(*args, **kwargs)

        old_create = compute_api.API.create
        self.stubs.Set(compute_api.API, 'create', create)
        image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
        flavor_ref = ('http://localhost' + self.base_url + 'flavors/3')
        body = {
            'server': {
                'name': 'server_test',
                'imageRef': image_href,
                'flavorRef': flavor_ref,
                'metadata': {
                    'hello': 'world',
                    'open': 'stack',
                },
                'availability_zone': zone_name,
            },
        }

        admin_context = context.get_admin_context()
        db.service_create(admin_context, {'host': 'host1_zones',
                                          'binary': "patron-compute",
                                          'topic': 'compute',
                                          'report_count': 0})
        agg = db.aggregate_create(admin_context,
                {'name': 'agg1'}, {'availability_zone': 'patron'})
        db.aggregate_host_add(admin_context, agg['id'], 'host1_zones')
        return self.req, body
Exemple #3
0
 def test_add_host(self):
     self.mox.StubOutWithMock(db, 'aggregate_host_add')
     db.aggregate_host_add(self.context, 123, 'bar'
                           ).AndReturn({'host': 'bar'})
     self.mox.ReplayAll()
     agg = aggregate.Aggregate()
     agg.id = 123
     agg.hosts = ['foo']
     agg._context = self.context
     agg.add_host('bar')
     self.assertEqual(agg.hosts, ['foo', 'bar'])
Exemple #4
0
 def test_add_host(self):
     self.mox.StubOutWithMock(db, 'aggregate_host_add')
     db.aggregate_host_add(self.context, 123,
                           'bar').AndReturn({'host': 'bar'})
     self.mox.ReplayAll()
     agg = aggregate.Aggregate()
     agg.id = 123
     agg.hosts = ['foo']
     agg._context = self.context
     agg.add_host('bar')
     self.assertEqual(agg.hosts, ['foo', 'bar'])
Exemple #5
0
 def _add_to_aggregate(self, service, aggregate):
     return db.aggregate_host_add(self.context,
                                  aggregate['id'], service['host'])
Exemple #6
0
 def add_host(self, host):
     db.aggregate_host_add(self._context, self.id, host)
     if self.hosts is None:
         self.hosts = []
     self.hosts.append(host)
     self.obj_reset_changes(fields=['hosts'])