Merge "Clean up service management"
This commit is contained in:
commit
bf55611c42
|
@ -18,7 +18,7 @@ function configure {
|
|||
iniset $TEMPEST_CONFIG whitebox-nova-compute stop_command "$WHITEBOX_NOVA_COMPUTE_STOP_COMMAND"
|
||||
iniset $TEMPEST_CONFIG whitebox-nova-compute start_command "$WHITEBOX_NOVA_COMPUTE_START_COMMAND"
|
||||
|
||||
iniset $TEMPEST_CONFIG whitebox-libvirt restart_command "$WHITEBOX_LIBVIRT_RESTART_COMMAND"
|
||||
iniset $TEMPEST_CONFIG whitebox-libvirt start_command "$WHITEBOX_LIBVIRT_START_COMMAND"
|
||||
iniset $TEMPEST_CONFIG whitebox-libvirt stop_command "$WHITEBOX_LIBVIRT_STOP_COMMAND"
|
||||
|
||||
iniset $TEMPEST_CONFIG whitebox-database user $DATABASE_USER
|
||||
|
|
|
@ -8,7 +8,7 @@ WHITEBOX_NOVA_COMPUTE_CONFIG_PATH=${WHITEBOX_NOVA_COMPUTE_CONFIG_PATH:-/etc/nova
|
|||
WHITEBOX_NOVA_COMPUTE_STOP_COMMAND=${WHITEBOX_NOVA_COMPUTE_STOP_COMMAND:-'systemctl stop devstack@n-cpu'}
|
||||
WHITEBOX_NOVA_COMPUTE_START_COMMAND=${WHITEBOX_NOVA_COMPUTE_START_COMMAND:-'systemctl start devstack@n-cpu'}
|
||||
|
||||
WHITEBOX_LIBVIRT_RESTART_COMMAND=${WHITEBOX_LIBVIRT_RESTART_COMMAND:-'systemctl restart libvirtd'}
|
||||
WHITEBOX_LIBVIRT_START_COMMAND=${WHITEBOX_LIBVIRT_START_COMMAND:-'systemctl start libvirtd'}
|
||||
WHITEBOX_LIBVIRT_STOP_COMMAND=${WHITEBOX_LIBVIRT_STOP_COMMAND:-'systemctl stop libvirtd'}
|
||||
|
||||
WHITEBOX_CPU_TOPOLOGY=${WHITEBOX_CPU_TOPOLOGY:-''}
|
||||
|
|
|
@ -113,11 +113,9 @@ libvirt_group = cfg.OptGroup(
|
|||
|
||||
libvirt_opts = [
|
||||
cfg.StrOpt(
|
||||
'restart_command',
|
||||
help='Command to restart the libvirt service, without any '
|
||||
'privilege management (ie, no sudo).',
|
||||
deprecated_opts=[cfg.DeprecatedOpt('restart_command',
|
||||
group='whitebox-nova-libvirt')]),
|
||||
'start_command',
|
||||
help='Command to start the libvirt service, without any '
|
||||
'privilege management (ie, no sudo).'),
|
||||
cfg.StrOpt(
|
||||
'stop_command',
|
||||
help='Command to stop the libvirt service, without any '
|
||||
|
|
|
@ -122,7 +122,7 @@ class ServiceManager(SSHClient):
|
|||
try:
|
||||
yield
|
||||
finally:
|
||||
self.restart()
|
||||
self.start()
|
||||
|
||||
def get_conf_opt(self, section, option):
|
||||
command = 'crudini --get %s %s %s' % (self.config_path, section,
|
||||
|
@ -161,11 +161,14 @@ class ServiceManager(SSHClient):
|
|||
option)
|
||||
return self.execute(command, container_name=None, sudo=True)
|
||||
|
||||
def restart(self):
|
||||
return self.execute(self.restart_command, sudo=True)
|
||||
def start(self):
|
||||
self.execute(self.start_command, sudo=True)
|
||||
|
||||
def stop(self):
|
||||
return self.execute(self.stop_command, sudo=True)
|
||||
self.execute(self.stop_command, sudo=True)
|
||||
|
||||
def restart(self):
|
||||
self.execute(self.restart_command, sudo=True)
|
||||
|
||||
|
||||
class NovaServiceManager(ServiceManager):
|
||||
|
|
|
@ -17,6 +17,7 @@ import tempfile
|
|||
import textwrap
|
||||
|
||||
from oslo_concurrency import processutils
|
||||
from oslo_config import cfg
|
||||
from tempest.lib import exceptions as tempest_libexc
|
||||
|
||||
from whitebox_tempest_plugin import exceptions
|
||||
|
@ -24,6 +25,9 @@ from whitebox_tempest_plugin.services import clients
|
|||
from whitebox_tempest_plugin.tests import base
|
||||
|
||||
|
||||
CONF = cfg.CONF
|
||||
|
||||
|
||||
class SSHClientTestCase(base.WhiteboxPluginTestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
@ -142,21 +146,35 @@ class ServiceManagerTestCase(base.WhiteboxPluginTestCase):
|
|||
self.assertRaises(tempest_libexc.SSHExecCommandFailed,
|
||||
service.get_conf_opt, 'section', 'foo')
|
||||
|
||||
def test_restart(self):
|
||||
self.flags(restart_command='fake restart command',
|
||||
group='whitebox-libvirt')
|
||||
service = clients.ServiceManager('fake-host', 'libvirt')
|
||||
with mock.patch.object(service, 'execute') as mock_exec:
|
||||
service.restart()
|
||||
mock_exec.assert_called_with('fake restart command', sudo=True)
|
||||
|
||||
def test_stop(self):
|
||||
def test_commands(self):
|
||||
# NOTE(artom) There is currently no service that has all 3 start, stop
|
||||
# and restart, so we set up a fake one for testing.
|
||||
CONF.register_group(cfg.OptGroup(name='whitebox-fake-service'))
|
||||
CONF.register_opt(cfg.StrOpt('start_command'),
|
||||
group='whitebox-fake-service')
|
||||
CONF.register_opt(cfg.StrOpt('stop_command'),
|
||||
group='whitebox-fake-service')
|
||||
CONF.register_opt(cfg.StrOpt('restart_command'),
|
||||
group='whitebox-fake-service')
|
||||
self.flags(start_command='fake start command',
|
||||
group='whitebox-fake-service')
|
||||
self.flags(stop_command='fake stop command',
|
||||
group='whitebox-libvirt')
|
||||
service = clients.ServiceManager('fake-host', 'libvirt')
|
||||
group='whitebox-fake-service')
|
||||
self.flags(restart_command='fake restart command',
|
||||
group='whitebox-fake-service')
|
||||
service = clients.ServiceManager('fake-host', 'fake-service')
|
||||
with mock.patch.object(service, 'execute') as mock_exec:
|
||||
# Start
|
||||
service.start()
|
||||
mock_exec.assert_called_with('fake start command', sudo=True)
|
||||
mock_exec.reset_mock()
|
||||
# Stop
|
||||
service.stop()
|
||||
mock_exec.assert_called_with('fake stop command', sudo=True)
|
||||
mock_exec.reset_mock()
|
||||
# Restart
|
||||
service.restart()
|
||||
mock_exec.assert_called_with('fake restart command', sudo=True)
|
||||
|
||||
|
||||
class NUMAClientTestCase(base.WhiteboxPluginTestCase):
|
||||
|
|
Loading…
Reference in New Issue