53 Commits

Author SHA1 Message Date
Jeffrey Zhang
3ce3b5b889 make the testr.conf required environment pass throught in tox
TrivialFix

Change-Id: I427bd3207de4ae87ab98dc024c4e2d98f0b572dd
2016-01-15 20:28:39 +08:00
MD NADEEM
e09e20cdbe Put py34 first in the env order of tox
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
2016-01-14 10:11:24 +05:30
SamYaple
b863a46805 Standardize bashate and add linters
The linters gate combindes pep8 and bashate (and then any other
linters we want). This changes bashate to be a sript rather than doing
a script inline. This matches the way other projects (and
project-config themselves) uses bashate [1].

Once a change upstream merges we can remove the redundant pep8 and
bashate gates.

[1] https://github.com/openstack-infra/project-config/blob/master/tox.ini#L11
https://github.com/openstack-infra/project-config/blob/master/tools/run-bashate.sh

Related-Id: I2afa7931bf3e18798b95a8af33ccf5ef761c4ad5

TrivialFix

Change-Id: I2ea2c1156e1b4de008f19e333e2740795dc406de
2016-01-13 17:33:28 +00:00
Jeffrey Zhang
67e4607d43 Add py27 py34 pypy unittest
Change-Id: Iaf58463bd156924839062b8284a2d7151a153db5
2016-01-13 13:47:49 +08:00
Jeffrey Zhang
620d610eaa Generate the kolla-build.conf file using oslo_config
Closes-Bug: #1530122
Change-Id: I96039eade2aacf1bcd9d14d958cdddd915fc9a5c
2016-01-06 08:11:06 +08:00
Jeffrey Zhang
acbda89084 make the tox.ini indent uniform
TrivalFix

Change-Id: I75972366588c691d26512102ba567d6d1b258efe
2015-12-31 15:27:26 +08:00
SamYaple
4199634e98 pep8 the ansible modules
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
2015-12-22 04:29:13 +00:00
SamYaple
ed82afa8e9 Simplify config creation
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
2015-12-22 04:28:53 +00:00
hparekh
c3c7ee429a Pass environment variables of proxy to tox
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
2015-12-11 09:18:08 +09:00
Michal Rostecki
7670611aa4 Exclude .eggs from pep8 checks
Change-Id: I11f5af83fc602332f6c9ac39f4c22731f8e84161
Closes-Bug: #1523365
2015-12-07 08:25:57 +01:00
Sam Yaple
f9ee96f216 Convert gate to Ansible setup
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
2015-11-22 18:34:35 +00:00
Sam Yaple
00b7794f3e Remove unused tox jobs
The gates have been renamed. We can remove these jobs now.

Change-Id: I4f140301d0b0a04ca4196a755625f32569fe4b32
Partially-Implements: blueprint multinode-gate
2015-11-13 11:23:43 +00:00
Sam Yaple
e21c39b098 Rename jobs for Kolla
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
2015-11-11 15:44:56 +00:00
Sam Yaple
4334c2adb9 Add new gate for multinode
Change-Id: I3e05e2d5c739794ae6ff0cc375dc6226f81bb542
Paritially-Implements: blueprint multinode-gate
2015-11-06 00:46:44 +00:00
Sam Yaple
3d7a0c6f55 Restrucutre gate scripts
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
2015-11-05 10:58:29 +00:00
Sam Yaple
931f577205 Removed unneeded tox things
The upstream gate patches have merged and these can be safely removed.

Change-Id: Icfad0ff161705239d75de2352bd61c5c9313e81c
Partially-Implements: blueprint functional-testing-gate
2015-10-23 20:24:02 +00:00
Sam Yaple
f39bb2ee13 In gate functional testing
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
2015-10-20 19:15:33 +00:00
Kai Qiang Wu(Kennan)
3ed7b3c3b4 Add venv section in tox.ini
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
2015-09-03 00:16:01 +00:00
Steven Dake
349a085352 Remove cruft in tox.ini from docker_templates
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
2015-08-29 22:55:45 -07:00
Steven Dake
730276aaf9 Remove deprecated --template option from gating
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
2015-08-29 02:12:20 -07:00
Sam Yaple
cbd42ca6e9 Move docker_templates to docker dir
Updated build.py to reflect this change.
Deprecate --template option and make it a noop.

Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2
Partially-Implements: blueprint remove-docker-dir
2015-08-28 13:33:50 +00:00
Jenkins
3b5380ade0 Merge "Add developer docs automatic produce support" 2015-08-28 12:25:11 +00:00
Steven Dake
f895ee07cc Remove docker directory
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
2015-08-28 00:50:30 -07:00
Steven Dake
08e765fc3d Start of removal of docker directory
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
2015-08-28 00:50:29 -07:00
Steven Dake
55e6e1f8d2 Functional test Ubuntu source building
Change-Id: Ia3fa83645545bcd7d259fe7c973c849bd6cb1426
Implements: blueprint gate-source-builds
2015-08-28 00:02:45 -07:00
Kai Qiang Wu(Kennan)
eae8903ae0 Add developer docs automatic produce support
Partially-Implements: blueprint kolla-tox-doc

Change-Id: Ie950667a61d9ce45fcc7e26915a7aa0f0ca6b597
2015-08-28 06:11:08 +00:00
Sam Yaple
aada29b4db Remove tiered building in build.py
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
2015-08-27 08:56:49 +00:00
Jenkins
0f2a4e1e0b Merge "Prepare for gating by distro, type, docker type" 2015-08-21 16:49:10 +00:00
Sam Yaple
7f029b759c Add Dockerfile template for kolla-ansible
Change-Id: I53113d2a7595177839daebe74fa5bc409573f824
Partially-Implements: blueprint dockerfile-template
2015-08-19 05:19:29 +00:00
Steven Dake
79d9951634 Prepare for gating by distro, type, docker type
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
2015-08-18 00:22:02 -07:00
Jeff Peeler
9a78a5b6f1 Change tox targets to use new build.py
tox -e images-centos-binary
tox -e images-centos-source

Both above now execute parallel image building script.

Change-Id: I6a4174b184fc239c6baa950a9c787fc6ad220774
Paritally-Implements: blueprint gate-source-builds
2015-08-14 17:32:14 +00:00
Steven Dake
f5c80d80d7 Change the tox targtes to match naming
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
2015-08-12 22:58:06 -07:00
Jeff Peeler
9f824cfe4e Add new test script for parallel builds
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
2015-08-12 14:30:24 -04:00
Steven Dake
777a1a5640 Add centos-src-build tox gate
Change-Id: Id8c8e0d4dcad62e3995fa7f2bb91b6bafb3a387c
Paritally-Implements: blueprint gate-source-builds
2015-08-10 12:36:11 -07:00
Steven Dake
4d85d9d016 Use docker-engine in setup_gate
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
2015-08-10 12:36:09 -07:00
Steven Dake
33d8d32381 Remove validate-min-env-vars gating
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
2015-08-07 20:18:33 -07:00
Sam Yaple
98a379b0fd Reduce dependencies on the dest nodes
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
2015-08-06 01:32:05 +00:00
digambar
e245eb2ff5 Implement kolla-compose script
Renamed kolla script to kolla-compose
Update change in the dev guide also

Change-Id: I6cae3d13752ecb4bb3deeb91c5e0f827fde80c2a
Implements: blueprint kolla-compose-script
2015-07-27 12:18:56 +05:30
Borne Mace
0cd4e9bc7c Removed all validate-contents tests from pep8 test
Change-Id: I2762ecf64fab090f3594bf4330dea101ba1434dd
Partially-Implements: blueprint rename-pep8-validate
2015-07-20 08:42:08 -07:00
Sam Yaple
2d61572e17 filter ansible/library from tox.ini
Change-Id: Ib063ce61fd262e77c42cb99c58983051be4c34b0
Closes-Bug: #1473697
2015-07-12 03:13:13 +00:00
Borne Mace
160d163878 Enable pep8 tests
Change-Id: I476c335b60d3195a2381a91ad05d8f64f62190d0
Partially-Implements: blueprint enable-flake8
2015-07-10 14:13:47 -07:00
Jenkins
75e01a2fb2 Merge "Add min env vars doc validation to pep8 gate" 2015-07-07 13:55:21 +00:00
Borne Mace
3875d6d302 Fixing tox tests - split out validation tests
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
2015-07-06 16:41:45 -07:00
Martin André
d006122d9c Add min env vars doc validation to pep8 gate
Change-Id: I7711e9ee597184e34c88c0deeaf916fb1547b704
Implements: blueprint add-min-env-vars-gate
2015-07-05 09:08:15 +09:00
Martin André
d30712a34c Add link validation to pep8 gate
Change-Id: I2e6ac673fa9934850da6dec7b6cf3618c1437de0
Implements: blueprint add-broken-symlink-check
2015-07-02 09:09:52 +09:00
Steven Dake
e7edb092c1 Ignore .tox directory to remove some bashate failures
Change-Id: I7342e4b0b31e0add681ab5b24083eda10031f0cf
Partially-Implements: blueprint bashate-gate
2015-06-08 11:01:50 -07:00
Steven Dake
5a093488c3 Remove 1000 bashate failures by ignoring .git directory
Change-Id: I64f04bddf2d7fac1c6dd0a801b974501b24f3ac0
Partially-Implements: blueprint bashate-gate
2015-06-07 12:17:59 -07:00
Jeff Peeler
78b27e3e60 Clean up the image functional test
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
2015-05-26 15:01:28 -04:00
Jeff Peeler
21cd478cbd Add functional tests to tox
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
2015-05-13 15:38:07 -04:00
Lars Kellogg-Stedman
6666d1e973 add maintainer check to tests
Change-Id: I6ee985e694142aa7dadeb085b77910667ac6359f
2014-10-31 10:10:27 -04:00