Browse code

Revert "systemd: Always create the systemd unit files"

This reverts commit 15b0a5f1eb849a30bcea9a1e437e9a88ae2c6f92.

The change had an assumption that a service
is properly configured even when it isn't enabled.
The assumption is not true.

Change-Id: Ib5a8ffe63eaec15bc29bfdd133db7169507bab82
Closes-Bug: #1698129

YAMAMOTO Takashi authored on 2017/06/15 21:10:45
Showing 1 changed files
... ...
@@ -1508,13 +1508,8 @@ EOF
1508 1508
 
1509 1509
 }
1510 1510
 
1511
-# Defines a systemd service which can be enabled and started later on.
1512
-# arg1: The openstack service name ('n-cpu', 'c-sch', ...).
1513
-# arg2: The command to start (e.g. path to service binary + config files).
1514
-# arg3: The group which owns the process.
1515
-# arg4: The user which owns the process.
1516
-# Returns: The systemd service name which got defined.
1517
-function _define_systemd_service {
1511
+# Helper function to build a basic unit file and run it under systemd.
1512
+function _run_under_systemd {
1518 1513
     local service=$1
1519 1514
     local command="$2"
1520 1515
     local cmd=$command
... ...
@@ -1529,7 +1524,9 @@ function _define_systemd_service {
1529 1529
     else
1530 1530
         write_user_unit_file $systemd_service "$cmd" "$group" "$user"
1531 1531
     fi
1532
-    echo $systemd_service
1532
+
1533
+    $SYSTEMCTL enable $systemd_service
1534
+    $SYSTEMCTL start $systemd_service
1533 1535
 }
1534 1536
 
1535 1537
 # Helper to remove the ``*.failure`` files under ``$SERVICE_DIR/$SCREEN_NAME``.
... ...
@@ -1570,19 +1567,11 @@ function run_process {
1570 1570
     local user=$4
1571 1571
 
1572 1572
     local name=$service
1573
-    local systemd_service
1574 1573
 
1575 1574
     time_start "run_process"
1576
-    # Note we deliberately make all service files, even if the service
1577
-    # isn't enabled, so it can be enabled by a dev manually on command
1578
-    # line.
1579
-    if [[ "$USE_SYSTEMD" = "True" ]]; then
1580
-        systemd_service=$(_define_systemd_service "$name" "$command" "$group" "$user")
1581
-    fi
1582 1575
     if is_service_enabled $service; then
1583 1576
         if [[ "$USE_SYSTEMD" = "True" ]]; then
1584
-            $SYSTEMCTL enable $systemd_service
1585
-            $SYSTEMCTL start $systemd_service
1577
+            _run_under_systemd "$name" "$command" "$group" "$user"
1586 1578
         elif [[ "$USE_SCREEN" = "True" ]]; then
1587 1579
             if [[ "$user" == "root" ]]; then
1588 1580
                 command="sudo $command"