329 Commits

Author SHA1 Message Date
Jesse Pretorius
dc84bd9ae5 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: I03a60477abffb2b1c4a2dc7bd2979a22483a25a7
2016-07-08 13:36:18 +01:00
Anton Khaldin
1e1c8b35b9 Only install to virtual environment
Remove all tasks and variables related to toggling between installation
of rally inside or outside of a Python virtual environment.
Installing within a venv is now the only supported deployment.

Additionally, a few changes have been made to make the creation of the
venv more resistant to interruptions during a run of the role.
* unarchiving a pre-built venv will now also occur when the venv
  directory is created, not only after being downloaded
* virtualenv-tools is run against both pre-built and non pre-built venvs
  to account for interruptions during or prior to unarchiving

Change-Id: I815dff623fce1440a5d60f64bf69f4f563371998
Implements: blueprint only-install-venvs
2016-07-08 04:55:14 -07:00
Jimmy McCrory
717c085f63 Remove pip_lock_down dependency
The pip_install and pip_lock_down roles have been merged.

Remove pip_lock_down from the role's meta dependencies and test
requirements.

Change-Id: Idf70fd3e14254ae7b633ca2731388dec307597da
2016-06-20 12:26:09 -07:00
Jenkins
a3d1f4908a Merge "Clean up container cache prep in tests" 2016-06-20 00:23:12 +00:00
Jesse Pretorius
b2587e2a38 Clean up container cache prep in tests
This patch cleans up the container cache preparation in the tests
due to the following patches:

- https://review.openstack.org/307856 (new image build process)
- https://review.openstack.org/315114 (new apt config process)
- https://review.openstack.org/322188 (new resolver config process)

Change-Id: Idc20aa8c21816d4d53ac374e0f99553cd8a5d0b2
2016-06-17 19:33:46 +01:00
Jesse Pretorius
3e9d62dede Pin test-requirements to match OpenStack requirements
A new release of flake8 is causing lint faiures. Our requirements
should match OpenStack requirements anyway.

This patch pins to the current master requirements from the
OpenStack requirements repository using global-requirements.

Change-Id: I722af00a4a530987a85c44fc5ae143b009eeb3ee
2016-06-17 12:35:50 +01:00
Jesse Pretorius
363ba685e2 Pin test-requirements to match OpenStack requirements
A new release of flake8 is causing lint faiures. Stable branches
should have requirements pinned anyway.

This patch pins to the current stable/mitaka requirements from
the OpenStack requirements repository.

Change-Id: Iefeb5e7e9b0f29fdcc8267e4d2a52a96ccf31fda
2016-06-16 16:17:44 +01:00
Jenkins
25114ed587 Merge "Updating os_rally to use the Multi-Distro framework" 2016-05-31 19:09:26 +00:00
Travis Truman
6f9765682a Updating os_rally to use the Multi-Distro framework
Debian-specific vars and logic have been moved to tasks
that will execute only on those distributions.

Change-Id: I6a9d04382b1f1badebf12483ce7d1d02b43f8903
Implements: blueprint multi-platform-host
2016-05-27 10:04:51 -04:00
Travis Truman
4fcb1576bb Verbose option has been deprecated from oslo.log
See http://lists.openstack.org/pipermail/openstack-dev/2016-May/095166.html
for additional details.

Change-Id: I47a9e18e209c676034809d9e0591a1eff6fb6883
2016-05-17 11:25:56 -04:00
Jenkins
ca93b07039 Merge "Remove py_from_git role" 2016-05-04 20:49:47 +00:00
Jenkins
c3a1bb2b67 Merge "Add .swp files to .gitignore" 2016-05-04 17:36:17 +00:00
Jesse Pretorius
05f9a7752f Add .swp files to .gitignore
Change-Id: Idf4fbd3a331ee5eafb78804dcfa6a90bbb515f1e
2016-05-04 15:21:15 +01:00
Jesse Pretorius
3c31f0c880 Change pip install task state to 'latest'
Currently all pip install tasks only require the package to be
present. This means that when an environment undergoes a minor
upgrade the package is not upgraded to the same version that
was tested with. This ultimately results in a deployed
environment that does not match the tested environment.

While for the services installed into venvs this is not an
issue, it does affect those which do not use venvs and any
packages which are installed outside of a venv or on top
of a venv.

This patch changes the behaviour to ensure that the install
task will always use the latest available package. In
developer_mode this will mean using the version specified
in upper-constraints, and in an integrated build this will
mean the version which is available in the wheel repo's
folder for the tag.

Change-Id: I04455f7323e6c565e46203494876e1812c5d0c1e
2016-05-04 10:42:30 +01:00
Jesse Pretorius
4b125868a9 Remove py_from_git role
The py_from_git role is removed as it is no longer required.

Change-Id: I193a3a19580a462a7561efb813be0f6480260374
2016-05-04 09:19:00 +01:00
Jesse Pretorius
114da46a39 Add dependencies for paramiko 2.0
Paramiko version 2.0 has been released. It now uses the Python library
cryptography. Installing this requires additional system packages. This
commit adds in the appropriate packages required by cryptography based
on its documentation [1].

An alternative approach would have been to constrain the version of
Paramiko however the project describes the 1.x versions as relying on
insecure dependencies [2].

[1] https://cryptography.io/en/latest/installation/
[2] http://www.paramiko.org/installing.html

Change-Id: I9ea9f7cbe946c9141189c4bcb9ba98656c8495b4
2016-05-03 08:56:52 +01:00
Kevin Carter
2f7d6346ed blacklist Ansible 1.9.6
This version of ansible is broken due to the following upstream
Ansible issue:
  * https://github.com/ansible/ansible-modules-extras/issues/2042

Change-Id: Ia10b9743db3223aac929e314d3ff909d6277540a
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-04-16 10:43:02 -05:00
Jenkins
7562bc1149 Merge "Removing unused handlers file" 2016-04-11 09:08:21 +00:00
Jesse Pretorius
ed43c8bef9 Add reno scaffolding for release notes management
Change-Id: I1bbde30bf20cfbd2a94e8dc24b229a68f762b636
2016-04-09 19:53:30 +01:00
Travis Truman
0df7684b0a Removing unused handlers file
None of the tasks notify so we do not need
the handlers/main.yml

Change-Id: I7d83c9e938fab484427fe71dec8406d195d8a5ba
2016-04-08 15:06:06 -04:00
Travis Truman
6bb025da71 All tasks should have tags 2016-03-28 14:19:41 -04:00
Travis Truman
692094c67c Configure the Rally deployment using environment variables 2016-03-28 14:16:44 -04:00
Travis Truman
c0f97458c9 DB setup is now idempotent 2016-03-28 11:24:27 -04:00
Travis Truman
77f03a8729 setup the db schema during install 2016-03-25 16:19:57 -04:00
Travis Truman
8f06cbb62b Drop the templated config 2016-03-25 14:36:10 -04:00
Travis Truman
e1d7eb4071 Galera server dependency for testing will not install
without bumping up the size of our Vagrant box
2016-03-25 14:27:26 -04:00
Travis Truman
82f43ad21f should not lock down pip when we are in developer mode 2016-03-25 13:58:05 -04:00
Travis Truman
329318acfa Adding testing 2016-03-25 11:28:16 -04:00
Travis Truman
1e6d9b3a46 Inital commit 2016-03-24 17:13:47 -04:00