We are installing packages in jenkins::slave that we do not need on all
of our slaves. Trim the package install down there and move things to
openstack_project::thick_slave where they belong. In particular
zookeeper and php mcrypt packages.
As part of this cleanup remove unused parameter values from
jenkins::params.
Change-Id: I57bf1c61287f74418bb06502f06bcd2989161243
Previously on Debian based machines we attempted to install bundler from
apt and from gems. This worked on precise because the two package names
are different. It does not work on trusty because the package names are
the same and puppet complains that the namevar is duplicated and fails.
Fix this by removing all apt based bundler instalations. We will install
it only from gems and only on "thick" slaves. We do not need this on
devstack slaves because devstack can install it for itself if it needs
it.
Note, this changes the path to the `bundle` executable. We were using it
out of /usr/bin/bundle but a gem install will go in
/usr/local/bin/bundle on ubuntu and /usr/bin/bundle on centos. To keep
the chef jobs happy with this remove the explicit paths to bundle and
rely on $PATH to find it for us regardless of the platform.
Change-Id: Ic1f2158b923c5116f473f5d21250da69809b292d
Under Debian and Ubuntu (Trusty release), ruby-bundler
package is just called bundler.
Trusty has a transitional package called ruby-bundler
but it should be better to stick to proper name.
Add a conditional to detect operating system and if it's
Precise install ruby-bundler package, it not install
bundler one.
Change-Id: Ib49f7947187f844effa49d0e7501ea37c86bde66
The ::jenkins::slave class contained a lot of openstack-specific
configuration rather than configuration of a generic jenkins slave.
The term "bare slave" is overloaded and confusing: create simple_slave
and thick_slave to differentiate between the two meanings of "bare".
Some portions of ::jenkins::slave will move to simple_slave, some
portions to thick_slave, and some portions to slave_common (all in the
openstack_project module).
Change-Id: I5281a03a7f6da3f98714bcc59ae840ace8435578
I042cdd2dd2407f381cafcabc5c6b83d9b9a9eb00 adds instructions to
workers on how to send logs to swift using the FormPost middleware.
This slave-script allows you to pass in a directory to push to
swift using these instructions and returns a URL where they are
available.
Change-Id: I7ccafa408a88ef80317b1c546b3451c0033dce61
Localized documents start to be generated in gate jobs and
they require language specific font packages. This commit
add language_fonts_packages parameter to accept language fonts.
It adds Japanese and Korean font packages to Ubuntu build
slave because gate jobs are now run on Ubuntu based hosts.
Pakcages for RedHat flavor will be added in future if needed.
Change-Id: Id4a0363e119f4458c270fb32bd428ebcfcc75225
Closes-Bug: #1278327
Some providers include gettext preinstalled by default on their base
images, but others do not. Make this consistent by explicitly
installing it when not already present. Rackspace seems to have
recently ceased including it on their Ubuntu Precise images, which
precipitated this patch.
Change-Id: Idb86c805e2fc56d885081876642bd9d3dbf58434
puppet was throwing the following error..
nodepool.image.build.rax-iad.bare-centos6: Could not find dependent
Exec[update-java-alternatives] for Package[ant] at |
/root/config/modules/jenkins/manifests/slave.pp:86
because update-java-alternatives was only defined for debian, not for redhat systems.
This change adds java alternatives update to redhat. Needed to change
'java-1.7.0-openjdk' to 'java-1.7.0-openjdk-devel' because 'java-1.7.0-openjdk' does
not install the javac compiler.
We are setting alternatives for debian and centos but not for fedora because the java 6
packages are not available on fedora.
Change-Id: I04b3e8292d3f31cd56ada9be99da8a234e13585a
extract_docs.awk (used to extract devtest.rst from devtest.sh, and
similiarly with other scripts that have docs auto-generated) does not
work in mawk, which is the default in precise.
gawk is already the default choice in Fedora 19, and seems to be the
default in later versions of Ubuntu. Haven't tested Debian.
Change-Id: I00cf5137d8e39c78a5d52b2cf094365a56deb353
Add check, gate, post and release jobs to PHP/Laravel based openstackid
project. Extend precise node with php5-mcrypt package required for
build process.
Change-Id: If7858412d5c3425aab20c0d11a92cab4c86f47dd
Previous versions of Gerrit used maven as the build tool, it has since
switched to use buck. I believe the switch happened in ver 2.7. We are
now hosting a fork of Gerrit ver 2.8 so we need to setup tooling and
jobs to build newer versions of gerrit. This patch sets up tooling and
jobs required for building the openstack Gerrit ver 2.8. We now have
two sets of jenkins jobs to build gerrit, one for Gerrit prior to ver
2.4.x (maven) and one for Gerrit post ver 2.7 (buck).
Notes:
1. Buck does not have OS packages for easy installation so it needs to
be built from source using ant (requires gcc as well).
2. Maven jobs execute only when commits are made to 2.4.x branch.
3. Buck jobs execute when commits are made to branches other than 2.4.x
4. The origin post job 'gerrit-package' now publishes artifacts to
tarballs.o.o/ci/gerrit instead of tarballs.o.o/ci
5. Buck requires the zip package to build gerrit.
6. Buck and gerrit clones need to be at same directory level
Partial-Bug: #1082781
Change-Id: I1de9f127fa6826fb0a686d12dc77c0edff34be7c
Community portal build process failed due php package deployment
permission errors. This patch add php5-cli package to jenkins slave
and relocate building script from groups project to groups.yaml file.
Change-Id: I462be6bf1ea4e647e262f15427f74fab36e9c5d6
Closes-Bug: 1278344
For some reason, puppetlabs-mysql used by openstack-infra
only checks if the osfamily is RedHat and set the package
name to mysql-server (which doesn't exist in fedora).
I didn't check new puppetlabs-mysql releases (openstack
is using 0.6.1 and latest one is 2.1). Perhaps in future
this patch will no longer be necessary.
Change-Id: I29fb931f1fe70dcfe46dad71a4822a75b001ca5d
Instead of installing the zookeeper package (which is just the basic
files) we should just install the zookeeperd package (which includes
the upstart scripts to run the zookeeper server) so that those who
want to test against zookeeper do not have to start/stop the server.
Change-Id: I83ee1c30fb8adb345f36c5facf3f06dcf059ef0f
Fedora 19 and onwards doesn't support (officially)
mysql anymore, so installmysql-devel conflicts
with mariadb and community-mysql
Change-Id: I3142aa686747a6704396aa4fe005dc04c7e7d15b
python-libvirt now exists on PyPI. In anticipation of wanting to use it,
we need to ensure that libvirt-dev is installed on our slaves, so that
pip install python-libvirt will work.
Change-Id: I5958de644188e2745417a3cda319a2ea03896e7f
The zookeeper package for Fedora is zookeeper, instead of
zookeeper-server. This patch fix this problem when you
try to apply puppet jenkins slave on Fedora
Change-Id: I868987fa7f8c989e27444a6241a57f62372e645d
* modules/jenkins/manifests/params.pp: Commit 2654943 got the
package names for libtidy backwards between Red Hat and Debian
distro families, so switch them to be correct.
Change-Id: Iaf6290630f679cb64a4b6b17d37d840992988976
Change 12c4749a tried to install zookeeper on all Ubuntu and CentOS
unit test slaves, but there is not actually a zookeeper-server
package in CentOS or EPEL. Install only on Ubuntu instead.
Change-Id: Ia50f016ef8d53dada63dd3218c7d731016b94383
This is required by Python tidy module, that is a dependency of
sphinxcontrib-docbookrestapi. The later is used in at least Ceilometer
to build the documentation.
Change-Id: Ib9d9a14a8169ef5d7d3c77fd711515237ae5b0e7
pyflakes is run py flake8. Patches have been submitted to all project to
ensure that they are using flake8 instead.
Change-Id: I541e47911e4dd79626646f66320d16ad0b2dc881
* modules/jenkins/manifests/params.pp
* modules/jenkins/manifests/slave.pp: The conditional check introduced
in the Jenkins slave manifest in commit 3c7af7d was only a half-fix
since the python3 pip provider lacked a similar check, so depending
on the order in which it's puppeted the conflict could still arise.
Since this package is not needed on non-py3k slaves, we can just
remove it from the slave manifest and expect slaves which do need it
to get it from the pip puppet module instead.
Change-Id: If22aaa1319b61aa58306036a03843fa0cc79b34c
Some projects have a dependency on xattr which has a dependency on cffi
which has a dependency on libffi's development files. Install these dev
files so that xattr can be installed properly when testing.
Change-Id: If2d09285ae95d7869b3c1335c39d2642288326c1
Oracle has EOLed Java 6. While OpenJDK 6 is still supported, development
on it has slowed. Upgrade to OpenJDK 7 and run Jenkins on this newer
platform.
Change-Id: I01c90133c6bc4f2ae0a25e35e5f8a11dc96ebd0e
Change-Id: I9cad78d423878a4b78f52e68effcbc26c387fa80
Reviewed-on: https://review.openstack.org/35697
Reviewed-by: François Rossigneux <francois.rossigneux@inria.fr>
Reviewed-by: Khai Do <zaro0508@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
* modules/jenkins/manifests/cgroups.pp
* modules/jenkins/manifests/params.pp: Fedora separates the cgroups
management utilities into an additional package.
* modules/jenkins/templates/cgconfig.erb: Fedora already automounts
cgroups subsystems. Also, because of Red Hat bug 918951, swap
management doesn't work in Fedora 18.
Change-Id: I2366261d64c11fdc8e65a39481e8db9d589ca2de
Reviewed-on: https://review.openstack.org/34083
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
This is a Common Lisp interpreter that will be used by
stackforge/cl-openstack-client to run its unit tests.
Change-Id: I290833ee9ee846eaf4072f8339aa6f54a409681e
Signed-off-by: Julien Danjou <julien@danjou.info>
Reviewed-on: https://review.openstack.org/33440
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
This is going to be needed by Ceilometer for unit testing.
Change-Id: Id353e7e3a829491bfb718f3c663054dc1430fcd6
Signed-off-by: Julien Danjou <julien@danjou.info>
Reviewed-on: https://review.openstack.org/33298
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Added package gnome-doc-utils to standard packages
which is required by the slicing script for document translation.
Fixed an error in manuals-propose-translation-update job definition.
bug 1187253
Change-Id: Ib8c3e950de29f6afbbfad6a1b31bc3cf7c48a52f
Reviewed-on: https://review.openstack.org/32824
Reviewed-by: Khai Do <zaro0508@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Install ruby 1.9.1 packages to jenkins slaves. Necessary for running
OpenStack ChefSpec cookbook tests.
Fixes: bug #1178516
Change-Id: Ibb31ea3e24bf837a7b05a8540854410dbc921b72
Reviewed-on: https://review.openstack.org/28820
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Clean up facter osfamily matches to just use Debian, not Ubuntu.
This is manually tested and confirmed to at least be the case on
Oneiric, Precise and Quantal.
Change-Id: I27b184ac419910f9c3271c3b4e57886333282a5f
Reviewed-on: https://review.openstack.org/27399
Reviewed-by: Spencer Krum <krum.spencer@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
The install scripts now look for CentOS in release files. Also some
instances of facter's operatingsystem are switched to osfamily and
capitalization of RedHat is normalized to match what facter uses.
Change-Id: I3bbca5481d0d5e6de9e62bfd6e2b0a85264ed6ed
Reviewed-on: https://review.openstack.org/27398
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
* modules/jenkins/manifests/params.pp: Define $python_lxml_package
names for both RHEL and Ubuntu.
* modules/jenkins/manifests/slave.pp: Install Python bindings for
libxml2 and libxslt, needed by the tools/validate.py script in the
openstack/openstack-manuals project.
* .../jenkins_job_builder/config/manuals.yaml
(gate-openstack-manuals-validate) New job to run tools/validate.py
for openstack/openstack-manuals project changes.
* ... /zuul/layout.yaml(jobs): Set gate-openstack-manuals-validate
as non-voting.
(openstack/openstack-manuals): Add gate-openstack-manuals-validate
to run on check and gate pipelines.
Change-Id: I0f43834dc25fa41488f795fcf1526c9b0d031a5f
Reviewed-on: https://review.openstack.org/22156
Reviewed-by: Lorin Hochstein <lorin@nimbisservices.com>
Reviewed-by: Giampaolo Lauria <lauria@us.ibm.com>
Reviewed-by: Khai Do <zaro0508@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Kwapi uses now python-rrdtool instead of py-rrdtool, and python-rrdtool no longer requires librrd_dev library.
Change-Id: I8e00653974a1d336ea8039a29cd458b4d5eaace0
Reviewed-on: https://review.openstack.org/20474
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Khai Do <do.khai@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
* modules/jenkins/files/cgroups/upstart_cgconfig: Very trivial
Upstart job to load /etc/cgconfig.conf once cgroup-lite has started.
* modules/jenkins/files/cgroups/upstart_cgred: Very trivial Upstart
job to start cgred once cgconfig has been loaded.
* modules/jenkins/manifests/cgroups.pp: Conditionally add Upstart
jobs cgconfig and cgred if Ubuntu >= 12.10. They used to exist, but
were dropped in the process of refactoring cgroup support after
Precise.
* modules/jenkins/manifests/params.pp: Add parameter lists for the
cgconfig and cgred dependencies since they differ between RHEL and
Ubuntu.
* modules/jenkins/templates/cgconfig.erb: Conditionally omit the
default cgroup mounts section on Ubuntu Quantal or later.
Change-Id: I16e2996387d534928a3cfa90de9159fbe02bbdd2
Reviewed-on: https://review.openstack.org/20638
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Change-Id: I57d789add8e0cdb4ae789b803750bc30eb0f480c
Reviewed-on: https://review.openstack.org/19716
Reviewed-by: François Rossigneux <francois.rossigneux@inria.fr>
Reviewed-by: Julien Danjou <julien@danjou.info>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Add a new cgroup package parameter.
Update the cgroups.pp manifest to use the package params.
Also, updates the cgconfig.erb template to support Red Hat which
has slightly different cgroup mounts than Ubuntu.
Change-Id: I9bf34c93fe987c085040929ab16d5a5f5406ad47
Reviewed-on: https://review.openstack.org/18999
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Adds a new jenkins::params module where we set parameters based on
the operating system name.
Updates the jenkins::slave module so that it makes use of distro specific
parameters via jenkins::params. In general almost all of the previously
installed packages are installed in the same fashion via the new param
files. The following special cases are handled via inline conditionals
in the jenkins::slave manifest:
1) Ubuntu installs the 'build-essential' meta package. Since other
distros don't necissarily have an equivilant package name we have to
do this manually. On RHEL we yum install the 'Development tools'
package group in a similar fashion.
2) There aren't currently RHEL packages for maven and python3. I think
this is probably Okay since our initial target for RHEL in openstack-ci
is to be able to run unit tests which shouldn't require these.
3) Lastly we exclude the sysctl.d ptrace.conf on RHEL since it doesn't
currently support sysctl conf.d directory files. This is probably Okay
as well since the initial target for this file was temporary and only
to help debug a Glance unit test failure.
Change-Id: Ic46bc63ade3aab54a4381ca0c99fa03ac9dd59e2
Reviewed-on: https://review.openstack.org/18906
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
Exclude apt specific resources from running on Red Hat distros.
Long term it would be nice to isolate apt specific changes into
a common module... but this seems reasonable for now.
Change-Id: Iab8f592d6b91eaf0c4f6346fe1d27b388119f880
Reviewed-on: https://review.openstack.org/18905
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins