Beispiel #1
0
 def test_get_all(self):
     self.mox.StubOutWithMock(db, 'service_get_all')
     db.service_get_all(self.context, disabled=False).AndReturn(
         [fake_service])
     self.mox.ReplayAll()
     services = service.ServiceList.get_all(self.context, disabled=False)
     self.assertEqual(1, len(services))
     self.compare_obj(services[0], fake_service, allow_missing=OPTIONAL)
Beispiel #2
0
 def get_all(cls, context, disabled=None, set_zones=False):
     db_services = db.service_get_all(context, disabled=disabled)
     if set_zones:
         db_services = availability_zones.set_availability_zones(
             context, db_services)
     return base.obj_make_list(context, cls(context), objects.Service,
                               db_services)
Beispiel #3
0
 def get_all(cls, context, disabled=None, set_zones=False):
     db_services = db.service_get_all(context, disabled=disabled)
     if set_zones:
         db_services = availability_zones.set_availability_zones(
             context, db_services)
     return base.obj_make_list(context, cls(context), objects.Service,
                               db_services)
Beispiel #4
0
 def test_set_availability_zone_not_compute_service(self):
     """Test not compute service get right availability zone."""
     service = self._create_service_with_topic('network', self.host)
     services = db.service_get_all(self.context)
     new_service = az.set_availability_zones(self.context, services)[0]
     self.assertEqual(new_service['availability_zone'],
                      self.default_in_az)
     self._destroy_service(service)
Beispiel #5
0
 def test_get_all_with_az(self):
     self.mox.StubOutWithMock(db, 'service_get_all')
     self.mox.StubOutWithMock(aggregate.AggregateList,
                              'get_by_metadata_key')
     db.service_get_all(self.context, disabled=None).AndReturn(
         [dict(fake_service, topic='compute')])
     agg = aggregate.Aggregate(context=self.context)
     agg.name = 'foo'
     agg.metadata = {'availability_zone': 'test-az'}
     agg.create()
     agg.hosts = [fake_service['host']]
     aggregate.AggregateList.get_by_metadata_key(self.context,
         'availability_zone', hosts=set(agg.hosts)).AndReturn([agg])
     self.mox.ReplayAll()
     services = service.ServiceList.get_all(self.context, set_zones=True)
     self.assertEqual(1, len(services))
     self.assertEqual('test-az', services[0].availability_zone)
Beispiel #6
0
 def test_set_availability_zone_unicode_key(self):
     """Test set availability zone cache key is unicode."""
     service = self._create_service_with_topic('network', self.host)
     services = db.service_get_all(self.context)
     az.set_availability_zones(self.context, services)
     self.assertIsInstance(services[0]['host'], unicode)
     cached_key = az._make_cache_key(services[0]['host'])
     self.assertIsInstance(cached_key, str)
     self._destroy_service(service)
Beispiel #7
0
    def test_set_availability_zone_compute_service(self):
        """Test for compute service get right availability zone."""
        service = self._create_service_with_topic('compute', self.host)
        services = db.service_get_all(self.context)

        # The service is not add into aggregate, so confirm it is default
        # availability zone.
        new_service = az.set_availability_zones(self.context, services)[0]
        self.assertEqual(new_service['availability_zone'],
                         self.default_az)

        # The service is added into aggregate, confirm return the aggregate
        # availability zone.
        self._add_to_aggregate(service, self.agg)
        new_service = az.set_availability_zones(self.context, services)[0]
        self.assertEqual(new_service['availability_zone'],
                         self.availability_zone)

        self._destroy_service(service)