Hashar has uploaded a new change for review.
https://gerrit.wikimedia.org/r/202714
Change subject: zuul: switch install to a Debian package
......................................................................
zuul: switch install to a Debian package
Bug: T48552
Change-Id: I7eb60ed9ffbbb60140e1dcfd516db51732167ed0
---
D modules/zuul/files/zuul-merger.init
D modules/zuul/files/zuul.init
M modules/zuul/manifests/init.pp
M modules/zuul/manifests/merger.pp
M modules/zuul/manifests/server.pp
5 files changed, 13 insertions(+), 432 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/14/202714/1
diff --git a/modules/zuul/files/zuul-merger.init
b/modules/zuul/files/zuul-merger.init
deleted file mode 100755
index e3bda89..0000000
--- a/modules/zuul/files/zuul-merger.init
+++ /dev/null
@@ -1,145 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides: zuul-merger
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Zuul Merger
-# Description: Trunk gating system
-### END INIT INFO
-
-# Do NOT "set -e"
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="Zuul Merger"
-NAME=zuul-merger
-DAEMON=/usr/local/bin/$NAME
-PIDFILE=/var/run/$NAME/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-USER=zuul
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-START_DAEMON=0
-DAEMON_ARGS=''
-
-# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
-
-# Define LSB log_* functions.
-# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
-. /lib/lsb/init-functions
-
-# Read configuration variable file if it is present
-if [ -r /etc/default/$NAME ] ; then
- . /etc/default/$NAME
-fi
-
-if ! [ "${START_DAEMON}" = "1" ] ; then
- log_daemon_msg "$DESC: /etc/default/$NAME is not set to START_DAEMON=1:
exiting"
- log_end_msg 1
- exit 0
-fi
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
- # Return
- # 0 if daemon has been started
- # 1 if daemon was already running
- # 2 if daemon could not be started
-
- mkdir -p /var/run/$NAME
- chown $USER /var/run/$NAME
- ulimit -n 8192
- start-stop-daemon --start --quiet --pidfile $PIDFILE -c $USER --exec
$DAEMON --test > /dev/null \
- || return 1
- start-stop-daemon --start --quiet --pidfile $PIDFILE -c $USER --exec
$DAEMON -- \
- $DAEMON_ARGS \
- || return 2
- # Add code here, if necessary, that waits for the process to be ready
- # to handle requests from services started subsequently which depend
- # on this one. As a last resort, sleep for some time.
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
- # Return
- # 0 if daemon has been stopped
- # 1 if daemon was already stopped
- # 2 if daemon could not be stopped
- # other if a failure occurred
- start-stop-daemon --stop --signal 9 --pidfile $PIDFILE
- RETVAL="$?"
- [ "$RETVAL" = 2 ] && return 2
- rm -f /var/run/$NAME/*
- return "$RETVAL"
-}
-
-#
-# Function that sends a SIGHUP to the daemon/service
-#
-do_reload() {
- #
- # If the daemon can reload its configuration without
- # restarting (for example, when it is sent a SIGHUP),
- # then implement that here.
- #
- start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name
$NAME
- return 0
-}
-
-case "$1" in
- start)
- [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
- do_start
- case "$?" in
- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
- esac
- ;;
- stop)
- [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
- do_stop
- case "$?" in
- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
- esac
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- reload|force-reload)
- #
- # If do_reload() is not implemented then leave this commented out
- # and leave 'force-reload' as an alias for 'restart'.
- #
- log_daemon_msg "Reloading $DESC" "$NAME"
- do_reload
- log_end_msg $?
- ;;
- restart)
- #
- # If the "reload" option is implemented then remove the
- # 'force-reload' alias
- #
- log_daemon_msg "Restarting $DESC" "$NAME"
- do_stop
- do_start
- ;;
- *)
- #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
- exit 3
- ;;
-esac
-
-:
diff --git a/modules/zuul/files/zuul.init b/modules/zuul/files/zuul.init
deleted file mode 100755
index 2beb988..0000000
--- a/modules/zuul/files/zuul.init
+++ /dev/null
@@ -1,169 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides: zuul
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Zuul
-# Description: Trunk gating system
-### END INIT INFO
-
-# Do NOT "set -e"
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="Zuul Server"
-NAME=zuul
-DAEMON=/usr/local/bin/zuul-server
-PIDFILE=/var/run/$NAME/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-USER=zuul
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-START_DAEMON=0
-DAEMON_ARGS=''
-
-# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
-
-# Define LSB log_* functions.
-# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
-. /lib/lsb/init-functions
-
-# Read configuration variable file if it is present
-if [ -r /etc/default/$NAME ] ; then
- . /etc/default/$NAME
-fi
-
-if ! [ "${START_DAEMON}" = "1" ] ; then
- log_daemon_msg "$DESC: /etc/default/$NAME is not set to START_DAEMON=1:
exiting"
- log_end_msg 1
- exit 0
-fi
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
- # Return
- # 0 if daemon has been started
- # 1 if daemon was already running
- # 2 if daemon could not be started
-
- mkdir -p /var/run/$NAME
- chown $USER /var/run/$NAME
- start-stop-daemon --start --quiet --pidfile $PIDFILE -c $USER --exec
$DAEMON --test > /dev/null \
- || return 1
- start-stop-daemon --start --quiet --pidfile $PIDFILE -c $USER --exec
$DAEMON -- \
- $DAEMON_ARGS \
- || return 2
- # Add code here, if necessary, that waits for the process to be ready
- # to handle requests from services started subsequently which depend
- # on this one. As a last resort, sleep for some time.
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
- # Return
- # 0 if daemon has been stopped
- # 1 if daemon was already stopped
- # 2 if daemon could not be stopped
- # other if a failure occurred
- start-stop-daemon --stop --signal 9 --pidfile $PIDFILE
- RETVAL="$?"
- [ "$RETVAL" = 2 ] && return 2
- rm -f /var/run/$NAME/*
- return "$RETVAL"
-}
-
-#
-# Function that stops the daemon/service
-#
-do_graceful_stop()
-{
- PID=`cat $PIDFILE`
- kill -USR1 $PID
-
- # wait until really stopped
- if [ -n "${PID:-}" ]; then
- i=0
- while kill -0 "${PID:-}" 2> /dev/null; do
- if [ $i -eq '0' ]; then
- echo -n " ... waiting for jobs to complete "
- else
- echo -n "."
- fi
- i=$(($i+1))
- sleep 1
- done
- fi
-
- rm -f /var/run/$NAME/*
-}
-
-#
-# Function that sends a SIGHUP to the daemon/service
-#
-do_reload() {
- #
- # If the daemon can reload its configuration without
- # restarting (for example, when it is sent a SIGHUP),
- # then implement that here.
- #
- start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name
zuul-server
- return 0
-}
-
-case "$1" in
- start)
- [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
- do_start
- case "$?" in
- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
- esac
- ;;
- stop)
- [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
- do_stop
- case "$?" in
- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
- esac
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- reload|force-reload)
- #
- # If do_reload() is not implemented then leave this commented out
- # and leave 'force-reload' as an alias for 'restart'.
- #
- log_daemon_msg "Reloading $DESC" "$NAME"
- do_reload
- log_end_msg $?
- ;;
- restart)
- #
- # If the "reload" option is implemented then remove the
- # 'force-reload' alias
- #
- log_daemon_msg "Restarting $DESC" "$NAME"
- do_graceful_stop
- do_start
- ;;
- *)
- #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
- exit 3
- ;;
-esac
-
-:
diff --git a/modules/zuul/manifests/init.pp b/modules/zuul/manifests/init.pp
index 3e3de0d..86293df 100644
--- a/modules/zuul/manifests/init.pp
+++ b/modules/zuul/manifests/init.pp
@@ -3,94 +3,16 @@
# A Jenkins/Gerrit gateway written in python. This is a drop in replacement
# for Jenkins "Gerrit Trigger" plugin.
#
-# Lamely copied from openstack-ci/openstack-ci-puppet repository, replaced
-# vcsrepo by our git::clone class.
-#
-
# == Class: zuul
#
-# Install Zuul from source
+# Install Zuul
#
-# === Parameters
-#
-# $git_source_repo : git repository to clone from
-#
-class zuul (
- $git_source_repo = 'https://gerrit.wikimedia.org/r/p/integration/zuul.git',
-){
+class zuul ( ){
include zuul::user
- # Dependencies as mentionned in zuul:tools/pip-requires
- $packages = [
- 'python-yaml',
- 'python-webob',
- 'python-daemon',
- 'python-lockfile',
- 'python-paramiko',
- 'python-jenkins',
- 'python-paste',
-
- # GitPython at least 0.3.2RC1 which is neither in Lucid nor in Precise
- # We had to backport it and its dependencies from Quantal:
- 'python-git',
- 'python-gitdb',
- 'python-async',
- 'python-smmap',
-
- 'python-extras', # backported in Precise (bug 47122)
-
- 'python-pip',
- 'python-setuptools',
- 'python-voluptuous',
-
- # For Zuul post v1.3.0
- 'python-pbr',
- 'python-gear',
- 'python-apscheduler',
-
- 'python-babel',
- 'python-prettytable',
- ]
-
- require_package('python-statsd')
- ensure_packages($packages)
-
- # Used to be in /var/lib/git/zuul but /var/lib/git can be used
- # to replicate git bare repositories.
- $zuul_source_dir = '/usr/local/src/zuul'
-
- git::clone { 'integration/zuul':
- ensure => present,
- directory => $zuul_source_dir,
- origin => $git_source_repo,
- branch => 'master',
- }
-
- exec { 'install_zuul':
- # Make sure to install without downloading from pypi
- command => 'python setup.py install',
- environment => 'HTTP_PROXY=. HTTPS_PROXY=.',
- cwd => $zuul_source_dir,
- path => '/bin:/usr/bin',
- umask => '022',
- refreshonly => true,
- subscribe => Git::Clone['integration/zuul'],
- require => Package[$packages],
- }
-
- file { '/etc/zuul':
- ensure => directory,
- }
-
- file { '/var/log/zuul':
- ensure => directory,
- owner => 'zuul',
- }
-
- file { '/var/lib/zuul':
- ensure => directory,
- owner => 'zuul',
+ package { 'zuul':
+ ensure => present,
}
}
diff --git a/modules/zuul/manifests/merger.pp b/modules/zuul/manifests/merger.pp
index 7d2b565..385ef3c 100644
--- a/modules/zuul/manifests/merger.pp
+++ b/modules/zuul/manifests/merger.pp
@@ -29,8 +29,8 @@
) {
file { $git_dir:
- ensure => directory,
- owner => 'zuul',
+ ensure => directory,
+ owner => 'zuul',
}
# Configuration file for the zuul merger
@@ -51,19 +51,6 @@
notify => Service['zuul-merger'],
}
- file { '/etc/init.d/zuul-merger':
- ensure => present,
- owner => 'root',
- group => 'root',
- mode => '0555',
- source => 'puppet:///modules/zuul/zuul-merger.init',
- }
-
- file { '/var/run/zuul-merger':
- ensure => directory,
- owner => 'zuul',
- }
-
file { '/etc/zuul/merger-logging.conf':
ensure => present,
source => 'puppet:///modules/zuul/merger-logging.conf',
@@ -75,8 +62,8 @@
hasrestart => true,
subscribe => File['/etc/zuul/zuul-merger.conf'],
require => [
- File['/etc/init.d/zuul-merger'],
- File['/var/run/zuul-merger'],
+ Package['zuul'],
+ File['/etc/default/zuul-merger'],
File['/etc/zuul/merger-logging.conf'],
File['/etc/zuul/zuul-merger.conf'],
],
diff --git a/modules/zuul/manifests/server.pp b/modules/zuul/manifests/server.pp
index 65b5d79..310530c 100644
--- a/modules/zuul/manifests/server.pp
+++ b/modules/zuul/manifests/server.pp
@@ -33,19 +33,6 @@
$status_url = "https://${::fqdn}/zuul/status",
) {
- file { '/var/run/zuul':
- ensure => directory,
- owner => 'zuul',
- }
-
- file { '/etc/init.d/zuul':
- ensure => present,
- owner => 'root',
- group => 'root',
- mode => '0555',
- source => 'puppet:///modules/zuul/zuul.init',
- }
-
file { '/etc/default/zuul':
ensure => present,
owner => 'root',
@@ -97,9 +84,9 @@
refreshonly => true,
}
file { '/etc/zuul/zuul.conf':
- owner => 'root',
- group => 'root',
- mode => '0444',
+ owner => 'root',
+ group => 'root',
+ mode => '0444',
}
file { '/etc/zuul/public.conf':
@@ -111,8 +98,7 @@
enable => true,
hasrestart => true,
require => [
- File['/var/run/zuul'],
- File['/etc/init.d/zuul'],
+ Package['zuul'],
File['/etc/default/zuul'],
File['/etc/zuul/zuul-server.conf'],
File['/etc/zuul/gearman-logging.conf'],
@@ -121,7 +107,7 @@
exec { 'zuul-reload':
command => '/etc/init.d/zuul reload',
- require => File['/etc/init.d/zuul'],
+ require => Package['zuul'],
refreshonly => true,
}
}
--
To view, visit https://gerrit.wikimedia.org/r/202714
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7eb60ed9ffbbb60140e1dcfd516db51732167ed0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Hashar <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits