Пример #1
0
    def test_get_zone_capabilities_three_stale_host_services(self):
        zm = zone_manager.ZoneManager()
        expiry_time = (FLAGS.periodic_interval * 3) + 1

        # Three host services among four become stale
        zm.update_service_capabilities("svc1", "host1", dict(a=1, b=2))
        zm.update_service_capabilities("svc1", "host2", dict(a=3, b=4))
        zm.update_service_capabilities("svc2", "host1", dict(a=5, b=6))
        zm.update_service_capabilities("svc2", "host2", dict(a=7, b=8))
        serv_caps_1 = zm.service_states["host1"]["svc2"]
        serv_caps_1["timestamp"] = utils.utcnow() - \
                               datetime.timedelta(seconds=expiry_time)
        serv_caps_2 = zm.service_states["host2"]["svc1"]
        serv_caps_2["timestamp"] = utils.utcnow() - \
                               datetime.timedelta(seconds=expiry_time)
        serv_caps_3 = zm.service_states["host2"]["svc2"]
        serv_caps_3["timestamp"] = utils.utcnow() - \
                               datetime.timedelta(seconds=expiry_time)
        caps = zm.get_zone_capabilities(None)
        self.assertEquals(caps, dict(svc1_a=(1, 1), svc1_b=(2, 2)))
Пример #2
0
    def test_refresh_from_db_missing(self):
        zm = zone_manager.ZoneManager()
        zone_state = zone_manager.ZoneState()
        zone_state.update_credentials(
            FakeZone(id=1,
                     api_url='http://foo.com',
                     username='******',
                     password='******'))
        zm.zone_states[1] = zone_state

        self.mox.StubOutWithMock(db, 'zone_get_all')
        db.zone_get_all(mox.IgnoreArg()).AndReturn([])

        self.assertEquals(len(zm.zone_states), 1)

        self.mox.ReplayAll()
        zm._refresh_from_db(None)
        self.mox.VerifyAll()

        self.assertEquals(len(zm.zone_states), 0)
Пример #3
0
    def test_refresh_from_db_new(self):
        zm = zone_manager.ZoneManager()

        self.mox.StubOutWithMock(db, 'zone_get_all')
        db.zone_get_all(mox.IgnoreArg()).AndReturn([
            FakeZone(id=1,
                     api_url='http://foo.com',
                     username='******',
                     password='******',
                     name='child',
                     weight_offset=0.0,
                     weight_scale=1.0),
        ])

        self.assertEquals(len(zm.zone_states), 0)

        self.mox.ReplayAll()
        zm._refresh_from_db(None)
        self.mox.VerifyAll()

        self.assertEquals(len(zm.zone_states), 1)
        self.assertEquals(zm.zone_states[1].username, 'user1')
Пример #4
0
 def __init__(self, scheduler_driver=None, *args, **kwargs):
     if not scheduler_driver:
         scheduler_driver = FLAGS.scheduler_driver
     self.driver = utils.import_object(scheduler_driver)
     self.zone_manager = zone_manager.ZoneManager()
     super(SchedulerManager, self).__init__(*args, **kwargs)
Пример #5
0
 def __init__(self, *args, **kwargs):
     super(FakeDistributedScheduler, self).__init__(*args, **kwargs)
     self.zone_manager = zone_manager.ZoneManager()
     self.host_manager = host_manager.HostManager()