diff --git a/.gitignore b/.gitignore deleted file mode 100644 index ea90996..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -Gemfile.lock -.bundled_gems/ -log/ -junit/ -.vagrant/ diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 019213a..0000000 --- a/Gemfile +++ /dev/null @@ -1,15 +0,0 @@ -source 'https://rubygems.org' - -if File.exists?('/home/zuul/src/git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper') - gem_checkout_method = {:path => '/home/zuul/src/git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper'} -else - gem_checkout_method = {:git => 'https://git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper'} -end -gem_checkout_method[:require] = false - -group :development, :test, :system_tests do - gem 'puppet-openstack_infra_spec_helper', - gem_checkout_method -end - -# vim:ft=ruby diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d645695..0000000 --- a/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md index 8cd3233..ec889a9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ -# OpenStack Zuul Module +This project is no longer maintained. -## Overview +The contents of this repository are still available in the Git +source code management system. To see the contents of this +repository before it reached its end of life, please check out the +previous commit with "git checkout HEAD^1". -TODO: Quick overview +For any further questions, please email +service-discuss@lists.opendev.org or join #opendev on OFTC. diff --git a/Rakefile b/Rakefile deleted file mode 100644 index ff1f0d7..0000000 --- a/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -require 'rubygems' -require 'puppetlabs_spec_helper/rake_tasks' -require 'puppet-lint/tasks/puppet-lint' -PuppetLint.configuration.fail_on_warnings = true -PuppetLint.configuration.send('disable_80chars') -PuppetLint.configuration.send('disable_autoloader_layout') -PuppetLint.configuration.send('disable_class_inherits_from_params_class') -PuppetLint.configuration.send('disable_class_parameter_defaults') diff --git a/files/executor-logging.conf b/files/executor-logging.conf deleted file mode 100644 index 5a67076..0000000 --- a/files/executor-logging.conf +++ /dev/null @@ -1,49 +0,0 @@ -[loggers] -keys=root,zuul,gerrit,gear - -[handlers] -keys=console,debug,normal - -[formatters] -keys=simple - -[logger_root] -level=WARNING -handlers=console - -[logger_zuul] -level=DEBUG -handlers=debug,normal -qualname=zuul - -[logger_gerrit] -level=INFO -handlers=debug,normal -qualname=gerrit - -[logger_gear] -level=WARNING -handlers=debug,normal -qualname=gear - -[handler_console] -level=WARNING -class=StreamHandler -formatter=simple -args=(sys.stdout,) - -[handler_debug] -level=DEBUG -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/executor-debug.log',) - -[handler_normal] -level=INFO -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/executor.log',) - -[formatter_simple] -format=%(asctime)s %(levelname)s %(name)s: %(message)s -datefmt= diff --git a/files/fingergw-logging.conf b/files/fingergw-logging.conf deleted file mode 100644 index aefbf9e..0000000 --- a/files/fingergw-logging.conf +++ /dev/null @@ -1,49 +0,0 @@ -[loggers] -keys=root,zuul,gerrit,gear - -[handlers] -keys=console,debug,normal - -[formatters] -keys=simple - -[logger_root] -level=WARNING -handlers=console - -[logger_zuul] -level=DEBUG -handlers=debug,normal -qualname=zuul - -[logger_gerrit] -level=INFO -handlers=debug,normal -qualname=gerrit - -[logger_gear] -level=WARNING -handlers=debug,normal -qualname=gear - -[handler_console] -level=WARNING -class=StreamHandler -formatter=simple -args=(sys.stdout,) - -[handler_debug] -level=DEBUG -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/fingergw-debug.log',) - -[handler_normal] -level=INFO -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/fingergw.log',) - -[formatter_simple] -format=%(asctime)s %(levelname)s %(name)s: %(message)s -datefmt= diff --git a/files/gearman-logging.conf b/files/gearman-logging.conf deleted file mode 100644 index c662068..0000000 --- a/files/gearman-logging.conf +++ /dev/null @@ -1,33 +0,0 @@ -[loggers] -keys=root,gear - -[handlers] -keys=console,normal - -[formatters] -keys=simple - -[logger_root] -level=WARNING -handlers=console - -[logger_gear] -level=DEBUG -handlers=normal -qualname=gear - -[handler_console] -level=WARNING -class=StreamHandler -formatter=simple -args=(sys.stdout,) - -[handler_normal] -level=WARNING -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/gearman-server.log',) - -[formatter_simple] -format=%(asctime)s %(levelname)s %(name)s: %(message)s -datefmt= diff --git a/files/launcher-logging.conf b/files/launcher-logging.conf deleted file mode 100644 index d44871c..0000000 --- a/files/launcher-logging.conf +++ /dev/null @@ -1,49 +0,0 @@ -[loggers] -keys=root,zuul,gerrit,gear - -[handlers] -keys=console,debug,normal - -[formatters] -keys=simple - -[logger_root] -level=WARNING -handlers=console - -[logger_zuul] -level=DEBUG -handlers=debug,normal -qualname=zuul - -[logger_gerrit] -level=INFO -handlers=debug,normal -qualname=gerrit - -[logger_gear] -level=WARNING -handlers=debug,normal -qualname=gear - -[handler_console] -level=WARNING -class=StreamHandler -formatter=simple -args=(sys.stdout,) - -[handler_debug] -level=DEBUG -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/launcher-debug.log',) - -[handler_normal] -level=INFO -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/launcher.log',) - -[formatter_simple] -format=%(asctime)s %(levelname)s %(name)s: %(message)s -datefmt= diff --git a/files/logging.conf b/files/logging.conf deleted file mode 100644 index a219bc2..0000000 --- a/files/logging.conf +++ /dev/null @@ -1,64 +0,0 @@ -[loggers] -keys=root,zuul,gerrit,gerrit_io,gear,kazoo,github_io - -[handlers] -keys=console,debug,normal - -[formatters] -keys=simple - -[logger_root] -level=WARNING -handlers=console - -[logger_zuul] -level=DEBUG -handlers=debug,normal -qualname=zuul - -[logger_gerrit] -level=INFO -handlers=debug,normal -qualname=gerrit - -[logger_gerrit_io] -level=INFO -handlers=debug,normal -qualname=zuul.GerritConnection.io - -[logger_gear] -level=WARNING -handlers=debug,normal -qualname=gear - -[logger_kazoo] -level=INFO -handlers=debug,normal -qualname=kazoo - -[logger_github_io] -level=DEBUG -handlers=debug,normal -qualname=github3 - -[handler_console] -level=WARNING -class=StreamHandler -formatter=simple -args=(sys.stdout,) - -[handler_debug] -level=DEBUG -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/debug.log',) - -[handler_normal] -level=INFO -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/zuul.log',) - -[formatter_simple] -format=%(asctime)s %(levelname)s %(name)s: %(message)s -datefmt= diff --git a/files/merger-logging.conf b/files/merger-logging.conf deleted file mode 100644 index 1807f2a..0000000 --- a/files/merger-logging.conf +++ /dev/null @@ -1,49 +0,0 @@ -[loggers] -keys=root,zuul,gerrit,gear - -[handlers] -keys=console,debug,normal - -[formatters] -keys=simple - -[logger_root] -level=WARNING -handlers=console - -[logger_zuul] -level=DEBUG -handlers=debug,normal -qualname=zuul - -[logger_gerrit] -level=INFO -handlers=debug,normal -qualname=gerrit - -[logger_gear] -level=WARNING -handlers=debug,normal -qualname=gear - -[handler_console] -level=WARNING -class=StreamHandler -formatter=simple -args=(sys.stdout,) - -[handler_debug] -level=DEBUG -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/merger-debug.log',) - -[handler_normal] -level=INFO -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/merger.log',) - -[formatter_simple] -format=%(asctime)s %(levelname)s %(name)s: %(message)s -datefmt= diff --git a/files/web-logging.conf b/files/web-logging.conf deleted file mode 100644 index 9480c96..0000000 --- a/files/web-logging.conf +++ /dev/null @@ -1,54 +0,0 @@ -[loggers] -keys=root,zuul,gerrit,gear,cherrypy - -[handlers] -keys=console,debug,normal - -[formatters] -keys=simple - -[logger_root] -level=WARNING -handlers=console - -[logger_zuul] -level=DEBUG -handlers=debug,normal -qualname=zuul - -[logger_gerrit] -level=INFO -handlers=debug,normal -qualname=gerrit - -[logger_cherrypy] -level=WARN -handlers=debug,normal -qualname=cherrypy - -[logger_gear] -level=WARNING -handlers=debug,normal -qualname=gear - -[handler_console] -level=WARNING -class=StreamHandler -formatter=simple -args=(sys.stdout,) - -[handler_debug] -level=DEBUG -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/web-debug.log',) - -[handler_normal] -level=INFO -class=logging.handlers.WatchedFileHandler -formatter=simple -args=('/var/log/zuul/web.log',) - -[formatter_simple] -format=%(asctime)s %(levelname)s %(name)s: %(message)s -datefmt= diff --git a/files/zuul-executor.init b/files/zuul-executor.init deleted file mode 100644 index fd098a1..0000000 --- a/files/zuul-executor.init +++ /dev/null @@ -1,122 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: zuul-executor -# 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: Zuul Executor -### 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:/usr/local/bin -DESC="Zuul Executor" -NAME=zuul-executor -DAEMON=/usr/local/bin/zuul-executor -PIDFILE=/var/run/$NAME/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -USER=zuul - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file already exist - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - ulimit -c unlimited - if [ -f $PIDFILE ]; then - return 3 - fi - 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() -{ - $DAEMON stop - return 0 -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - $DAEMON reconfigure - 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul-executor stop to clean up." - 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 $? - ;; - *) - echo "Usage: $SCRIPTNAME {start|stop|status|force-reload}" >&2 - exit 3 - ;; -esac - -: diff --git a/files/zuul-fingergw.init b/files/zuul-fingergw.init deleted file mode 100644 index 380d512..0000000 --- a/files/zuul-fingergw.init +++ /dev/null @@ -1,137 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: zuul-fingergw -# 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: Zuul Executor -### 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:/usr/local/bin -DESC="Zuul Fingergw" -NAME=zuul-fingergw -DAEMON=/usr/local/bin/zuul-fingergw -PIDFILE=/var/run/$NAME/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -USER=root - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file already exist - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - if [ -f $PIDFILE ]; then - return 3 - fi - 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() -{ - $DAEMON stop - return 0 -} - -# -# 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul-fingergw stop to clean up." - 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/files/zuul-launcher.init b/files/zuul-launcher.init deleted file mode 100644 index 2202ec4..0000000 --- a/files/zuul-launcher.init +++ /dev/null @@ -1,131 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: zuul-launcher -# 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 launcher -### 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:/usr/local/bin -DESC="Zuul Launcher" -NAME=zuul-launcher -DAEMON=/usr/local/bin/zuul-launcher -PIDFILE=/var/run/$NAME/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -USER=zuul - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file already exist - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - if [ -f $PIDFILE ]; then - return 3 - fi - 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() -{ - $DAEMON stop - return 0 -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - $DAEMON reconfigure - 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul-launcher stop to clean up." - 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/files/zuul-merger.init b/files/zuul-merger.init deleted file mode 100644 index 13170b6..0000000 --- a/files/zuul-merger.init +++ /dev/null @@ -1,147 +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 -# Description: Trunk gating system merger -### 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/zuul-merger -PIDFILE=/var/run/$NAME/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -USER=zuul - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file already exist - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - if [ -f $PIDFILE ]; then - return 3 - fi - 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 - if [ -f "$PIDFILE" ] ; then - rm -f $PIDFILE - fi - 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 zuul-merger - 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul-merger stop to clean up." - 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/files/zuul-mergerv3.init b/files/zuul-mergerv3.init deleted file mode 100644 index b78c8a9..0000000 --- a/files/zuul-mergerv3.init +++ /dev/null @@ -1,137 +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 -# Description: Trunk gating system merger -### 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/zuul-merger -PIDFILE=/var/run/$NAME/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -USER=zuul - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file already exist - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - if [ -f $PIDFILE ]; then - return 3 - fi - 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() -{ - $DAEMON stop - return 0 -} - -# -# 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-merger - 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul-merger stop to clean up." - 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/files/zuul-scheduler.init b/files/zuul-scheduler.init deleted file mode 100644 index b8f18ce..0000000 --- a/files/zuul-scheduler.init +++ /dev/null @@ -1,172 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: zuul-scheduler -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Zuul scheduler -# 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" -NAME=zuul-scheduler -DAEMON=/usr/local/bin/zuul-scheduler -PIDFILE=/var/run/$NAME/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -USER=zuul - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file exits already - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - if [ -f $PIDFILE ]; then - return 3 - fi - 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 - if [ -f "$PIDFILE" ] ; then - rm -f $PIDFILE - fi - 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 " - 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-scheduler - 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul-scheduler stop to clean up." ;; - 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/files/zuul-schedulerv3.init b/files/zuul-schedulerv3.init deleted file mode 100644 index b201ed1..0000000 --- a/files/zuul-schedulerv3.init +++ /dev/null @@ -1,162 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: zuul-scheduler -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Zuul scheduler -# 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" -NAME=zuul-scheduler -DAEMON=/usr/local/bin/zuul-scheduler -PIDFILE=/var/run/$NAME/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -USER=zuul - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file exits already - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - if [ -f $PIDFILE ]; then - return 3 - fi - 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() -{ - $DAEMON stop - return 0 -} - -# -# 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 " - 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-scheduler - 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul-scheduler stop to clean up." ;; - 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/files/zuul-web.init b/files/zuul-web.init deleted file mode 100644 index b4a56d0..0000000 --- a/files/zuul-web.init +++ /dev/null @@ -1,144 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: zuul-web -# 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: Zuul Executor -### 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:/usr/local/bin -DESC="Zuul Web" -NAME=zuul-web -DAEMON=/usr/local/bin/zuul-web -PIDFILE=/var/run/$NAME/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -USER=zuul - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file already exist - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - if [ -f $PIDFILE ]; then - return 3 - fi - 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 - 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul-web stop to clean up." - 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/files/zuul.init b/files/zuul.init deleted file mode 100755 index d1275a4..0000000 --- a/files/zuul.init +++ /dev/null @@ -1,170 +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" -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 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# 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 - -PIDFILE_DIR=$(dirname $PIDFILE) - -# -# 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 - # 3 if pid file exits already - - if [ ! -d "$PIDFILE_DIR" ] ; then - mkdir -p $PIDFILE_DIR - chown $USER $PIDFILE_DIR - fi - ulimit -n 8192 - if [ -f $PIDFILE ]; then - return 3 - fi - 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 " - 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 ;; - 3) echo "Pidfile at $PIDFILE already exists, run service zuul stop to clean up." ;; - 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/manifests/executor.pp b/manifests/executor.pp deleted file mode 100644 index bd3b5ba..0000000 --- a/manifests/executor.pp +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2012-2013 Hewlett-Packard Development Company, L.P. -# Copyright 2014 OpenStack Foundation -# Copyright 2016 IBM Corp. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul::executor -# -class zuul::executor ( - $ensure = undef, - $manage_log_conf = true, -) { - include apt - apt::ppa { 'ppa:openstack-ci-core/bubblewrap': } - # Temporary PPA needed for bpo-27945 while waiting for SRU to be published - apt::ppa { 'ppa:openstack-ci-core/python-bpo-27945-backport': } - - package { 'bubblewrap': - ensure => present, - require => [ - Apt::Ppa['ppa:openstack-ci-core/bubblewrap'], - Class['apt::update'], - ], - } - - # Alternative malloc implementation with better packing performance - if ! defined(Package['libjemalloc1']) { - package { 'libjemalloc1': - ensure => present, - } - } - - exec { 'zuul_manage_ansible': - command => 'zuul-manage-ansible', - environment => ['ANSIBLE_EXTRA_PACKAGES=gear'], - path => '/usr/local/bin:/usr/bin:/bin/', - subscribe => Exec['install_zuul'], - refreshonly => true, - } - - include pip::python3 - - exec { 'install-ara-safely': - command => 'pip3 install --upgrade --upgrade-strategy=only-if-needed "ara<1.0.0"', - path => '/usr/local/bin:/usr/bin:/bin/', - # This checks the current installed ara version with pip list and the - # latest version of ara on pypi with pip search and if they are different - # then we know we need to upgrade to reconcile the local version with - # the upstream version. - # - # We do this using this check here rather than a pip package resource so - # that ara's deps don't inadverdently update zuuls deps (specifically - # ansible). - # - onlyif => '/bin/bash -c "test \\"$(pip3 list --format columns | sed -ne \'s/^ara\s\+\([.0-9]\+\)\s\+$/\1/p\')\\" != \\"$(pip3 search \'ara$\' | sed -ne \'s/^ara (\(.*\)).*$/\1/p\')\\""', - require => Class['::pip::python3'], - } - - # openstacksdk is used by the swift role in zuul-jobs - package { 'openstacksdk': - ensure => latest, - provider => 'pip3', - require => Class['pip'], - } - - if ($::operatingsystem == 'Ubuntu') and ($::operatingsystemrelease >= '16.04') { - # This is a hack to make sure that systemd is aware of the new service - # before we attempt to start it. - exec { 'zuul-executor-systemd-daemon-reload': - command => '/bin/systemctl daemon-reload', - before => Service['zuul-executor'], - subscribe => File['/etc/init.d/zuul-executor'], - refreshonly => true, - } - } - - service { 'zuul-executor': - ensure => $ensure, - name => 'zuul-executor', - enable => true, - hasrestart => true, - require => [File['/etc/init.d/zuul-executor'], - Class['zuul::systemd_reload']] - } - - if $manage_log_conf { - file { '/etc/zuul/executor-logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/executor-logging.conf', - } - } - - include logrotate - logrotate::file { 'executor.log': - log => '/var/log/zuul/executor.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-executor'], - } - logrotate::file { 'executor-debug.log': - log => '/var/log/zuul/executor-debug.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-executor'], - } -} diff --git a/manifests/fingergw.pp b/manifests/fingergw.pp deleted file mode 100644 index 38adc9b..0000000 --- a/manifests/fingergw.pp +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 2017 Red Hat, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul::fingergw -# -class zuul::fingergw ( - $ensure = undef, - $manage_log_conf = true, -) { - - service { 'zuul-fingergw': - ensure => $ensure, - name => 'zuul-fingergw', - enable => true, - hasrestart => true, - require => [File['/etc/init.d/zuul-fingergw'], - Class['zuul::systemd_reload']] - } - - file { '/etc/init.d/zuul-fingergw': - ensure => present, - owner => 'root', - group => 'root', - mode => '0555', - source => 'puppet:///modules/zuul/zuul-fingergw.init', - notify => Class['zuul::systemd_reload'], - } - - if $manage_log_conf { - file { '/etc/zuul/fingergw-logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/fingergw-logging.conf', - } - } - - include logrotate - logrotate::file { 'fingergw.log': - log => '/var/log/zuul/fingergw.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-fingergw'], - } - logrotate::file { 'fingergw-debug.log': - log => '/var/log/zuul/fingergw-debug.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-fingergw'], - } -} diff --git a/manifests/init.pp b/manifests/init.pp deleted file mode 100644 index c9319de..0000000 --- a/manifests/init.pp +++ /dev/null @@ -1,681 +0,0 @@ -# Copyright 2012-2013 Hewlett-Packard Development Company, L.P. -# Copyright 2012 Antoine "hashar" Musso -# Copyright 2012 Wikimedia Foundation Inc. -# Copyright 2013 OpenStack Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul -# -class zuul ( - $vhost_name = $::fqdn, - $serveradmin = "webmaster@${::fqdn}", - $gearman_server = '127.0.0.1', - $gearman_check_job_registration = true, - $internal_gearman = true, - $gerrit_server = '', - $gerrit_user = '', - $gerrit_baseurl = '', - $gerrit_strip_branch_ref = '', - $zuul_ssh_private_key = '', - $layout_file_name = 'layout.yaml', - $zookeeper_hosts = '127.0.0.1:2181', - $zookeeper_session_timeout = undef, - $tenant_file_name = 'main.yaml', - $relative_priority = false, - $url_pattern = '', - $status_url = "https://${::fqdn}/", - $zuul_status_url = 'http://127.0.0.1:8001', - $zuul_url = '', - $git_source_repo = 'https://git.openstack.org/openstack-infra/zuul', - $job_name_in_report = false, - $revision = 'master', - $statsd_host = '', - $git_email = '', - $git_name = '', - $smtp_host = 'localhost', - $smtp_port = 25, - $smtp_default_from = "zuul@${::fqdn}", - $smtp_default_to = "zuul.reports@${::fqdn}", - $swift_account_temp_key = '', - $swift_authurl = '', - $swift_auth_version = '', - $swift_user = '', - $swift_key = '', - $swift_tenant_name = '', - $swift_region_name = '', - $swift_default_container = '', - $swift_default_logserver_prefix = '', - $swift_default_expiry = 7200, - $proxy_ssl_cert_file_contents = '', - $proxy_ssl_key_file_contents = '', - $proxy_ssl_chain_file_contents = '', - $block_referers = [], - # Launcher config - $accept_nodes = '', - $jenkins_jobs = '', - $workspace_root = '', - $worker_private_key_file = '', - $worker_username = '', - $sites = [], - $nodes = [], - $connections = [], - $connection_secrets = [], - $trusted_ro_dirs = [], - $trusted_rw_dirs = [], - $untrusted_ro_dirs = [], - $untrusted_rw_dirs = [], - $trusted_ro_paths = [], - $trusted_rw_paths = [], - $untrusted_ro_paths = [], - $untrusted_rw_paths = [], - $disk_limit_per_job = '', - $python_version = 2, - $zuulv3 = false, - $gearman_client_ssl_cert = undef, - $gearman_client_ssl_key = undef, - $gearman_server_ssl_cert = undef, - $gearman_server_ssl_key = undef, - $gearman_ssl_ca = undef, - $web_listen_address = '', - $web_listen_port = '', - $web_root = '', - $zuul_web_url = 'http://127.0.0.1:9000', - $zuul_scheduler_url = 'http://127.0.0.1:8001', - $site_variables_yaml_file = undef, - $zuul_tenant_name = undef, -) { - include httpd - include pip - - include zuul::systemd_reload - - if ($python_version == 3) { - include pip::python3 - $pip_provider = pip3 - $pip_command = 'pip3' - } else { - $pip_provider = openstack_pip - $pip_command = 'pip' - } - - $packages = [ - 'libffi-dev', - 'libssl-dev', - ] - - package { $packages: - ensure => present, - } - - # NOTE(pabelanger): Due to pip10, we can no longer uninstall system python - # packages. Moving forward, we should consider installing zuul into a - # virtualenv, or container. - package { 'python3-yaml': - ensure => absent, - before => Exec['install_zuul'], - } - - # yappi, pyzmq requires this to build - if ! defined(Package['build-essential']) { - package { 'build-essential': - ensure => present, - } - } - - if ! defined(Package['yappi']) { - package { 'yappi': - ensure => present, - provider => $pip_provider, - require => Class['pip'], - } - } - - if ! defined(Package['objgraph']) { - package { 'objgraph': - ensure => present, - provider => $pip_provider, - require => Class['pip'], - } - } - - if ! $zuulv3 { - # needed by python-keystoneclient, has system bindings - # Zuul and Nodepool both need it, so make it conditional - if ! defined(Package['python-lxml']) { - package { 'python-lxml': - ensure => present, - } - } - - if ! defined(Package['python-paramiko']) { - package { 'python-paramiko': - ensure => present, - } - } - - if ! defined(Package['python-daemon']) { - package { 'python-daemon': - ensure => present, - } - } - - if ! defined(Package['yui-compressor']) { - package { 'yui-compressor': - ensure => present, - } - } - - } else { - # Needed for fb-re2 - if ! defined (Package['libre2-dev']) { - package { 'libre2-dev': - ensure => present, - } - } - } - - user { 'zuul': - ensure => present, - home => '/home/zuul', - shell => '/bin/bash', - gid => 'zuul', - managehome => true, - require => Group['zuul'], - } - - group { 'zuul': - ensure => present, - } - - vcsrepo { '/opt/zuul': - ensure => latest, - provider => git, - revision => $revision, - source => $git_source_repo, - } - - exec { 'install_zuul' : - command => "${pip_command} install -U -r/opt/zuul/requirements.txt && ${pip_command} install --no-deps -U /opt/zuul", - path => '/usr/local/bin:/usr/bin:/bin/', - refreshonly => true, - subscribe => Vcsrepo['/opt/zuul'], - require => [ - Class['pip'], - Package['build-essential'], - Package['libffi-dev'], - Package['libssl-dev'], - Package['objgraph'], - Package['yappi'], - ], - } - - if ! $zuulv3 { - Exec['install_zuul'] -> Package['python-daemon'] - Exec['install_zuul'] -> Package['python-daemon'] - Exec['install_zuul'] -> Package['python-lxml'] - Exec['install_zuul'] -> Package['python-paramiko'] - Exec['install_zuul'] -> Package['yui-compressor'] - } - - file { '/etc/zuul': - ensure => directory, - group => 'zuul', - mode => '0755', - owner => 'zuul', - require => User['zuul'], - } - - file { '/etc/zuul/ssl': - ensure => directory, - group => 'zuul', - mode => '0755', - owner => 'zuul', - require => File['/etc/zuul'], - } - - if ($gearman_ssl_ca != undef) { - file { '/etc/zuul/ssl/ca.pem': - ensure => file, - content => $gearman_ssl_ca, - group => 'zuul', - mode => '0644', - owner => 'zuul', - require => File['/etc/zuul/ssl'], - } - } - - if ($gearman_client_ssl_cert != undef) { - file { '/etc/zuul/ssl/client.pem': - ensure => file, - content => $gearman_client_ssl_cert, - group => 'zuul', - mode => '0644', - owner => 'zuul', - require => File['/etc/zuul/ssl'], - } - } - - if ($gearman_client_ssl_key != undef) { - file { '/etc/zuul/ssl/client.key': - ensure => file, - content => $gearman_client_ssl_key, - group => 'zuul', - mode => '0640', - owner => 'zuul', - require => File['/etc/zuul/ssl'], - } - } - - if ($gearman_server_ssl_cert != undef) { - file { '/etc/zuul/ssl/server.pem': - ensure => file, - content => $gearman_server_ssl_cert, - group => 'zuul', - mode => '0644', - owner => 'zuul', - require => File['/etc/zuul/ssl'], - } - } - - if ($gearman_server_ssl_key != undef) { - file { '/etc/zuul/ssl/server.key': - ensure => file, - content => $gearman_server_ssl_key, - group => 'zuul', - mode => '0640', - owner => 'zuul', - require => File['/etc/zuul/ssl'], - } - } - - if $zuulv3 { - $zuul_conf_content = template('zuul/zuulv3.conf.erb') - $zuul_merger_source = 'puppet:///modules/zuul/zuul-mergerv3.init' - $zuul_scheduler_source = 'puppet:///modules/zuul/zuul-schedulerv3.init' - } else { - $zuul_conf_content = template('zuul/zuul.conf.erb') - $zuul_merger_source = 'puppet:///modules/zuul/zuul-merger.init' - $zuul_scheduler_source = 'puppet:///modules/zuul/zuul-scheduler.init' - } - -# TODO: We should put in notify either Service['zuul'] or Exec['zuul-reload'] -# at some point, but that still has some problems. - file { '/etc/zuul/zuul.conf': - ensure => present, - owner => 'zuul', - mode => '0400', - content => $zuul_conf_content, - require => [ - File['/etc/zuul'], - User['zuul'], - ], - } - - file { '/etc/default/zuul': - ensure => present, - mode => '0444', - content => template('zuul/zuul.default.erb'), - } - - file { '/var/log/zuul': - ensure => directory, - owner => 'zuul', - require => User['zuul'], - } - - file { '/var/run/zuul': - ensure => directory, - owner => 'zuul', - group => 'zuul', - require => User['zuul'], - } - - file { '/var/run/zuul-merger': - ensure => directory, - owner => 'zuul', - group => 'zuul', - require => User['zuul'], - } - - file { '/var/lib/zuul': - ensure => directory, - owner => 'zuul', - group => 'zuul', - } - - file { '/var/lib/zuul/builds': - ensure => directory, - owner => 'zuul', - group => 'zuul', - require => File['/var/lib/zuul'], - } - - file { '/var/lib/zuul/git': - ensure => directory, - owner => 'zuul', - require => File['/var/lib/zuul'], - } - - file { '/var/lib/zuul/ssh': - ensure => directory, - owner => 'zuul', - group => 'zuul', - mode => '0500', - require => File['/var/lib/zuul'], - } - - file { '/var/lib/zuul/ssh/id_rsa': - owner => 'zuul', - group => 'zuul', - mode => '0400', - require => File['/var/lib/zuul/ssh'], - content => $zuul_ssh_private_key, - } - - if $zuulv3 { - $v2_web_dirs = [ - '/opt/twitter-bootstrap', - '/opt/jquery-visibility', - '/var/lib/zuul/www', - '/opt/graphitejs', - ] - - file { $v2_web_dirs: - ensure => absent, - } - - } else { - - file { '/var/lib/zuul/www': - ensure => directory, - require => File['/var/lib/zuul'], - } - - file { '/var/lib/zuul/www/lib': - ensure => directory, - require => File['/var/lib/zuul/www'], - } - - package { 'libjs-jquery': - ensure => present, - } - - file { '/var/lib/zuul/www/jquery.min.js': - ensure => absent - } - - file { '/var/lib/zuul/www/lib/jquery.min.js': - ensure => link, - target => '/usr/share/javascript/jquery/jquery.min.js', - require => [File['/var/lib/zuul/www/lib'], - Package['libjs-jquery']], - } - - vcsrepo { '/opt/twitter-bootstrap': - ensure => latest, - provider => git, - revision => 'v3.1.1', - source => 'https://github.com/twbs/bootstrap.git', - } - - file { '/var/lib/zuul/www/bootstrap': - ensure => absent - } - - file { '/var/lib/zuul/www/lib/bootstrap': - ensure => link, - target => '/opt/twitter-bootstrap/dist', - require => [File['/var/lib/zuul/www/lib'], - Package['libjs-jquery'], - Vcsrepo['/opt/twitter-bootstrap']], - } - - vcsrepo { '/opt/jquery-visibility': - ensure => latest, - provider => git, - revision => 'master', - source => 'https://github.com/mathiasbynens/jquery-visibility.git', - } - - file { '/var/lib/zuul/www/jquery-visibility.min.js': - ensure => absent - } - - exec { 'install-jquery-visibility': - command => 'yui-compressor -o /var/lib/zuul/www/lib/jquery-visibility.js /opt/jquery-visibility/jquery-visibility.js', - path => 'bin:/usr/bin', - refreshonly => true, - subscribe => Vcsrepo['/opt/jquery-visibility'], - require => [File['/var/lib/zuul/www/lib'], - Package['yui-compressor'], - Vcsrepo['/opt/jquery-visibility']], - } - - vcsrepo { '/opt/graphitejs': - ensure => latest, - provider => git, - revision => 'master', - source => 'https://github.com/prestontimmons/graphitejs.git', - } - - file { '/var/lib/zuul/www/jquery.graphite.js': - ensure => absent - } - - file { '/var/lib/zuul/www/lib/jquery.graphite.js': - ensure => link, - target => '/opt/graphitejs/jquery.graphite.js', - require => [File['/var/lib/zuul/www/lib'], - Vcsrepo['/opt/graphitejs']], - } - - file { '/var/lib/zuul/www/index.html': - ensure => link, - target => '/opt/zuul/etc/status/public_html/index.html', - require => File['/var/lib/zuul/www'], - } - - file { '/var/lib/zuul/www/styles': - ensure => link, - target => '/opt/zuul/etc/status/public_html/styles', - require => File['/var/lib/zuul/www'], - } - - file { '/var/lib/zuul/www/zuul.app.js': - ensure => link, - target => '/opt/zuul/etc/status/public_html/zuul.app.js', - require => File['/var/lib/zuul/www'], - } - - file { '/var/lib/zuul/www/jquery.zuul.js': - ensure => link, - target => '/opt/zuul/etc/status/public_html/jquery.zuul.js', - require => File['/var/lib/zuul/www'], - } - - file { '/var/lib/zuul/www/images': - ensure => link, - target => '/opt/zuul/etc/status/public_html/images', - require => File['/var/lib/zuul/www'], - } - } - - if $zuulv3 { - file { '/etc/default/zuul-executor': - ensure => present, - mode => '0444', - content => "PIDFILE=/var/run/zuul/executor.pid\nexport LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1\n", - } - - file { '/etc/default/zuul-scheduler': - ensure => present, - mode => '0444', - content => "PIDFILE=/var/run/zuul/scheduler.pid\n", - } - - file { '/etc/default/zuul-merger': - ensure => present, - mode => '0444', - content => "PIDFILE=/var/run/zuul/merger.pid\n", - } - } - - file { '/etc/init.d/zuul': - ensure => present, - owner => 'root', - group => 'root', - mode => '0555', - source => 'puppet:///modules/zuul/zuul.init', - notify => Class['zuul::systemd_reload'], - } - - file { '/etc/init.d/zuul-scheduler': - ensure => present, - owner => 'root', - group => 'root', - mode => '0555', - source => $zuul_scheduler_source, - notify => Class['zuul::systemd_reload'], - } - - file { '/etc/init.d/zuul-merger': - ensure => present, - owner => 'root', - group => 'root', - mode => '0555', - source => $zuul_merger_source, - notify => Class['zuul::systemd_reload'], - } - - file { '/etc/init.d/zuul-launcher': - ensure => present, - owner => 'root', - group => 'root', - mode => '0555', - source => 'puppet:///modules/zuul/zuul-launcher.init', - notify => Class['zuul::systemd_reload'], - } - - file { '/etc/init.d/zuul-executor': - ensure => present, - owner => 'root', - group => 'root', - mode => '0555', - source => 'puppet:///modules/zuul/zuul-executor.init', - notify => Class['zuul::systemd_reload'], - } - - if ! $zuulv3 { - if $proxy_ssl_cert_file_contents == '' { - $ssl = false - } else { - $ssl = true - file { '/etc/ssl/certs': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - } - file { '/etc/ssl/private': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0700', - } - file { "/etc/ssl/certs/${vhost_name}.pem": - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => $proxy_ssl_cert_file_contents, - require => File['/etc/ssl/certs'], - before => Httpd::Vhost[$vhost_name], - } - file { "/etc/ssl/private/${vhost_name}.key": - ensure => present, - owner => 'root', - group => 'root', - mode => '0600', - content => $proxy_ssl_key_file_contents, - require => File['/etc/ssl/private'], - before => Httpd::Vhost[$vhost_name], - } - if $proxy_ssl_chain_file_contents != '' { - file { "/etc/ssl/certs/${vhost_name}_intermediate.pem": - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => $proxy_ssl_chain_file_contents, - require => File['/etc/ssl/certs'], - before => Httpd::Vhost[$vhost_name], - } - } - } - } - - if $site_variables_yaml_file != undef { - file { '/etc/zuul/site-variables.yaml': - ensure => file, - group => 'zuul', - mode => '0644', - owner => 'zuul', - replace => true, - require => File['/etc/zuul'], - source => $site_variables_yaml_file, - } - } - - if ! $zuulv3 { - httpd::vhost { $vhost_name: - port => 443, # Is required despite not being used. - docroot => 'MEANINGLESS ARGUMENT', - priority => '50', - ssl => $ssl, - template => 'zuul/zuul.vhost.erb', - vhost_name => $vhost_name, - } - if ! defined(Httpd::Mod['rewrite']) { - httpd::mod { 'rewrite': ensure => present } - } - if ! defined(Httpd::Mod['proxy']) { - httpd::mod { 'proxy': ensure => present } - } - if ! defined(Httpd::Mod['proxy_http']) { - httpd::mod { 'proxy_http': ensure => present } - } - if ! defined(Httpd::Mod['cache']) { - httpd::mod { 'cache': ensure => present } - } - if ! defined(Httpd::Mod['cgid']) { - httpd::mod { 'cgid': ensure => present } - } - - case $::lsbdistcodename { - 'precise': { - if ! defined(Httpd::Mod['mem_cache']) { - httpd::mod { 'mem_cache': ensure => present } - } - if ! defined(Httpd::Mod['version']) { - httpd::mod { 'version': ensure => present } - } - } - default: { - if ! defined(Httpd::Mod['cache_disk']) { - httpd::mod { 'cache_disk': ensure => present } - } - } - } - } -} diff --git a/manifests/known_hosts.pp b/manifests/known_hosts.pp deleted file mode 100644 index 8e5e994..0000000 --- a/manifests/known_hosts.pp +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2015 Hewlett-Packard Development Company, L.P. -# Copyright 2015 OpenStack Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul::known_hosts -# -class zuul::known_hosts ( - $known_hosts_content -) { - file { '/home/zuul/.ssh': - ensure => directory, - owner => 'zuul', - group => 'zuul', - mode => '0700', - require => Class['::zuul'], - } - file { '/home/zuul/.ssh/known_hosts': - ensure => present, - owner => 'zuul', - group => 'zuul', - mode => '0600', - content => $known_hosts_content, - replace => true, - require => File['/home/zuul/.ssh'], - } -} diff --git a/manifests/launcher.pp b/manifests/launcher.pp deleted file mode 100644 index 49c1f31..0000000 --- a/manifests/launcher.pp +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 2012-2013 Hewlett-Packard Development Company, L.P. -# Copyright 2014 OpenStack Foundation -# Copyright 2016 IBM Corp. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul::launcher -# -class zuul::launcher ( - $ensure = undef, - $manage_log_conf = true, -) { - service { 'zuul-launcher': - ensure => $ensure, - name => 'zuul-launcher', - enable => true, - hasrestart => true, - require => [File['/etc/init.d/zuul-launcher'], - Class['zuul::systemd_reload']] - } - - exec { 'zuul-launcher-reload': - command => '/etc/init.d/zuul-launcher reload', - require => File['/etc/init.d/zuul-launcher'], - refreshonly => true, - } - - if $manage_log_conf { - file { '/etc/zuul/launcher-logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/launcher-logging.conf', - } - } - - package { 'lftp': - ensure => present, - } - - package { 'pyzmq': - ensure => present, - provider => openstack_pip, - require => Class['pip'], - } - - package { 'jenkins-job-builder': - ensure => '1.6.2', - provider => openstack_pip, - require => Class['pip'], - } - - package { 'ansible': - ensure => '2.1.4.0', - provider => openstack_pip, - require => Class['pip'], - } - - include logrotate - logrotate::file { 'launcher.log': - log => '/var/log/zuul/launcher.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-launcher'], - } - logrotate::file { 'launcher-debug.log': - log => '/var/log/zuul/launcher-debug.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-launcher'], - } -} diff --git a/manifests/merger.pp b/manifests/merger.pp deleted file mode 100644 index b62ae3e..0000000 --- a/manifests/merger.pp +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2012-2013 Hewlett-Packard Development Company, L.P. -# Copyright 2014 OpenStack Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul::merger -# -class zuul::merger ( - $ensure = undef, - $manage_log_conf = true, -) { - service { 'zuul-merger': - ensure => $ensure, - name => 'zuul-merger', - enable => true, - hasrestart => true, - require => [File['/etc/init.d/zuul-merger'], - Class['zuul::systemd_reload']] - } - - cron { 'zuul_repack': - user => 'zuul', - hour => '4', - minute => '7', - command => 'find /var/lib/zuul/git/ -maxdepth 3 -type d -name ".git" -exec git --git-dir="{}" pack-refs --all \;', - environment => 'PATH=/usr/bin:/bin:/usr/sbin:/sbin', - require => [User['zuul'], - File['/var/lib/zuul/git']], - } - - if $manage_log_conf { - file { '/etc/zuul/merger-logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/merger-logging.conf', - } - } - - include logrotate - logrotate::file { 'merger.log': - log => '/var/log/zuul/merger.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-merger'], - } - logrotate::file { 'merger-debug.log': - log => '/var/log/zuul/merger-debug.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-merger'], - } -} diff --git a/manifests/scheduler.pp b/manifests/scheduler.pp deleted file mode 100644 index 683b030..0000000 --- a/manifests/scheduler.pp +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 2012-2013 Hewlett-Packard Development Company, L.P. -# Copyright 2014 OpenStack Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul::scheduler -# -class zuul::scheduler ( - $ensure = undef, - $layout_dir = '', - $manage_log_conf = true, - $python_version = 2, - $use_mysql = false, -) { - - include pip - - if ($use_mysql) { - if ($python_version == 3) { - include pip::python3 - $pip_provider = pip3 - $pip_command = 'pip3' - } else { - $pip_provider = openstack_pip - $pip_command = 'pip' - } - - package { 'PyMySQL': - ensure => present, - provider => $pip_provider, - require => Class['pip'], - } - } - - if ($::operatingsystem == 'Ubuntu') and ($::operatingsystemrelease >= '16.04') { - # This is a hack to make sure that systemd is aware of the new service - # before we attempt to start it. - exec { 'zuul-scheduler-systemd-daemon-reload': - command => '/bin/systemctl daemon-reload', - before => Service['zuul-scheduler'], - subscribe => File['/etc/init.d/zuul-scheduler'], - refreshonly => true, - } - } - service { 'zuul-scheduler': - ensure => $ensure, - enable => true, - hasrestart => true, - require => [File['/etc/init.d/zuul-scheduler'], - Class['zuul::systemd_reload']] - } - - exec { 'zuul-reload': - command => '/etc/init.d/zuul-scheduler reload', - require => File['/etc/init.d/zuul-scheduler'], - refreshonly => true, - } - - file { '/etc/zuul/layout': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - recurse => true, - purge => true, - force => true, - source => $layout_dir, - require => File['/etc/zuul'], - notify => Exec['zuul-reload'], - } - - if $manage_log_conf { - file { '/etc/zuul/logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/logging.conf', - notify => Exec['zuul-reload'], - } - - file { '/etc/zuul/gearman-logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/gearman-logging.conf', - notify => Exec['zuul-reload'], - } - } - - include logrotate - logrotate::file { 'zuul.log': - log => '/var/log/zuul/zuul.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-scheduler'], - } - logrotate::file { 'zuul-debug.log': - log => '/var/log/zuul/debug.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-scheduler'], - } - logrotate::file { 'gearman-server.log': - log => '/var/log/zuul/gearman-server.log', - options => [ - 'compress', - 'missingok', - 'rotate 7', - 'daily', - 'notifempty', - ], - require => Service['zuul-scheduler'], - } -} diff --git a/manifests/server.pp b/manifests/server.pp deleted file mode 100644 index 76341b9..0000000 --- a/manifests/server.pp +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 2012-2013 Hewlett-Packard Development Company, L.P. -# Copyright 2014 OpenStack Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul::server -# -class zuul::server ( - $ensure = undef, - $layout_dir = '', - $manage_log_conf = true, -) { - service { 'zuul': - ensure => $ensure, - name => 'zuul', - enable => true, - hasrestart => true, - require => [File['/etc/init.d/zuul'], - Class['zuul::systemd_reload']] - } - - exec { 'zuul-reload': - command => '/etc/init.d/zuul reload', - require => File['/etc/init.d/zuul'], - refreshonly => true, - } - - file { '/etc/zuul/layout': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - recurse => true, - purge => true, - force => true, - source => $layout_dir, - require => File['/etc/zuul'], - notify => Exec['zuul-reload'], - } - - if $manage_log_conf { - file { '/etc/zuul/logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/logging.conf', - notify => Exec['zuul-reload'], - } - - file { '/etc/zuul/gearman-logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/gearman-logging.conf', - notify => Exec['zuul-reload'], - } - } - - include logrotate - logrotate::file { 'zuul.log': - log => '/var/log/zuul/zuul.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul'], - } - logrotate::file { 'zuul-debug.log': - log => '/var/log/zuul/debug.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul'], - } - logrotate::file { 'gearman-server.log': - log => '/var/log/zuul/gearman-server.log', - options => [ - 'compress', - 'missingok', - 'rotate 7', - 'daily', - 'notifempty', - ], - require => Service['zuul'], - } -} diff --git a/manifests/ssl_files.pp b/manifests/ssl_files.pp deleted file mode 100644 index 36f319e..0000000 --- a/manifests/ssl_files.pp +++ /dev/null @@ -1,49 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Define: zuul::ssl_files -# -define zuul::ssl_files ( - $ssl_cert_file_contents, - $ssl_key_file_contents, - $ssl_chain_file_contents, -) { - file { "/etc/ssl/certs/${name}.pem": - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => $ssl_cert_file_contents, - require => File['/etc/ssl/certs'], - before => Httpd::Vhost[$name], - } - file { "/etc/ssl/private/${name}.key": - ensure => present, - owner => 'root', - group => 'root', - mode => '0600', - content => $ssl_key_file_contents, - require => File['/etc/ssl/private'], - before => Httpd::Vhost[$name], - } - if $ssl_chain_file_contents != '' { - file { "/etc/ssl/certs/${name}_intermediate.pem": - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => $ssl_chain_file_contents, - require => File['/etc/ssl/certs'], - before => Httpd::Vhost[$name], - } - } -} diff --git a/manifests/status_backups.pp b/manifests/status_backups.pp deleted file mode 100644 index c92e313..0000000 --- a/manifests/status_backups.pp +++ /dev/null @@ -1,60 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Define: zuul::status_backups -# -define zuul::status_backups ( - $tenant_name, - $ssl, - $use_le = undef, # Unused here - $status_uri = undef, -) { - if $status_uri == undef { - if $ssl { - $status = "https://${name}/api/status" - } else { - $status = "http://${name}/api/status" - } - } - else { - $status = $status_uri - } - - if $tenant_name and $tenant_name != '' { - # Minutes, hours, days, etc are not specified here because we are - # interested in running this *every minute*. - # This is a mean of backing up status.json periodically in order to provide - # a mean of restoring lost scheduler queues if need be. - # We are downloading this file at a location served by the vhost so that we - # can query it easily should the need arise. - # If the status.json is unavailable for download, no new files are created. - cron { "zuul_scheduler_status_backup-${name}": - user => 'root', - command => "timeout -k 5 10 curl ${status} -o /var/lib/zuul/backup/${name}_status_$(date +\\%s).json 2>/dev/null", - require => [Package['curl'], - User['zuul'], - File['/var/lib/zuul/backup']], - } - # Rotate backups and keep no more than 120 files -- or 2 hours worth of - # backup if Zuul has 100% uptime. - # We're not basing the rotation on time because the scheduler/web service - # could be down for an extended period of time. - # This is ran hourly so technically up to ~3 hours worth of backups will - # be kept. - cron { "zuul_scheduler_status_prune-${name}": - user => 'root', - minute => '0', - command => "flock -n /var/run/${name}_status_prune.lock ls -dt -1 /var/lib/zuul/backup/${name}_* |sed -e '1,120d' |xargs rm -f", - require => Cron["zuul_scheduler_status_backup-${name}"], - } - } -} diff --git a/manifests/systemd_reload.pp b/manifests/systemd_reload.pp deleted file mode 100644 index 2a211e8..0000000 --- a/manifests/systemd_reload.pp +++ /dev/null @@ -1,12 +0,0 @@ -# zuul::systemd_reload -# -class zuul::systemd_reload( -) { - if versioncmp($::operatingsystemmajrelease, '16.04') >= 0 and ! defined(Exec['systemctl-daemon-reload']) { - exec {'systemctl-daemon-reload': - command => 'systemctl daemon-reload', - path => '/bin:/usr/bin', - refreshonly => true, - } - } -} diff --git a/manifests/web.pp b/manifests/web.pp deleted file mode 100644 index 0cf3847..0000000 --- a/manifests/web.pp +++ /dev/null @@ -1,259 +0,0 @@ -# Copyright 2017 Red Hat, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# == Class: zuul::web -# -class zuul::web ( - $ensure = undef, - $manage_log_conf = true, - $web_listen_address = '127.0.0.1', - $web_listen_port = 9000, - $enable_status_backups = true, - $tenant_name = '', - $vhost_name = $::fqdn, - $ssl_cert_file_contents = '', - $ssl_key_file_contents = '', - $ssl_chain_file_contents = '', - $block_referers = [], - $serveradmin = "webmaster@${::fqdn}", - # New sets of hashes on which create resources will be run. - # If not supplied the legacy parameters above will be used to - # construct these hashes. - $vhosts = {}, - $vhosts_flags = {}, - $vhosts_ssl = {}, -) { - - $web_url = "http://${web_listen_address}:${web_listen_port}" - $websocket_url = "ws://${web_listen_address}:${web_listen_port}" - $zuul_web_root = '/opt/zuul-web' - $zuul_web_content_root = '/opt/zuul-web/content' - $zuul_web_src_root = '/opt/zuul-web/source' - $zuul_web_filename = 'zuul-js-content-master.tar.gz' - $zuul_web_url = "https://tarballs.opendev.org/zuul/zuul/${zuul_web_filename}" - - if $vhosts == {} { - if $ssl_cert_file_contents == '' { - $vhost_port = 80 - $use_ssl = false - $vhosts_ssl_int = {} - } - else { - $vhost_port = 443 - $use_ssl = true - $vhosts_ssl_int = { - "${vhost_name}" => { - ssl_cert_file_contents => $ssl_cert_file_contents, - ssl_key_file_contents => $ssl_key_file_contents, - ssl_chain_file_contents => $ssl_chain_file_contents, - } - } - } - $vhosts_int = { - "${vhost_name}" => { - port => $vhost_port, - docroot => $zuul_web_content_root, - priority => '50', - ssl => $use_ssl, - template => 'zuul/zuulv3.vhost.erb', - vhost_name => $vhost_name, - } - } - $vhosts_flags_int = { - "${vhost_name}" => { - tenant_name => $tenant_name, - ssl => $use_ssl, - use_le => false, - } - } - } - else { - $vhosts_ssl_int = $vhosts_ssl - $vhosts_int = $vhosts - $vhosts_flags_int = $vhosts_flags - } - - service { 'zuul-web': - ensure => $ensure, - name => 'zuul-web', - enable => true, - hasrestart => true, - require => [File['/etc/init.d/zuul-web'], - File['/etc/default/zuul-web'], - Class['zuul::systemd_reload']] - } - - file { '/etc/init.d/zuul-web': - ensure => present, - owner => 'root', - group => 'root', - mode => '0555', - source => 'puppet:///modules/zuul/zuul-web.init', - notify => Class['zuul::systemd_reload'], - } - - if $manage_log_conf { - file { '/etc/zuul/web-logging.conf': - ensure => present, - source => 'puppet:///modules/zuul/web-logging.conf', - } - } - - include logrotate - logrotate::file { 'web.log': - log => '/var/log/zuul/web.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-web'], - } - logrotate::file { 'web-debug.log': - log => '/var/log/zuul/web-debug.log', - options => [ - 'compress', - 'missingok', - 'rotate 30', - 'daily', - 'notifempty', - ], - require => Service['zuul-web'], - } - - file { '/etc/default/zuul-web': - ensure => present, - mode => '0444', - content => "PIDFILE=/var/run/zuul/web.pid\n", - } - - if !defined(Package['curl']) { - package { 'curl': - ensure => present - } - } - - file { '/var/lib/zuul/backup': - ensure => directory, - require => File['/var/lib/zuul'], - } - - if $enable_status_backups { - create_resources(zuul::status_backups, $vhosts_flags_int) - } - - file { $zuul_web_root: - ensure => directory, - group => 'zuul', - mode => '0755', - owner => 'zuul', - require => User['zuul'], - } - - file { $zuul_web_content_root: - ensure => directory, - group => 'zuul', - mode => '0755', - owner => 'zuul', - require => [ - File[$zuul_web_root], - User['zuul'], - ] - } - - file { $zuul_web_src_root: - ensure => directory, - group => 'zuul', - mode => '0755', - owner => 'zuul', - require => [ - File[$zuul_web_root], - User['zuul'], - ] - } - - # Download the latest zuul-web - exec { 'get-zuul-web': - command => "curl ${zuul_web_url} -z ./${zuul_web_filename} -o ${zuul_web_filename}", - path => '/bin:/usr/bin', - cwd => $zuul_web_root, - require => [ - File[$zuul_web_root], - File[$zuul_web_content_root], - File[$zuul_web_src_root], - ], - onlyif => "curl -I ${zuul_web_url} -z ./${zuul_web_filename} | grep '200 OK'", - } - - # Unpack storyboard-zuul_web - exec { 'unpack-zuul-web': - command => "rm -rf ${zuul_web_src_root}/* && tar -C ${zuul_web_src_root} -xzf ./${zuul_web_filename}", - path => '/bin:/usr/bin', - refreshonly => true, - cwd => $zuul_web_root, - require => Exec['get-zuul-web'], - subscribe => Exec['get-zuul-web'], - } - - # Sync zuul-web to the directory we serve it from. This is so that we don't - # have files go missing - but also so that we can clean up old verisons of - # files. The assets built by webpack have hashes in the filenames to help - # with caching. - exec { 'sync-zuul-web': - command => "rsync -rl --delete-delay . ${zuul_web_content_root}/", - path => '/bin:/usr/bin', - refreshonly => true, - cwd => $zuul_web_src_root, - require => Exec['unpack-zuul-web'], - subscribe => Exec['unpack-zuul-web'], - } - - if ! defined(Httpd::Mod['rewrite']) { - httpd::mod { 'rewrite': ensure => present } - } - if ! defined(Httpd::Mod['proxy']) { - httpd::mod { 'proxy': ensure => present } - } - if ! defined(Httpd::Mod['proxy_http']) { - httpd::mod { 'proxy_http': ensure => present } - } - if ! defined(Httpd::Mod['cache']) { - httpd::mod { 'cache': ensure => present } - } - if !defined(Httpd::Mod['proxy_wstunnel']) { - httpd::mod { 'proxy_wstunnel': ensure => present } - } - if ! defined(Httpd::Mod['cache_disk']) { - httpd::mod { 'cache_disk': ensure => present } - } - - if $vhosts_ssl_int != {} { - file { '/etc/ssl/certs': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - } - file { '/etc/ssl/private': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0700', - } - create_resources(zuul::ssl_files, $vhosts_ssl_int) - } - create_resources(httpd::vhost, $vhosts_int) -} diff --git a/metadata.json b/metadata.json deleted file mode 100644 index 5386659..0000000 --- a/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "openstackinfra-zuul", - "version": "0.0.1", - "author": "Openstack CI", - "summary": "Puppet module for Zuul", - "license": "Apache 2.0", - "source": "https://git.openstack.org/openstack-infra/puppet-zuul.git", - "project_page": "http://docs.openstack.org/infra/system-config/", - "issues_url": "https://storyboard.openstack.org/#!/project/740", - "dependencies": [ - {"name":"openstackinfra/vcsrepo","version_requirement":">= 0.0.8"} - ] -} diff --git a/spec/acceptance/basic_spec.rb b/spec/acceptance/basic_spec.rb deleted file mode 100644 index f75e701..0000000 --- a/spec/acceptance/basic_spec.rb +++ /dev/null @@ -1,158 +0,0 @@ -# coding: utf-8 -require 'puppet-openstack_infra_spec_helper/spec_helper_acceptance' - -# https://blog.lorentzca.me/add-custom-matcher-of-serverspec/ -# 既存のリソースタイプにマッチャーを追加する覚書き -class Specinfra::Command::Base::Package < Specinfra::Command::Base - class << self - def check_is_installed_by_pip3(name, version=nil) - regexp = "^#{name} " - cmd = "pip3 list | grep -iw -- #{escape(regexp)}" - cmd = "#{cmd} | grep -w -- #{escape(version)}" if version - cmd - end - end -end - -describe 'puppet-zuul module', :if => ['debian', 'ubuntu'].include?(os[:family]) do - def pp_path - base_path = File.dirname(__FILE__) - File.join(base_path, 'fixtures') - end - - def preconditions_puppet_module - module_path = File.join(pp_path, 'preconditions.pp') - File.read(module_path) - end - - def post_conditions_puppet_module - module_path = File.join(pp_path, 'postconditions.pp') - File.read(module_path) - end - - def default_puppet_module - module_path = File.join(pp_path, 'default.pp') - File.read(module_path) - end - - before(:all) do - apply_manifest(preconditions_puppet_module, catch_failures: true) - end - - it 'should work with no errors' do - apply_manifest(default_puppet_module, catch_failures: true) - end - - it 'should enable zuul server and zuul merger services' do - apply_manifest(post_conditions_puppet_module, catch_failures: true) - end - - describe 'required users' do - describe user('zuul') do - it { should exist } - it { should belong_to_group 'zuul' } - it { should have_home_directory '/home/zuul' } - it { should have_login_shell '/bin/bash' } - end - end - - describe 'required operating system packages' do - packages = [ - package('git'), - package('build-essential'), - ] - packages << package('apache2') if ['ubuntu', 'debian'].include?(os[:family]) - packages << package('httpd') if ['centos', 'redhat'].include?(os[:family]) - - packages.each do |package| - describe package do - it { should be_installed } - end - end - end - - describe 'required pip packages' do - packages = [ - package('objgraph'), - package('yappi'), - package('zuul') - ] - - packages.each do |package| - describe package do - it { should be_installed.by('pip3') } - end - end - end - - describe 'required files' do - describe file('/etc/zuul/zuul.conf') do - it { should be_file } - it { should contain('[gearman]') } - it { should contain('server=127.0.0.1') } - it { should contain('[gerrit]') } - it { should contain('server=') } - it { should contain('[zuul]') } - it { should contain('tenant_config=/etc/zuul/layout/main.yaml') } - end - - describe file('/etc/default/zuul') do - it { should be_file } - end - - describe file('/var/log/zuul') do - it { should be_directory } - it { should be_owned_by 'zuul'} - end - - describe file('/var/lib/zuul/git') do - it { should be_directory } - it { should be_owned_by 'zuul'} - end - - describe 'directories belonging to zuul user and group' do - directories = [ - file('/var/lib/zuul'), - file('/var/run/zuul-merger'), - file('/var/lib/zuul/ssh'), - file('/var/run/zuul'), - ] - - directories.each do |dir| - describe dir do - it { should be_directory } - it { should be_owned_by 'zuul'} - it { should be_grouped_into 'zuul'} - end - end - end - - describe file('/var/lib/zuul/ssh/id_rsa') do - it { should be_file } - it { should contain('-----BEGIN RSA PRIVATE KEY-----') } - end - - describe file('/home/zuul/.ssh/known_hosts') do - it { should be_file } - it { should contain('known_hosts_content') } - end - end - - describe cron do - it { should have_entry('7 4 * * * find /var/lib/zuul/git/ -maxdepth 3 -type d -name ".git" -exec git --git-dir="{}" pack-refs --all \;').with_user('zuul') } - end - - describe 'required services' do - describe port(80) do - it { should be_listening } - end - - describe port(443) do - it { should be_listening } - end - - describe port(4730) do - it { should be_listening } - end - end -end diff --git a/spec/acceptance/fixtures/default.pp b/spec/acceptance/fixtures/default.pp deleted file mode 100644 index 26d2869..0000000 --- a/spec/acceptance/fixtures/default.pp +++ /dev/null @@ -1,25 +0,0 @@ -class { '::zuul': - zuul_ssh_private_key => file('/tmp/zuul-ssh-keys/ssh_rsa_key'), - zuulv3 => true, - python_version => 3, -} - -class { '::zuul::scheduler': - layout_dir => '/etc/project-config/zuul', - python_version => 3, - use_mysql => true, -} - -class { '::zuul::merger': } -class { '::zuul::executor': } -class { '::zuul::web': - tenant_name => 'openstack', - ssl_cert_file_contents => file('/etc/ssl/certs/ssl-cert-snakeoil.pem'), - ssl_key_file_contents => file('/etc/ssl/private/ssl-cert-snakeoil.key'), -} - -class { '::zuul::fingergw': } - -class { '::zuul::known_hosts': - known_hosts_content => 'known_hosts_content', -} diff --git a/spec/acceptance/fixtures/postconditions.pp b/spec/acceptance/fixtures/postconditions.pp deleted file mode 100644 index 12e858a..0000000 --- a/spec/acceptance/fixtures/postconditions.pp +++ /dev/null @@ -1,7 +0,0 @@ -exec { 'starting zuul scheduler': - command => '/etc/init.d/zuul-scheduler start', -} - -exec { 'starting zuul merger': - command => '/etc/init.d/zuul-merger start' -} diff --git a/spec/acceptance/fixtures/preconditions.pp b/spec/acceptance/fixtures/preconditions.pp deleted file mode 100644 index 521a003..0000000 --- a/spec/acceptance/fixtures/preconditions.pp +++ /dev/null @@ -1,34 +0,0 @@ -# Installing ssl-cert in order to get snakeoil certs -package { 'ssl-cert': - ensure => present, -} - -vcsrepo { '/etc/project-config': - ensure => latest, - provider => git, - revision => 'master', - source => 'https://git.openstack.org/openstack-infra/project-config', -} - -# Creating ssh rsa keys -define ssh_keygen ( - $ssh_directory = undef -) { - Exec { path => '/bin:/usr/bin' } - - $ssh_key_file = "${ssh_directory}/${name}" - - exec { "ssh-keygen for ${name}": - command => "ssh-keygen -t rsa -f ${ssh_key_file} -N ''", - creates => $ssh_key_file, - } -} - -$ssh_key_directory = '/tmp/zuul-ssh-keys' -file { $ssh_key_directory: - ensure => directory -} -ssh_keygen {'ssh_rsa_key': - ssh_directory => $ssh_key_directory, - require => File[$ssh_key_directory], -} diff --git a/spec/acceptance/nodesets/default.yml b/spec/acceptance/nodesets/default.yml deleted file mode 100644 index 3bb3e62..0000000 --- a/spec/acceptance/nodesets/default.yml +++ /dev/null @@ -1,11 +0,0 @@ -HOSTS: - ubuntu-server-1404-x64: - roles: - - master - platform: ubuntu-14.04-amd64 - box: puppetlabs/ubuntu-14.04-64-nocm - box_url: https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm - hypervisor: vagrant -CONFIG: - log_level: debug - type: git diff --git a/spec/acceptance/nodesets/nodepool-centos7.yml b/spec/acceptance/nodesets/nodepool-centos7.yml deleted file mode 100644 index c552874..0000000 --- a/spec/acceptance/nodesets/nodepool-centos7.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - centos-70-x64: - roles: - - master - platform: el-7-x86_64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/spec/acceptance/nodesets/nodepool-trusty.yml b/spec/acceptance/nodesets/nodepool-trusty.yml deleted file mode 100644 index 9fc624e..0000000 --- a/spec/acceptance/nodesets/nodepool-trusty.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-14.04-amd64: - roles: - - master - platform: ubuntu-14.04-amd64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/spec/acceptance/nodesets/nodepool-xenial.yml b/spec/acceptance/nodesets/nodepool-xenial.yml deleted file mode 100644 index 99dd318..0000000 --- a/spec/acceptance/nodesets/nodepool-xenial.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-16.04-amd64: - roles: - - master - platform: ubuntu-16.04-amd64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/templates/zuul.conf.erb b/templates/zuul.conf.erb deleted file mode 100644 index a59c011..0000000 --- a/templates/zuul.conf.erb +++ /dev/null @@ -1,119 +0,0 @@ -[gearman] -server=<%= @gearman_server %> -check_job_registration=<%= @gearman_check_job_registration %> - -[gearman_server] -start=<%= @internal_gearman %> -log_config=/etc/zuul/gearman-logging.conf - -<% if @gerrit_server != "" -%> -[gerrit] -server=<%= @gerrit_server %> -user=<%= @gerrit_user %> -sshkey=/var/lib/zuul/ssh/id_rsa -<% if @gerrit_baseurl != "" -%> -baseurl=<%= @gerrit_baseurl %> -<% end -%> -<% if @gerrit_strip_branch_ref != "" -%> -strip_branch_ref=<%= @gerrit_strip_branch_ref %> -<% end -%> -<% end -%> - -[zuul] -layout_config=/etc/zuul/layout/<%= @layout_file_name %> -log_config=/etc/zuul/logging.conf -state_dir=/var/lib/zuul -url_pattern=<%= @url_pattern %> -status_url=<%= @status_url %> -job_name_in_report=<%= @job_name_in_report %> - -[merger] -git_dir=/var/lib/zuul/git -zuul_url=<%= @zuul_url %> -log_config=/etc/zuul/merger-logging.conf -<% if @git_email != "" -%> -git_user_email=<%= @git_email %> -<% end -%> -<% if @git_name != "" -%> -git_user_name=<%= @git_name %> -<% end -%> - -<% if @swift_authurl != "" -%> -[swift] -<% if @swift_account_temp_key != "" -%> -X-Account-Meta-Temp-Url-Key=<%= @swift_account_temp_key %> -<% end -%> -authurl=<%= @swift_authurl %> -user=<%= @swift_user %> -key=<%= @swift_key %> -tenant_name=<%= @swift_tenant_name %> -region_name=<%= @swift_region_name %> -default_container=<%= @swift_default_container %> -default_logserver_prefix=<%= @swift_default_logserver_prefix %> -default_expiry=<%= @swift_default_expiry %> -<% if @swift_auth_version != "" -%> -auth_version=<%= @swift_auth_version %> -<% end -%> -<% end -%> - -<% if @smtp_host != "" -%> -[smtp] -server=<%= @smtp_host %> -port=<%= @smtp_port %> -default_from=<%= @smtp_default_from %> -default_to=<%= @smtp_default_to %> -<% end -%> - -<% if @jenkins_jobs != "" -%> -[launcher] -log_config=/etc/zuul/launcher-logging.conf -jenkins_jobs=<%= @jenkins_jobs %> -workspace_root=<%= @workspace_root %> -<% if @worker_private_key_file != "" -%> -private_key_file=<%= @worker_private_key_file %> -<% end -%> -<% if @worker_username != "" -%> -username=<%= @worker_username %> -<% end -%> -<% if @accept_nodes != "" -%> -accept_nodes=<%= @accept_nodes %> -<% end -%> -<% end -%> - -<% @connections.each do |connection| -%> -[connection "<%= connection['name'] %>"] -<% connection.each do |key,value| -%> -<%= key %>=<%= value %> -<% end -%> - -<% end -%> - -<% @sites.each do |site| -%> -[site "<%= site['name'] %>"] -host=<%= site['host'] %> -<% if site['user'] != "" -%> -user=<%= site['user'] %> -<% end -%> -<% if site['pass'] != "" -%> -pass=<%= site['pass'] %> -<% end -%> -<% if site['root'] != "" -%> -root=<%= site['root'] %> -<% end -%> -<% if site['keytab'] != "" -%> -keytab=<%= site['keytab'] %> -<% end -%> - -<% end -%> - -<% @nodes.each do |node| -%> -[node "<%= node['name'] %>"] -host=<%= node['host'] %> -<% if node['description'] != "" -%> -description=<%= node['description'] %> -<% end -%> -<% if node['labels'] != "" -%> -labels=<%= node['labels'] %> -<% end -%> - -<% end -%> diff --git a/templates/zuul.default.erb b/templates/zuul.default.erb deleted file mode 100644 index 7aaeae8..0000000 --- a/templates/zuul.default.erb +++ /dev/null @@ -1,4 +0,0 @@ -<% if @statsd_host != "" %> -export STATSD_HOST=<%= @statsd_host %> -export STATSD_PORT=8125 -<% end %> diff --git a/templates/zuul.vhost.erb b/templates/zuul.vhost.erb deleted file mode 100644 index 990ca29..0000000 --- a/templates/zuul.vhost.erb +++ /dev/null @@ -1,152 +0,0 @@ - - ServerName <%= @vhost_name %> - ServerAdmin <%= scope.lookupvar('::zuul::serveradmin') %> - DocumentRoot /var/lib/zuul/www - - - = 2.4> - Require all granted - - - Order deny,allow - Allow from all - - - - = 2.4> - Require all granted - - - Order deny,allow - Allow from all - - - - ErrorLog ${APACHE_LOG_DIR}/<%= @vhost_name %>-error.log - - LogLevel warn - - CustomLog ${APACHE_LOG_DIR}/<%= @vhost_name %>-access.log combined - - RewriteEngine on - <% scope.lookupvar('::zuul::block_referers').each do |referer| -%> - RewriteCond %{HTTP_REFERER} =<%= referer %> - RewriteRule ^/status - [F] - RewriteCond %{HTTP_REFERER} =<%= referer %> - RewriteRule ^/status.json - [F] - <% end -%> - - RewriteRule ^/status.json$ <%= scope.lookupvar('::zuul::zuul_status_url') %>/status.json [P] - RewriteRule ^/status/(.*) <%= scope.lookupvar('::zuul::zuul_status_url') %>/status/$1 [P] - - AddOutputFilterByType DEFLATE application/json - - SetEnv GIT_PROJECT_ROOT /var/lib/zuul/git/ - SetEnv GIT_HTTP_EXPORT_ALL - - AliasMatch ^/p/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/lib/zuul/git/$1 - AliasMatch ^/p/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/lib/zuul/git/$1 - ScriptAlias /p/ /usr/lib/git-core/git-http-backend/ - - - CacheDefaultExpire 5 - - CacheEnable mem /status - CacheEnable mem /status.json - # 12MByte total cache size. - MCacheSize 12288 - MCacheMaxObjectCount 10 - MCacheMinObjectSize 1 - # 8MByte max size per cache entry - MCacheMaxObjectSize 8388608 - MCacheMaxStreamingBuffer 8388608 - - - CacheEnable disk /status - CacheEnable disk /status.json - CacheRoot /var/cache/apache2/mod_cache_disk - - - - -<% if scope.lookupvar('::zuul::proxy_ssl_cert_file_contents') != '' %> - - - ServerName <%= @vhost_name %> - ServerAdmin <%= scope.lookupvar('::zuul::serveradmin') %> - DocumentRoot /var/lib/zuul/www - SSLEngine on - SSLProtocol All -SSLv2 -SSLv3 - SSLCertificateFile /etc/ssl/certs/<%= @vhost_name %>.pem - SSLCertificateKeyFile /etc/ssl/private/<%= @vhost_name %>.key -<% if scope.lookupvar('::zuul::proxy_ssl_chain_file_contents') != '' %> - SSLCertificateChainFile /etc/ssl/certs/<%= @vhost_name %>_intermediate.pem -<% end %> - - - = 2.4> - Require all granted - - - Order deny,allow - Allow from all - - - - = 2.4> - Require all granted - - - Order deny,allow - Allow from all - - - - ErrorLog ${APACHE_LOG_DIR}/<%= @vhost_name %>-error.log - - LogLevel warn - - CustomLog ${APACHE_LOG_DIR}/<%= @vhost_name %>-access.log combined - - RewriteEngine on - <% scope.lookupvar('::zuul::block_referers').each do |referer| -%> - RewriteCond %{HTTP_REFERER} =<%= referer %> - RewriteRule ^/status - [F] - RewriteCond %{HTTP_REFERER} =<%= referer %> - RewriteRule ^/status.json - [F] - <% end -%> - - RewriteRule ^/status.json$ <%= scope.lookupvar('::zuul::zuul_status_url') %>/status.json [P] - RewriteRule ^/status/(.*) <%= scope.lookupvar('::zuul::zuul_status_url') %>/status/$1 [P] - - AddOutputFilterByType DEFLATE application/json - - SetEnv GIT_PROJECT_ROOT /var/lib/zuul/git/ - SetEnv GIT_HTTP_EXPORT_ALL - - AliasMatch ^/p/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/lib/zuul/git/$1 - AliasMatch ^/p/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/lib/zuul/git/$1 - ScriptAlias /p/ /usr/lib/git-core/git-http-backend/ - - - CacheDefaultExpire 5 - - CacheEnable mem /status - CacheEnable mem /status.json - # 12MByte total cache size. - MCacheSize 12288 - MCacheMaxObjectCount 10 - MCacheMinObjectSize 1 - # 8MByte max size per cache entry - MCacheMaxObjectSize 8388608 - MCacheMaxStreamingBuffer 8388608 - - - CacheEnable disk /status - CacheEnable disk /status.json - CacheRoot /var/cache/apache2/mod_cache_disk - - - - -<% end %> diff --git a/templates/zuulv3.conf.erb b/templates/zuulv3.conf.erb deleted file mode 100644 index 95808d0..0000000 --- a/templates/zuulv3.conf.erb +++ /dev/null @@ -1,109 +0,0 @@ -[gearman] -server=<%= @gearman_server %> -check_job_registration=<%= @gearman_check_job_registration %> -<% if @gearman_ssl_ca != nil -%> -ssl_ca=/etc/zuul/ssl/ca.pem -<% end -%> -<% if @gearman_client_ssl_cert != nil -%> -ssl_cert=/etc/zuul/ssl/client.pem -<% end -%> -<% if @gearman_client_ssl_key != nil -%> -ssl_key=/etc/zuul/ssl/client.key -<% end -%> - -[gearman_server] -start=<%= @internal_gearman %> -log_config=/etc/zuul/gearman-logging.conf -<% if @gearman_ssl_ca != nil -%> -ssl_ca=/etc/zuul/ssl/ca.pem -<% end -%> -<% if @gearman_server_ssl_cert != nil -%> -ssl_cert=/etc/zuul/ssl/server.pem -<% end -%> -<% if @gearman_server_ssl_key != nil -%> -ssl_key=/etc/zuul/ssl/server.key -<% end -%> - -[scheduler] -tenant_config=/etc/zuul/layout/<%= @tenant_file_name %> -log_config=/etc/zuul/logging.conf -state_dir=/var/lib/zuul -relative_priority=<%= @relative_priority %> - -[fingergw] -user=zuul - -[zookeeper] -hosts=<%= @zookeeper_hosts %> -<% if @zookeeper_session_timeout != nil -%> -session_timeout=<%= @zookeeper_session_timeout %> -<% end -%> - -<% if @statsd_host != "" %> -[statsd] -server=<%= @statsd_host %> -<% end %> - -[merger] -git_dir=/var/lib/zuul/git -zuul_url=<%= @zuul_url %> -log_config=/etc/zuul/merger-logging.conf -<% if @git_email != "" -%> -git_user_email=<%= @git_email %> -<% end -%> -<% if @git_name != "" -%> -git_user_name=<%= @git_name %> -<% end -%> - -[executor] -manage_ansible=false -log_config=/etc/zuul/executor-logging.conf -job_dir=/var/lib/zuul/builds -<% if @site_variables_yaml_file != nil -%> -variables=/etc/zuul/site-variables.yaml -<% end -%> -<% if @worker_private_key_file != "" -%> -private_key_file=<%= @worker_private_key_file %> -<% end -%> -trusted_ro_dirs=<%= @trusted_ro_dirs.join(':') %> -trusted_rw_dirs=<%= @trusted_rw_dirs.join(':') %> -untrusted_ro_dirs=<%= @untrusted_ro_dirs.join(':') %> -untrusted_rw_dirs=<%= @untrusted_rw_dirs.join(':') %> -trusted_ro_paths=<%= @trusted_ro_paths.join(':') %> -trusted_rw_paths=<%= @trusted_rw_paths.join(':') %> -untrusted_ro_paths=<%= @untrusted_ro_paths.join(':') %> -untrusted_rw_paths=<%= @untrusted_rw_paths.join(':') %> -<% if @disk_limit_per_job != "" -%> -disk_limit_per_job=<%= @disk_limit_per_job %> -<% end -%> - -[web] -log_config=/etc/zuul/web-logging.conf -static_path=/opt/zuul-web/content -<% if @web_listen_address != "" -%> -listen_address=<%= @web_listen_address %> -<% end -%> -<% if @web_listen_port != "" -%> -listen_port=<%= @web_listen_port %> -<% end -%> -status_url=<%= @status_url %> -<% if @web_root != "" -%> -root=<%= @web_root %> -<% end -%> - -<% @connections.each do |connection| -%> -[connection "<%= connection['name'] %>"] -<% connection.each do |key,value| -%> -<%= key %>=<%= value %> -<% end -%> -<% @connection_secrets.each do |connection_secret| -%> -<% if connection_secret['name'] == connection['name'] -%> -<% connection_secret.each do |key,value| -%> -<% if key != 'name' -%> -<%= key %>=<%= value %> -<% end -%> -<% end -%> -<% end -%> -<% end -%> - -<% end -%> diff --git a/templates/zuulv3.vhost.erb b/templates/zuulv3.vhost.erb deleted file mode 100644 index db29664..0000000 --- a/templates/zuulv3.vhost.erb +++ /dev/null @@ -1,87 +0,0 @@ -<% if @ssl -%> - -<% end -%> -> - -<% if @ssl -%> - SSLEngine on - SSLProtocol All -SSLv2 -SSLv3 -<% if ! [false, '', nil].include?(scope.lookupvar('::zuul::web::vhosts_flags_int')[@vhost_name]['use_le']) -%> - SSLCertificateFile /etc/letsencrypt-certs/<%= @vhost_name %>/<%= @vhost_name %>.cer - SSLCertificateKeyFile /etc/letsencrypt-certs/<%= @vhost_name %>/<%= @vhost_name %>.key - SSLCertificateChainFile /etc/letsencrypt-certs/<%= @vhost_name %>/ca.cer -<% else -%> - SSLCertificateFile /etc/ssl/certs/<%= @vhost_name %>.pem - SSLCertificateKeyFile /etc/ssl/private/<%= @vhost_name %>.key -<% if scope.lookupvar('::zuul::web::vhosts_ssl_int')[@vhost_name]['ssl_chain_file_contents'] != '' -%> - SSLCertificateChainFile /etc/ssl/certs/<%= @vhost_name %>_intermediate.pem -<% end -%> -<% end -%> -<% end -%> - - ServerName <%= @vhost_name %> - ServerAdmin <%= scope.lookupvar('::zuul::web::serveradmin') %> - - DocumentRoot <%= @docroot %> - > - DirectoryIndex index.html - = 2.4> - Require all granted - - - Order deny,allow - Allow from all - - - - ErrorLog ${APACHE_LOG_DIR}/<%= @vhost_name %>-error.log - - LogLevel warn - - CustomLog ${APACHE_LOG_DIR}/<%= @vhost_name %>-access.log combined - - RewriteEngine on - <% scope.lookupvar('::zuul::web::block_referers').each do |referer| -%> - RewriteCond %{HTTP_REFERER} =<%= referer %> - RewriteRule ^/status - [F] - <% end -%> - - <% if scope.lookupvar('::zuul::web::vhosts_flags_int')[@vhost_name]['tenant_name'] != '' -%> - RewriteRule ^/api/connection/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/connection/$1 [P,L] - RewriteRule ^/api/console-stream <%= scope.lookupvar('::zuul::web::websocket_url') %>/api/tenant/<%= scope.lookupvar('::zuul::web::vhosts_flags_int')[@vhost_name]['tenant_name'] %>/console-stream [P,L] - RewriteRule ^/api/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/tenant/<%= scope.lookupvar('::zuul::web::vhosts_flags_int')[@vhost_name]['tenant_name'] %>/$1 [P,L] - <% else -%> - RewriteRule ^/api/tenant/(.*)/console-stream <%= scope.lookupvar('::zuul::web::websocket_url') %>/api/tenant/$1/console-stream [P,L] - RewriteRule ^/api/(.*)$ <%= scope.lookupvar('::zuul::web::web_url') %>/api/$1 [P,L] - <% end -%> - - # Rewrite HTML5 route to index.html - RewriteCond <%= @docroot %>/%{REQUEST_URI} !-f - RewriteCond <%= @docroot %>/%{REQUEST_URI} !-d - RewriteRule ^.*$ /index.html [L] - - AddOutputFilterByType DEFLATE application/json - - - CacheDefaultExpire 5 - - # TODO: Should we cache the rest of the API too? - CacheEnable mem /api/status - # 12MByte total cache size. - MCacheSize 12288 - MCacheMaxObjectCount 10 - MCacheMinObjectSize 1 - # 8MByte max size per cache entry - MCacheMaxObjectSize 8388608 - MCacheMaxStreamingBuffer 8388608 - - - CacheEnable disk /api/status - CacheRoot /var/cache/apache2/mod_cache_disk - CacheMaxFileSize 10000000 - - - -<% if @ssl -%> - -<% end -%>