From a8dead9867ea5e11c01027df7565577ccd78a5cb Mon Sep 17 00:00:00 2001 From: Francisco Redondo Marchena Date: Thu, 29 Jan 2015 18:38:38 +0000 Subject: WIP: Reorganize services - It is not working --- openstack-neutron.configure | 22 +++++++++++----------- .../system/apache-httpd-server-setup.service | 1 - .../systemd/system/openstack-cinder-setup.service | 3 +-- .../systemd/system/openstack-glance-setup.service | 3 +-- .../systemd/system/openstack-horizon-setup.service | 1 - .../system/openstack-keystone-setup.service | 1 - .../system/openstack-neutron-dhcp-agent.service | 3 +-- .../system/openstack-neutron-l3-agent.service | 3 +-- .../openstack-neutron-metadata-agent.service | 2 +- ...-neutron-network-configuration-one-node.service | 3 +-- .../system/openstack-neutron-ovs-cleanup.service | 3 +-- ...nstack-neutron-plugin-openvswitch-agent.service | 3 +-- .../system/openstack-neutron-server.service | 3 +-- .../systemd/system/openstack-neutron-setup.service | 3 +-- .../systemd/system/openstack-nova-setup.service | 3 +-- .../openvswitch-create-links-one-node.service | 2 +- .../systemd/system/openvswitch-db-server.service | 5 ++--- .../system/openvswitch-initialize-db.service | 7 ++++--- .../etc/systemd/system/openvswitch-setup.service | 3 +-- openstack/etc/systemd/system/openvswitch.service | 3 +-- openstack/usr/share/openstack/postgres-setup | 2 +- openvswitch.configure | 10 ++++++---- 22 files changed, 38 insertions(+), 51 deletions(-) diff --git a/openstack-neutron.configure b/openstack-neutron.configure index f3c6aa8f..f7dad9cd 100644 --- a/openstack-neutron.configure +++ b/openstack-neutron.configure @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -# Copyright (C) 2014 Codethink Limited +# Copyright (C) 2014-2015 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 @@ -43,15 +43,15 @@ sed -f "$ROOT"/etc/openstack-neutron-setup.sed -i \ ########################################################################## # Create the links to enable the neutron systemd services # ########################################################################## -services=("openstack-neutron-network-configuration-one-node.service" - "openvswitch-create-links-one-node.service" - "openstack-neutron-dhcp-agent.service" - "openstack-neutron-l3-agent.service" - "openstack-neutron-metadata-agent.service" - "openstack-neutron-network-configuration-one-node.service" - "openstack-neutron-ovs-cleanup.service" - "openstack-neutron-plugin-openvswitch-agent.service" - "openstack-neutron-server.service" +services=("openstack-neutron-network-configuration-one-node.service" \ + "openvswitch-create-links-one-node.service" \ + "openstack-neutron-dhcp-agent.service" \ + "openstack-neutron-l3-agent.service" \ + "openstack-neutron-metadata-agent.service" \ + "openstack-neutron-network-configuration-one-node.service" \ + "openstack-neutron-ovs-cleanup.service" \ + "openstack-neutron-plugin-openvswitch-agent.service" \ + "openstack-neutron-server.service" \ "openstack-neutron-setup.service") for service in ${services[@]}; do diff --git a/openstack/etc/systemd/system/apache-httpd-server-setup.service b/openstack/etc/systemd/system/apache-httpd-server-setup.service index 23906d55..17fa301b 100644 --- a/openstack/etc/systemd/system/apache-httpd-server-setup.service +++ b/openstack/etc/systemd/system/apache-httpd-server-setup.service @@ -1,6 +1,5 @@ [Unit] Description=Run apache-httpd-server-setup (once) -Requires=local-fs.target After=local-fs.target [Service] diff --git a/openstack/etc/systemd/system/openstack-cinder-setup.service b/openstack/etc/systemd/system/openstack-cinder-setup.service index 085bf2a8..86b82848 100644 --- a/openstack/etc/systemd/system/openstack-cinder-setup.service +++ b/openstack/etc/systemd/system/openstack-cinder-setup.service @@ -1,7 +1,6 @@ [Unit] Description=Run openstack-cinder-setup (once) -Requires=local-fs.target -After=local-fs.target openstack-keystone-setup.service +After=local-fs.target openstack-keystone.service postgres-server.service [Service] Type=oneshot diff --git a/openstack/etc/systemd/system/openstack-glance-setup.service b/openstack/etc/systemd/system/openstack-glance-setup.service index a3ff217b..7e10119d 100644 --- a/openstack/etc/systemd/system/openstack-glance-setup.service +++ b/openstack/etc/systemd/system/openstack-glance-setup.service @@ -1,7 +1,6 @@ [Unit] Description=Run openstack-glance-setup (once) -Requires=local-fs.target -After=local-fs.target openstack-keystone-setup.service +After=local-fs.target openstack-keystone.service postgres-server.service [Service] Type=oneshot diff --git a/openstack/etc/systemd/system/openstack-horizon-setup.service b/openstack/etc/systemd/system/openstack-horizon-setup.service index be200a6f..082ec372 100644 --- a/openstack/etc/systemd/system/openstack-horizon-setup.service +++ b/openstack/etc/systemd/system/openstack-horizon-setup.service @@ -1,6 +1,5 @@ [Unit] Description=Run openstack-horizon-setup (once) -Requires=local-fs.target After=local-fs.target [Service] diff --git a/openstack/etc/systemd/system/openstack-keystone-setup.service b/openstack/etc/systemd/system/openstack-keystone-setup.service index e7b5377d..fb2793bb 100644 --- a/openstack/etc/systemd/system/openstack-keystone-setup.service +++ b/openstack/etc/systemd/system/openstack-keystone-setup.service @@ -1,6 +1,5 @@ [Unit] Description=Run openstack-keystone-setup (once) -Requires=local-fs.target postgres-server.service After=local-fs.target postgres-server.service [Service] diff --git a/openstack/etc/systemd/system/openstack-neutron-dhcp-agent.service b/openstack/etc/systemd/system/openstack-neutron-dhcp-agent.service index f9595a33..a86b7a0a 100644 --- a/openstack/etc/systemd/system/openstack-neutron-dhcp-agent.service +++ b/openstack/etc/systemd/system/openstack-neutron-dhcp-agent.service @@ -1,7 +1,6 @@ [Unit] Description=Neutron DHCP Agent -After=syslog.target network.target -Wants=neutron-ovs-cleanup.service +After=network-online.target openstack-neutron-ovs-cleanup.service [Service] Type=simple diff --git a/openstack/etc/systemd/system/openstack-neutron-l3-agent.service b/openstack/etc/systemd/system/openstack-neutron-l3-agent.service index f5be0016..7fe12f46 100644 --- a/openstack/etc/systemd/system/openstack-neutron-l3-agent.service +++ b/openstack/etc/systemd/system/openstack-neutron-l3-agent.service @@ -1,7 +1,6 @@ [Unit] Description=Neutron Layer 3 Agent -After=syslog.target network.target -wants=neutron-ovs-cleanup.service +After=network-online.target openstack-neutron-ovs-cleanup.service [Service] Type=simple diff --git a/openstack/etc/systemd/system/openstack-neutron-metadata-agent.service b/openstack/etc/systemd/system/openstack-neutron-metadata-agent.service index c1fa2b9c..15fd406f 100644 --- a/openstack/etc/systemd/system/openstack-neutron-metadata-agent.service +++ b/openstack/etc/systemd/system/openstack-neutron-metadata-agent.service @@ -1,6 +1,6 @@ [Unit] Description=Neutron Metadata Plugin Agent -After=syslog.target network.target openstack-keystone-setup.service +After=network-online.target openstack-neutron-setup.service [Service] Type=simple diff --git a/openstack/etc/systemd/system/openstack-neutron-network-configuration-one-node.service b/openstack/etc/systemd/system/openstack-neutron-network-configuration-one-node.service index ae04631f..ae62f40e 100644 --- a/openstack/etc/systemd/system/openstack-neutron-network-configuration-one-node.service +++ b/openstack/etc/systemd/system/openstack-neutron-network-configuration-one-node.service @@ -1,7 +1,6 @@ [Unit] Description=Configuration script to set Openstack in one node networking -Requires=openvswitch-setup.service openvswitch-db-server.service openvswitch.service -After=network-online.target openvswitch-setup.service openvswitch-db-server.service +After=network-online.target openvswitch.service [Service] Type=simple diff --git a/openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service b/openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service index 4079a41a..290ac3a8 100644 --- a/openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service +++ b/openstack/etc/systemd/system/openstack-neutron-ovs-cleanup.service @@ -1,7 +1,6 @@ [Unit] Description=Neutron OVS cleanup -Requires=openvswitch.service -After=syslog.target network.target openvswitch.service +After=network-online.target openstack-neutron-setup.service [Service] Type=simple diff --git a/openstack/etc/systemd/system/openstack-neutron-plugin-openvswitch-agent.service b/openstack/etc/systemd/system/openstack-neutron-plugin-openvswitch-agent.service index 38989751..12498cc9 100644 --- a/openstack/etc/systemd/system/openstack-neutron-plugin-openvswitch-agent.service +++ b/openstack/etc/systemd/system/openstack-neutron-plugin-openvswitch-agent.service @@ -1,7 +1,6 @@ [Unit] Description=Neutron OpenvSwitch Plugin Agent -Requires=openvswitch.service -After=syslog.target network.target openvswitch.service +After=network-online.target openstack-neutron-setup.service [Service] Type=simple diff --git a/openstack/etc/systemd/system/openstack-neutron-server.service b/openstack/etc/systemd/system/openstack-neutron-server.service index 41820535..bc56289e 100644 --- a/openstack/etc/systemd/system/openstack-neutron-server.service +++ b/openstack/etc/systemd/system/openstack-neutron-server.service @@ -1,7 +1,6 @@ [Unit] Description=Neutron Api Server -Requires=openvswitch.service -After=syslog.target network.target openvswitch.service +After=network-online.target openstack-neutron-setup.service [Service] Type=simple diff --git a/openstack/etc/systemd/system/openstack-neutron-setup.service b/openstack/etc/systemd/system/openstack-neutron-setup.service index c90e7122..be689037 100644 --- a/openstack/etc/systemd/system/openstack-neutron-setup.service +++ b/openstack/etc/systemd/system/openstack-neutron-setup.service @@ -1,7 +1,6 @@ [Unit] Description=Run openstack-neutron-setup (once) -Requires=openstack-keystone-setup.service openstack-neutron-network-configuration-one-node.service -After=openstack-keystone-setup.service openstack-neutron-network-configuration-one-node.service +After=network-online.target openstack-keystone.service openvswitch-create-links-one-node.service postgres-server.service [Service] Type=oneshot diff --git a/openstack/etc/systemd/system/openstack-nova-setup.service b/openstack/etc/systemd/system/openstack-nova-setup.service index 8e135bc9..4b715856 100644 --- a/openstack/etc/systemd/system/openstack-nova-setup.service +++ b/openstack/etc/systemd/system/openstack-nova-setup.service @@ -1,7 +1,6 @@ [Unit] Description=Run openstack-nova-setup (once) -Requires=local-fs.target -After=local-fs.target libvirtd.service openstack-keystone-setup.service +After=local-fs.target libvirtd.service openstack-keystone.service postgres-server.service [Service] Type=oneshot diff --git a/openstack/etc/systemd/system/openvswitch-create-links-one-node.service b/openstack/etc/systemd/system/openvswitch-create-links-one-node.service index 0ffcf3e2..71d5b8f3 100644 --- a/openstack/etc/systemd/system/openvswitch-create-links-one-node.service +++ b/openstack/etc/systemd/system/openvswitch-create-links-one-node.service @@ -1,6 +1,6 @@ [Unit] Description=Create Veth pairs -After=network-online.target +After=network-online.target openstack-neutron-network-configuration-one-node.service [Service] Type=simple diff --git a/openstack/etc/systemd/system/openvswitch-db-server.service b/openstack/etc/systemd/system/openvswitch-db-server.service index e43fbadc..e1cd2042 100644 --- a/openstack/etc/systemd/system/openvswitch-db-server.service +++ b/openstack/etc/systemd/system/openvswitch-db-server.service @@ -1,7 +1,6 @@ [Unit] -Description=Open vSwitch Database server Daemon -Requires=openvswitch-setup.service -After=network-online.target openvswitch-setup.service +Description=Open vSwitch Database Server Daemon +After=local-fs.target openvswitch-setup.service [Service] Type=forking diff --git a/openstack/etc/systemd/system/openvswitch-initialize-db.service b/openstack/etc/systemd/system/openvswitch-initialize-db.service index 9f3c2e80..3c564c5a 100644 --- a/openstack/etc/systemd/system/openvswitch-initialize-db.service +++ b/openstack/etc/systemd/system/openvswitch-initialize-db.service @@ -1,9 +1,10 @@ [Unit] Description=Run openvswitch-initialize-db (once) -Requires=openvswitch-db-server.service -After=openvswitch-db-server.service +After=local-fs.target openvswitch-db-server.service + +ConditionPathExists=!/usr/local/var/run/openvswitch/openvswitch-initialize-db-flag [Service] Type=oneshot ExecStart=/usr/bin/ovs-vsctl --no-wait init -Restart=no +ExecStart=/bin/touch /usr/local/var/run/openvswitch/openvswitch-initialize-db-flag diff --git a/openstack/etc/systemd/system/openvswitch-setup.service b/openstack/etc/systemd/system/openvswitch-setup.service index cd68b5e2..bfe67002 100644 --- a/openstack/etc/systemd/system/openvswitch-setup.service +++ b/openstack/etc/systemd/system/openvswitch-setup.service @@ -1,7 +1,6 @@ [Unit] Description=Run openvswitch-setup (once) -Requires=local-fs.target network-online.target -After=network-online.target +After=local-fs.target [Service] Type=oneshot diff --git a/openstack/etc/systemd/system/openvswitch.service b/openstack/etc/systemd/system/openvswitch.service index 3da9e345..446c0f95 100644 --- a/openstack/etc/systemd/system/openvswitch.service +++ b/openstack/etc/systemd/system/openvswitch.service @@ -1,7 +1,6 @@ [Unit] Description=Open vSwitch Daemon -Requires=network-online.target openvswitch-db-server.service openvswitch-initialize-db.service -After=network-online.target openvswitch-db-server.service openvswitch-initialize-db.service +After=openvswitch-initialize-db.service [Service] Type=forking diff --git a/openstack/usr/share/openstack/postgres-setup b/openstack/usr/share/openstack/postgres-setup index 69ee2391..fb224fd8 100644 --- a/openstack/usr/share/openstack/postgres-setup +++ b/openstack/usr/share/openstack/postgres-setup @@ -27,7 +27,7 @@ install -dm755 /var/run/postgresql # Create required system users and groups getent group postgress >/dev/null || groupadd -r -g 41 postgres -getent passwd neutron >/dev/null || \ +getent passwd postgres >/dev/null || \ useradd --uid 41 -r -g postgres -d /var/lib/pgsql -s /sbin/nologin \ -c "PostgreSQL Server" postgres diff --git a/openvswitch.configure b/openvswitch.configure index ec219851..be4eb6d3 100644 --- a/openvswitch.configure +++ b/openvswitch.configure @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -# Copyright (C) 2014 Codethink Limited +# Copyright (C) 2015 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 @@ -19,8 +19,10 @@ set -e ROOT="$1" -services=("openvswitch-setup.service" "openvswitch-db-server.service" - "openvswitch-initialize-db.service" "openvswitch.service") +services=("openvswitch-setup.service" \ + "openvswitch-db-server.service" \ + "openvswitch-initialize-db.service" \ + "openvswitch.service") for service in ${services[@]}; do ln -sf "/etc/systemd/system/$service" \ -- cgit v1.2.1