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
The upstream gate patches have merged and these can be safely removed.
Change-Id: Icfad0ff161705239d75de2352bd61c5c9313e81c
Partially-Implements: blueprint functional-testing-gate
This runs the ansible playbooks to completion.
It does not validate that OpenStack is working yet, but it will ensure
Ansible did not break.
Additional gates will be needed for this and there is a patch in
project-config to handle that.
Change-Id: I7a24a704023cc8f19d42844636e9cb512060f693
backport: liberty
Partially-Implements: blueprint functional-testing-gate
As jenkins docs job use venv envrionment to work, we
need add such section to make it work.
Partially-Implements: blueprint kolla-tox-doc
Change-Id: I716219515f2bf1375fd094b3aeca866cbcf5c7c6
There is no longer a docker build system in the tree. Remove
the cruft that was missed in the original removal patches.
Partially-Implements: blueprint gate-source-builds
Change-Id: I4e6132502e8c0f812a0b3a767dd9c7f5c7b92fe3
The template option is deprecated and --template is now default.
Also rename the tox jobs test calls since we won't have Docker
build operations.
Change-Id: I99df9c337680003e042e7e56a19d6cae2a59ed74
Partially-Implements: blueprint gate-source-builds
Updated build.py to reflect this change.
Deprecate --template option and make it a noop.
Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2
Partially-Implements: blueprint remove-docker-dir
Remove the docker directory (yay) and old build tools.
This will result in an f21 failing gate - however, I have a patch
submission to remove that gate from our project configuration.
Change-Id: I3c461cedb6906422c8076f60c470e773d6cdcf33
Partially-Implements: blueprint remove-docker-dir
Start off the removal of the docker directory by making the gate
only run against docker templates. The idea is we are going to
from this patch set forward completely abandon the functioning of
the docker directory and focus on making templates work properly.
In order to facilitate that, this patch set makes sure each change
gates properly for the changed service in the Templates build.
Note because git review and gerrit can't keep history on removal
followed by a git move operation, we first git rm the files affected
then git mv them to get the gate working again.
Every other patch in this patch set will fail the gate. That is
expected behavior.
Change-Id: I1be2e2638aef4ada038bfe5f3dd563f040542df2
Many tiers have been shed over this issue and frankly enough is enough
on this tiering thing, it's tiering us apart! Now we use threading a
bit better as well.
No more tiers! Puns very much intended.
Additionally, this refactors the function names to make inc0 happier
and be consistent.
We also modify the test_build.py to catch the new statuses introduced
by the regex patch. Then we remove the Ubuntu Source from the Docker
folder test as that will never ever be functional.
Also fixed regex to properly match true regex expressions.
Co-Authored-By: Michal Jastrzebski (inc0) <michal.jastrzebski@intel.com>
Change-Id: I650fd6af76eddb809756762222e66aefd6fc1dca
Partially-Implements: blueprint build-script
We will gate on all combos of:
/docker
/docker_templates
Centos
Ubuntu
Binary
Source
Except for Ubuntu + Binary because there is no delorean
style repository for Ubuntu.
Change-Id: Ic1ed8c22c2f86ff339299939da9ac492a7c7c5f5
Partially-Impelements: blueprint gate-source-builds
The tox targets were previously src and rdo when they should
have been source and binary.
The gate review has been changed to these as well.
Change-Id: Ib09980c77e5859fa28a54953fc1f3f123c1886d7
This adds a new test script for the new python based build script. A new
tox target has been created to execute it for usage in the gate.
Eventually, the other build script stuff can be deleted, but that won't
be done until full functionality exists in the new build.py.
Change-Id: Id9dd19926b1b9d875dcb069fd13d6450318374c8
Paritally-Implements: blueprint build-script
The fedora version of docker is hacked by Red Hat to have specific
features which we don't want in the gating. Use the pristine
upstream version from Docker Inc.
Change-Id: Ied219bc3868176f541083e9d42cde7d6cdeeb71d
Partially-Implements: blueprint gate-source-builds
We don't use config-internal anymore, so remove validate-min-env-vars
from being gated upon. This is becuse there is no minimum
environment variables required. While we are at it we remove
min-env.
Partially-Implements: blueprint remove-config-internal
Change-Id: Ibe2947b35e4dc1549e82acc66c01153495a91882
Currently we require a slew of deps on each destination node, this
includes a gcc compiler and installing things via pip. We can remove
these dependencies by containerizing them and running and Ansible
inside the container itself. The container would then report back
facts about idempotency.
DocImpact
Closes-Bug: #1481495
Implements: blueprint containerize-dependencies
Change-Id: I3dfccbf9fafc06ffc36e78f3006fe5d3367891df
Renamed kolla script to kolla-compose
Update change in the dev guide also
Change-Id: I6cae3d13752ecb4bb3deeb91c5e0f827fde80c2a
Implements: blueprint kolla-compose-script
Added additional tox test for json / yaml / link /
dockerfile validation. This currently mimics the
existing pep8 test which will be updated to run flake8
Change-Id: Id4657e6d4f4921ab419dc84e8d62468a827aaeb1
Implements: blueprint rename-pep8-validate
1. Move setup_docker.sh to tools directory
2. Make a setup_gate.sh that installs necessary packages including
docker and starts docker.
3. Add logging output.
4. Add default test timeout of 2 hours.
5. Add user to the docker group before running test cases.
6. Run image build as dockerroot group.
This patch has to be one commit to fix the gate in one go.
Co-Authored-By: Steven Dake <stdake@cisco.com>
Change-Id: I83f3cdb1dabf0dfface589c581cb22c155467acc
This adds functional tests to tox, along with a number of prerequisite
steps. Since this is primarily a bash project, pbr usage has been avoided.
Tests are to be written in python and put in the tests directory.
Running tox -e setupenv will execute a setup script
(tests/setup_docker.sh) to ensure the running instance of docker meets
the minimum version requirement.
Running tox -e images will execute the image building script
(tools/build-all-docker-images) and will parse the resulting output to report
failures.
Running tox -e startenv will generate the environment file, run
"tools/kolla start", and run first time initialization (eventually).
Running tox -e functional is for actually testing the deployed OpenStack
environment via a series of tests utilizing the client APIs.
Change-Id: Iff6dfdca43f0c44d471e7540a7836e56a0de4507