From 91fd31b04f265641d8250f66d5ca5a7c2e299a58 Mon Sep 17 00:00:00 2001 From: Vladimir Jigulin Date: Tue, 11 Oct 2016 13:42:47 +0300 Subject: [PATCH] Rewrite install of fuel-plugin-builder framework Allow installing fuel-plugin-builder from pip package Closes-bug: #1583927 Change-Id: I630918184af6f573629dfa64b0f95a2871da12ca --- fuelweb_test/helpers/fuel_actions.py | 21 +++++++++++---------- fuelweb_test/settings.py | 2 ++ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/fuelweb_test/helpers/fuel_actions.py b/fuelweb_test/helpers/fuel_actions.py index 38ba7808c..1858280a4 100644 --- a/fuelweb_test/helpers/fuel_actions.py +++ b/fuelweb_test/helpers/fuel_actions.py @@ -28,6 +28,7 @@ from fuelweb_test.helpers.decorators import retry from fuelweb_test.helpers.regenerate_repo import regenerate_centos_repo from fuelweb_test.helpers.regenerate_repo import regenerate_ubuntu_repo from fuelweb_test.helpers.ssh_manager import SSHManager +from fuelweb_test.settings import FUEL_PLUGIN_BUILDER_FROM_GIT from fuelweb_test.settings import FUEL_PLUGIN_BUILDER_REPO from fuelweb_test.settings import FUEL_USE_LOCAL_NTPD from fuelweb_test.settings import KEYSTONE_CREDS @@ -376,20 +377,20 @@ class FuelPluginBuilder(BaseActions): """ def fpb_install(self): """ - Installs fuel plugin builder from sources - on master node + Installs fuel plugin builder on master node :return: nothing """ - fpb_cmd = """bash -c 'yum -y install git tar createrepo \ - rpm dpkg-devel dpkg-dev rpm-build python-pip; - git clone {0}; - cd fuel-plugins; - python setup.py sdist; - cd dist; - pip install *.tar.gz'""".format(FUEL_PLUGIN_BUILDER_REPO) + rpms = "createrepo dpkg-devel dpkg-dev rpm-build python-pip" + fpb_package = "fuel-plugin-builder" + if FUEL_PLUGIN_BUILDER_FROM_GIT: + rpms += " tar git" + fpb_package = "git+{}".format(FUEL_PLUGIN_BUILDER_REPO) - self.ssh_manager.execute_on_remote(ip=self.admin_ip, cmd=fpb_cmd) + self.ssh_manager.check_call(self.admin_ip, + "yum -y install {}".format(rpms)) + self.ssh_manager.check_call(self.admin_ip, + "pip install {}".format(fpb_package)) def fpb_create_plugin(self, name, package_version=PLUGIN_PACKAGE_VERSION): """ diff --git a/fuelweb_test/settings.py b/fuelweb_test/settings.py index 54304af5f..48ade47d9 100644 --- a/fuelweb_test/settings.py +++ b/fuelweb_test/settings.py @@ -568,6 +568,8 @@ TIMESTAT_PATH_YAML = os.environ.get( 'TIMESTAT_PATH_YAML', os.path.join( LOGS_DIR, 'timestat_{}.yaml'.format(time.strftime("%Y%m%d")))) +FUEL_PLUGIN_BUILDER_FROM_GIT = get_var_as_bool('FUEL_PLUGIN_BUILDER_FROM_GIT', + True) FUEL_PLUGIN_BUILDER_REPO = 'https://github.com/openstack/fuel-plugins.git' ###############################################################################