Merge "Make sure report_interval is less than service_down_time"
This commit is contained in:
commit
357ec96502
|
@ -73,6 +73,26 @@ class API(object):
|
|||
# check_isinstance does it
|
||||
return super(API, cls).__new__(cls)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.basic_config_check()
|
||||
super(API, self).__init__(*args, **kwargs)
|
||||
|
||||
def basic_config_check(self):
|
||||
"""Perform basic config check."""
|
||||
# Make sure report interval is less than service down time
|
||||
report_interval = CONF.report_interval
|
||||
if CONF.service_down_time <= report_interval:
|
||||
new_service_down_time = int(report_interval * 2.5)
|
||||
LOG.warn(_("Report interval must be less than service down "
|
||||
"time. Current config: <service_down_time: "
|
||||
"%(service_down_time)s, report_interval: "
|
||||
"%(report_interval)s>. Setting service_down_time to: "
|
||||
"%(new_service_down_time)s"),
|
||||
{'service_down_time': CONF.service_down_time,
|
||||
'report_interval': report_interval,
|
||||
'new_service_down_time': new_service_down_time})
|
||||
CONF.set_override('service_down_time', new_service_down_time)
|
||||
|
||||
def join(self, member_id, group_id, service=None):
|
||||
"""Add a new member to the ServiceGroup
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ class DBServiceGroupTestCase(test.TestCase):
|
|||
super(DBServiceGroupTestCase, self).setUp()
|
||||
servicegroup.API._driver = None
|
||||
self.flags(servicegroup_driver='db')
|
||||
self.down_time = 3
|
||||
self.down_time = 15
|
||||
self.flags(enable_new_services=True)
|
||||
self.flags(service_down_time=self.down_time)
|
||||
self.servicegroup_api = servicegroup.API()
|
||||
|
@ -112,7 +112,7 @@ class DBServiceGroupTestCase(test.TestCase):
|
|||
def test_service_is_up(self):
|
||||
fts_func = datetime.datetime.fromtimestamp
|
||||
fake_now = 1000
|
||||
down_time = 5
|
||||
down_time = 15
|
||||
self.flags(service_down_time=down_time)
|
||||
self.mox.StubOutWithMock(timeutils, 'utcnow')
|
||||
self.servicegroup_api = servicegroup.API()
|
||||
|
|
|
@ -50,7 +50,7 @@ class MemcachedServiceGroupTestCase(test.TestCase):
|
|||
super(MemcachedServiceGroupTestCase, self).setUp()
|
||||
servicegroup.API._driver = None
|
||||
self.flags(servicegroup_driver='mc')
|
||||
self.down_time = 3
|
||||
self.down_time = 15
|
||||
self.flags(enable_new_services=True)
|
||||
self.flags(service_down_time=self.down_time)
|
||||
self.servicegroup_api = servicegroup.API(test=True)
|
||||
|
@ -138,7 +138,7 @@ class MemcachedServiceGroupTestCase(test.TestCase):
|
|||
self._host,
|
||||
self._binary)
|
||||
fake_now = 1000
|
||||
down_time = 5
|
||||
down_time = 15
|
||||
self.flags(service_down_time=down_time)
|
||||
self.mox.StubOutWithMock(timeutils, 'utcnow_ts')
|
||||
self.servicegroup_api = servicegroup.API()
|
||||
|
|
|
@ -81,6 +81,16 @@ class ServiceManagerTestCase(test.TestCase):
|
|||
serv.start()
|
||||
self.assertEqual(serv.test_method(), 'service')
|
||||
|
||||
def test_service_with_min_down_time(self):
|
||||
CONF.set_override('service_down_time', 10)
|
||||
CONF.set_override('report_interval', 10)
|
||||
serv = service.Service('test',
|
||||
'test',
|
||||
'test',
|
||||
'nova.tests.test_service.FakeManager')
|
||||
serv.start()
|
||||
self.assertEqual(CONF.service_down_time, 25)
|
||||
|
||||
|
||||
class ServiceFlagsTestCase(test.TestCase):
|
||||
def test_service_enabled_on_create_based_on_flag(self):
|
||||
|
|
Loading…
Reference in New Issue