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

Reply via email to