diff --git a/.zuul.yaml b/.zuul.yaml index 5cb1bb6..af4ab1a 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -14,26 +14,34 @@ - openstack-tox-pep8: required-projects: - name: openstack/requirements - override-checkout: stable/train + override-checkout: stable/ussuri - openstack-tox-py27: required-projects: - name: openstack/requirements - override-checkout: stable/train - - openstack-tox-py35: + override-checkout: stable/ussuri + - openstack-tox-py36: required-projects: - name: openstack/requirements - override-checkout: stable/train + override-checkout: stable/ussuri + - openstack-tox-py37: + required-projects: + - name: openstack/requirements + override-checkout: stable/ussuri gate: jobs: - openstack-tox-pep8: required-projects: - name: openstack/requirements - override-checkout: stable/train + override-checkout: stable/ussuri - openstack-tox-py27: required-projects: - name: openstack/requirements - override-checkout: stable/train - - openstack-tox-py35: + override-checkout: stable/ussuri + - openstack-tox-py36: required-projects: - name: openstack/requirements - override-checkout: stable/train + override-checkout: stable/ussuri + - openstack-tox-py37: + required-projects: + - name: openstack/requirements + override-checkout: stable/ussuri diff --git a/gbpautomation/heat/engine/resources/gbpresource.py b/gbpautomation/heat/engine/resources/gbpresource.py index d25594b..e971af9 100644 --- a/gbpautomation/heat/engine/resources/gbpresource.py +++ b/gbpautomation/heat/engine/resources/gbpresource.py @@ -52,18 +52,18 @@ class GBPResource(resource.Resource): @staticmethod def _validate_depr_property_required(properties, prop_key, depr_prop_key): - prop_value = properties.get(prop_key) - depr_prop_value = properties.get(depr_prop_key) + prop_value = properties.get(prop_key) + depr_prop_value = properties.get(depr_prop_key) - if prop_value and depr_prop_value: - raise exception.ResourcePropertyConflict(prop_key, - depr_prop_key) - if not prop_value and not depr_prop_value: - msg = _('Either %(prop_key)s or %(depr_prop_key)s' - ' should be specified.' - ) % {'prop_key': prop_key, - 'depr_prop_key': depr_prop_key} - raise exception.StackValidationFailed(message=msg) + if prop_value and depr_prop_value: + raise exception.ResourcePropertyConflict(prop_key, + depr_prop_key) + if not prop_value and not depr_prop_value: + msg = _('Either %(prop_key)s or %(depr_prop_key)s' + ' should be specified.' + ) % {'prop_key': prop_key, + 'depr_prop_key': depr_prop_key} + raise exception.StackValidationFailed(message=msg) @staticmethod def prepare_properties(properties, name): diff --git a/setup.cfg b/setup.cfg index 3b0bdd8..f8340b5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -13,8 +13,6 @@ classifier = License :: OSI Approved :: Apache Software License Operating System :: POSIX :: Linux Programming Language :: Python - Programming Language :: Python :: 2 - Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 Programming Language :: Python :: 3.3 Programming Language :: Python :: 3.4 diff --git a/test-requirements.txt b/test-requirements.txt index d3b4743..5165588 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -2,10 +2,11 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. --e git+https://opendev.org/openstack/heat.git@stable/train#egg=heat --e git+https://opendev.org/x/python-group-based-policy-client.git@master#egg=gbpclient +-e git+https://opendev.org/openstack/heat.git@stable/ussuri#egg=heat +-e git+https://opendev.org/x/python-group-based-policy-client.git@stable/ussuri#egg=gbpclient # Hacking already pins down pep8, pyflakes and flake8 -hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 +hacking!=0.13.0,<0.14,>=0.12.0;python_version=='2.7' # Apache-2.0 +hacking>=3.0.1,<3.1.0; python_version!='2.7' # Apache-2.0 bandit!=1.6.0,>=1.1.0 # Apache-2.0 coverage!=4.4,>=4.0 # Apache-2.0 flake8-import-order==0.12 # LGPLv3 @@ -13,7 +14,6 @@ kombu!=4.0.2,>=4.0.0 # BSD PyMySQL>=0.7.6 # MIT License os-testr>=1.0.0 # Apache-2.0 oslotest>=3.2.0 # Apache-2.0 -qpid-python>=0.26;python_version=='2.7' # Apache-2.0 psycopg2>=2.7 # LGPL/ZPL stestr>=2.0.0 # Apache-2.0 testrepository>=0.0.18 # Apache-2.0/BSD diff --git a/tox.ini b/tox.ini index b72477f..84ccc59 100644 --- a/tox.ini +++ b/tox.ini @@ -1,11 +1,12 @@ [tox] -envlist = py27,py35,py36,pep8 -minversion = 1.6 +envlist = py36,py37,py27,pep8 +minversion = 3.1.0 skipsdist = True [testenv] # Note the hash seed is set to 0 until heat can be tested with a # random hash seed successfully. +basepython = python3 setenv = VIRTUAL_ENV={envdir} PYTHONWARNINGS=default::DeprecationWarning OS_TEST_PATH=gbpautomation/heat/tests @@ -13,7 +14,7 @@ setenv = VIRTUAL_ENV={envdir} usedevelop = True install_command = pip install {opts} {packages} deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/train} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = @@ -30,18 +31,15 @@ commands = python -c "print('TODO: functional tests')" [testenv:pep8] -basepython = python3 commands = flake8 # Check that .po and .pot files are valid: # bash -c "find gbpautomation -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null" [testenv:venv] -basepython = python3 commands = {posargs} [testenv:cover] -basepython = python3 setenv = PYTHON=coverage run --source gbpautomation --parallel-mode commands = @@ -54,7 +52,6 @@ commands = coverage report [testenv:docs] -basepython = python3 deps = -r{toxinidir}/doc/requirements.txt commands = rm -rf doc/build @@ -64,13 +61,12 @@ commands = # H302 import only modules.'bla..' does not import a module # H404 multi line docstring should start with a summary # H803 no full stop at the end of the commit message -ignore = H302,H404,H803 +ignore = H302,H404,H803,,W503,W504 show-source = true builtins = _ exclude=.venv,.git,.tox,dist,*openstack/common*,*lib/python*,*egg,tools,build [testenv:bindep] -basepython = python3 # Do not install any requirements. We want this to be fast and work even if # system dependencies are missing, since it's used to tell you what system # dependencies are missing! This also means that bindep must be installed