From 29132a83984b4343b8062fcd5a2fcd8b74b5ea10 Mon Sep 17 00:00:00 2001 From: Lakshmi Kannan Date: Wed, 13 Jan 2016 16:42:32 -0800 Subject: [PATCH] =?UTF-8?q?Revert=20"RFR:=20Add=20--always-copy=20option?= =?UTF-8?q?=20to=20create=5Fvirtualenv=20method=20for=20pack=20virtual?= =?UTF-8?q?=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.rst | 2 -- Makefile | 1 - conf/st2.conf.sample | 6 +++--- conf/st2.package.conf | 1 - .../packs/actions/pack_mgmt/setup_virtualenv.py | 17 ++--------------- st2actions/st2actions/config.py | 13 ++----------- 6 files changed, 7 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index a957fbe916..22376d7beb 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -47,8 +47,6 @@ in development * Fix runaway action triggers caused by state miscalculation for mistral workflow. (bug fix) * Throw a more friendly error message if casting parameter value fails because the value contains an invalid type or similar. (improvement) -* Use ``--always-copy`` option when creating virtualenv for packs from packs.setup_virtualenv - action. This is required when st2actionrunner is kicked off from python within a virtualenv. 1.2.0 - December 07, 2015 ------------------------- diff --git a/Makefile b/Makefile index b70ac57a9d..0c9d9e0134 100644 --- a/Makefile +++ b/Makefile @@ -167,7 +167,6 @@ requirements: virtualenv .sdist-requirements # Make sure we use latest version of pip $(VIRTUALENV_DIR)/bin/pip install --upgrade pip - $(VIRTUALENV_DIR)/bin/pip install virtualenv # Required for packs.install in dev envs. # Generate all requirements to support current CI pipeline. $(VIRTUALENV_DIR)/bin/python scripts/fixate-requirements.py --skip=virtualenv -s st2*/in-requirements.txt -f fixed-requirements.txt -o requirements.txt diff --git a/conf/st2.conf.sample b/conf/st2.conf.sample index 6400d80b59..211b28bce7 100644 --- a/conf/st2.conf.sample +++ b/conf/st2.conf.sample @@ -13,7 +13,7 @@ logging = conf/logging.conf [api] # List of origins allowed -allow_origin = http://localhost:3000 # comma separated list allowed here. +allow_origin = ['http://localhost:3000'] # location of the logging.conf file logging = conf/logging.conf # True to mask secrets in API responses @@ -114,7 +114,7 @@ collection_interval = 600 # Controls if stderr should be redirected to the logs. redirect_stderr = False # Exclusion list of loggers to omit. -excludes = +excludes = # True to mask secrets in the log files. mask_secrets = True @@ -122,7 +122,7 @@ mask_secrets = True # URL of the messaging server. url = amqp://guest:guest@127.0.0.1:5672// # URL of all the nodes in a messaging service cluster. -cluster_urls = # comma separated list or URLs allowed here. +cluster_urls = [] [mistral] # URL Mistral uses to talk back to the API.If not provided it defaults to public API URL. Note: This needs to be a base URL without API version (e.g. http://127.0.0.1:9101) diff --git a/conf/st2.package.conf b/conf/st2.package.conf index f1ae43c8a0..e8042c26cb 100644 --- a/conf/st2.package.conf +++ b/conf/st2.package.conf @@ -17,7 +17,6 @@ logging = /etc/st2/logging.rulesengine.conf [actionrunner] logging = /etc/st2/logging.actionrunner.conf -virtualenv_opts = --always-copy [resultstracker] logging = /etc/st2/logging.resultstracker.conf diff --git a/contrib/packs/actions/pack_mgmt/setup_virtualenv.py b/contrib/packs/actions/pack_mgmt/setup_virtualenv.py index d813dbf673..67cb84ddb8 100644 --- a/contrib/packs/actions/pack_mgmt/setup_virtualenv.py +++ b/contrib/packs/actions/pack_mgmt/setup_virtualenv.py @@ -125,28 +125,15 @@ def _setup_pack_virtualenv(self, pack_name, update=False): def _create_virtualenv(self, virtualenv_path): python_binary = cfg.CONF.actionrunner.python_binary - virtualenv_binary = cfg.CONF.actionrunner.virtualenv_binary - virtualenv_opts = cfg.CONF.actionrunner.virtualenv_opts if not os.path.isfile(python_binary): raise Exception('Python binary "%s" doesn\'t exist' % (python_binary)) - if not os.path.isfile(virtualenv_binary): - raise Exception('Virtualenv binary "%s" doesn\'t exist.' % (virtualenv_binary)) - self.logger.debug('Creating virtualenv in "%s" using Python binary "%s"' % (virtualenv_path, python_binary)) - cmd = [virtualenv_binary, '-p', python_binary] - cmd.extend(virtualenv_opts) - cmd.extend([virtualenv_path]) - self.logger.debug('Running command "%s" to create virtualenv.', ' '.join(cmd)) - - try: - exit_code, _, stderr = run_command(cmd=cmd) - except OSError as e: - raise Exception('Error executing command %s. %s.' % (' '.join(cmd), - e.message)) + cmd = ['virtualenv', '-p', python_binary, '--system-site-packages', virtualenv_path] + exit_code, _, stderr = run_command(cmd=cmd) if exit_code != 0: raise Exception('Failed to create virtualenv in "%s": %s' % diff --git a/st2actions/st2actions/config.py b/st2actions/st2actions/config.py index 14b6d52366..483635ae2b 100644 --- a/st2actions/st2actions/config.py +++ b/st2actions/st2actions/config.py @@ -17,7 +17,6 @@ Configuration options registration and useful routines. """ -import os import sys from oslo_config import cfg @@ -42,19 +41,11 @@ def _register_common_opts(): def _register_action_runner_opts(): - default_python_bin_path = sys.executable - base_dir = os.path.dirname(os.path.realpath(default_python_bin_path)) - default_virtualenv_bin_path = os.path.join(base_dir, 'virtualenv') logging_opts = [ cfg.StrOpt('logging', default='conf/logging.conf', help='location of the logging.conf file'), - cfg.StrOpt('python_binary', default=default_python_bin_path, - help='Python binary which will be used by Python actions.'), - cfg.StrOpt('virtualenv_binary', default=default_virtualenv_bin_path, - help='Virtualenv binary which should be used to create pack virtualenvs.'), - cfg.ListOpt('virtualenv_opts', default=['--always-copy', '--system-site-packages'], - help='List of virtualenv options to be passsed to "virtualenv" command that ' + - 'creates pack virtualenv.') + cfg.StrOpt('python_binary', default=sys.executable, + help='Python binary which will be used by Python actions.') ] CONF.register_opts(logging_opts, group='actionrunner')