43 Commits

Author SHA1 Message Date
Jesse Pretorius
087acfb6e8 Add project group to role
This patch adds a var used by the repo_build process to determine
which host group to check for members of before building the pip
packages required by this role. This provides the ability to
optimise the repo build process to only building the packages
that are required for an environment.

Depends-On: Idda16b4f382eee57c7469af898859d6d81d4eb30
Change-Id: Iedb4c0c91daa291f881a9fc00c5b8c40bb312ce3
2016-08-04 05:18:13 +01:00
Jesse Pretorius
61b08b72b1 Add ability to change apt/yum package state
The current method of installing the distribution packages required is
set in the tasks and cannot be changed by a deployer.

Currently the apt task always installs the latest package. This results
in unexpected binary changes when a deployer may simply be trying to
execute a configuration change.

This patch adds the ability for a deployer to change the desired state
so that the results are predictable.

Change-Id: I1708ca8285ffa2bbd1a989b187ef3c6d9dd005c2
2016-08-02 15:03:37 +01:00
Jenkins
600e2be755 Merge "Implement Ubuntu 16.04 support" 2016-07-29 10:48:10 +00:00
Jesse Pretorius
254418abe8 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: Iacff67847b0708a5d41ab3e1accf59f40326497d
2016-07-26 07:38:59 +01:00
Travis Truman
a998779940 Implement Ubuntu 16.04 support
Just noting in the role metadata that the role supports Xenial

Change-Id: I70fba8cd35f13405a0261d3aafab4681f2ca3ebf
Implements: blueprint support-ubuntu-1604
2016-07-21 13:27:11 -04:00
Jimmy McCrory
f7968fee28 Remove openstack_hosts from test requirements
The openstack_hosts role is not used in any of the test playbooks
or required by dependent roles and can be removed from the test
role requirements.

Change-Id: Id9395e745249c723c5d8135ae4c9661dcb0f7221
2016-07-20 18:47:02 -07:00
Jesse Pretorius
8b068b08fe Optimise pip install tasks
Unlike the Ansible apt module, the Ansible pip module does not
recognise a with_items list and process all the items at once.

To optimise the pip install tasks, this patch replaces the use
of with_items with a join filter so that the pip install task
does an install with all the packages in a list, ensuring that
the execution is one action instead of many.

Change-Id: I403e36a67d2e06f5cd32fe28222b597a17ef42a1
2016-07-18 16:23:59 +01:00
Jesse Pretorius
32e3b2ad1f 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: I173f065f004d3336f6249625c8c36a609742389e
2016-07-15 14:03:33 +01:00
Jenkins
857f19cf36 Merge "Updated from global requirements" 2016-07-15 10:30:38 +00:00
OpenStack Proposal Bot
3aca1307d4 Updated from global requirements
Change-Id: Ie80e071fd0600155086b4bafaa0f65a8ef27569c
2016-07-15 03:58:04 +00:00
Mike Carden
338cf7caf5 Remove duplicates from .gitignore
This patch removes the duplicated releasenotes/build
lines from .gitignore.

Change-Id: Ia69411f2a4fc7440c05a06efa96bd8b45fac4dbd
2016-07-15 12:07:22 +10:00
Jesse Pretorius
63c914f297 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: I4da740890257f083b4ba12ff4ed321933109d01b
Partially-Implements: blueprint osa-install-guide-overhaul
2016-07-13 12:56:47 +01:00
Jesse Pretorius
e46ba1c3a3 Update sphinx configuration
This patch updates the sphinx configuration for docs and releasenotes
to make it easier to replicate across repositories and to comply with
pep8 testing without exceptions.

Change-Id: I3a80b33771e4142dae589b7f6fbf0f94255cabc8
2016-07-12 16:53:56 +01:00
Jenkins
639114b31a Merge "Only install to virtual environment" 2016-07-08 21:00:42 +00:00
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