The opendev project has been moving away from puppet and this is one of
the puppet modules that is no longer used. To simplify things for us we
are taking the extra step of retiring this repo.
Change-Id: I83b9374c66f13d672800e76e8c10903f82479471
When configuring the dir for the pidfiles in our init scripts don't
assume the path is /var/run/$NAME. The defaults are now /var/run/nodepool
now and could be set to other values as well. Instead of assuming
/var/run/$NAME we instead take the dirname of $PIDFILE and configure
whatever that dir is instead.
Also expose zuulv3 flag to user to toggle the location of pidfile,
this changes in nodepool > 0.5.0.
Change-Id: I7fff2565f9e77d737c247f204925f66a0e4aabe8
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
We haven't yet renamed nodepoold to nodepool-launcher, so revert this
change.
Change-Id: I976b13fc2cfee4b6bf253077e6b27d2de9419895
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Move nodepool-launcher into its own class. This allows us to scale out
nodepool-launcher for our feature/zuulv3 effort.
Change-Id: I393fa1d8ff080260af772a2f020cca9b9e49b173
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Nodepoold wants to know what its pidfile is too so we need to set that
in the init scripts after we set DAEMON_ARGS. Without this it will
fallback to its default which causes problems when running more than one
nodepoold process.
Change-Id: I5cc73542ae2499f13fadcfad8f692f5123f62630
We've been running 3 nodepool services for a week now, lets properly
template them. nodepool uploads images, nodepool-launcher creates
nodes, nodepool-deleter deletes them.
This is mean to be a short term solution for zuulv25, and shouldn't
affect existing nodepool installations.
Change-Id: Iaee3148d6710f796e9f1ea7cba2962cfbb530fa2
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This is an intermediate step before builders are completely broken out
into their own hosts and nodes.
As part of this work we split up the logging configs for the two daemons
which allows them to be colocated and write to different log files on
the same host.
Co-Authored-By: Clark Boylan <clark.boylan@gmail.com>
Change-Id: I990e96dde352fb7d01cc4b89d0f4f02de166b943
Nodepoold is being changed to gracefully stop on SIGINT instead of
SIGUSR1: https://review.openstack.org/#/c/206562/
Given above patch, nodepoold ignore each signals while one of them is
being handled. Hence adjust the init script to send both SIGINT and
SIGUSR1 to keep back compatibility with old nodepoold versions.
Depends-On: Ic403b9cc74bc991b682819bc4663bb4630933a8e
Change-Id: Icb93d7979806710d7998c11dadf307d4ae4422fc
In Ie0b269835ebb8effbac0285b782d8add7b47db32 I didn't consider how
difficult it is to get puppet to put in AllowOverride directives to
allow .htaccess to work. The puppetlabs-apache version we use does
not support "override" as an argument, so you can't easily add this to
allow apache to read htaccess. Upgrading is a big task because we are
so far behind (see I6fa5f3275a84ec4480169de562d1d4a656111814).
So deploy a full template for nodepool vhost that includes the config
options we need.
Additionally, the existing mimetype isn't set for the log-files
---
$ curl -I http://nodepool.openstack.org/image.log.2014-10-14
HTTP/1.1 200 OK
Date: Fri, 17 Oct 2014 00:02:39 GMT
Server: Apache/2.2.22 (Ubuntu)
Last-Modified: Tue, 14 Oct 2014 23:59:56 GMT
ETag: "f89bb-d458315-5056acfe33700"
Accept-Ranges: bytes
Content-Length: 222659349
---
I'm pretty sure this means it defaults to text/plain, but this makes
it explicit. This should also matches on the timestampped log files
per the rules of multiple extensions [1]
[1] http://httpd.apache.org/docs/2.2/mod/mod_mime.html#multipleext
Change-Id: I7fa2603f4160b06af71a515e655d4a705fa0c768
Add a .htaccess to the nodepool log directory to enable gzip
compression for text/text mime-types; e.g. the quite large .log files
that nodepool outputs there
Change-Id: Ie0b269835ebb8effbac0285b782d8add7b47db32
When we install dib via pip the executables are put in /usr/local/bin
which was not in nodepool's PATH. The PATH is configured by the init
script so update the variable to include /usr/local/bin.
Change-Id: Ie456ecf667d330b925d3168a456d4ac84d1c48f4
Disk image builder requires root permissions to chroot and mount images.
Update the puppet manifest for nodepool to optionally enable
passwordless sudo access for the nodepool user. This defaults to being
allowed but can be toggled if this is deemed an unnecessary security
risk.
Change-Id: If0bf5f182d88c848cd2a64c5c75cc64cc0b42c58
Nodepool logs the creation of nodepool images to an image.log which
are only accessible to root users. This change updates the nodepool
puppet configuration to install apache and allows users to access
these image logs.
Change-Id: I867030c258d00ce017c69812c133f3419215d045
Nodepool is running into file descriptor limits like Zuul. Again
compromise and bump the limit in the init script to give us breathing
room until the problem can be properly fixed.
Change-Id: Idd1fd679bdad1d3ea4951be7f9330214d7065027
An upcoming change to nodepool supports logging the output from
the image creation process. Use it.
Change-Id: I3a45a30f813d0f7b9fff4f602b945d72f2dcda3e