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
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
* .../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
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
Since devstack-gate no longer relies on the workspace-cache
directory, this is an unnecessary waste of effort.
Change-Id: Ic9ef8b269d0184f5891d355901bbfb29f7273670
For performance reasons--using git protocol instead of HTTP should
speed up cloning significantly on CentOS 6 in particular.
Change-Id: I37fadb1366eab5d66ec8e95945bea9c2c0251fcb
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
* .../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
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
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
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
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
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
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
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
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>
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
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
* 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
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
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
* 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
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
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
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