summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-03-10 14:36:42 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-03-16 17:33:41 +0000
commitcebf7629b73172f73dd4ce8c3598ec7d12d4336a (patch)
treebd31e8dad71f5564219a1796cda8d2f312c86e92
parent3f5c99257d69511b545be71aa2263e36204b8e75 (diff)
downloaddefinitions-cebf7629b73172f73dd4ce8c3598ec7d12d4336a.tar.gz
Install postgres and rabbitmq in keystone.yml
-rw-r--r--openstack-rabbitmq.configure47
-rw-r--r--openstack/etc/systemd/system/openstack-rabbitmq-setup.service12
-rw-r--r--openstack/etc/systemd/system/postgres-server.service2
-rw-r--r--openstack/etc/systemd/system/postgres-setup.service11
-rw-r--r--openstack/etc/systemd/system/rabbitmq-server.service (renamed from openstack/etc/systemd/system/openstack-rabbitmq-server.service)3
-rw-r--r--openstack/manifest13
-rw-r--r--openstack/usr/share/openstack/keystone.yml52
-rw-r--r--openstack/usr/share/openstack/openstack-rabbitmq-setup66
-rw-r--r--openstack/usr/share/openstack/postgres-setup42
-rw-r--r--openstack/usr/share/openstack/postgres/pg_hba.conf4
-rw-r--r--openstack/usr/share/openstack/postgres/postgresql.conf11
-rw-r--r--openstack/usr/share/openstack/rabbitmq/rabbitmq-env.conf3
-rw-r--r--openstack/usr/share/openstack/rabbitmq/rabbitmq.config9
-rw-r--r--postgres.configure23
-rw-r--r--systems/openstack-server.morph1
15 files changed, 86 insertions, 213 deletions
diff --git a/openstack-rabbitmq.configure b/openstack-rabbitmq.configure
deleted file mode 100644
index 40c37698..00000000
--- a/openstack-rabbitmq.configure
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2014 Codethink Limited
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-set -e
-
-ROOT="$1"
-
-##########################################################################
-# Substitutions in configuration files
-##########################################################################
-
-cat <<EOF > "$ROOT"/etc/openstack-rabbitmq-setup.sed
-s/##RABBITMQ_HOST##/$RABBITMQ_HOST/g
-s/##RABBITMQ_PORT##/$RABBITMQ_PORT/g
-s/##RABBITMQ_USER##/$RABBITMQ_USER/g
-s/##RABBITMQ_PASSWORD##/$RABBITMQ_PASSWORD/g
-EOF
-
-sed -f "$ROOT"/etc/openstack-rabbitmq-setup.sed -i \
- "$ROOT"/etc/keystone/keystone.conf \
- "$ROOT"/etc/nova/nova.conf \
- "$ROOT"/etc/cinder/cinder.conf \
- "$ROOT"/etc/neutron/neutron.conf \
- "$ROOT"/etc/glance/glance-api.conf \
- "$ROOT"/usr/share/openstack/openstack-rabbitmq-setup
-
-##########################################################################
-
-ln -s "/etc/systemd/system/openstack-rabbitmq-setup.service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/openstack-rabbitmq-setup.service"
-
-ln -s "/etc/systemd/system/openstack-rabbitmq-server.service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/openstack-rabbitmq-server.service"
diff --git a/openstack/etc/systemd/system/openstack-rabbitmq-setup.service b/openstack/etc/systemd/system/openstack-rabbitmq-setup.service
deleted file mode 100644
index 85257fd1..00000000
--- a/openstack/etc/systemd/system/openstack-rabbitmq-setup.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Run openstack-rabbitmq-setup (once)
-Requires=local-fs.target
-After=local-fs.target network.target
-
-[Service]
-Type=oneshot
-ExecStart=/usr/share/openstack/openstack-rabbitmq-setup
-Restart=no
-
-[Install]
-WantedBy=multi-user.target
diff --git a/openstack/etc/systemd/system/postgres-server.service b/openstack/etc/systemd/system/postgres-server.service
index 6ee25e98..42e88042 100644
--- a/openstack/etc/systemd/system/postgres-server.service
+++ b/openstack/etc/systemd/system/postgres-server.service
@@ -1,7 +1,5 @@
[Unit]
Description=PostgreSQL database server
-Requires=postgres-setup.service
-After=postgres-setup.service
[Service]
Type=forking
diff --git a/openstack/etc/systemd/system/postgres-setup.service b/openstack/etc/systemd/system/postgres-setup.service
deleted file mode 100644
index 281d0d77..00000000
--- a/openstack/etc/systemd/system/postgres-setup.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Run postgres-setup (once)
-After=network.target
-
-[Service]
-Type=oneshot
-ExecStart=/usr/share/openstack/postgres-setup
-Restart=no
-
-[Install]
-WantedBy=multi-user.target
diff --git a/openstack/etc/systemd/system/openstack-rabbitmq-server.service b/openstack/etc/systemd/system/rabbitmq-server.service
index 91bd6fa7..f0d60f51 100644
--- a/openstack/etc/systemd/system/openstack-rabbitmq-server.service
+++ b/openstack/etc/systemd/system/rabbitmq-server.service
@@ -1,7 +1,6 @@
[Unit]
Description=RabbitMQ broker
-After=syslog.target network.target openstack-rabbitmq-setup.service
-Requires=openstack-rabbitmq-setup.service
+After=syslog.target network.target
[Service]
Type=notify
diff --git a/openstack/manifest b/openstack/manifest
index 3b9b9eb0..09040471 100644
--- a/openstack/manifest
+++ b/openstack/manifest
@@ -47,6 +47,12 @@
0100644 0 0 /usr/share/openstack/nova/policy.json
0100644 0 0 /usr/share/openstack/nova/cells.json
0100644 0 0 /usr/share/openstack/nova/api-paste.ini
+0040755 0 0 /usr/share/openstack/postgres
+0100644 0 0 /usr/share/openstack/postgres/pg_hba.conf
+0100644 0 0 /usr/share/openstack/postgres/postgresql.conf
+0040755 0 0 /usr/share/openstack/rabbitmq
+0100644 0 0 /usr/share/openstack/rabbitmq/rabbitmq-env.conf
+0100644 0 0 /usr/share/openstack/rabbitmq/rabbitmq.config
0100644 0 0 /etc/logrotate.d/openstack-keystone
0100644 0 0 /etc/systemd/system/openstack-keystone.service
0100644 0 0 /etc/systemd/system/openstack-keystone-setup.service
@@ -71,10 +77,7 @@
0100644 0 0 /etc/systemd/system/openstack-nova-consoleauth.service
0100644 0 0 /etc/systemd/system/openstack-nova-novncproxy.service
0100644 0 0 /etc/systemd/system/openstack-nova-cert.service
-0100644 0 0 /etc/systemd/system/openstack-rabbitmq-setup.service
-0100644 0 0 /etc/systemd/system/openstack-rabbitmq-server.service
-0100755 0 0 /usr/share/openstack/openstack-rabbitmq-setup
-0040755 0 0 /var/lib/rabbitmq
+0100644 0 0 /etc/systemd/system/rabbitmq-server.service
0040755 0 0 /var/lib/cinder
0100644 0 0 /etc/systemd/system/openstack-cinder-setup.service
0100644 0 0 /etc/systemd/system/openstack-cinder-api.service
@@ -162,8 +165,6 @@
0100755 0 0 /usr/share/openstack/openstack-neutron-network-configuration-for-one-node
0100644 0 0 /etc/systemd/system/openstack-neutron-network-configuration-one-node.service
0100644 0 0 /etc/systemd/system/openvswitch-initialize-db.service
-0100755 0 0 /usr/share/openstack/postgres-setup
-0100644 0 0 /etc/systemd/system/postgres-setup.service
0100644 0 0 /etc/systemd/system/postgres-server.service
0100755 0 0 /usr/share/openstack/apache-httpd-server-setup
0100644 0 0 /etc/systemd/system/apache-httpd-server-setup.service
diff --git a/openstack/usr/share/openstack/keystone.yml b/openstack/usr/share/openstack/keystone.yml
index dcd96857..76d33adc 100644
--- a/openstack/usr/share/openstack/keystone.yml
+++ b/openstack/usr/share/openstack/keystone.yml
@@ -3,6 +3,57 @@
vars_files:
- "/etc/openstack/keystone.conf"
tasks:
+
+ # RabbitMQ configuration, this may end up in a different playbook
+ - name: Create rabbitmq user
+ user: name=rabbitmq comment="Rabbitmq server daemon" shell=/sbin/nologin home=/var/lib/rabbitmq
+
+ - name: Create the rabbitmq directories
+ file: path={{ item }} state=directory owner=rabbitmq group=rabbitmq
+ with_items:
+ - /var/run/rabbitmq
+ - /var/log/rabbitmq
+ - /etc/rabbitmq
+
+ - name: Add the configuration needed for rabbitmq in /etc/rabbitmq using templates
+ template: src=/usr/share/openstack/rabbitmq/{{ item }} dest=/etc/rabbitmq/{{ item }} owner=rabbitmq group=rabbitmq mode=0644
+ with_items:
+ - rabbitmq.config
+ - rabbitmq-env.conf
+
+ - name: Enable and start rabbitmq services
+ service: name={{ item }} enabled=yes state=started
+ with_items:
+ - rabbitmq-server
+
+ # Postgres configuration, this may end up in a different playbook
+ - name: Create postgres user
+ user: name=postgres comment="PostgreSQL Server" shell=/sbin/nologin home=/var/lib/pgsql
+
+ - name: Create the postgres directories
+ file: path={{ item }} state=directory owner=postgres group=postgres
+ with_items:
+ - /var/run/postgresql
+ - /var/lib/pgsql/data
+
+ - name: Initialise postgres database
+ shell: pg_ctl -D /var/lib/pgsql/data initdb creates=/var/lib/pgsql/data/base
+ sudo: yes
+ sudo_user: postgres
+
+ - name: Add the configuration needed for postgres for Openstack
+ template: src=/usr/share/openstack/postgres/{{ item }} dest=/var/lib/pgsql/data/{{ item }} owner=postgres group=postgres mode=0600
+ with_items:
+ - postgresql.conf
+ - pg_hba.conf
+
+ - name: Enable and start postgres services
+ service: name={{ item }} enabled=yes state=started
+ with_items:
+ - postgres-server
+
+
+ # Keystone configuration
- name: Create the keystone user.
user: name=keystone comment="Openstack Keystone Daemons" shell=/sbin/nologin home=/var/lib/keystone
@@ -70,4 +121,3 @@
region='RegionOne'
token={{ KEYSTONE_TEMPORARY_ADMIN_TOKEN }}
endpoint={{ KEYSTONE_ADMIN_URL }}
-
diff --git a/openstack/usr/share/openstack/openstack-rabbitmq-setup b/openstack/usr/share/openstack/openstack-rabbitmq-setup
deleted file mode 100644
index dd491294..00000000
--- a/openstack/usr/share/openstack/openstack-rabbitmq-setup
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2014 Codethink Limited
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-set -e
-
-# Create required system users and groups
-getent group rabbitmq >/dev/null || groupadd -r --gid 1002 rabbitmq
-getent passwd rabbitmq >/dev/null || \
- useradd --uid 1002 -r -g rabbitmq -d /var/lib/rabbitmq -s /sbin/nologin \
- -c "Rabbitmq server daemon" rabbitmq
-
-chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
-
-# Create directories and files needed to run openstack-rabbitmq-server
-if [ ! -d /var/run/rabbitmq ]; then
- mkdir -p /var/run/rabbitmq
- chown -R rabbitmq:rabbitmq /var/run/rabbitmq
- chmod 755 /var/run/rabbitmq
-fi
-
-if [ ! -d /var/log/rabbitmq ]; then
- mkdir -p /var/log/rabbitmq
- chown -R rabbitmq:rabbitmq /var/log/rabbitmq
- chmod 755 /var/log/rabbitmq
-fi
-
-# Install rabbimq.config and rabbitmq-env.conf
-install -D -m 644 /proc/self/fd/0 <<'EOF' /var/lib/rabbitmq/etc/rabbitmq/rabbitmq.config
-%% -*- Rabbit configuration for Openstack in Baserock
-[
- {rabbit,
- [
- {default_user, <<"##RABBITMQ_USER##">>},
- {default_pass, <<"##RABBITMQ_PASSWORD##">>},
- {tcp_listeners, [##RABBITMQ_PORT##]}
- ]}
-].
-EOF
-
-install -D -m 644 /proc/self/fd/0 <<'EOF' /etc/rabbitmq/rabbitmq-env.conf
-# NOTE: Install this file in /etc/rabbitmq/ because rabbitmq-server will load
-# it only from this directory.
-
-# Configure port node where rabbitmq-server will listen from.
-NODE_PORT=##RABBITMQ_PORT##
-# Config file has to be in $RABBITMQ_HOME/etc/rabbitmq/rabbitmq.config
-CONFIG_FILE=/var/lib/rabbitmq/etc/rabbitmq/rabbitmq
-EOF
-
-chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
-
-exit 0
diff --git a/openstack/usr/share/openstack/postgres-setup b/openstack/usr/share/openstack/postgres-setup
deleted file mode 100644
index fb224fd8..00000000
--- a/openstack/usr/share/openstack/postgres-setup
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2014 Codethink Limited
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-set -e
-
-if [ -f /var/openstack/postgres-setup ]; then
- exit 0
-fi
-
-# Create postgres directories
-install -dm700 /var/lib/pgsql/data
-install -dm755 /var/run/postgresql
-
-# Create required system users and groups
-getent group postgress >/dev/null || groupadd -r -g 41 postgres
-getent passwd postgres >/dev/null || \
- useradd --uid 41 -r -g postgres -d /var/lib/pgsql -s /sbin/nologin \
- -c "PostgreSQL Server" postgres
-
-chown -R postgres:postgres /var/lib/pgsql /var/run/postgresql
-
-test -d /var/lib/pgsql/data/base || sudo -u postgres pg_ctl -D /var/lib/pgsql/data initdb
-
-install -D -m 644 /proc/self/fd/0 <<'EOF' /var/openstack/postgres-setup
-Postgres setup: success
-EOF
-
-exit 0
diff --git a/openstack/usr/share/openstack/postgres/pg_hba.conf b/openstack/usr/share/openstack/postgres/pg_hba.conf
new file mode 100644
index 00000000..7daf1b46
--- /dev/null
+++ b/openstack/usr/share/openstack/postgres/pg_hba.conf
@@ -0,0 +1,4 @@
+local all all trust
+host all all 127.0.0.1/32 trust
+host all all ::1/128 trust
+host all all 0.0.0.0/0 trust
diff --git a/openstack/usr/share/openstack/postgres/postgresql.conf b/openstack/usr/share/openstack/postgres/postgresql.conf
new file mode 100644
index 00000000..e4ff9582
--- /dev/null
+++ b/openstack/usr/share/openstack/postgres/postgresql.conf
@@ -0,0 +1,11 @@
+listen_addresses = '0.0.0.0'
+max_connections = 100
+shared_buffers = 128MB
+log_timezone = 'UTC'
+datestyle = 'iso, mdy'
+timezone = 'UTC'
+lc_messages = 'C'
+lc_monetary = 'C'
+lc_numeric = 'C'
+lc_time = 'C'
+default_text_search_config = 'pg_catalog.english'
diff --git a/openstack/usr/share/openstack/rabbitmq/rabbitmq-env.conf b/openstack/usr/share/openstack/rabbitmq/rabbitmq-env.conf
new file mode 100644
index 00000000..d4c58dae
--- /dev/null
+++ b/openstack/usr/share/openstack/rabbitmq/rabbitmq-env.conf
@@ -0,0 +1,3 @@
+# Configure port node where rabbitmq-server will listen from.
+NODE_PORT={{ RABBITMQ_PORT }}
+CONFIG_FILE=/etc/rabbitmq/rabbitmq
diff --git a/openstack/usr/share/openstack/rabbitmq/rabbitmq.config b/openstack/usr/share/openstack/rabbitmq/rabbitmq.config
new file mode 100644
index 00000000..9b93881e
--- /dev/null
+++ b/openstack/usr/share/openstack/rabbitmq/rabbitmq.config
@@ -0,0 +1,9 @@
+%% -*- Rabbit configuration for Openstack in Baserock
+[
+ {rabbit,
+ [
+ {default_user, <<"{{ RABBITMQ_USER }}">>},
+ {default_pass, <<"{{ RABBITMQ_PASSWORD }}">>},
+ {tcp_listeners, [{{ RABBITMQ_PORT }}]}
+ ]}
+].
diff --git a/postgres.configure b/postgres.configure
deleted file mode 100644
index 257cf56c..00000000
--- a/postgres.configure
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2014 Codethink Limited
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-set -e
-
-ROOT="$1"
-
-ln -sf "/etc/systemd/system/postgres-server.service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/postgres-server.service"
diff --git a/systems/openstack-server.morph b/systems/openstack-server.morph
index a27155b3..6b765a6b 100644
--- a/systems/openstack-server.morph
+++ b/systems/openstack-server.morph
@@ -67,5 +67,4 @@ configuration-extensions:
- openstack-nova
- openstack-cinder
- openvswitch
-- postgres
- apache-httpd-server