The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. There is no need to continue to keep these settings.
Change-Id: I7762918aa4d78028d1ceb2cc727c3c7dedd05a00
* This patch moves the tox environment and deployment
guide placeholder files introduced in https://review.openstack.org/#/c/422931
from the kolla/ repository to the kolla-ansible/repository
* Remove or add content as needed
Change-Id: I10cf4b5baaf7f7fed7df800194a0c326372a22fb
To be co-installable with other OpenStack projects and have consistent
testing it's a good idea (tm) to use constraints when creating tox
environments.
Change-Id: I83d684d90309ad6109e7f6c21a9c2cad4a5371e2
* Build kolla image by using kolla project's code
* bump openstack_release to 4.0.0
* Remove tox deploy related env, it is useless now.
Depends-On: I132ee005bce993cbadf411697817c2e95548dc81
Change-Id: Id899eb39d476b95130fbeb43adf4fd49ef32be32
All json file in Kolla are json.j2 file, it shold be render as jinja
template, then validate by using json.
Change-Id: Ibabbe435116fd255d68347e00407156db76fedfe
Closes-Bug: #1634447
bandit is a security linter and can be made voting now. Instead of
starting another virtual machine, run it as part of the generic linting
target which is pep8.
Change-Id: I6a8f7aa2b60bd96d55b37b6cc2a371069d6d5e6a
Currently __pycache__ directory, which also holds
python bytecode is not deleted when running tox.
TrivialFix
Change-Id: I0fdcf9a3f9b01cee813eefdbfe29d208dd67f826
* Inspected each error and fixed / added nosec where appropriate.
* build-swift-ring.py which was throwing sec errors is no longer used so
removed it.
* Removed the dev/ directory from being checked.
Closes-Bug: #1617713
Change-Id: I25664cabca4137e5c9f499c1af3f5ce78b86fb56
This will test all rst files inside the doc directory for style issues with
doc8 (an opinionated style checker for rst styles of documentation).
This will fix all syntax issues identified by doc8 and will improve
the syntax.
Change-Id: Id1b9563e07e77e306aef5a0767c98c27f87c5c0e
Now that there is a passing gate job, we can claim support for
Python 3.5 in the classifier. This patch also adds the convenience
py35 venv.
Change-Id: Ia7b1fb88ac108e1e8fd6ed963967e731ae3ca5a4
Closes-Bug: #1603006
The Ubuntu Mitaka repo is release, and we have add it.
So it is time to add the Ubuntu binary gate.
Closes-Bug: #1560386
Change-Id: I29d01147595c4ebebfa00798d01d5fd7398123a6
A recent change related to sudo securepath broke how sudo -E
works. Now the PATH is reset by sudo as set by tox. As a result
we can no longer rely on sudo -E anywhere in our gating system
relating to path inheritence from the parent shell.
This patch uses a shell operation in the setup_nodes.yml code
to chmod the docker socket to 666 so docker containers can build
properly. Now docker operations don't return a permission denied
and we no longer require the sudo -E operation in any of our tox
scripts. This isn't a security vulnerability because our gate
scripts are only meant to be run in OpenStack infrastructure.
To make this more clear I recommend moving these shell scripts to
tests/gate.
Change-Id: I5b3d6e280e3c12a25defedb14b5589ba642043fa
Closes-Bug: #1562383
For proper release note generation on the releases.openstack.org
website, this change will need to be backported into mitaka and
liberty as well. Then a special one-file reno file will have to
be added for mitaka describing the features and the same story
for liberty.
See log of the discussion here:
http://eavesdrop.openstack.org/irclogs/%23openstack-release/%23openstack-release.2016-03-23.log.html#t2016-03-23T18:00:05
Change-Id: I3c298ae08ec4645f384ea5829cb0851fe82f4557
Partially-Implements: blueprint add-reno
Bandit is a job that parses and analyzes python code to detect
common insecure programming practices.
TrivialFix
Change-Id: Iea23a9bd23b25827043f02aa1a62fb0724f1d0ee
According to the PTI (=Python Test Interface,
http://governance.openstack.org/reference/cti/python_cti.html), pep8
is the interface for codestyle checks. Move all tests from linters to
pep8.
This change will be followed by a change to project-config to use pep8
for testing in the gate.
Change-Id: I1a48f4b1e0b0950640192bcfc55121619a844b50
The existing gate partitioned a disk for use with docker, depending
on the gate it would use the swap disk (RAX) or a spare disk (HP).
However, with the new gates (Bluebox + OVH) there is neither a spare
disk nor a swap disk. This leaves us with one choice: File based loop
device.
This patch creates a file at /swapfile to ensure we have swap. It
creates a file at /docker to ensure we have a loop device for Docker.
Right now the /docker file is 10GB and the /swapfile is 4GB due to
size limitations in the gate across all servers and types. This has
proven to be enough space for all our current tests.
Additionally, reduce the number of threads the gate uses to 4 to
prevent the lockup and hour timeout we have been seeing as more
recently in the gate.
The scripts that setup the gate are moved to the tools directory
rather than the tests directory to match the structure of the other
projects.
Partially-Implements: blueprint functional-testing-gate
Change-Id: I3e370f2382b6df36103d8b2ceda9b21d9b4229d5
In an effort to reduce the number of gates, we can combine
non-conflicting jobs as we have already done with pep8 and bashate
TrivialFix
Change-Id: I81c2e523c563f8c761b57c8f20ca807d59da5d68
To solve the problem of "db type could not
be determined" on py34 we have to run first
the py34 env to, then, run py27.
This patch puts py34 first on the tox.ini list
of envs to avoid this problem to happen.
Closes-Bug: #1489059
Change-Id: I4f791dfa620eacdd76cd46f193e190071ab64b6c
By ignoring the appropriate tests that pep8 does we can properly run
*most* of the pep8 tests on all of our modules allowing for a more
consistent coding style.
Closes-Bug: #1528431
Change-Id: I33f27a250d06d4f044267aa3ad189e092789b8df
Convert config creation from a playbook to an action_plugin. This
reduces the complexity and confusion while retaining the same augment
structure and flexibility.
This allows us to remove the 0-byte files as requirements. They will
still be used if they are present (this means we require additional
documentation around them).
DocImpact
Closes-Bug: #1528430
Change-Id: I2c789f6be9f195c7771ca093a6d59499564b4740
When a development environment is under a proxy, tox is failed even if
environment variables of the proxy are set.
This patch fixes this problem.
Change-Id: I685ddbc6bb6e0fe25c308c35a7581785eebe3629
To support multinode we must now distribute our setup to multiple
hosts. Instead of making special rules for this, we are going to
convert our existing setup to Ansible. This way both setup proceedures
take place in the exact same fashion.
Partially-Implements: blueprint multinode-gate
Change-Id: I43ece298bba994e9b5083403ef3cf6d4245cda6d
The gates have been renamed. We can remove these jobs now.
Change-Id: I4f140301d0b0a04ca4196a755625f32569fe4b32
Partially-Implements: blueprint multinode-gate
Due to the length of the job name and the tox target we run into an
uncommon limitation; the virtualenv that tox launches is nested in a
path that is too long. This leads to and error on our longest named
job which prevents tox from running at all.
This limitation is the limit for the line length of the first line
in a shell script. See `man execve` for more info. A quote from that
manpage: 'A maximum line length of 127 characters is allowed for the
first line in a #! executable shell script.'
Change-Id: I43fba2a5ff1890d699045496c9eaee5e849f3e75
Backport: Liberty
Partially-Implements: blueprint multinode-gate
So we can respect DRY and share as much code as possible I have broken
out the common code between the aio and multinode gate scripts.
Additionally, this lays the ground work for removing our policy on
root-everywhere by using sudo. Once we get the non-root stuff worked
out we can gate as non-root user.
Change-Id: I781c597ab10f2296b95f51ae27e0fa617ffe0a66
Partially-Implements: blueprint multinode-gate