Add helper to restart services

Change-Id: Ic3521c08cdaa207e1391a32e03e53b276c51b309
This commit is contained in:
Liam Young 2018-11-22 12:00:06 +00:00
parent 785cdb8d61
commit 9ed4656987
2 changed files with 29 additions and 1 deletions

View File

@ -210,6 +210,14 @@ class OpenStackCharm(BaseOpenStackCharm,
os_utils.clear_unit_upgrading()
self.run_pause_or_resume('resume')
def restart_services(self):
"""Restart services"""
services = self.services[:]
if self.haproxy_enabled():
services.append('haproxy')
os_utils.manage_payload_services('stop', services)
os_utils.manage_payload_services('start', services)
class OpenStackAPICharm(OpenStackCharm):
"""The base class for API OS charms -- this just bakes in the default

View File

@ -208,7 +208,9 @@ class TestMyOpenStackCharm(BaseOpenStackCharmTest):
def setUp(self):
def make_open_stack_charm():
return MyOpenStackCharm(['interface1', 'interface2'])
charm = MyOpenStackCharm(['interface1', 'interface2'])
charm.services = ['svc1', 'sv2']
return charm
super(TestMyOpenStackCharm, self).setUp(make_open_stack_charm,
TEST_CONFIG)
@ -272,6 +274,24 @@ class TestMyOpenStackCharm(BaseOpenStackCharmTest):
self.get_upstream_version.assert_called_once_with('p2')
self.os_release.assert_called_once_with('p2')
def test_restart_services(self):
self.patch_target('haproxy_enabled', return_value=False)
self.patch_object(chm.os_utils, 'manage_payload_services')
self.target.restart_services()
svcs = ['svc1', 'sv2']
self.manage_payload_services.assert_has_calls([
mock.call('stop', svcs),
mock.call('start', svcs)])
def test_restart_services_haproxy(self):
self.patch_target('haproxy_enabled', return_value=True)
self.patch_object(chm.os_utils, 'manage_payload_services')
self.target.restart_services()
svcs = ['svc1', 'sv2', 'haproxy']
self.manage_payload_services.assert_has_calls([
mock.call('stop', svcs),
mock.call('start', svcs)])
class TestOpenStackAPICharm(BaseOpenStackCharmTest):