1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
From 32c702a97a69acefb3054165f51a4b7b9f102494 Mon Sep 17 00:00:00 2001
From: Nikita Kosenkov <NKosenkov@IBS.RU>
Date: Fri, 16 Sep 2022 10:56:47 +0300
Subject: [PATCH] Added dependencies to controlled services
---
src/main.cpp | 10 +++++++---
srvcfg-manager.service | 3 +++
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/main.cpp b/src/main.cpp
index f104f22..b62c29e 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -278,14 +278,18 @@ void checkAndInit(sdbusplus::asio::object_server& server,
// Check whether systemd completed all the loading before initializing
conn->async_method_call(
[&server, &conn](boost::system::error_code ec,
- const std::variant<uint64_t>& value) {
+ const std::variant<double_t>& value) {
if (ec)
{
lg2::error("async_method_call error: ListUnits failed: {EC}",
"EC", ec.value());
return;
}
- if (std::get<uint64_t>(value))
+
+ auto systemdProgress = std::get<double_t>(value);
+
+ // If systemd units are running at 90% or more
+ if (systemdProgress >= 0.9)
{
if (!unitQueryStarted)
{
@@ -320,7 +324,7 @@ void checkAndInit(sdbusplus::asio::object_server& server,
}
},
sysdService, sysdObjPath, dBusPropIntf, dBusGetMethod, sysdMgrIntf,
- "FinishTimestamp");
+ "Progress");
}
int main()
diff --git a/srvcfg-manager.service b/srvcfg-manager.service
index b7b22df..1d272bc 100644
--- a/srvcfg-manager.service
+++ b/srvcfg-manager.service
@@ -1,5 +1,8 @@
[Unit]
Description=Daemon to control service configuration
+After=start-ipkvm.service bmcweb.service
+After=phosphor-ipmi-net@.service dropbear@.service
+After=phosphor-ipmi-kcs@.service obmc-console@.service
[Service]
Restart=always
--
2.35.1
|