Sync charm-helpers

Also update test helper to stop using a known racy
and deprecation-warned helper (service_restarted).

Change-Id: I1855da50bc1b8abbb04ae450741a2fd96f10df91
This commit is contained in:
Ryan Beisner 2018-02-21 07:34:28 -06:00
parent 5030d244e2
commit c87affc038
4 changed files with 16 additions and 9 deletions

View File

@ -92,7 +92,7 @@ class OpenStackAmuletUtils(AmuletUtils):
return 'endpoint not found' return 'endpoint not found'
def validate_v3_endpoint_data(self, endpoints, admin_port, internal_port, def validate_v3_endpoint_data(self, endpoints, admin_port, internal_port,
public_port, expected): public_port, expected, expected_num_eps=3):
"""Validate keystone v3 endpoint data. """Validate keystone v3 endpoint data.
Validate the v3 endpoint data which has changed from v2. The Validate the v3 endpoint data which has changed from v2. The
@ -138,7 +138,7 @@ class OpenStackAmuletUtils(AmuletUtils):
if ret: if ret:
return 'unexpected endpoint data - {}'.format(ret) return 'unexpected endpoint data - {}'.format(ret)
if len(found) != 3: if len(found) != expected_num_eps:
return 'Unexpected number of endpoints found' return 'Unexpected number of endpoints found'
def validate_svc_catalog_endpoint_data(self, expected, actual): def validate_svc_catalog_endpoint_data(self, expected, actual):

View File

@ -591,17 +591,24 @@ class GlanceBasicDeployment(OpenStackAmuletDeployment):
conf_file = '/etc/glance/glance-api.conf' conf_file = '/etc/glance/glance-api.conf'
# Services which are expected to restart upon config change # Services which are expected to restart upon config change
services = ['glance-api', 'glance-registry'] services = {
'glance-api': conf_file,
'glance-registry': conf_file,
}
# Make config change, check for service restarts # Make config change, check for service restarts
u.log.debug('Making config change on {}...'.format(juju_service)) u.log.debug('Making config change on {}...'.format(juju_service))
mtime = u.get_sentry_time(sentry)
self.d.configure(juju_service, set_alternate) self.d.configure(juju_service, set_alternate)
sleep_time = 30 sleep_time = 30
for s in services: for s, conf_file in services.iteritems():
u.log.debug("Checking that service restarted: {}".format(s)) u.log.debug("Checking that service restarted: {}".format(s))
if not u.service_restarted(sentry, s, if not u.validate_service_config_changed(sentry, mtime, s,
conf_file, sleep_time=sleep_time): conf_file,
retry_count=4,
retry_sleep_time=20,
sleep_time=sleep_time):
self.d.configure(juju_service, set_default) self.d.configure(juju_service, set_default)
msg = "service {} didn't restart after config change".format(s) msg = "service {} didn't restart after config change".format(s)
amulet.raise_status(amulet.FAIL, msg=msg) amulet.raise_status(amulet.FAIL, msg=msg)

View File

@ -92,7 +92,7 @@ class OpenStackAmuletUtils(AmuletUtils):
return 'endpoint not found' return 'endpoint not found'
def validate_v3_endpoint_data(self, endpoints, admin_port, internal_port, def validate_v3_endpoint_data(self, endpoints, admin_port, internal_port,
public_port, expected): public_port, expected, expected_num_eps=3):
"""Validate keystone v3 endpoint data. """Validate keystone v3 endpoint data.
Validate the v3 endpoint data which has changed from v2. The Validate the v3 endpoint data which has changed from v2. The
@ -138,7 +138,7 @@ class OpenStackAmuletUtils(AmuletUtils):
if ret: if ret:
return 'unexpected endpoint data - {}'.format(ret) return 'unexpected endpoint data - {}'.format(ret)
if len(found) != 3: if len(found) != expected_num_eps:
return 'Unexpected number of endpoints found' return 'Unexpected number of endpoints found'
def validate_svc_catalog_endpoint_data(self, expected, actual): def validate_svc_catalog_endpoint_data(self, expected, actual):

View File

@ -9,7 +9,7 @@ skipsdist = True
setenv = VIRTUAL_ENV={envdir} setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0 PYTHONHASHSEED=0
CHARM_DIR={envdir} CHARM_DIR={envdir}
AMULET_SETUP_TIMEOUT=2700 AMULET_SETUP_TIMEOUT=5400
install_command = install_command =
pip install --allow-unverified python-apt {opts} {packages} pip install --allow-unverified python-apt {opts} {packages}
commands = ostestr {posargs} commands = ostestr {posargs}