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
Limit the non tripleo nodepool nodes to 8GB of RAM regardless of the
flavor used. This allows us to use arbitrary flavors that may have the
CPU resources that we require without risk that we become dependent on
the vast amounts of RAM that typically come with more CPU.
While we are at it set grub timeout to 0 saving 5 seconds of boottime
for every server we boot.
Change-Id: Ia38341239e0189c84a21a4f58dd7ca637490a27b
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
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
The devstack cache steps were being run as the ubuntu user; make
sure they are run as jenkins.
Also update the nodepool configuration file to current values and
include the jenkins credential id.
Change-Id: Icbe8bee3b1800e28034cd36d4d328a6793d55b0e