""" Handler for yardstick command 'plugin' """
+import os
import sys
import yaml
import time
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()
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()
'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):
'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