Esempio n. 1
0
    def setUp(self):
        super(ComputeHostAPIMultiCellTestCase, self).setUp()
        self.host_api = compute_api.HostAPI()
        self.useFixture(nova_fixtures.Database(database='api'))
        celldbs = nova_fixtures.CellDatabases()
        celldbs.add_cell_database(objects.CellMapping.CELL0_UUID)
        celldbs.add_cell_database(uuids.cell1, default=True)
        celldbs.add_cell_database(uuids.cell2)
        self.useFixture(celldbs)

        self.ctxt = context.get_admin_context()
        cell0 = objects.CellMapping(
            context=self.ctxt,
            uuid=objects.CellMapping.CELL0_UUID,
            database_connection=objects.CellMapping.CELL0_UUID,
            transport_url='none:///')
        cell0.create()
        cell1 = objects.CellMapping(context=self.ctxt,
                                    uuid=uuids.cell1,
                                    database_connection=uuids.cell1,
                                    transport_url='none:///')
        cell1.create()
        cell2 = objects.CellMapping(context=self.ctxt,
                                    uuid=uuids.cell2,
                                    database_connection=uuids.cell2,
                                    transport_url='none:///')
        cell2.create()
        self.cell_mappings = (cell0, cell1, cell2)
    def test_get_availability_zones(self):
        """Test get_availability_zones."""

        # When the param get_only_available of get_availability_zones is set
        # to default False, it returns two lists, zones with at least one
        # enabled services, and zones with no enabled services,
        # when get_only_available is set to True, only return a list of zones
        # with at least one enabled services.
        # Use the following test data:
        #
        # zone         host        enabled
        # nova-test    host1       Yes
        # nova-test    host2       No
        # nova-test2   host3       Yes
        # nova-test3   host4       No
        # <default>    host5       No

        agg2 = self._create_az('agg-az2', 'nova-test2')
        agg3 = self._create_az('agg-az3', 'nova-test3')

        service1 = self._create_service_with_topic('compute',
                                                   'host1',
                                                   disabled=False)
        service2 = self._create_service_with_topic('compute',
                                                   'host2',
                                                   disabled=True)
        service3 = self._create_service_with_topic('compute',
                                                   'host3',
                                                   disabled=False)
        service4 = self._create_service_with_topic('compute',
                                                   'host4',
                                                   disabled=True)
        self._create_service_with_topic('compute', 'host5', disabled=True)

        self._add_to_aggregate(service1, self.agg)
        self._add_to_aggregate(service2, self.agg)
        self._add_to_aggregate(service3, agg2)
        self._add_to_aggregate(service4, agg3)

        host_api = compute_api.HostAPI()
        zones, not_zones = az.get_availability_zones(self.context, host_api)

        self.assertEqual(['nova-test', 'nova-test2'], zones)
        self.assertEqual(['nova', 'nova-test3'], not_zones)

        zones = az.get_availability_zones(self.context,
                                          host_api,
                                          get_only_available=True)

        self.assertEqual(['nova-test', 'nova-test2'], zones)

        zones, not_zones = az.get_availability_zones(self.context,
                                                     host_api,
                                                     with_hosts=True)

        self.assertJsonEqual(zones, [(u'nova-test2', set([u'host3'])),
                                     (u'nova-test', set([u'host1']))])
        self.assertJsonEqual(not_zones, [(u'nova-test3', set([u'host4'])),
                                         (u'nova', set([u'host5']))])
Esempio n. 3
0
 def __init__(self):
     super(ServiceController, self).__init__()
     self.host_api = compute.HostAPI()
     self.aggregate_api = compute.AggregateAPI()
     self.servicegroup_api = servicegroup.API()
     self.actions = {"enable": self._enable,
                     "disable": self._disable,
                     "disable-log-reason": self._disable_log_reason}
     self._placementclient = None  # Lazy-load on first access.
Esempio n. 4
0
 def setUp(self):
     super(ComputeHostAPITestCase, self).setUp()
     self.host_api = compute.HostAPI()
     self.aggregate_api = compute.AggregateAPI()
     self.ctxt = context.get_admin_context()
     fake_notifier.stub_notifier(self)
     self.addCleanup(fake_notifier.reset)
     self.req = fakes.HTTPRequest.blank('')
     self.controller = services.ServiceController()
     self.useFixture(nova_fixtures.SingleCellSimple())
Esempio n. 5
0
 def __init__(self):
     super(EvacuateController, self).__init__()
     self.compute_api = compute.API()
     self.host_api = compute.HostAPI()
     self.network_api = neutron.API()
 def __init__(self):
     super(HypervisorsController, self).__init__()
     self.host_api = compute.HostAPI()
     self.servicegroup_api = servicegroup.API()
Esempio n. 7
0
 def __init__(self):
     self.api = compute_api.HostAPI()
     super(HypervisorsController, self).__init__()
Esempio n. 8
0
 def __init__(self):
     super(HostController, self).__init__()
     self.api = compute.HostAPI()
Esempio n. 9
0
 def __init__(self):
     super(AvailabilityZoneController, self).__init__()
     self.servicegroup_api = servicegroup.API()
     self.host_api = compute.HostAPI()
 def __init__(self):
     super(InstanceUsageAuditLogController, self).__init__()
     self.host_api = compute.HostAPI()