Fix Delay-based System Reset

The delay-reset service was not running but it seemed like it was
working because there was no return after the handler, so resets would
happen without delay even if the delay json param was used.

The fixes are as following:
1. Add a return statement after using dbus to start the systemd service
2. Use `eval` to actually run the string as what is run vs echo'd can
be different

Tested:
```
May 24 10:45:13 nkcop13-nfd01.prod.google.com bmcweb[2760]: (2023-05-24 17:45:13) [DEBUG "systems.hpp":2927] starting service named: delay-reset@30\x20ForceOff.service
May 24 10:45:13 nkcop13-nfd01.prod.google.com delay-reset.sh[8657]: resetTime 30
May 24 10:45:13 nkcop13-nfd01.prod.google.com delay-reset.sh[8657]: resetType ForceOff
May 24 10:45:13 nkcop13-nfd01.prod.google.com delay-reset.sh[8657]: resource_name
May 24 10:45:13 nkcop13-nfd01.prod.google.com delay-reset.sh[8657]: leaf_resource_name
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8657]: default reset:  Systems/system/Actions/ComputerSystem.Reset
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8657]: curl http://localhost:80/redfish/v1/Systems/system/Actions/ComputerSystem.Reset/ -d '{"ResetType": "ForceOff"}'
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:                                  Dload  Upload   Total   Spent    Left  Speed
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]: [158B blob data]
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]: {
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:   "@Message.ExtendedInfo": [
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:     {
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:       "@odata.type": "#Message.v1_1_1.Message",
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:       "Message": "The request completed successfully.",
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:       "MessageArgs": [],
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:       "MessageId": "Base.1.13.0.Success",
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:       "MessageSeverity": "OK",
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:       "Resolution": "None"
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:     }
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]:   ]
May 24 10:45:43 nkcop13-nfd01.prod.google.com delay-reset.sh[8688]: }
May 24 10:45:43 nkcop13-nfd01.prod.google.com systemd[1]: delay-reset@30\x20ForceOff.service: Deactivated successfully.
```

Google-Bug-Id: 284027694
Change-Id: Idfb3c00c889ed66362d306d65ab42f232d8e8e63
Signed-off-by: Edward Lee <edwarddl@google.com>
(cherry picked from commit daa3bb896914686f03c5dd7b48acb1e5ed7e5308)
diff --git a/recipes-phosphor/interfaces/bmcweb/0001-Add-reset-delay-for-system.patch b/recipes-phosphor/interfaces/bmcweb/0001-Add-reset-delay-for-system.patch
index 2e74765..97bd912 100644
--- a/recipes-phosphor/interfaces/bmcweb/0001-Add-reset-delay-for-system.patch
+++ b/recipes-phosphor/interfaces/bmcweb/0001-Add-reset-delay-for-system.patch
@@ -81,14 +81,14 @@
 %% original patch: 0001-Add-chassis-reset-delay.patch
 
 ---
- redfish-core/lib/systems.hpp | 44 ++++++++++++++++++++++++++++++++++--
- 1 file changed, 42 insertions(+), 2 deletions(-)
+ redfish-core/lib/systems.hpp | 45 ++++++++++++++++++++++++++++++++++--
+ 1 file changed, 43 insertions(+), 2 deletions(-)
 
 diff --git a/redfish-core/lib/systems.hpp b/redfish-core/lib/systems.hpp
-index e476592c..93e60e82 100644
+index 029ce58a..fa5ac363 100644
 --- a/redfish-core/lib/systems.hpp
 +++ b/redfish-core/lib/systems.hpp
-@@ -2770,8 +2770,9 @@ inline void requestRoutesSystemActionsReset(App& app)
+@@ -2762,8 +2762,9 @@ inline void requestRoutesSystemActionsReset(App& app)
              return;
          }
          std::string resetType;
@@ -99,7 +99,7 @@
          {
              return;
          }
-@@ -2823,6 +2824,41 @@ inline void requestRoutesSystemActionsReset(App& app)
+@@ -2815,6 +2816,42 @@ inline void requestRoutesSystemActionsReset(App& app)
              return;
          }
  
@@ -137,11 +137,12 @@
 +                "org.freedesktop.systemd1", "/org/freedesktop/systemd1",
 +                "org.freedesktop.systemd1.Manager", "RestartUnit",
 +                constructedServiceName, "replace");
++            return;
 +        }
          if (hostCommand)
          {
              crow::connections::systemBus->async_method_call(
-@@ -2897,7 +2933,6 @@ inline void handleComputerSystemCollectionHead(
+@@ -2925,7 +2962,6 @@ inline void afterPortRequest(
   */
  inline void requestRoutesSystems(App& app)
  {
@@ -149,7 +150,7 @@
      BMCWEB_ROUTE(app, "/redfish/v1/Systems/system/")
          .privileges(redfish::privileges::headComputerSystem)
          .methods(boost::beast::http::verb::head)(
-@@ -3235,6 +3270,11 @@ inline void requestRoutesSystemResetActionInfo(App& app)
+@@ -3282,6 +3318,11 @@ inline void requestRoutesSystemResetActionInfo(App& app)
          parameter["AllowableValues"] = std::move(allowableValues);
          parameters.emplace_back(std::move(parameter));
  
@@ -162,4 +163,5 @@
          });
  }
 -- 
-2.40.0.348.gf938b09366-goog
+2.40.1.698.g37aff9b760-goog
+
diff --git a/recipes-phosphor/interfaces/bmcweb/delay-reset.sh b/recipes-phosphor/interfaces/bmcweb/delay-reset.sh
index 1bba94d..8105c7b 100644
--- a/recipes-phosphor/interfaces/bmcweb/delay-reset.sh
+++ b/recipes-phosphor/interfaces/bmcweb/delay-reset.sh
@@ -41,11 +41,11 @@
 fi
 
 # and the reset type as json
-cmd[2]="-d \"{\\\"ResetType\\\": \\\"${resetType}\\\"}\""
+cmd[2]="-d '{\"ResetType\": \"${resetType}\"}'"
 
 # print the command to the journal
 echo "${cmd[@]}"
 
 # run the command
-"${cmd[@]}"
+eval "${cmd[@]}"