diff options
author | Peter Mikus <pmikus@cisco.com> | 2018-04-09 15:08:41 +0200 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2018-04-11 04:56:16 +0000 |
commit | 68dfcca79ee6838a266330eba834b360b11a3c15 (patch) | |
tree | 7b376a157dfd0b230d28d1b1489fce29f2dd2d88 /resources/libraries/python/VppConfigGenerator.py | |
parent | 9356c41a2071d83d11723290cbecc8bdcf1a4b04 (diff) |
Create unified service operations
- Add ability to dump the logs from service unit (since last start)
- Cleanup service code to more streamlined way.
Change-Id: I6e332dce3229727dd36fd72a8ecfb9fc9efe4d63
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'resources/libraries/python/VppConfigGenerator.py')
-rw-r--r-- | resources/libraries/python/VppConfigGenerator.py | 48 |
1 files changed, 20 insertions, 28 deletions
diff --git a/resources/libraries/python/VppConfigGenerator.py b/resources/libraries/python/VppConfigGenerator.py index 4476cfa3ee..d740514994 100644 --- a/resources/libraries/python/VppConfigGenerator.py +++ b/resources/libraries/python/VppConfigGenerator.py @@ -17,6 +17,8 @@ import re import time from resources.libraries.python.ssh import SSH +from resources.libraries.python.constants import Constants +from resources.libraries.python.DUTSetup import DUTSetup from resources.libraries.python.topology import NodeType from resources.libraries.python.topology import Topology @@ -503,48 +505,38 @@ class VppConfigGenerator(object): filename = self._vpp_startup_conf if self._vpp_startup_conf_backup is not None: - (ret, _, _) = \ - ssh.exec_command('sudo cp {0} {1}'. - format(self._vpp_startup_conf, - self._vpp_startup_conf_backup)) + ret, _, _ = \ + ssh.exec_command('sudo cp {src} {dest}'. + format(src=self._vpp_startup_conf, + dest=self._vpp_startup_conf_backup)) if ret != 0: - raise RuntimeError('Backup of config file failed on node {}'. - format(self._hostname)) + raise RuntimeError('Backup of config file failed on node ' + '{name}'.format(name=self._hostname)) - (ret, _, _) = \ + ret, _, _ = \ ssh.exec_command('echo "{config}" | sudo tee {filename}'. format(config=self._vpp_config, filename=filename)) if ret != 0: - raise RuntimeError('Writing config file failed to node {}'. - format(self._hostname)) + raise RuntimeError('Writing config file failed to node {name}'. + format(name=self._hostname)) if restart_vpp: - # Instead of restarting, we'll do separate start and stop - # actions. This way we don't care whether VPP was running - # to begin with. - ssh.exec_command('sudo service {} stop' - .format(self._vpp_service_name)) - (ret, _, _) = \ - ssh.exec_command('sudo service {} start' - .format(self._vpp_service_name)) - if ret != 0: - raise RuntimeError('Restarting VPP failed on node {}'. - format(self._hostname)) + DUTSetup.start_service(self._node, Constants.VPP_UNIT) # Sleep <waittime> seconds, up to <retry> times, # and verify if VPP is running. for _ in range(retries): time.sleep(1) - (ret, stdout, _) = \ + ret, stdout, _ = \ ssh.exec_command('echo show hardware-interfaces | ' 'nc 0 5002 || echo "VPP not yet running"') if ret == 0 and 'VPP not yet running' not in stdout: break else: - raise RuntimeError('VPP failed to restart on node {}'. - format(self._hostname)) + raise RuntimeError('VPP failed to restart on node {name}'. + format(name=self._hostname)) def restore_config(self): """Restore VPP startup.conf from backup. @@ -555,9 +547,9 @@ class VppConfigGenerator(object): ssh = SSH() ssh.connect(self._node) - (ret, _, _) = ssh.exec_command('sudo cp {0} {1}'. - format(self._vpp_startup_conf_backup, - self._vpp_startup_conf)) + ret, _, _ = ssh.exec_command('sudo cp {src} {dest}'. + format(src=self._vpp_startup_conf_backup, + dest=self._vpp_startup_conf)) if ret != 0: - raise RuntimeError('Restoration of config file failed on node {}'. - format(self._hostname)) + raise RuntimeError('Restoration of config file failed on node ' + '{name}'.format(name=self._hostname)) |