summaryrefslogtreecommitdiff
path: root/mason.configure
diff options
context:
space:
mode:
Diffstat (limited to 'mason.configure')
-rw-r--r--mason.configure139
1 files changed, 88 insertions, 51 deletions
diff --git a/mason.configure b/mason.configure
index 1198ebd0..78212d2d 100644
--- a/mason.configure
+++ b/mason.configure
@@ -19,16 +19,34 @@
# a Mason instance at deployment time. It uses the following variables
# from the environment:
#
+# * TROVE_ID
+# * TROVE_HOST
# * ARTIFACT_CACHE_SERVER
+#
+# * GERRIT_USER
+# * GERRIT_HOSTNAME
+# * GERRIT_HTTP_PORT
+# * GERRIT_GIT_PORT
+# * GERRIT_SSH_KEY
+# * GERRIT_SSH_KEY_PATH
+#
+# * GEARMAN_HOST
+# * GEARMAN_PORT
+# * START_GEARMAN
+#
# * MASON_CLUSTER_MORPHOLOGY
-# * MASON_DEFINITIONS_REF
-# * MASON_DISTBUILD_ARCH
-# * MASON_TEST_HOST
+# * MASON_ARCHITECTURE
+# * MASON_TEST_HOSTS
+# * MASON_DISTBUILD_CONTROLLERS
+# * MASON_TEST_INFRASTRUCTURE_TYPE
+# * MASON_UPSTREAM_TROVE
+#
# * OPENSTACK_NETWORK_ID
-# * TEST_INFRASTRUCTURE_TYPE
-# * TROVE_HOST
-# * TROVE_ID
-# * CONTROLLERHOST
+# * OPENSTACK_USER
+# * OPENSTACK_PASSWORD
+# * OPENSTACK_TENANT_ID
+# * OPENSTACK_TENANT_NAME
+# * OPENSTACK_AUTH_URL
set -e
@@ -39,27 +57,26 @@ set -e
ROOT="$1"
mkdir -p "$ROOT"/usr/lib/mason
-cp mason/mason.sh "$ROOT"/usr/lib/mason/mason.sh
-cp mason/mason-report.sh "$ROOT"/usr/lib/mason/mason-report.sh
-cp mason/os-init-script "$ROOT"/usr/lib/mason/os-init-script
+cp zuul/os-init-script "$ROOT"/usr/lib/mason/os-init-script
-cp mason/mason.timer "$ROOT"/etc/systemd/system/mason.timer
+cp zuul/mason-setup.service "$ROOT"/etc/systemd/system/mason-setup.service
+cp zuul/zuul-server.service "$ROOT"/etc/systemd/system/zuul-server.service
+cp zuul/zuul-merger.service "$ROOT"/etc/systemd/system/zuul-merger.service
+cp zuul/turbo-hipster.service "$ROOT"/etc/systemd/system/turbo-hipster.service
+cp zuul/lighttpd.service "$ROOT"/etc/systemd/system/lighttpd.service
-cp mason/mason.service "$ROOT"/etc/systemd/system/mason.service
+
+# HACK AROUND BAD SYSTEMD
+cp zuul/10-dhcp.network "$ROOT"/etc/systemd/network/10-dhcp.network
+
##########################################################################
-# Set up httpd web server
+# Create required directories
##########################################################################
-cp mason/httpd.service "$ROOT"/etc/systemd/system/httpd.service
-
-mkdir -p "$ROOT"/srv/mason
-
-cat >>"$ROOT"/etc/httpd.conf <<EOF
-.log:text/plain
-EOF
-
-mkdir -p "$ROOT"/var/mason
+mkdir -p "$ROOT"/var/www/logs
+mkdir -p "$ROOT"/var/lib/zuul
+mkdir -p "$ROOT"/var/log/zuul
##########################################################################
# Copy files needed for Ansible configuration
@@ -68,9 +85,8 @@ mkdir -p "$ROOT"/var/mason
mkdir -p "$ROOT/usr/share/mason-setup"
mkdir -p "$ROOT/usr/lib/mason-setup"
-cp mason/share/* "$ROOT/usr/share/mason-setup"
-cp -r mason/ansible "$ROOT/usr/lib/mason-setup/"
-cp mason/mason-setup.service "$ROOT"/etc/systemd/system/mason-setup.service
+cp zuul/share/* "$ROOT/usr/share/mason-setup"
+cp -r zuul/ansible "$ROOT/usr/lib/mason-setup/"
ln -s ../mason-setup.service "$ROOT"/etc/systemd/system/multi-user.target.wants/mason-setup.service
@@ -84,26 +100,46 @@ if [ -n "$MASON_GENERIC" ]; then
fi
if [ -z "$MASON_CLUSTER_MORPHOLOGY" -a \
- -z "$MASON_DEFINITIONS_REF" -a \
- -z "$MASON_DISTBUILD_ARCH" -a \
- -z "$MASON_TEST_HOST" ]; then
+ -z "$MASON_ARCHITECTURE" -a \
+ -z "$MASON_TEST_HOSTS" -a \
+ -z "$MASON_DISTBUILD_CONTROLLERS" -a \
+ -z "$MASON_TEST_INFRASTRUCTURE_TYPE" -a \
+ -z "$MASON_UPSTREAM_TROVE" ]; then
# No Mason options defined, do nothing.
exit 0
fi
-if [ -z "$ARTIFACT_CACHE_SERVER" -o \
- -z "$CONTROLLERHOST" -o \
- -z "$MASON_CLUSTER_MORPHOLOGY" -o \
- -z "$MASON_DEFINITIONS_REF" -o \
- -z "$MASON_DISTBUILD_ARCH" -o \
- -z "$MASON_TEST_HOST" -o \
+if [ -z "$TROVE_ID" -o \
-z "$TROVE_HOST" -o \
- -z "$TROVE_ID" ]; then
+ -z "$ARTIFACT_CACHE_SERVER" -o \
+ -z "$GERRIT_USER" -o \
+ -z "$GERRIT_HOSTNAME" -o \
+ -z "$GERRIT_HTTP_PORT" -o \
+ -z "$GERRIT_GIT_PORT" -o \
+ -z "$GERRIT_SSH_KEY" -o \
+ -z "$GERRIT_SSH_KEY_PATH" -o \
+ -z "$GEARMAN_HOST" -o \
+ -z "$GEARMAN_PORT" -o \
+ -z "$START_GEARMAN" -o \
+ -z "$MASON_CLUSTER_MORPHOLOGY" -o \
+ -z "$MASON_ARCHITECTURE" -o \
+ -z "$MASON_TEST_HOSTS" -o \
+ -z "$MASON_DISTBUILD_CONTROLLERS" -o \
+ -z "$MASON_TEST_INFRASTRUCTURE_TYPE" -o \
+ -z "$MASON_UPSTREAM_TROVE" ]; then
echo Some options required for Mason were defined, but not all.
exit 1
fi
##########################################################################
+# Copy SSH keys into the system
+##########################################################################
+
+mkdir -p $(dirname "$ROOT$GERRIT_SSH_KEY_PATH")
+cp "$GERRIT_SSH_KEY" "$ROOT$GERRIT_SSH_KEY_PATH"
+cp "$GERRIT_SSH_KEY".pub "$ROOT$GERRIT_SSH_KEY_PATH".pub
+
+##########################################################################
# Generate config variable shell snippet
##########################################################################
@@ -114,26 +150,34 @@ python <<'EOF' >"$MASON_DATA/mason.conf"
import os, sys, yaml
mason_configuration={
- 'ARTIFACT_CACHE_SERVER': os.environ['ARTIFACT_CACHE_SERVER'],
- 'MASON_CLUSTER_MORPHOLOGY': os.environ['MASON_CLUSTER_MORPHOLOGY'],
- 'MASON_DEFINITIONS_REF': os.environ['MASON_DEFINITIONS_REF'],
- 'MASON_DISTBUILD_ARCH': os.environ['MASON_DISTBUILD_ARCH'],
- 'MASON_TEST_HOST': os.environ['MASON_TEST_HOST'],
- 'OPENSTACK_NETWORK_ID': os.environ['OPENSTACK_NETWORK_ID'],
- 'TEST_INFRASTRUCTURE_TYPE': os.environ['TEST_INFRASTRUCTURE_TYPE'],
'TROVE_ID': os.environ['TROVE_ID'],
'TROVE_HOST': os.environ['TROVE_HOST'],
- 'CONTROLLERHOST': os.environ['CONTROLLERHOST'],
+ 'ARTIFACT_CACHE_SERVER': os.environ['ARTIFACT_CACHE_SERVER'],
+ 'GERRIT_USER': os.environ['GERRIT_USER'],
+ 'GERRIT_HOSTNAME': os.environ['GERRIT_HOSTNAME'],
+ 'GERRIT_HTTP_PORT': os.environ['GERRIT_HTTP_PORT'],
+ 'GERRIT_GIT_PORT': os.environ['GERRIT_GIT_PORT'],
+ 'GERRIT_SSH_KEY_PATH': os.environ['GERRIT_SSH_KEY_PATH'],
+ 'GEARMAN_HOST': os.environ['GEARMAN_HOST'],
+ 'GEARMAN_PORT': os.environ['GEARMAN_PORT'],
+ 'START_GEARMAN': os.environ['START_GEARMAN'],
+ 'MASON_CLUSTER_MORPHOLOGY': os.environ['MASON_CLUSTER_MORPHOLOGY'],
+ 'MASON_ARCHITECTURE': os.environ['MASON_ARCHITECTURE'],
+ 'MASON_TEST_HOSTS': os.environ['MASON_TEST_HOSTS'],
+ 'MASON_DISTBUILD_CONTROLLERS': os.environ['MASON_DISTBUILD_CONTROLLERS'],
+ 'MASON_TEST_INFRASTRUCTURE_TYPE': os.environ['MASON_TEST_INFRASTRUCTURE_TYPE'],
+ 'MASON_UPSTREAM_TROVE': os.environ['MASON_UPSTREAM_TROVE'],
}
yaml.dump(mason_configuration, sys.stdout, default_flow_style=False)
EOF
-if [ "$TEST_INFRASTRUCTURE_TYPE" = "openstack" ]; then
+if [ "$MASON_TEST_INFRASTRUCTURE_TYPE" = "openstack" ]; then
python <<'EOF' >>"$MASON_DATA/mason.conf"
import os, sys, yaml
openstack_credentials={
+ 'OPENSTACK_NETWORK_ID': os.environ['OPENSTACK_NETWORK_ID'],
'OS_USERNAME': os.environ['OPENSTACK_USER'],
'OS_TENANT_NAME': os.environ['OPENSTACK_TENANT'],
'OS_TENANT_ID': os.environ['OPENSTACK_TENANT_ID'],
@@ -144,10 +188,3 @@ openstack_credentials={
yaml.dump(openstack_credentials, sys.stdout, default_flow_style=False)
EOF
fi
-
-##########################################################################
-# Enable services
-##########################################################################
-
-ln -s ../mason.timer "$ROOT"/etc/systemd/system/multi-user.target.wants/mason.timer
-ln -s ../httpd.service "$ROOT"/etc/systemd/system/multi-user.target.wants/httpd.service