35 Commits

Author SHA1 Message Date
Jenkins
3768a54ed7 Merge "We now have a logs publisher" 2015-11-10 16:12:43 +00:00
Angus Salkeld
1af722eb49 Add a test case for load_config
This is just a basic test to make sure loading from file works.

Change-Id: I074f36023ac4198c436fcee1668d32f9d1f0e61b
2015-11-10 13:37:51 +10:00
Sam Yaple
4a7cd7063f We now have a logs publisher
We need to create a directory to allow publishing of logs.

Change-Id: Ieeac5d236b698bedaccb8b5f0bb16f0de9df9386
Backport: Liberty
Partially-Implements: blueprint multinode-gate
2015-11-09 10:59:15 +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
e65392aefb Adjust gate btrfs setup
This is in preperation for the DinD gate.

Change-Id: I2d2489df00808824f957ed0e3aa3a44496ff7e3e
Partially-Implements: blueprint multinode-gate
2015-11-05 02:27:19 +00:00
Sam Yaple
e4b84fbeac Remove unused setup_fedora.sh
The Fedora code is no longer used and can be removed. Should it be needed in the
future the code is very similiar to CentOS. As is it will just become out of
date as the code is never excersied.

Change-Id: I7df832e5b0830ac8b4507f000ed8ed6e43d39463
Partially-Implements: blueprint multinode-gate
2015-11-05 02:27:19 +00:00
Sam Yaple
d47af2710e Update the super function name
Change-Id: Ifeefe3c146e6b5e118956024c769e71b2e506a5b
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
Sam Yaple
2df40e2946 Pin docker to 1.8.2 in gate
Change-Id: I1207f04771267702a7b592643a07dd0d92bacbc9
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-13 15:13:55 +00:00
Jeff Peeler
f5a50a1d7d Add Ansible support for Ironic
Configuration based off upstream documentation here:
http://docs.openstack.org/developer/ironic/deploy/install-guide.html

A few notes:
-ironic-api is not configured to use mod_wsgi
-several places it's noted that discoverd is going away and needs to be
replaced with ironic-inspector - (sqlite connection should be changed
too)
-currently enabling ironic reconfigures nova compute (driver and
scheduler) as well as changes neutron network settings
-a nice enhancement would be to configure the web console

Required post-deployment configuration:

Create the flat network to launch the instances:

neutron net-create --tenant-id $TENANT_ID sharednet1 --shared \
--provider:network_type flat --provider:physical_network physnet1

neutron subnet-create sharednet1 $NETWORK_CIDR --name $SUBNET_NAME \
--ip-version=4 --gateway=$GATEWAY_IP --allocation-pool \
start=$START_IP,end=$END_IP --enable-dhcp

And then the above ID is used to set cleaning_network_uuid in the neutron
section of ironic.conf.

Change-Id: I572e7ff1f23c4e57a2c50817cafe9269fd9950dd
Implements: blueprint ironic-container
2015-09-28 16:10:43 -04:00
Sam Yaple
870a89708b Setup ubuntu build gate
Change-Id: I65c8ab12761c7e36923d4c5a0c3bbfc4b9adaf73
Partially-Implements: blueprint functional-testing-gate
2015-09-02 08:46:28 +00: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
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
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
Sam Yaple
8e1b0f817a Setup the gate for cross-distro support
Split the gate into two specific scripts to support multiple distros

Add ubuntu script.

Co-Authored-By: Steven Dake <stdake@cisco.com>
Change-Id: I23b9dee409b9e678422cd58525e1836541eb64da
Partially-Implements: blueprint gate-source-builds
2015-08-26 14:17:26 +00:00
Suhail Syed
d3872aa9ee Make Kolla installable via PIP
Install Ansible code, etc file examples, scripts, an open
rc example, a tool to initialize the OpenStack deployment,
and other various useful bits.

Start the versioning at 0.1.0 as recommended by ttx.

Change-Id: I35fa4042040957e7725c7fc3b146009e0135499a
Partially-Implements: blueprint python-package
2015-08-24 16:08:49 -07:00
Jenkins
0f2a4e1e0b Merge "Prepare for gating by distro, type, docker type" 2015-08-21 16:49:10 +00:00
Sam Yaple
102c8332bd Remove barbican
Barbican has never worked properly

Change-Id: Ifd0b74adf5afea321508376ad46ac3ddef0b5b89
Closes-Bug: #1486249
2015-08-19 10:42:34 +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
f33f5913a3 Use inheritance for overriding of builder args
This establishes a pattern for adding any number of combinations for the
new build script to use. Each individual test class may be called
separately to only do builds of a select type. An example testr command
looks like:

testr run '^(test_build.BuildTestCentosBinary)' or even more simply
testr run test_build.BuildTestCentosBinary

Change-Id: I828a8c9c36a771bd5ad23e0dee6dffe3e94067e1
Paritally-Implements: blueprint gate-source-builds
2015-08-14 11:46:37 -04: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
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
afd7913386 Update test_images.py to have the correct exclusion list
Swift now builds and gnocchi-base builds.  This should get the gate
passing in most cases unless there is a real build problem.

Change-Id: I800c2192fc459f6b283654aa884e6ad97772e89c
Closes-Bug: #1482895
2015-08-08 10:47:14 -07:00
Swapnil Kulkarni
b396395df4 Temporary remove gnocchi from kolla-compose & functional tests
Current with due to LP#1478145 the kolla-compose script
fails to create gnocchi containers. Temperory fix to skip
gnocchi till we have gnocchi packges in delorean.

Change-Id: I7dc6aef82908a846a8b632f86a16de47c1a2eef9
Partial-Bug: #1478145
2015-08-03 09:56:05 +00:00
Paul Bourke
7b41c0a266 Exclude barbican from the build to fix gate
The binary build of barbican is completely out of date and uses an old
source style install.

This is currently failing to build and breaking the gate for every
change. Blacklist barbican until
https://bugs.launchpad.net/kolla/+bug/1453926 is resolved.

Closes-Bug: #1477963

Change-Id: If1006b0d9acbf884b9e2eb7536d947911dd16ca4
2015-07-24 11:58:09 +00:00
Jeff Peeler
2207f45d9d Disable ipv6 in gate
Saw the error below in gerrit logs:

"Failed to connect to 2610:28:3090:3001:5054:ff:feb9:6ae0: Network is
unreachable" when trying to access fedorapeople.org.

Change-Id: I96603948560bc7ea259235cf3b304b2e64ceb5ab
2015-07-13 13:56:35 -04:00
Borne Mace
30a1988f0a Fixed additional OpenStack pep8 issues
The "hacking" package used in most OpenStack repos pulls in
additional pep8 rules.  This commit should fix all of them
other than a hand full in the build.py file which will
be fixed in a separate commit

Change-Id: I40a0a30d338592ad64123e3da5523b9ad95a7a9c
Partially-Implements: blueprint enable-flake8
2015-07-10 12:01:28 -07:00
Borne Mace
5a758fc6d1 Fixed all remaining pep8 failures in the codebase
Change-Id: I0de312a587ecd83158da4c7e05ca6495c7a981a8
Partially-Implements: blueprint enable-flake8
2015-07-10 09:19:32 -07:00
Michal Rostecki
3a4500c122 Removing kollaglue/centos-rdo-zaqar from excluded_images
Now kollaglue/centos-rdo-zaqar is building sucesfully,
therefore we shoudn't exclude it.

Change-Id: I873529c205786b3d9f410374f0dc6410dadcbdc4
Closes-Bug: #1470348
2015-07-01 08:26:07 +02:00
Martin André
091ef5a5cb Have test retry building failed images
The image build test now retries 3 times before declaring an image as
failing. This should help the gate in case of unreliable network
connectivity to the mirrors.

We expect the penalty of retrying to build failed images to be low
thanks to docker cache. Only the failing layer should be retried.

Change-Id: I15fd4926019590a150eb22dc885d0ef8cd31e7cc
Closes-Bug: #1466677
2015-06-25 22:29:22 +09: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
Jeff Peeler
5609af0f3f Fix setup script misspelling and pkill flag
pkill -9 docker was killing setup_docker.sh execution, so add -x flag.

Added check for root permissions and host type.
Added executing user to docker group.

Change-Id: I82cfad64fa737666d888e2ab9350c8d42e2150bf
2015-05-08 11:04:34 -04:00
Chen Zhiwei
69316556d1 Add setup Docker script
This script will setup Docker environment for Kolla functional test.
This script will not affect the users exist Docker environment, only
added a new Docker binary to /usr/local/bin directory.

Change-Id: I9669461df198d9192e220b51cba1e034040d7ed3
2015-05-05 16:56:10 +08:00