summaryrefslogtreecommitdiff
path: root/openstack
diff options
context:
space:
mode:
authorTiago Gomes <tiago.gomes@codethink.co.uk>2015-04-24 15:29:41 +0000
committerTiago Gomes <tiago.gomes@codethink.co.uk>2015-04-24 18:06:18 +0100
commited3db26045041c2e5f25f7a60154740bd93cbd48 (patch)
treec278d32ceb54f555286c6c57b86e15b4ca251f7f /openstack
parent0f89f20d72ee11de35ad6c4471a1ce3071c57ad4 (diff)
downloaddefinitions-ed3db26045041c2e5f25f7a60154740bd93cbd48.tar.gz
Move postgres-server configuration out of keystone-setup
Otherwise postgres-server and keystone-setup services will initially fail, as keystone-setup needs a postgres-server running to succeed, but the postgres-server can only run after some configuration, which was previously being done by keystone-setup. Change-Id: I2d649d494cb54119e3b9bd3d9f6deb46bfb2dd12
Diffstat (limited to 'openstack')
-rw-r--r--openstack/manifest2
-rw-r--r--openstack/usr/lib/systemd/system/openstack-ceilometer-setup.service4
-rw-r--r--openstack/usr/lib/systemd/system/openstack-cinder-api.service4
-rw-r--r--openstack/usr/lib/systemd/system/openstack-cinder-db-setup.service4
-rw-r--r--openstack/usr/lib/systemd/system/openstack-glance-setup.service2
-rw-r--r--openstack/usr/lib/systemd/system/openstack-ironic-setup.service2
-rw-r--r--openstack/usr/lib/systemd/system/openstack-keystone-setup.service2
-rw-r--r--openstack/usr/lib/systemd/system/openstack-neutron-db-setup.service4
-rw-r--r--openstack/usr/lib/systemd/system/openstack-nova-db-setup.service4
-rw-r--r--openstack/usr/lib/systemd/system/postgres-server-setup.service10
-rw-r--r--openstack/usr/lib/systemd/system/postgres-server.service4
-rw-r--r--openstack/usr/lib/systemd/system/swift-controller-setup.service2
-rw-r--r--openstack/usr/share/openstack/keystone.yml45
-rw-r--r--openstack/usr/share/openstack/postgres.yml48
14 files changed, 76 insertions, 61 deletions
diff --git a/openstack/manifest b/openstack/manifest
index 4812c6c3..f4620f8e 100644
--- a/openstack/manifest
+++ b/openstack/manifest
@@ -120,6 +120,7 @@ template 0100644 0 0 /etc/tempest/tempest.conf
0100644 0 0 /usr/share/openstack/nova/api-paste.ini
0100644 0 0 /usr/share/openstack/openvswitch.yml
0040755 0 0 /usr/share/openstack/postgres
+0100644 0 0 /usr/share/openstack/postgres.yml
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
@@ -177,6 +178,7 @@ template 0100644 0 0 /etc/tempest/tempest.conf
0100644 0 0 /usr/lib/systemd/system/openvswitch-db-server.service
0100644 0 0 /usr/lib/systemd/system/openvswitch.service
0100644 0 0 /usr/lib/systemd/system/postgres-server.service
+0100644 0 0 /usr/lib/systemd/system/postgres-server-setup.service
0100644 0 0 /usr/share/openstack/swift-controller.yml
0100644 0 0 /usr/lib/systemd/system/swift-controller-setup.service
0100644 0 0 /usr/lib/systemd/system/swift-proxy.service
diff --git a/openstack/usr/lib/systemd/system/openstack-ceilometer-setup.service b/openstack/usr/lib/systemd/system/openstack-ceilometer-setup.service
index 16eacb55..5d2f7ea5 100644
--- a/openstack/usr/lib/systemd/system/openstack-ceilometer-setup.service
+++ b/openstack/usr/lib/systemd/system/openstack-ceilometer-setup.service
@@ -1,7 +1,7 @@
[Unit]
Description=Run ceilometer-setup Ansible scripts
-After=postgres-server.service openstack-keystone.service openstack-keystone-setup.service
-Wants=postgres-server.service openstack-keystone.service
+After=postgres-server-setup.service openstack-keystone.service openstack-keystone-setup.service
+Wants=postgres-server-setup.service openstack-keystone.service
[Service]
Type=oneshot
diff --git a/openstack/usr/lib/systemd/system/openstack-cinder-api.service b/openstack/usr/lib/systemd/system/openstack-cinder-api.service
index d1aaf136..2afb2d6e 100644
--- a/openstack/usr/lib/systemd/system/openstack-cinder-api.service
+++ b/openstack/usr/lib/systemd/system/openstack-cinder-api.service
@@ -1,8 +1,8 @@
[Unit]
Description=OpenStack Volume Service (code-named Cinder) API server
ConditionPathExists=/etc/cinder/cinder.conf
-After=postgres-server.service network-online.target openstack-cinder-db-setup.service openstack-cinder-config-setup.service
-Wants=postgres-server.service network-online.target
+After=postgres-server-setup.service network-online.target openstack-cinder-db-setup.service openstack-cinder-config-setup.service
+Wants=postgres-server-setup.service network-online.target
[Service]
Type=simple
diff --git a/openstack/usr/lib/systemd/system/openstack-cinder-db-setup.service b/openstack/usr/lib/systemd/system/openstack-cinder-db-setup.service
index 01a352e4..bf4a0ad2 100644
--- a/openstack/usr/lib/systemd/system/openstack-cinder-db-setup.service
+++ b/openstack/usr/lib/systemd/system/openstack-cinder-db-setup.service
@@ -1,8 +1,8 @@
[Unit]
Description=Run cinder-db-setup Ansible scripts
ConditionPathExists=/etc/cinder/cinder.conf
-After=postgres-server.service openstack-cinder-config-setup.service openstack-keystone.service openstack-keystone-setup.service
-Wants=postgres-server.service openstack-cinder-config-setup.service openstack-keystone.service
+After=postgres-server-setup.service openstack-cinder-config-setup.service openstack-keystone.service openstack-keystone-setup.service
+Wants=postgres-server-setup.service openstack-cinder-config-setup.service openstack-keystone.service
[Service]
Type=oneshot
diff --git a/openstack/usr/lib/systemd/system/openstack-glance-setup.service b/openstack/usr/lib/systemd/system/openstack-glance-setup.service
index c00c520c..8fec1cfb 100644
--- a/openstack/usr/lib/systemd/system/openstack-glance-setup.service
+++ b/openstack/usr/lib/systemd/system/openstack-glance-setup.service
@@ -1,6 +1,6 @@
[Unit]
Description=Run glance-setup Ansible scripts
-After=local-fs.target openstack-keystone-setup.service postgres-server.service
+After=local-fs.target openstack-keystone-setup.service postgres-server-setup.service
[Service]
ExecStart=/usr/bin/ansible-playbook -v -M /usr/share/ansible/ansible-openstack-modules -i /usr/share/openstack/hosts /usr/share/openstack/glance.yml
diff --git a/openstack/usr/lib/systemd/system/openstack-ironic-setup.service b/openstack/usr/lib/systemd/system/openstack-ironic-setup.service
index 443d2829..5560b881 100644
--- a/openstack/usr/lib/systemd/system/openstack-ironic-setup.service
+++ b/openstack/usr/lib/systemd/system/openstack-ironic-setup.service
@@ -1,6 +1,6 @@
[Unit]
Description=Run ironic-setup Ansible scripts
-After=local-fs.target openstack-keystone-setup.service postgres-server.service
+After=local-fs.target openstack-keystone-setup.service postgres-server-setup.service
[Service]
ExecStart=/usr/bin/ansible-playbook -v -M /usr/share/ansible/ansible-openstack-modules -i /usr/share/openstack/hosts /usr/share/openstack/ironic.yml
diff --git a/openstack/usr/lib/systemd/system/openstack-keystone-setup.service b/openstack/usr/lib/systemd/system/openstack-keystone-setup.service
index 9ea04c1d..b5348735 100644
--- a/openstack/usr/lib/systemd/system/openstack-keystone-setup.service
+++ b/openstack/usr/lib/systemd/system/openstack-keystone-setup.service
@@ -1,6 +1,6 @@
[Unit]
Description=Run keystone-setup Ansible scripts
-After=local-fs.target postgres-server.service
+After=local-fs.target postgres-server-setup.service
ConditionPathExists=/etc/openstack/keystone.conf
[Service]
diff --git a/openstack/usr/lib/systemd/system/openstack-neutron-db-setup.service b/openstack/usr/lib/systemd/system/openstack-neutron-db-setup.service
index 68874a6e..9e4c0bdb 100644
--- a/openstack/usr/lib/systemd/system/openstack-neutron-db-setup.service
+++ b/openstack/usr/lib/systemd/system/openstack-neutron-db-setup.service
@@ -1,8 +1,8 @@
[Unit]
Description=Run neutron-db-setup Ansible scripts
ConditionPathExists=/etc/openstack/neutron.conf
-After=network-online.target openstack-keystone.service postgres-server.service openstack-keystone-setup.service openstack-neutron-config-setup.service
-Wants=network-online.target openstack-keystone.service postgres-server.service
+After=network-online.target openstack-keystone.service postgres-server-setup.service openstack-keystone-setup.service openstack-neutron-config-setup.service
+Wants=network-online.target openstack-keystone.service postgres-server-setup.service
[Service]
Type=oneshot
diff --git a/openstack/usr/lib/systemd/system/openstack-nova-db-setup.service b/openstack/usr/lib/systemd/system/openstack-nova-db-setup.service
index 5a280917..55f1a8ca 100644
--- a/openstack/usr/lib/systemd/system/openstack-nova-db-setup.service
+++ b/openstack/usr/lib/systemd/system/openstack-nova-db-setup.service
@@ -1,8 +1,8 @@
[Unit]
Description=Run nova-db-setup Ansible scripts
ConditionPathExists=/etc/openstack/neutron.conf
-After=postgres-server.service openstack-keystone.service openstack-keystone-setup.service openstack-nova-config-setup.service
-Wants=postgres-server.service openstack-keystone.service
+After=postgres-server-setup.service openstack-keystone.service openstack-keystone-setup.service openstack-nova-config-setup.service
+Wants=postgres-server-setup.service openstack-keystone.service
[Service]
Type=oneshot
diff --git a/openstack/usr/lib/systemd/system/postgres-server-setup.service b/openstack/usr/lib/systemd/system/postgres-server-setup.service
new file mode 100644
index 00000000..5bb70eb7
--- /dev/null
+++ b/openstack/usr/lib/systemd/system/postgres-server-setup.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Run postgres-setup Ansible scripts
+After=local-fs.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/ansible-playbook -v -i /usr/share/openstack/hosts /usr/share/openstack/postgres.yml
+
+[Install]
+WantedBy=multi-user.target
diff --git a/openstack/usr/lib/systemd/system/postgres-server.service b/openstack/usr/lib/systemd/system/postgres-server.service
index 70b2fd09..cd559fa0 100644
--- a/openstack/usr/lib/systemd/system/postgres-server.service
+++ b/openstack/usr/lib/systemd/system/postgres-server.service
@@ -13,9 +13,9 @@ Environment=PGROOT=/var/lib/pgsql
SyslogIdentifier=postgres
PIDFile=/var/lib/pgsql/data/postmaster.pid
-ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120
+ExecStart=/usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120
ExecReload=/usr/bin/pg_ctl -s -D ${PGROOT}/data reload
-ExecStop= /usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast
+ExecStop=/usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast
# Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in
# killing Postgres, so adjust it downward
diff --git a/openstack/usr/lib/systemd/system/swift-controller-setup.service b/openstack/usr/lib/systemd/system/swift-controller-setup.service
index 3e0ddaf7..3da73e7e 100644
--- a/openstack/usr/lib/systemd/system/swift-controller-setup.service
+++ b/openstack/usr/lib/systemd/system/swift-controller-setup.service
@@ -1,6 +1,6 @@
[Unit]
Description=Run swift-controller-setup (once)
-After=local-fs.target postgres-server.service openstack-keystone-setup.service openstack-keystone.service
+After=local-fs.target postgres-server-setup.service openstack-keystone-setup.service openstack-keystone.service
[Service]
Type=oneshot
diff --git a/openstack/usr/share/openstack/keystone.yml b/openstack/usr/share/openstack/keystone.yml
index 64a78ccd..330d74d0 100644
--- a/openstack/usr/share/openstack/keystone.yml
+++ b/openstack/usr/share/openstack/keystone.yml
@@ -42,51 +42,6 @@
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
- command: pg_ctl -D /var/lib/pgsql/data initdb
- args:
- 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:
diff --git a/openstack/usr/share/openstack/postgres.yml b/openstack/usr/share/openstack/postgres.yml
new file mode 100644
index 00000000..3cf23704
--- /dev/null
+++ b/openstack/usr/share/openstack/postgres.yml
@@ -0,0 +1,48 @@
+---
+- hosts: localhost
+ vars_files:
+ - "/etc/openstack/keystone.conf"
+ tasks:
+
+ - 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
+ command: pg_ctl -D /var/lib/pgsql/data initdb
+ args:
+ 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