Commit Graph

32 Commits

Author SHA1 Message Date
Guilherme Steinmüller c30e4a5a34 Retire openstack-ansible-os_zaqar
Change-Id: Id1b0aa720d293298ab48fae2e926e79fb7df4511
2019-04-17 23:43:21 +00:00
Doug Hellmann c0c1d881e2 fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: I4b972820e82b78cf70f21efde57149d54e4bafc8
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-09-26 18:44:38 -04:00
Zuul 591893e751 Merge "fix tox python3 overrides" 2018-08-23 03:43:10 +00:00
Jesse Pretorius 9a4a15eae3 Use the TESTING_BRANCH env var for constraints
The TESTING_BRANCH environment variable is provided by the
run_tests.sh script and is derived from the .gitreview file.

This ensures that once the master branch becomes a stable
branch, the constraints from the stable branch in the
integrated repository will automatically get used once the
.gitreview file is updated.

To ensure that the required environment variables are present
we export them appropriately in run_tests.sh and modify the
tox configuration to pass them into the tox test.

Change-Id: I717fc3941d7ed54c125c42985ae34f0d93f7c8b0
Needed-By: https://review.openstack.org/579371
2018-08-16 18:28:34 +01:00
Nguyen Hung Phuong 541e09a7a3 fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: I849a42384d9a9335069f4396d6d4cd9107bba413
2018-07-04 14:25:31 +07:00
Heba Naser d46bf4bc2f Use tests repo for common role test requirements
Using tox for requirements management requires in-repo
requirements files for all our repositories. Rather than
do that, we make use of the tests repo to capture our
common requirements and use this to install them.

This reduces our review requirement rate and simplifies
maintenance for us for the tox config. It also makes it
usable with 'Depends-On', which is marvellous!

The tox requirements definitions for docs/releasenotes
builds are left in-place as those are standard entries
across the community. If that changes at some point, we
can re-assess those entries too.

Depends-On: https://review.openstack.org/579208
Change-Id: I1c0f315a9260319024dc437654727c6cf646cb2c
2018-07-02 13:06:31 -04:00
Jesse Pretorius 006a47e3dd Remove tests-repo-clone.sh
Now that run_tests.sh handles the tests repo clone, we can
remove the use of the older tests-repo-clone.sh script.

Change-Id: Id8b45eb237e65b3752790ea5ea1f277b13ffd229
2018-03-28 10:17:02 +01:00
Jean-Philippe Evrard 571e2f6618 Fix tests repo cloning
We have a script for doing the test repo cloning, we should use
it. The script is synchronized and works well with different
branches, where the tox.ini isn't synchronized, and therefore
can lag, like it is right now, in the branch upgrades.

Change-Id: Ibb94eb78a028b28e41591c1cd9ee582a225019dc
2018-03-26 10:40:05 +00:00
Jesse Pretorius 994a1832a0 tox.ini: Expose USER environment variable to execution environment
In order to allow the use of the environment variable which informs
Ansible which user executed the playbook, we pass the USER env var
into the environment that tox builds.

Change-Id: I81203688d2e4a248fd752f4f158c79391c941349
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
2018-03-15 18:02:56 +00:00
ZhongShengping 9aff5ae75a Follow the new PTI for document build
For compliance with the Project Testing Interface as described in:
https://governance.openstack.org/tc/reference/project-testing-interface.html

For more detials information, please refer to:
http://lists.openstack.org/pipermail/openstack-dev/2017-December/125710.html

Change-Id: I501a802817f1b3dba0155fd7979e54ed5772c31d
2018-03-09 12:01:28 +08:00
Jesse Pretorius b07289f2a2 Ensure that role tests pin pip/setuptools/wheel
Currently the role tests use whatever versions of pip,
setuptools and wheel are already installed on the host.

When a version of these tools changes it often causes
problems for our testing.

This will ensure that we use a known good set of pins
which is maintained in the general SHA bumping process.

Change-Id: I7ae52089de4f26d97d76848682fb42816a4e76c9
2017-06-04 11:23:35 +01:00
gecong1973 e595724fe5 Use https instead of http for git.openstack.org
TrivialFix

Change-Id: Ib1bcb6ae5e2ef97579d39bceb93bf076c2492099
2017-02-06 11:39:31 +08:00
gecong1973 f2b3ad95d3 Delete deprecated Hacking in tox.ini
Some hacking have been removed,so we can delete them.
More details:
     https://github.com/openstack-dev/hacking/blob/master/setup.cfg

Change-Id: I04e6e910995a274960ad1f975f50dd048defdd0b
2016-12-05 09:52:09 +08:00
Jesse Pretorius db9561ff65 Use upper constraints for all tox targets
With the implementation of https://review.openstack.org/388087 all
tox targets may now use upper constraints.

Change-Id: I3b613bad79b0a4955fac0572a969609a0fda67f4
2016-10-19 07:45:16 +01:00
Jesse Pretorius 91659f0b41 Use centralised Ansible test scripts
This patch consumes the centralised Ansible test scripts
implemented in https://review.openstack.org/381853

Change-Id: I6890f1be557b1ff5d147a1a88a55b466dade64a1
2016-10-05 12:17:38 +01:00
Jesse Pretorius 1a9de4724d Remove install_test_packages variable
With https://review.openstack.org/381479 merged, setting this
variable in tox.ini via an extra var is unnecessary.

Change-Id: I3e1c158caf259c80d66b91abc183e038cd8fa5a6
2016-10-04 11:43:39 +01:00
Jesse Pretorius 32ab702bbf Use centralised test scripts
This patch consumes the test scripts implemented by
https://review.openstack.org/375061 to ensure that
the tests and test preparation is consistent and
more maintainable.

Change-Id: I8fc46392dbbc87459e9c26e5e350e3f6bf1fd9e7
2016-09-28 11:41:06 +01:00
Kevin Carter c5f108bcb3 Update testing bits for consistency
Change-Id: I16179afcff4a3d6dc78d84b0ae5a788751dab969
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-09-17 17:15:36 -04:00
Kevin Carter bf8f849588
Add role linking to tox tests
Change-Id: I944d110bde6c32f196569a779252537551d36e48
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-09-14 11:03:20 -05:00
Travis Truman 8926a4008f Ansible 2.1.1 role testing
Change-Id: I8338e497b9779b137d960f486886c89b0fc7f0e0
2016-09-12 16:44:52 -04:00
Jesse Pretorius 58670ced78 Compress test execution logs
The volume of logs we collect in CI jobs are extensive. This
patch ensures that the logs collected are compressed to reduce
the space taken in CI systems.

PYTHONUNBUFFERED is also set to ensure that the console log
from the CI jobs is recorded in the exact order of execution.

Change-Id: Iad23c574d88885bde901c2632bcd8fe410686d6b
Related-Bug: #1620849
2016-09-09 10:51:02 +01:00
Kevin Carter 2345943971 Enable log collection after functional testing
This change enables log collection within the gate so that further analysis
on gate tasks can be performed post build. This is very useful when
debugging problems.

Change-Id: Iea7ef4f1aa6827b6415cba130d7a9b42a1c00b2f
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-08-29 21:37:50 -05:00
Jesse Pretorius cdcd81f676 Make all linting tests use upper-constraints
As per [1] all linting tests can now use upper-constraints. This patch
removes all instances of the install_command override relating to lint
testing which were needed to negate the use of upper-constraints.

[1] http://lists.openstack.org/pipermail/openstack-dev/2016-August/101474.html

Change-Id: I05db02c80a48d2395e16c7c885c66345f6d066fa
2016-08-20 16:07:10 +01:00
Jean-Philippe Evrard f01741b93b Include ansible commands for ansible linting
The plugin repo needs to be cloned for ansible-lint to
understand ansible plugins. The commands currently
reside in tox.ini under the ansible section and are not
currently included. This commit fixes that error.

Change-Id: Id969df26aadf4e9a704ebc7bef455a37a63ff677
2016-08-11 18:10:50 +01:00
Jesse Pretorius d4826a2817 Ensure that doc linting is included in the linters test
The 'docs' tox target executes the doc8 lint test which may result in
failures when testing documentation builds, but OpenStack-CI does not
execute that tox target.

In order to ensure that we catch all standard documentation syntax
errors and prevent them from merging, this patch includes the docs
target in the 'linters' chain of tests.

Fixes for any failures which result from executing this test are also
included in the patch.

Change-Id: If0000c26c8f6da20d1f238fb16524e422baea0d6
2016-07-25 14:12:07 +01:00
Jesse Pretorius 323aa88346 Use plugins repo version of the human_log callback plugin
With the implementation of https://review.openstack.org/321331 the
human_log callback plugin is now part of the plugins repo.

This patch removes the retrofitted version in tox in favor of using
the version from the plugins repo instead.

Change-Id: I877f9113afd0997b4fc28917f2aa94d7ce8a0299
2016-07-15 14:04:06 +01:00
Jesse Pretorius b510afef7d Implement doc8 checks for docs
In order to prepare for the move of detailed configuration
content from the install guide to the roles, doc8 checks
are being implemented in the roles to ensure that any new
content submitted is properly checked.

Change-Id: I7367076daf50975354cb5e324798019460516878
Partially-Implements: blueprint osa-install-guide-overhaul
2016-07-13 12:57:18 +01:00
Jesse Pretorius d5c92c94eb Update tox configuration
In order to prepare for implementing requirements management by the
OpenStack requirements management process, and to improve the
reliability and effectiveness of test execution, this patch implements
some changes to the tox configuration:

- The minimum tox version is increased in order to be able to use
  constraints for the python packages.
- The OpenStack upper-constraints are used when preparing the test
  venv for the linters checks.
- Any proxy environment variables set on the test host are passed
  into the venv to enable testing from behind a proxy.
- The environment variables used by Ansible tests are moved into
  a new venv called 'ansible' and this environment is inherited
  by all Ansible-related tests.
- The docs test will clean-up an existing build directory before
  executing the docs build.
- The releasenotes build cannot use upper-constraints at this point,
  so it doesn't.
- The Ansible role download will no longer ignore errors so that any
  problems discovered will result in a failed test.
- The human readable logging callback plugin is implemented for
  functional testing.
- The ansible test requirements are moved into tox.ini to ensure
  compliance for requirements.txt/test-requirements.txt for the
  global-requirements management contract.
- The ~/.ansible directory as a whole is not deleted. Instead only
  the plugins and roles folders are deleted to ensure that zuul's
  Ansible artifacts are left in-place.
- The ansible-lint version is updated to support execution against a
  folder, and the test now executes against the entire role to ensure
  that it captures all applicable files for lint testing.

This is a combined port of the following:
- https://review.openstack.org/323507
- https://review.openstack.org/338193
- https://review.openstack.org/332443
- https://review.openstack.org/338193
- https://review.openstack.org/339493

Change-Id: Icab5f94bbb6e42c231f6be1a83fb5cf78f8f85ce
2016-07-08 13:36:50 +01:00
Jenkins 2792d9270a Merge "Adding role convergence test" 2016-04-14 02:12:18 +00:00
Travis Truman 6c79f1cde1 Adding role convergence test
Functional testing will follow in another patch
but we should have convergence testing in the meantime.

Change-Id: Ib3d596eea7f6ded233a3b1f9a06e3e893764c0e5
2016-04-11 12:09:35 -04:00
Jesse Pretorius 4f3680b1b5 Add reno scaffolding for release notes management
Change-Id: I49ae5f843b317b0369d42f993e8a251f3da086dc
2016-04-09 19:21:37 +01:00
Jesse Pretorius 8dd77ff2c5 Implement base configuration for OpenStack-CI
This patch includes the following:

 - Base configuration for OpenStack's CI Infrastructure.
 - Base documentation build configuration.
 - A Vagrantfile for local testing.
 - A base test configuration in order to execute the standard tests.
 - An updated README, added LICENSE file and a CONTRIBUTING file.

Change-Id: I47a4b15e43fdc554d1bee203f2df34752fe786f6
2016-03-16 15:39:18 +00:00