diff --git a/doc/source/conf.py b/doc/source/conf.py index ed0f72d..af8586f 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -69,7 +69,9 @@ target_name = 'openstack-ansible-' + role_name title = 'OpenStack-Ansible Documentation: ' + role_name + 'role' # The link to the browsable source code (for the left hand menu) -oslosphinx_cgit_link = 'https://git.openstack.org/cgit/openstack/' + target_name +oslosphinx_cgit_link = ( + "https://git.openstack.org/cgit/openstack/{}".format(target_name) +) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/meta/main.yml b/meta/main.yml index 844a05d..da99e37 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -30,6 +30,5 @@ galaxy_info: - openstack - almanach - telemetry - dependencies: - - pip_install - - openstack_openrc +dependencies: + - pip_install diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py index 3770d7c..3bbba4d 100644 --- a/releasenotes/source/conf.py +++ b/releasenotes/source/conf.py @@ -65,7 +65,9 @@ target_name = 'openstack-ansible-' + role_name title = 'OpenStack-Ansible Release Notes: ' + role_name + 'role' # The link to the browsable source code (for the left hand menu) -oslosphinx_cgit_link = 'https://git.openstack.org/cgit/openstack/' + target_name +oslosphinx_cgit_link = ( + "https://git.openstack.org/cgit/openstack/{}".format(target_name) +) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index cabb1f5..0000000 --- a/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -ansible \ No newline at end of file diff --git a/run_tests.sh b/run_tests.sh index e8f6f3a..d9dacfb 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -49,24 +49,12 @@ install_pkg_deps() { eval sudo $pkg_mgr_cmd $pkg_deps } -git_clone_repo() { - if [[ ! -d tests/common ]]; then - # The tests repo doesn't need a clone, we can just - # symlink it. - if [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then - ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common - else - git clone \ - https://git.openstack.org/openstack/openstack-ansible-tests \ - tests/common - fi - fi -} - +# Install the host distro package dependencies install_pkg_deps -git_clone_repo +# Clone the tests repo for access to the common test script +source tests/tests-repo-clone.sh -# start executing the main test script +# Execute the common test script source tests/common/run_tests_common.sh diff --git a/test-requirements.txt b/test-requirements.txt index 51ce3c0..73f2df7 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,16 +1,16 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -bashate>=0.2 # Apache-2.0 +bashate>=0.5.1 # Apache-2.0 flake8<2.6.0,>=2.5.4 # MIT -pyasn1 # BSD -pyOpenSSL>=0.14 # Apache-2.0 -requests>=2.10.0 # Apache-2.0 +pyasn1!=0.2.3,>=0.1.8 # BSD +pyOpenSSL>=16.2.0 # Apache-2.0 +requests>=2.14.2 # Apache-2.0 ndg-httpsclient>=0.4.2;python_version<'3.0' # BSD # this is required for the docs build jobs -sphinx!=1.3b1,<1.4,>=1.2.1 # BSD -openstackdocstheme>=1.11.0 # Apache-2.0 -doc8 # Apache-2.0 -reno>=1.8.0 # Apache-2.0 +sphinx>=1.6.2 # BSD +openstackdocstheme>=1.17.0 # Apache-2.0 +doc8>=0.6.0 # Apache-2.0 +reno>=2.5.0 # Apache-2.0 sphinxmark>=0.1.14 # Apache-2.0 diff --git a/tests/test-functional-almanach.yml b/tests/test-functional-almanach.yml index 2e9e03a..e371314 100644 --- a/tests/test-functional-almanach.yml +++ b/tests/test-functional-almanach.yml @@ -18,10 +18,6 @@ user: root gather_facts: false tasks: - - name: Install httplib2 so we can use the uri module - pip: - name: httplib2 - executable: pip3 - name: Check the almanach-api uri: url: "http://localhost:8000/v1/info" diff --git a/tests/tests-repo-clone.sh b/tests/tests-repo-clone.sh index 39efbb1..3e4ffd6 100755 --- a/tests/tests-repo-clone.sh +++ b/tests/tests-repo-clone.sh @@ -33,6 +33,7 @@ set -e export TESTING_HOME=${TESTING_HOME:-$HOME} export WORKING_DIR=${WORKING_DIR:-$(pwd)} export CLONE_UPGRADE_TESTS=${CLONE_UPGRADE_TESTS:-no} +export ZUUL_TESTS_CLONE_LOCATION="/home/zuul/src/git.openstack.org/openstack/openstack-ansible-tests" ## Functions ----------------------------------------------------------------- @@ -52,7 +53,11 @@ EOF # If zuul-cloner is present, use it so that we # also include any dependent patches from the # tests repo noted in the commit message. -if [[ -x /usr/zuul-env/bin/zuul-cloner ]]; then +# We only want to use zuul-cloner if we detect +# zuul v2 running, so we check for the presence +# of the ZUUL_REF environment variable. +# ref: http://git.openstack.org/cgit/openstack-infra/zuul/tree/zuul/ansible/filter/zuul_filters.py?h=feature/zuulv3#n17 +if [[ -x /usr/zuul-env/bin/zuul-cloner ]] && [[ "${ZUUL_REF:-none}" != "none" ]]; then # Prepare the clonemap for zuul-cloner to use create_tests_clonemap @@ -74,9 +79,22 @@ if [[ -x /usr/zuul-env/bin/zuul-cloner ]]; then elif [[ ! -d tests/common ]]; then # The tests repo doesn't need a clone, we can just - # symlink it. - if [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then + # symlink it. As zuul v3 clones into a folder called + # 'workspace' we have to use one of its environment + # variables to determine the project name. + if [[ "${ZUUL_SHORT_PROJECT_NAME:-none}" == "openstack-ansible-tests" ]] ||\ + [[ "$(basename ${WORKING_DIR})" == "openstack-ansible-tests" ]]; then ln -s ${WORKING_DIR} ${WORKING_DIR}/tests/common + + # In zuul v3 any dependent repository is placed into + # /home/zuul/src/git.openstack.org, so we check to see + # if there is a tests checkout there already. If so, we + # symlink that and use it. + elif [[ -d "${ZUUL_TESTS_CLONE_LOCATION}" ]]; then + ln -s "${ZUUL_TESTS_CLONE_LOCATION}" ${WORKING_DIR}/tests/common + + # Otherwise we're clearly not in zuul or using a previously setup + # repo in some way, so just clone it from upstream. else git clone \ https://git.openstack.org/openstack/openstack-ansible-tests \ diff --git a/tox.ini b/tox.ini index 0ac9a8d..8106b98 100644 --- a/tox.ini +++ b/tox.ini @@ -96,20 +96,7 @@ commands = bash -c "{toxinidir}/tests/common/test-ansible-lint.sh" -[testenv:func_base] -# NOTE(odyssey4me): this target does not use constraints because -# it doesn't work in OpenStack-CI yet. Once that's fixed, we can -# drop the install_command. -install_command = - pip install -U --force-reinstall {opts} {packages} - - [testenv:functional] -# NOTE(odyssey4me): this target does not use constraints because -# it doesn't work in OpenStack-CI yet. Once that's fixed, we can -# drop the install_command. -install_command = - {[testenv:func_base]install_command} deps = {[testenv:ansible]deps} commands = diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml new file mode 100644 index 0000000..1da49e8 --- /dev/null +++ b/zuul.d/project.yaml @@ -0,0 +1,25 @@ +--- +# Copyright 2017, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- project: + name: openstack/openstack-ansible-os_almanach + check: + jobs: + - openstack-ansible-linters + - openstack-ansible-functional-ubuntu-xenial + gate: + jobs: + - openstack-ansible-linters + - openstack-ansible-functional-ubuntu-xenial