X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fcmd%2Fcommands%2Fplugin.py;h=10e5cdfbe290fd1064f601b51961b40d7c1ec687;hb=893294646833bed300586ee36040d4fde3c20842;hp=8e3ddb5a5c23e6ba93f03fe7ed8ad024b7aed39a;hpb=4fc53e85b6cef0208bafc653b32abbcca8460582;p=yardstick.git diff --git a/yardstick/cmd/commands/plugin.py b/yardstick/cmd/commands/plugin.py index 8e3ddb5a5..10e5cdfbe 100644 --- a/yardstick/cmd/commands/plugin.py +++ b/yardstick/cmd/commands/plugin.py @@ -9,6 +9,7 @@ """ Handler for yardstick command 'plugin' """ +import os import sys import yaml import time @@ -40,8 +41,10 @@ class PluginCommands(object): plugin_name = plugins.get("name") print("Installing plugin: %s" % plugin_name) + LOG.info("Executing _install_setup()") self._install_setup(plugin_name, deployment) + LOG.info("Executing _run()") self._run(plugin_name) total_end_time = time.time() @@ -60,10 +63,12 @@ class PluginCommands(object): plugins, deployment = parser.parse_plugin() plugin_name = plugins.get("name") - print("Remove plugin: %s" % plugin_name) + print("Removing plugin: %s" % plugin_name) + LOG.info("Executing _remove_setup()") self._remove_setup(plugin_name, deployment) + LOG.info("Executing _run()") self._run(plugin_name) total_end_time = time.time() @@ -79,16 +84,29 @@ class PluginCommands(object): 'yardstick.resources', 'scripts/install/' + target_script) deployment_user = deployment.get("user") + deployment_ssh_port = deployment.get("ssh_port", ssh.DEFAULT_PORT) deployment_ip = deployment.get("ip") - deployment_password = deployment.get("password") - LOG.debug("user:%s, host:%s", deployment_user, deployment_ip) - self.client = ssh.SSH(deployment_user, deployment_ip, - password=deployment_password) - self.client.wait(timeout=600) + + if deployment_ip == "local": + installer_ip = os.environ.get("INSTALLER_IP", None) + + LOG.info("user:%s, host:%s", deployment_user, installer_ip) + self.client = ssh.SSH(deployment_user, installer_ip, + password=deployment_password, + port=deployment_ssh_port) + self.client.wait(timeout=600) + else: + LOG.info("user:%s, host:%s", deployment_user, deployment_ip) + self.client = ssh.SSH(deployment_user, deployment_ip, + password=deployment_password, + port=deployment_ssh_port) + self.client.wait(timeout=600) # copy script to host cmd = "cat > ~/%s.sh" % plugin_name + + LOG.info("copying script to host: %s", cmd) self.client.run(cmd, stdin=open(self.script, 'rb')) def _remove_setup(self, plugin_name, deployment): @@ -98,28 +116,42 @@ class PluginCommands(object): 'yardstick.resources', 'scripts/remove/' + target_script) deployment_user = deployment.get("user") + deployment_ssh_port = deployment.get("ssh_port", ssh.DEFAULT_PORT) deployment_ip = deployment.get("ip") - deployment_password = deployment.get("password") - LOG.debug("user:%s, host:%s", deployment_user, deployment_ip) - self.client = ssh.SSH(deployment_user, deployment_ip, - password=deployment_password) - self.client.wait(timeout=600) + + if deployment_ip == "local": + installer_ip = os.environ.get("INSTALLER_IP", None) + + LOG.info("user:%s, host:%s", deployment_user, installer_ip) + self.client = ssh.SSH(deployment_user, installer_ip, + password=deployment_password, + port=deployment_ssh_port) + self.client.wait(timeout=600) + else: + LOG.info("user:%s, host:%s", deployment_user, deployment_ip) + self.client = ssh.SSH(deployment_user, deployment_ip, + password=deployment_password, + port=deployment_ssh_port) + self.client.wait(timeout=600) # copy script to host cmd = "cat > ~/%s.sh" % plugin_name + + LOG.info("copying script to host: %s", cmd) self.client.run(cmd, stdin=open(self.script, 'rb')) def _run(self, plugin_name): '''Run installation script ''' cmd = "sudo bash %s" % plugin_name + ".sh" - LOG.debug("Executing command: %s", cmd) + LOG.info("Executing command: %s", cmd) status, stdout, stderr = self.client.execute(cmd) class PluginParser(object): '''Parser for plugin configration files in yaml format''' + def __init__(self, path): self.path = path