28 Commits

Author SHA1 Message Date
Ian Wienand
7a5186cfc3 Initial RHEL7/Centos7 support
Install the right EPEL and puppet rpm's for RHEL7/Centos7.

I have tested this on one of the CentOS nightly builds and
run_puppet.sh, install_modules.sh and a puppet apply of
openstack_project::single_use_slave works as expected

Change-Id: I80024d1afdb4e40d5fe9793ab2ec443b887c5fa8
2014-07-28 11:37:04 +10:00
Monty Taylor
53ecb4ff8f Remove setuptools from CentOS with prejudice
Installing setuptools with pip overtop of system setuptools
has evil and destructive results. Kill it with a hammer
before re-installing.

Change-Id: I556b2cec249ef46e09ffca3cd75521e0beeb7779
2014-07-17 16:32:37 +02:00
Monty Taylor
ccdc0c7381 Revert "Revert "Update desired virtualenv version everywhere""
Add upgrading of setuptools to prepare-node.sh. We want this
to happen everywhere, and quite honestly I'm not sure I
fully trust trying to get puppet to do it.

This reverts commit 3bc3a11244f4a4e28a4c97feec4987940d0f34cc.

Change-Id: Idf09be0e1e086e20f9e71ceb26602fea1fc62173
2014-07-17 05:44:42 +02:00
Clark Boylan
b61a992d15 Readd facter-2* exclude on centos6.
As part of move to add a puppet3 master the facter-2* exclusion on
centos6 was removed. We need this exclusion so add it back.

Change-Id: I085b242739a572cf2daeb514a46e93b36104d3ee
2014-07-02 14:35:22 -07:00
Spencer Krum
6adda92be8 Add node def for puppet3 master
This change modifies install_puppet.sh to accept a --three option
setting it to install the latest puppet available. It also creates
a node definition for the puppetmaster.o.o node, the new 3 master,
and the master of the future. Changes were made to various classes
to allow the pinning to version 2.x to be turned off.

Change-Id: I805d6dc50b9de0d8a99cf818d22d06c2dea6090a
2014-07-02 13:25:14 -07:00
Ian Wienand
11e8717dba Add functions & cleanup install_puppet.sh
A small clean-up of the install_puppet.sh script to enhance
readability and to simplify adding support for extra distributions

 - add distribution check functions
 - move puppet installation for each distribution into its own
   separate function
 - move pip installation into a function
 - add/expand several comments

Change-Id: I5d5f71fde607ace528b7372e2deadccbea58bd2f
2014-07-01 15:43:35 +10:00
Ian Wienand
ed5a97290f Make install_puppet.sh more robust against failure
I hit an issue with a system with curl *and* wget installed.  The curl
download failed, leaving a corrupt get-pip.py and thus the wget
download started (which then saved to get-pip.py.1).  The script then
tried to run the corrupt version.  Although re-running is uncommon
unless you're manually deploying the scripts, best to also check for
the file first or these commands both re-download to get-pip.py.X

Change-Id: I6b70b4b7bb3d963ba70d71388c701951932e9adb
2014-06-04 11:21:44 +10:00
Jenkins
54007bcad2 Merge "Update get-pip URL to the new location" 2014-05-28 19:18:31 +00:00
Monty Taylor
25a33f31c5 Update get-pip URL to the new location
The pypa team has made a new static location for get-pip.py. Instead
of downloading from github, we should use this.

Change-Id: Ifb7f00447d4a19f20f6413fa7fece5913de092f8
2014-05-28 10:16:16 -07:00
Monty Taylor
ad574bedee Changes to get nodepool working with trusty
There are few things that are different for our slaves on trusty. Of
note, we don't want to pin puppet, and we need to provide a version
for postgres.

Change-Id: Ibee78cd4fbeef2e6af43379d2bc3a0f0e9767a06
2014-05-28 10:09:35 -07:00
Monty Taylor
d0061640be Remove accumulated python cruft
We nolonger need or want setuptools_git installed anywhere.
get-pip no longer needs ez_setup.py first. Also, github broke
redirection on Fedora, so change the URL.

Change-Id: I16d64695bf05e672fdc12236424b62e5cd5e5dc7
2014-04-29 10:10:01 -07:00
Derek Higgins
3cb6018573 Replace raw.github.com with raw.githubusercontent.com
raw.github.com now redirects to raw.githubusercontent.com and various
curl commands are failing unless they include "-L".

Change-Id: I07d9c2f9caa2abc82ffd57435335875df5fbc96f
2014-04-28 15:41:42 +01:00
Clark Boylan
9e26d4863e Pin facter on centos boxes
We need to pin facter on centos machines as well as debian based
machines.

Change-Id: Ieb2077a3d73c8966629974ce8ac37be6f762046d
2014-04-07 16:14:52 -07:00
Matthew Oliver
c550cff8a7 Added a pin for the factor package
Puppetlabs have been updated and the pinned version of
puppet-common now requires a version of facter to be < 2.

As such facter is now pinned to 1.*.

Change-Id: Ief0030c7cb404322c131ac4cfe90e2c7b82b54a1
2014-04-02 10:39:22 +11:00
James E. Blair
56562d83f7 Revert "Adds second hiera data directory"
This did not seem to work.

This reverts commit ed57cef9c5a65f429e07ce253668cd23ceb6c45a
2014-03-31 21:06:37 +00:00
Spencer Krum
ed57cef9c5 Adds second hiera data directory
This allows hiera data to be split into two buckets: sensitive and
non-sensitive. Sensitive data is put where it always has been. Non-
sensitive data, such as users ssh keys and lists of packages can be
put into the data directory contained within the
openstack-infra/config git repository.

This also introduces a more complex hierarchy: data is now split on
osfamily and lsbdistcondename. Operatingsystem is left for
compatibility.

Change-Id: I3b3faeab837aa5732da01e96bbe0c19aa936a58d
2014-03-28 18:42:33 -07:00
Elizabeth Krumbach Joseph
b120a00bd3 Fix Fedora Puppet failure to use pip
In Fedora the pip command used by the packaged python-pip is
"pip-python" rather than "pip" due to a naming conflict. The
Puppet module tries to compensate, but we don't use the Fedora
package, so the command really is "pip" for us.

Adding symlink line to install_puppet.sh for Fedora to add the
pip-python command that Puppet is looking for.

Change-Id: I60a03fb6c27a18cd8a536080bcce1baaba965237
2014-03-20 09:10:20 -07:00
Jeremy Stanley
58d13a1a67 If curl is missing try wget instead
* install_puppet.sh: Different providers vary in what packages are
preinstalled, but usually they at least have one of curl or wget.
Have a falback here to make the script slightly more portable.

Change-Id: Id126e47f037cd3165a95241a066b48246661a168
2014-01-30 21:26:45 +00:00
Monty Taylor
bd3886ed14 Install pip using get-pip in launch node
packaged pip vs. upstream pip gets the systems very broken. Make launch-node
use get-pip to install pip as per:

http://www.pip-installer.org/en/latest/installing.html

Change-Id: Ice28b47d766c04b42462a7297911dc1a1abe5a77
2013-12-18 20:03:39 +00:00
Robert Collins
d6fd7db432 Make setting up a Puppetmaster easier.
There is a helpful script we can use that avoids the plumbing
discussion, and neither raring nor F19 can run a Puppet master, so we
should document that to avoid false starts.

Change-Id: I72f8767dc3fc7967207c37911e8e45a6d85c6001
2013-08-31 08:43:12 +12:00
Dan Prince
42078ca25a Add support for Fedora 18 to install_puppet.sh.
Fedora 18 uses puppet2.7 natively so we use that and gem install hiera.

Also updates our openstack_project:base manifest so that we upgrade
hiera via the gem provider.

Change-Id: I2ad8c1a81f9955f6de7812f72075fae84f7f7d7f
NOTE: puppetlabs only provides puppet > 3 for Fedora 18 anyway.
Reviewed-on: https://review.openstack.org/32449
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
2013-06-17 20:55:26 +00:00
Jeremy Stanley
fa1bb4f3f7 Perform kernel upgrades on new Ubuntu servers.
* install_jenkins_slave.sh: Perform a dist-upgrade on Ubuntu
servers, similar to install_puppet.sh.

* install_puppet.sh: Change from upgrade to dist-upgrade so kernels
will also be included in the initial package upgrade step.

Change-Id: Ia39c37f75cc411ce92b1deb5125fa0c5c6e6db35
Reviewed-on: https://review.openstack.org/30388
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
2013-05-24 17:50:50 +00:00
Jeremy Stanley
ae3dfe4d95 Jenkins slave puppetry for CentOS.
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
2013-04-25 21:36:58 +00:00
Dan Prince
5fead43d94 Pin puppet version via puppetlabs.repo on RHEL.
Updates our install_puppet.sh script so that we pin the puppet
version on RHEL.

In doing this I dropped the explicit puppet version used on
the 'yum install' command since it is no longer required.

Here doc is quoted to avoid variable expansion.

Change-Id: I5e45182b67fe9533b92d1132fef6888fdd5d96b1
Reviewed-on: https://review.openstack.org/23574
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
2013-03-05 20:55:19 +00:00
Jeremy Stanley
4b8a775efe Revert "Use redhat-lsb instead of redhat-lsb-core."
This reverts commit 53ec5d4d1aec4094b40e06f7be5f0183a954fe7f.

Turns out redhat-lsb-core was fine after all, as of a week ago:

    https://rhn.redhat.com/errata/RHBA-2013-0448.html

Change-Id: I8c258b084971bb090dc5d09645375939719a3259
Reviewed-on: https://review.openstack.org/23150
Reviewed-by: Khai Do <zaro0508@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2013-02-28 15:53:23 +00:00
Jeremy Stanley
53ec5d4d1a Use redhat-lsb instead of redhat-lsb-core.
The redhat-lsb-core package won't apparently be split out until RHEL
6.4 at the earliest:

    https://bugzilla.redhat.com/show_bug.cgi?id=835919

Change-Id: I4bc9bb542e68db26744b834a6de7d99b2249c568
Reviewed-on: https://review.openstack.org/23124
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
2013-02-27 22:56:10 +00:00
Dan Prince
c778aaa2f7 Preinstall lsb_release on RHEL.
Updates the puppet install scripts so that we pre-install
lsb_release on RHEL distros. We *think* this fixes an
issue where lsbdistcodename wasn't getting set correctly
and was causing subsequent puppet failures like this:

lsbdistcodename fact not available: release parameter required at
/etc/puppet/modules/apt/manifests/ppa.pp

Change-Id: I1758ee8be9a599e17f1ccb98fc95b2b4f29916f7
Reviewed-on: https://review.openstack.org/23111
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
2013-02-27 20:43:19 +00:00
James E. Blair
d45bddc133 Add a script to install puppet.
Follow on changes should invoke this script from
install_jenkins slave, and launch-node.py.

Change-Id: Id48c3967efe8ce4087d18975f3526564e09daecc
Reviewed-on: https://review.openstack.org/18977
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
2013-01-06 19:08:07 +00:00