From 65eaf645f46986df7c34cc0959995399e894915f Mon Sep 17 00:00:00 2001 From: Al Bailey Date: Wed, 24 Apr 2019 13:16:19 -0500 Subject: [PATCH] Provide env settings to allow zuul and developers to both run tox Zuul checks out the dependant projects by their repo names. Repo checks out the project directory structure based on the labels in the manifest. Currently these directories have different names and so tox passes when run by zuul, but fails when run in a developer env. This submission uses an env variable: "STX_PREFIX" to make both envs able to run tox. Story: 2004515 Task: 30664 Change-Id: I06cefab7422f53ccc0b8af30ca06945311cec70e Signed-off-by: Al Bailey --- .zuul.yaml | 20 ++++++++++++++++++++ controllerconfig/controllerconfig/tox.ini | 15 ++++++++++----- puppet-manifests/tox.ini | 2 ++ puppet-modules-wrs/tox.ini | 2 ++ sysinv/cgts-client/cgts-client/tox.ini | 9 +++++---- sysinv/sysinv/sysinv/tox.ini | 19 ++++++++++++------- 6 files changed, 51 insertions(+), 16 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index 6bd4122c57..e4e035b142 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -57,6 +57,8 @@ files: - sysinv/sysinv/* vars: + tox_environment: + STX_PREFIX: '' tox_envlist: py27 tox_extra_args: -c sysinv/sysinv/sysinv/tox.ini @@ -73,6 +75,8 @@ files: - sysinv/sysinv/* vars: + tox_environment: + STX_PREFIX: '' tox_envlist: py35 tox_extra_args: -c sysinv/sysinv/sysinv/tox.ini @@ -84,6 +88,8 @@ files: - sysinv/sysinv/* vars: + tox_environment: + STX_PREFIX: '' tox_envlist: flake8 tox_extra_args: -c sysinv/sysinv/sysinv/tox.ini @@ -99,6 +105,8 @@ files: - sysinv/sysinv/* vars: + tox_environment: + STX_PREFIX: '' tox_envlist: pylint tox_extra_args: -c sysinv/sysinv/sysinv/tox.ini @@ -109,6 +117,8 @@ files: - controllerconfig/* vars: + tox_environment: + STX_PREFIX: '' tox_envlist: flake8 tox_extra_args: -c controllerconfig/controllerconfig/tox.ini @@ -122,6 +132,8 @@ files: - controllerconfig/* vars: + tox_environment: + STX_PREFIX: '' tox_envlist: py27 tox_extra_args: -c controllerconfig/controllerconfig/tox.ini @@ -135,6 +147,8 @@ files: - controllerconfig/* vars: + tox_environment: + STX_PREFIX: '' tox_envlist: pylint tox_extra_args: -c controllerconfig/controllerconfig/tox.ini @@ -174,6 +188,8 @@ - starlingx/fault - starlingx/integ vars: + tox_environment: + STX_PREFIX: '' tox_envlist: py27 tox_extra_args: -c sysinv/cgts-client/cgts-client/tox.ini @@ -185,6 +201,8 @@ files: - sysinv/cgts-client/* vars: + tox_environment: + STX_PREFIX: '' tox_envlist: pep8 tox_extra_args: -c sysinv/cgts-client/cgts-client/tox.ini @@ -200,6 +218,8 @@ - starlingx/fault - starlingx/integ vars: + tox_environment: + STX_PREFIX: '' tox_envlist: pylint tox_extra_args: -c sysinv/cgts-client/cgts-client/tox.ini diff --git a/controllerconfig/controllerconfig/tox.ini b/controllerconfig/controllerconfig/tox.ini index fd083c3c21..430282b750 100644 --- a/controllerconfig/controllerconfig/tox.ini +++ b/controllerconfig/controllerconfig/tox.ini @@ -11,13 +11,18 @@ stxdir = {toxinidir}/../../.. [testenv] whitelist_externals = find -install_command = pip install --no-cache-dir -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike} {opts} {packages} +install_command = pip install --no-cache-dir -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/pike/upper-constraints.txt} {opts} {packages} + +# Note: Developers can leave STX_PREFIX unset in their env, and it will default to "stx-". +# Zuul sets STX_PREFIX to an empty string. +setenv = STX_PREFIX = {env:STX_PREFIX:stx-} + deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt - -e{[tox]stxdir}/fault/fm-api - -e{[tox]stxdir}/update/tsconfig/tsconfig - -e{[tox]stxdir}/config/sysinv/sysinv/sysinv - -e{[tox]stxdir}/config/sysinv/cgts-client/cgts-client + -e{[tox]stxdir}/{env:STX_PREFIX}fault/fm-api + -e{[tox]stxdir}/{env:STX_PREFIX}update/tsconfig/tsconfig + -e{[tox]stxdir}/{env:STX_PREFIX}config/sysinv/sysinv/sysinv + -e{[tox]stxdir}/{env:STX_PREFIX}config/sysinv/cgts-client/cgts-client [testenv:venv] commands = {posargs} diff --git a/puppet-manifests/tox.ini b/puppet-manifests/tox.ini index 19e4a409e2..a9a8e59da3 100644 --- a/puppet-manifests/tox.ini +++ b/puppet-manifests/tox.ini @@ -17,6 +17,8 @@ skipsdist = True recreate = True [testenv:puppetlint] +# Note: centos developer env requires ruby-devel +# Ubuntu developer env requires ruby-dev deps = whitelist_externals = gem diff --git a/puppet-modules-wrs/tox.ini b/puppet-modules-wrs/tox.ini index 8e0bfa7488..ff1641a039 100644 --- a/puppet-modules-wrs/tox.ini +++ b/puppet-modules-wrs/tox.ini @@ -17,6 +17,8 @@ skipsdist = True recreate = True [testenv:puppetlint] +# Note: centos developer env requires ruby-devel +# Ubuntu developer env requires ruby-dev deps = whitelist_externals = gem diff --git a/sysinv/cgts-client/cgts-client/tox.ini b/sysinv/cgts-client/cgts-client/tox.ini index 4c0c3a26b2..ac38a89c21 100644 --- a/sysinv/cgts-client/cgts-client/tox.ini +++ b/sysinv/cgts-client/cgts-client/tox.ini @@ -5,22 +5,23 @@ minversion = 1.6 # tox does not work if the path to the workdir is too long, so move it to /tmp toxworkdir = /tmp/{env:USER}_cgtsclienttox -cgcsdir = {toxinidir}/../../../.. +stxdir = {toxinidir}/../../../.. distshare={toxworkdir}/.tox/distshare -wrdeps = -e{[tox]cgcsdir}/update/tsconfig/tsconfig - [testenv] +# Note: Developers can leave STX_PREFIX unset in their env, and it will default to "stx-". +# Zuul sets STX_PREFIX to an empty string. setenv = VIRTUAL_ENV={envdir} PYTHONWARNINGS=default::DeprecationWarning OS_TEST_PATH=cgtsclient/tests TESTR_START_DIR=cgtsclient/tests + STX_PREFIX = {env:STX_PREFIX:stx-} basepython = python2.7 usedevelop = True install_command = pip install -U -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike} {opts} {packages} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt - {[tox]wrdeps} + -e{[tox]stxdir}/{env:STX_PREFIX}update/tsconfig/tsconfig commands = find {toxinidir} -not -path '{toxinidir}/.tox/*' -name '*.py[c|o]' -delete diff --git a/sysinv/sysinv/sysinv/tox.ini b/sysinv/sysinv/sysinv/tox.ini index e443f662af..408f36189e 100644 --- a/sysinv/sysinv/sysinv/tox.ini +++ b/sysinv/sysinv/sysinv/tox.ini @@ -20,9 +20,13 @@ sitepackages = True # tox is silly... these need to be separated by a newline.... whitelist_externals = bash find -install_command = pip install -v -v -v -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/pike} {opts} {packages} + +install_command = pip install -v -v -v -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/pike/upper-constraints.txt} {opts} {packages} + # Note the hash seed is set to 0 until can be tested with a # random hash seed successfully. +# Note: Developers can leave STX_PREFIX unset in their env, and it will default to "stx-". +# Zuul sets STX_PREFIX to an empty string. setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 PYTHONDONTWRITEBYTECODE=1 @@ -34,15 +38,16 @@ setenv = VIRTUAL_ENV={envdir} SYSINV_TEST_ENV=True TOX_WORK_DIR={toxworkdir} PYLINTHOME={toxworkdir} + STX_PREFIX = {env:STX_PREFIX:stx-} deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt - -e{[tox]stxdir}/update/tsconfig/tsconfig - -e{[tox]stxdir}/fault/fm-api - -e{[tox]stxdir}/fault/python-fmclient/fmclient - -e{[tox]stxdir}/config/controllerconfig/controllerconfig - -e{[tox]stxdir}/update/cgcs-patch/cgcs-patch - -e{[tox]stxdir}/integ/utilities/platform-util/platform-util + -e{[tox]stxdir}/{env:STX_PREFIX}update/tsconfig/tsconfig + -e{[tox]stxdir}/{env:STX_PREFIX}fault/fm-api + -e{[tox]stxdir}/{env:STX_PREFIX}fault/python-fmclient/fmclient + -e{[tox]stxdir}/{env:STX_PREFIX}config/controllerconfig/controllerconfig + -e{[tox]stxdir}/{env:STX_PREFIX}update/cgcs-patch/cgcs-patch + -e{[tox]stxdir}/{env:STX_PREFIX}integ/utilities/platform-util/platform-util commands = find . -type f -name "*.pyc" -delete