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: I2ca6f08645a15e0b7393f378324dd9919170b7c6
In order to do a developer mode that allows installation of packages
from local file, which take precedence over the developer_mode
constraints, we need to allow the order of the constraints to be
changed.
This patch adds a "pip_install_developer_constraints" var which is used
to set the developer mode constraints. By default this will leave the
same behaviour but will allow additional constraints to be added, or the
developermode constraints file to be overriden altogether.
Change-Id: Ic1e11482673df6da3a13c63947ccd27711a1248a
In order to make it easier to detect the currently deployed
venv for a service, and therefore allow smarter decisions
for things like upgrading, we implement the venv tag as a
local fact.
The file used to store facts will be the same for all
OpenStack services, with each service using its own section.
Example:
"ansible_local": {
"openstack_ansible": {
"rally": {
"venv_tag": "14.2.1"
}
}
}
Change-Id: Icdc4a3bf4e802d8065105155aad207192d2df266
We use an SSH bastion host which we do our deployment through. The
deployment host doesn't have direct access to the same network as the
host. As a result the venv local checksum lookup fails.
I have described this here:
https://bugs.launchpad.net/openstack-ansible/+bug/1689283
This is a simple fix for this problem, assuming everything is good it
will need repeating in multiple places in the code base.
Change-Id: Ifeb9be248764abd091392a793954173f866ac708
When executing the tests repo clone in OpenStack-CI,
use zuul-cloner instead of git to enable cross-repo
testing. This ensures that if a dependent patch from
the tests repo is noted using 'Depends-On: <change-id>'
in the commit message, that patch will be included.
Change-Id: Ia14642622b7dab5eecff0bca7c8cff8763c16d92
Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
Consolidate distro package install tasks into a
single task using the package module. Tidy up
some other tasks to reduce task file sprawl and
consolidate some task actions.
The minimum Ansible version is raised to 2.2 due to a
known bug [1] in Ansible's apt module which does not
update the cache properly if the cache update and the
install are combined in a single task.
[1] https://github.com/ansible/ansible-modules-core/issues/1497
Change-Id: I95e02c2786b3a21b6188a5930fb827b6ab04fadb
Add 'become' and root 'user' options to the playbook instead of using
'ansible_become' through an inventory variable.
Change-Id: I530293245724949dc172dfa95a820db32b6a665c
Fixes the ability to deploy a venv in cases where:
1) developer_mode is not enabled
2) A cached venv is not downloaded from the repo server
Additional cleanup to the developer_mode venv deployment
logic is implemented by adding a *_venv_download var
which is used to decouple developer_mode from the
cached venv extraction process so that a deployer
can force venv builds in-place (disable cached
venv usage) without enabling developer mode
constraints.
Change-Id: I6939e47455898c07003f1b480e6d65b5d06e4c68
The text given when there is a missing rally database was recently
changed. Update the 'Create/upgrade Rally DB schema' task to look for
the updated text so that the rally database can be created as required.
Change-Id: I705148e8e3a4691d6922ce295719c0785d9a8cfb
The run_tests.sh script fails when it is run multiple times on CentOS.
The `bindep` run returns an empty list of packages and then `yum`
exits with an error since no packages were provided to install.
This patch checks the length of the `bindep` output and skips the `yum`
installation when the package list is empty.
The patch also cleans up some of the old cruft left over from previous
scripts and avoids repetition.
Change-Id: I68373ad89a165ad708851242f7ff8bb1518085df
Signed-off-by: Major Hayden <major@mhtx.net>
Currently when clicking on the small bug in the roles'
docs, we land on openstack-manuals launchpad.
This should solve it.
Change-Id: Ie373bc77f3e51ff81c9115546d8dd37935c59ca2
please see https://github.com/fireteam/virtualenv-tools/issues/5
This make installation of the virtualenv impossible on CentOS7 since
you endup with python > python2.7 and python2.7 > python
lrwxrwxrwx. 1 root root 9 Nov 24 20:49 python -> python2.7
lrwxrwxrwx. 1 root root 6 Nov 14 20:03 python2 -> python
lrwxrwxrwx. 1 root root 6 Nov 14 20:03 python2.7 -> python
Change-Id: I81d290d686582b23067e519285d27b9d4855c9e1
Related-Bug: #1637509
Partial-Bug: #1644629
Reinitializes (copies python, etc binaries) into the venv when
dropping a new venv into place. This is needed because the Python
binary packaged with the venv may not match the Python running on
the host it is being installed to. (ie. in the case of a Xenial
repo container and a Trusty target host.)
Change-Id: Ifbe100a7052e41a2e6e4c601287749e2a8dfd0e0
Partial-Bug: #1637509
Ansible 2.2 now treats the 'name' argument for the pip module
as a list, removing the need for us to implement the join
filter to optimise the install execution.
Change-Id: Ic1692285855c4924a4cde2ddce3735e9257857b3
Starting in Ansible 2.0, the get_url [1] module provides the
ability for a checksum to be provided to the get_url module
which will be verified against the local destination file
and the task skipped if it matches.
[1] http://docs.ansible.com/ansible/get_url_module.html
This patch implements the use of this functionality.
The ability to ignore a venv download failure is also removed
as this is not necessary or desirable. It is better for the
download to fail and the playbook execution to stop immediately
so that the failure point is exposed.
Change-Id: Ic39e5dcdaa5ff9badb37b01e37097f5d8bdf6bac
The current constraints generation for the
installation involves multiple tasks and multiple
variables.
Using multiple tasks extends the installation time
unnecessarily and the additional variables are
unnecessary.
This patch aims to simplify the mechanism and
hopes to speed it up a little.
Change-Id: I4633c71c515ab03a4e72ef08e1bb682dedc8c079
This changes 'ansible_ssh_host' to 'ansible_host'. The 'ansible_ssh_host'
variable has been deprecated as noted here: [0].
[0] - http://docs.ansible.com/ansible/intro_inventory.html#hosts-and-groups
Change-Id: Icd0874e88d7d2d8c14d568256e6fd59951b95858
Related-Bug: #1636606
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
With the implementation of https://review.openstack.org/388087 all
tox targets may now use upper constraints.
Change-Id: I4392ffa5f8d6ef8df1f1f49d68ff22d23267b076
Added a water mark to the role documentation
to make clear to deployers which release they're
working with.
Modified conf.py that adds watermark to the documentation according
to particular branch. If the current branch is master than
watermark is 'Pre-release' and if the current branch is
stable/<release-name> than watermark is <release-name>.
This is a combined implementation based on the following
patches:
- https://review.openstack.org/372565
- https://review.openstack.org/382637
- https://review.openstack.org/384140
Change-Id: I9996d6cb33fc87faf95af99e0db483c593bcf69b
This change removes the use of 'ignore_errors: true' because it causes deployers
to see red output and a stacktrace, which traditionally means something is broken,
even when the failure is known to have a fall back option or be intentional. This
conversion will provide a generally cleaner interface.
It should be noted that the 'failed' filter will still function normally. Tasks
with the 'failed_when: false' option will still be marked as 'failed' in any
registered variable. This change simply makes the output look cleaner.
Change-Id: I5986a6588788b09501935fcd0fc18b96531bdca2
Closes-Bug: #1633438
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.
Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.
Change-Id: I6f0e296c17ace3a1cbb4c11c46c1b25b4af5ade6