53 Commits

Author SHA1 Message Date
Robert Collins
9db70b388c Install libffi-dev needed for python-glanceclient
Change-Id: I9e1815c685d8cd3256a50a7e5a5966ec91eadc8a
2014-02-28 12:58:46 +13:00
Clark Boylan
54ad9496cd Optionally give mysql user all global privs.
One our single use unittest slaves we want to allow unittests to create
and destroy arbitrary mysql database schemas. The simplest way to do
this is to grant all priveleges to the test user on the mysql server
globally. This is safe because the nodes are thrown away post test.

Change-Id: Ic92ff2f9c752d955e6f82eb4b88330b5448cfa75
2014-02-26 11:48:59 -08:00
Jenkins
158cbf0e4e Merge "Mount ext3 filesystems as ext4 on single use slaves" 2014-02-24 21:49:58 +00:00
Clark Boylan
883ac71cf5 Mount ext3 filesystems as ext4 on single use slaves
It has been suggested that tests may be happier with ext4 instead of
ext3 on the test slaves. At the end of building an image for single use
slaves modify fstab so that when slaves are booted with the image they
mount / as ext4.

Related-Bug: 1273386
Change-Id: I88409e734b1599a5517abfd9d76c7fd622c01bb5
2014-02-24 13:39:14 -08:00
Jenkins
eda693ec59 Merge "XenServer installer script" 2014-02-23 00:01:18 +00:00
Jeremy Stanley
d9798d288a Nodepool should clone the config repo from git.o.o
* .../nodepool/scripts/cache_git_repos.py: Since the projects list
is not being retrieved as part of a git repository, use HTTPS
protocol rather than HTTP so it will be consistent with the way we
retrieve the bootstrap script in prepare_node.sh.

* .../nodepool/scripts/prepare_node.sh: Switch the config clone
operation from the Gerrit server to the Git server farm, since the
former does not support git protocol. Also make it a shallow clone
since we just need the files.

Change-Id: I1dc0697bb3f9832d180b6b1ebffaa563bd886281
2014-02-21 19:34:29 +00:00
Jeremy Stanley
4c9ca0597b Make nodepool git repo caching more robust
Previously, nodepool's prep scripts would not abort when
encountering git cloning errors. Now we retry once on failure and
then abort if it fails a second time. Also the script now makes sure
the clone actually results in a functional copy of each repository
by attempting to list branches and reset to HEAD.

Change-Id: I84565e4e90b34c6a9b8c86754efdde137cda08b2
2014-02-21 16:23:10 +00:00
Jeremy Stanley
eccd20e38c Stop separately caching repos for devstack images
Since devstack-gate no longer relies on the workspace-cache
directory, this is an unnecessary waste of effort.

Change-Id: Ic9ef8b269d0184f5891d355901bbfb29f7273670
2014-02-21 15:36:30 +00:00
Jeremy Stanley
f5231fd0a3 Clone git repos for images via git protocol
For performance reasons--using git protocol instead of HTTP should
speed up cloning significantly on CentOS 6 in particular.

Change-Id: I37fadb1366eab5d66ec8e95945bea9c2c0251fcb
2014-02-21 15:36:11 +00:00
Jenkins
8fac849433 Merge "Add sync calls to all prepare scripts" 2014-02-19 18:18:42 +00:00
James E. Blair
cbd64b6175 Add sync calls to all prepare scripts
Strictly speaking, we only need sync calls at the end of the
script that is directly invoked by nodepool.  But just so we
don't have to think about it too much, add them to all prepare
scripts.

Without it, clouds will happily snapshot a system without all
the data written to disk!

Closes-Bug: 1282136

Change-Id: Id7dcf6667d6e48eb5ae95fd42b09f0651eeb38f9
2014-02-19 09:05:23 -08:00
Jeremy Stanley
f806613c66 Add single-use py3k-precise nodes
* .../files/nodepool/scripts/prepare_node.sh: Add parameters for
Python 3 and PyPy settings for use by the py3k-precise node type.

* .../files/nodepool/scripts/prepare_node_py3k.sh: Wrapper to enable
the Python 3 and PyPy support toggles in prepare_node.sh.

* .../manifests/single_use_slave.pp: Add the Python 3 and PyPy
support variables, passing them through to the Jenkins slave class.

* .../templates/nodepool/nodepool.yaml.erb: Add a new node and image
for py3k-precise in a suitably small quantity for initial testing.

Change-Id: Id2438c17ea59ae9123a841fd0b348728c6467529
2014-02-18 17:52:33 +00:00
James E. Blair
e204daab5f Handle empty IMAGE_URL lines in devstack_cache
Handles lines of the form:
        IMAGE_URLS=${IMAGE_URLS:-};;

Change-Id: Id99586393d28c3c11846f76634256cb497812e5e
2014-02-16 07:15:49 -08:00
Mate Lakat
9e94efa17e XenServer installer script
Related to XenServer/GateIntegration:
    https://wiki.openstack.org/wiki/XenServer/GateIntegration

convert_node_to_xenserver.sh will convert a Rackspace image to a
XenServer 6.2 with an appliance on top of it. install_xenserver.sh is
calling the script with the appropriate parameters.

The incubator project for `convert_node_to_xenserver.sh`:
    https://github.com/citrix-openstack/xenapi-in-the-cloud

The project page for generating the appliance:
    https://github.com/citrix-openstack/openstack-xenapi-testing-xva

As the script is finished, the appliance will be accessible on the
instance's public IP. Dom0 could be reached from domU on the IP:
192.168.32.2

Flavor:
    performance1-8
Image:
    62df001e-87ee-407c-b042-6f4e13f5d7e1

Change-Id: Ibe94e56f6f3ac890e7f269042bc1db525b413efe
2014-02-13 15:53:31 +00:00
Clark Boylan
fc249c341f Handle the slave bare flag properly in nodepool.
Just to be confusing our bare-precise images are not actually bare
jenkins slave images and things will break if they are. Make the
jenkins::slave bare flag selectable in the single_use_slave manifest and
set it to true on the bare precise nodes (keep it set to false on
anything running devstack or similar).

Change-Id: I88d0a7f7b9c188ac3547b9ffab57c5fbce4f7a10
2014-02-05 17:40:13 -08:00
Clark Boylan
74db309b78 Be explicit about node_prepare.sh args.
If $HOSTNAME is not set when calling prepare_node.sh then SUDO value
could be confused for the hostname. Quote $HOSTNAME so it is clear which
arg belongs to each arg position in prepare_node.sh.

Change-Id: I9efffa5225de618b57980c1d60da24d7904cd91b
2014-02-05 17:17:13 -08:00
Jenkins
dc13aa372f Merge "Redo slave manifests for clarity and correctness." 2014-02-05 22:27:38 +00:00
Jenkins
1e8d5c6642 Merge "Enable precise-backports on tripleo test nodes" 2014-01-30 23:30:50 +00:00
Jenkins
68a0cb471f Merge "Add some dependencies required by toci" 2014-01-30 23:30:42 +00:00
Clark Boylan
0f4b0fae64 Redo slave manifests for clarity and correctness.
The differences between openstack_project::slave,
openstack_project::slave_template, and openstack_project::bare_slave
were not always clear. Keep openstack_project::slave as the default long
running slave manifest, but replace slave_template with a
single_use_slave.pp to make it clear where single use slave config
begins. Add the ability to toggle automatic upgrades and jenkins sudo
rights to this new manifest. Finally, add a more verbose comment to
bare_slave explaining what it is useful for (having a jenkins like slave
host that doesn't need a firewall or ntp or automatic upgrades).

Change-Id: I3989c9e6ad9469f441ca5d3627f7b3b704d8a8da
2014-01-30 10:37:36 -08:00
Jenkins
00f992cd05 Merge "Add a new node type for precise with saucy kernel" 2014-01-28 23:44:42 +00:00
Russell Bryant
8408f96615 Add a new node type for precise with saucy kernel
One of the types of failures in the top gate bug is due to a kernel
crash in network namespace code.  This patch installs a newer kernel on
the devstack nodes.  It installs the backported kernel and its headers
that are made available for hardware enablement purposes.  This gets
from a 3.2.0 kernel to a 3.11.0 kernel.

The patch is written as a new node prep script.  A new node type is also
defined that can be used by an experimental job.  This will allow us to
make sure everything is working before flipping the switch on using this
kernel everywhere.

The normal neutron devstack jobs are now listed in experimental.  When
run in the experimental pipeline, they should use the new node type that
uses the new kernel.

Change-Id: I9652b4183153687cc1e9a9a270ae0f78d8928620
Related-bug: #1254890
2014-01-28 15:23:50 -05:00
Monty Taylor
bc794da31e Split config from projects list
The projects list is a common list for devs to interact with. The config
in the list is not, but the config in the list means the file needs to
be in an erb template.

Split the two concerns, similar to zuul. Put the config in a config file
and the project data in a yaml file.

Change-Id: I708b8655b4b1ce377f3b7369e987418c1d72d977
2014-01-28 09:32:09 -08:00
Derek Higgins
2ed7e2a3ad Enable precise-backports on tripleo test nodes
This is needed so we can install jq.

Change-Id: I251892459b8bd30ff2e64dff5f8c151405694a1d
2014-01-28 09:10:23 +00:00
Derek Higgins
82933de8bc Add some dependencies required by toci
TripleO CI scripts require both os-apply-config and gear.

Change-Id: I9535c124bbf383bb2b7b01dbc7d17a0a7ceae269
2014-01-28 09:10:23 +00:00
Derek Higgins
c531f41138 Remove TRIPLEO_ROOT and pull-tools
tripleo-incubator hasn't been cloned at this point so we can't call
pull-tools, devtest_setup.sh will do this when the job runs. Removing
pull-tools means there is no longer a need for TRIPLEO_ROOT.

Change-Id: Id7b356c644894dbd6335423d81cb6f2d2261a2fb
2014-01-24 19:38:53 +13:00
Derek Higgins
78af1a45b4 Create a git cache for tripleo-gate.
This is a little redundant with prepare_devstack, but since we want to
migrate to /opt/git soon anyhow (so we aren't chasing new
repositories) I think this is fine. We also update prepare_devstack so
that it won't go off and cache the tripleo repos during test execution
time.

Change-Id: Id9706cf824b0b75fe11787a2612e75aa79c3507f
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
2014-01-24 19:38:17 +13:00
Robert Collins
c0bf424833 Clamp MTU in TripleO instances
Due to bug 1270646 using the default MTU is an utter fail performance
wise.

Change-Id: Ic9bd9e431a9790a992f8c3146f3e2b659240679b
2014-01-20 13:13:40 +13:00
Robert Collins
69f9c72f41 Configure eth1 for DHCP in tripleo-gate instances
Because we like our networks working.

Change-Id: If6c6066727889e5bf327945e6b09d114b11c25fc
2014-01-20 13:08:22 +13:00
Robert Collins
e6dc5821f5 Improve tripleo nodepool image build efficiency.
Turns out there is a cache of git trees built. We can use that to
avoid some clones. There are more that can be saved - this is the low
hanging fruit (with a bug files and linked for the harder stuff).

Change-Id: Ib720db7b963a314ad28ef4287d7965c5c30f0883
2014-01-19 09:18:03 +13:00
James E. Blair
005581be50 Nodepool: cache all gerrit repos
Cache all review.openstack.org git repos in /opt/git.

Subsequent changes to gerrit-git-prep and devstack-gate will make
use of these repos (eventually deprecating the devstack-gate repos
is ~jenkins/workspace-cache).

Refactor the devstack cache python script a bit to make common
functions reusable.  Also rename it because underscores are better
than hyphens for python file names.

Change-Id: I4ae40613ebcca62b0dfc2eaba159557a4c71a529
2013-12-04 10:54:52 -08:00
James E. Blair
6cfb86c227 Add a bare precise node to nodepool
A basic requirement for having fully-dynamic slave nodes (no static
slaves).

Change-Id: I1d7edaed5fd96091b3e4cbcec92d084ad93f4929
2013-12-02 15:46:47 -08:00
Jenkins
48ed1f98d5 Merge "Fix pep8 errors in modules dir" 2013-12-02 16:55:12 +00:00
Clark Boylan
b266a26a98 Handle lack of rpms or debs in devstack-cache.
* modules/openstack_project/files/nodepool/scripts/devstack-cache.py:
When running on Ubuntu only debs will be listed for install, when
running on Fedora only RPMs will be listed for install. Handle the lack
of the other when checking which should be installed (use dict.get
instead of a normal index operation which will throw a KeyError instead
of returning None). Add an error message if no debs or rpms are found.

Change-Id: Iafb57f43ce6b51414593b909e1a9fde7c7c0ebf0
2013-11-27 10:19:09 -08:00
Jenkins
d1c2943a99 Merge "Update devstack-cache.py to install RPMs." 2013-11-27 16:44:46 +00:00
Jenkins
dde3d047d7 Merge "Adding nodepool compatibility with Fedora." 2013-11-27 00:54:44 +00:00
Arx Cruz
28c69f6440 Adding nodepool compatibility with Fedora.
This patch will check if the distro is Fedora or Red Hat,
if so, it will execute yum to install package requirements,
otherwise, it will run the default apt-get.

Change-Id: Ife8b214dd3b4cb12cf11c1da673b834b6180f9e7
2013-11-25 20:27:23 -02:00
Dan Prince
5751c3a9e6 Update devstack-cache.py to install RPMs.
Change-Id: I952c0b474218552a98ad3f499fc0e7f3eba67e23
2013-11-25 14:21:13 -05:00
Monty Taylor
38f8d43ffc Fix pep8 errors in modules dir
There weren't that many of them - just fix them.

Change-Id: I6aa6d056746c4a6804146b89c12e6313f9d22d9a
2013-11-12 11:30:34 -05:00
Roman Prykhodchenko
dbebed41f6 Precache Ironic and Ironic client
To run tempest tests for Ironic it must be set up
to devstack. In order to do that nodepool shoud precache
Ironic and python-ironicclient.

Change-Id: I5390ad1b33f0e202515f385cbe828ee98a49fb11
2013-10-30 17:51:08 +02:00
Jenkins
b5029439cd Merge "add pecan & wsme trees to node preparation" 2013-10-23 17:23:30 +00:00
Sean Dague
cea151edaf add pecan & wsme trees to node preparation
this will let us test upstream git of these libraries in our giant
preemptive integration world.

Change-Id: I091277071706f3896e43069efbd88e215d86f442
2013-10-22 10:52:18 -04:00
Jenkins
73163ef1a3 Merge "Fix location of toci script in JJB and clone toci" 2013-10-21 18:55:11 +00:00
Jeremy Stanley
a8e703d73e Expand user when caching files for devstack
* modules/openstack_project/files/nodepool/scripts/devstack-cache.py:
Since subprocess.Popen doesn't expand user when the default
shell=False is in effect, make a separate os.path.expanduser call to
resolve the destination path for caching downloads.

Change-Id: Ia0024d03ea23f201f6e88ba14ff6b478f32c0684
2013-10-20 01:58:36 +00:00
Elizabeth Krumbach Joseph
699b049db7 Fix location of toci script in JJB and clone toci
Clone the toci script into the image when building it and
point to the correct place on the image to execute it.

Change-Id: I4c7f3c10274fd2a9a4e76abc07bdf41cc1a6b02d
2013-10-18 15:32:54 -07:00
Elizabeth Krumbach Joseph
fe8481c695 Fix failure to complete pull-tools in tripleo gate
The required TRIPLEO_ROOT envar was not included in initial version
of this script, so it failed.

With this patch I've confirmed that the build now completes and shows
up as "ready" in nodepool image-list.

Change-Id: I3006b8c0d55317e1640149e92f47bc265030087e
2013-10-15 17:56:23 -07:00
James E. Blair
58650028ab Fix devstack image-cache script
Change-Id: Ia28ad64fb45234dabbb6dedd1a4c27b60f6969a7
2013-10-10 07:58:39 -07:00
Elizabeth Krumbach Joseph
6fd82112e8 Add initial files for tripleo in the gate.
Add jenkins job builder tripleo script (based on pbr).

Add prepare_node_tripleo.sh which will be called by nodepool.

Add prepare_tripleo.sh script, based on the devstack script
but pulling in just the tripleo repositories with pull-tools
tripleo-incubator script.

Add tripleo stanza to nodepool itself.

Update site.pp with variables for tripleo authentication.

Add experimental pipeline to zuul's layout.yaml for this job on
tripleo-incubator.

Change-Id: I03433d08585ba3a783fe939264d7521cafa83e41
2013-10-07 12:50:21 -07:00
Monty Taylor
4fee9bbe4b Add pypi-mirror to the devstack-gate cache list
Change-Id: I41eb4f29a80f1785e13b8d852d4f18d3b01660c8
2013-09-28 22:14:07 -04:00
Jenkins
d78e4e6acc Merge "Use cgit server instead of github for everything" 2013-08-23 17:01:32 +00:00