From cebf7629b73172f73dd4ce8c3598ec7d12d4336a Mon Sep 17 00:00:00 2001 From: Pedro Alvarez Date: Tue, 10 Mar 2015 14:36:42 +0000 Subject: Install postgres and rabbitmq in keystone.yml --- openstack-rabbitmq.configure | 47 --------------- .../system/openstack-rabbitmq-server.service | 16 ------ .../system/openstack-rabbitmq-setup.service | 12 ---- .../etc/systemd/system/postgres-server.service | 2 - .../etc/systemd/system/postgres-setup.service | 11 ---- .../etc/systemd/system/rabbitmq-server.service | 15 +++++ openstack/manifest | 13 +++-- openstack/usr/share/openstack/keystone.yml | 52 ++++++++++++++++- .../usr/share/openstack/openstack-rabbitmq-setup | 66 ---------------------- openstack/usr/share/openstack/postgres-setup | 42 -------------- openstack/usr/share/openstack/postgres/pg_hba.conf | 4 ++ .../usr/share/openstack/postgres/postgresql.conf | 11 ++++ .../usr/share/openstack/rabbitmq/rabbitmq-env.conf | 3 + .../usr/share/openstack/rabbitmq/rabbitmq.config | 9 +++ postgres.configure | 23 -------- systems/openstack-server.morph | 1 - 16 files changed, 100 insertions(+), 227 deletions(-) delete mode 100644 openstack-rabbitmq.configure delete mode 100644 openstack/etc/systemd/system/openstack-rabbitmq-server.service delete mode 100644 openstack/etc/systemd/system/openstack-rabbitmq-setup.service delete mode 100644 openstack/etc/systemd/system/postgres-setup.service create mode 100644 openstack/etc/systemd/system/rabbitmq-server.service delete mode 100644 openstack/usr/share/openstack/openstack-rabbitmq-setup delete mode 100644 openstack/usr/share/openstack/postgres-setup create mode 100644 openstack/usr/share/openstack/postgres/pg_hba.conf create mode 100644 openstack/usr/share/openstack/postgres/postgresql.conf create mode 100644 openstack/usr/share/openstack/rabbitmq/rabbitmq-env.conf create mode 100644 openstack/usr/share/openstack/rabbitmq/rabbitmq.config delete mode 100644 postgres.configure 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 < "$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-server.service b/openstack/etc/systemd/system/openstack-rabbitmq-server.service deleted file mode 100644 index 91bd6fa7..00000000 --- a/openstack/etc/systemd/system/openstack-rabbitmq-server.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=RabbitMQ broker -After=syslog.target network.target openstack-rabbitmq-setup.service -Requires=openstack-rabbitmq-setup.service - -[Service] -Type=notify -User=rabbitmq -Group=rabbitmq -Environment="HOME=/var/lib/rabbitmq" -WorkingDirectory=/var/lib/rabbitmq -ExecStart=/usr/sbin/rabbitmq-server -ExecStop=/usr/sbin/rabbitmqctl stop - -[Install] -WantedBy=multi-user.target 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/rabbitmq-server.service b/openstack/etc/systemd/system/rabbitmq-server.service new file mode 100644 index 00000000..f0d60f51 --- /dev/null +++ b/openstack/etc/systemd/system/rabbitmq-server.service @@ -0,0 +1,15 @@ +[Unit] +Description=RabbitMQ broker +After=syslog.target network.target + +[Service] +Type=notify +User=rabbitmq +Group=rabbitmq +Environment="HOME=/var/lib/rabbitmq" +WorkingDirectory=/var/lib/rabbitmq +ExecStart=/usr/sbin/rabbitmq-server +ExecStop=/usr/sbin/rabbitmqctl stop + +[Install] +WantedBy=multi-user.target 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 -- cgit v1.2.1