* [pbs-devel] [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details
@ 2022-12-22 12:05 Christoph Heiss
2022-12-22 12:05 ` [pbs-devel] [PATCH v2 proxmox-backup] api2/node/services: Handle optional services and expose unit-state Christoph Heiss
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Christoph Heiss @ 2022-12-22 12:05 UTC (permalink / raw)
To: pbs-devel
Add the `unit-state` property for services to the PBS api, much like
it's PVE counterpart. This avoids erroneously marking services as dead
that might be just not installed, e.g. systemd-timesyncd.
On the GUI side, this functionality already exists (from PVE), just the
appropriate cookie name needs to be added.
See also #4406.
---
Changes since v1:
* Fall back to `SubState` if `Result` is not present
---
proxmox-backup:
Christoph Heiss (1):
api2/node/services: Handle optional services and expose unit-state
src/api2/node/services.rs | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
proxmox-widget-toolkit:
Christoph Heiss (1):
node/ServiceView: Show unit-state column in PBS too
src/node/ServiceView.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pbs-devel] [PATCH v2 proxmox-backup] api2/node/services: Handle optional services and expose unit-state
2022-12-22 12:05 [pbs-devel] [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details Christoph Heiss
@ 2022-12-22 12:05 ` Christoph Heiss
2023-01-05 9:38 ` Thomas Lamprecht
2022-12-22 12:05 ` [pbs-devel] [PATCH v2 widget-toolkit] node/ServiceView: Show unit-state column in PBS too Christoph Heiss
2023-01-05 9:25 ` [pbs-devel] applied: [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details Wolfgang Bumiller
2 siblings, 1 reply; 5+ messages in thread
From: Christoph Heiss @ 2022-12-22 12:05 UTC (permalink / raw)
To: pbs-devel
.. in the same way the PVE api does, esp. regarding the logic to handle
oneshot and missing services.
This then allows re-using the GUI parts from there as well, so that the
services page in PVE and PBS looks the same.
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
---
src/api2/node/services.rs | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/src/api2/node/services.rs b/src/api2/node/services.rs
index 0cc1857e..3d3b8501 100644
--- a/src/api2/node/services.rs
+++ b/src/api2/node/services.rs
@@ -76,12 +76,26 @@ fn get_full_service_state(service: &str) -> Result<Value, Error> {
fn json_service_state(service: &str, status: Value) -> Value {
if let Some(desc) = status["Description"].as_str() {
let name = status["Name"].as_str().unwrap_or(service);
- let state = status["SubState"].as_str().unwrap_or("unknown");
+
+ let state = if status["Type"] == "oneshot" && status["SubState"] == "dead" {
+ status["Result"].as_str().or(status["SubState"].as_str())
+ } else {
+ status["SubState"].as_str()
+ }
+ .unwrap_or("unknown");
+
+ let unit_state = if status["LoadState"] == "not-found" {
+ "not-found"
+ } else {
+ status["UnitFileState"].as_str().unwrap_or("unknown")
+ };
+
return json!({
"service": service,
"name": name,
"desc": desc,
"state": state,
+ "unit-state": unit_state,
});
}
@@ -117,6 +131,10 @@ fn json_service_state(service: &str, status: Value) -> Value {
type: String,
description: "systemd service 'SubState'.",
},
+ "unit-state": {
+ type: String,
+ description: "systemd service unit state.",
+ },
},
},
},
--
2.30.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pbs-devel] [PATCH v2 widget-toolkit] node/ServiceView: Show unit-state column in PBS too
2022-12-22 12:05 [pbs-devel] [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details Christoph Heiss
2022-12-22 12:05 ` [pbs-devel] [PATCH v2 proxmox-backup] api2/node/services: Handle optional services and expose unit-state Christoph Heiss
@ 2022-12-22 12:05 ` Christoph Heiss
2023-01-05 9:25 ` [pbs-devel] applied: [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details Wolfgang Bumiller
2 siblings, 0 replies; 5+ messages in thread
From: Christoph Heiss @ 2022-12-22 12:05 UTC (permalink / raw)
To: pbs-devel
The PBS api now reports `unit-state` for services as well, thus enable
the column for it.
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
---
src/node/ServiceView.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/node/ServiceView.js b/src/node/ServiceView.js
index 75a5c28..19cfc18 100644
--- a/src/node/ServiceView.js
+++ b/src/node/ServiceView.js
@@ -201,7 +201,7 @@ Ext.define('Proxmox.node.ServiceView', {
header: gettext('Unit'),
width: 120,
sortable: true,
- hidden: Proxmox?.Setup?.auth_cookie_name !== 'PVEAuthCookie', // FIXME currently only PVE supports it
+ hidden: !Ext.Array.contains(['PVEAuthCookie', 'PBSAuthCookie'], Proxmox?.Setup?.auth_cookie_name),
dataIndex: 'unit-state',
},
{
--
2.30.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pbs-devel] applied: [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details
2022-12-22 12:05 [pbs-devel] [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details Christoph Heiss
2022-12-22 12:05 ` [pbs-devel] [PATCH v2 proxmox-backup] api2/node/services: Handle optional services and expose unit-state Christoph Heiss
2022-12-22 12:05 ` [pbs-devel] [PATCH v2 widget-toolkit] node/ServiceView: Show unit-state column in PBS too Christoph Heiss
@ 2023-01-05 9:25 ` Wolfgang Bumiller
2 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Bumiller @ 2023-01-05 9:25 UTC (permalink / raw)
To: Christoph Heiss; +Cc: pbs-devel
applied both patches, thanks
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pbs-devel] [PATCH v2 proxmox-backup] api2/node/services: Handle optional services and expose unit-state
2022-12-22 12:05 ` [pbs-devel] [PATCH v2 proxmox-backup] api2/node/services: Handle optional services and expose unit-state Christoph Heiss
@ 2023-01-05 9:38 ` Thomas Lamprecht
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Lamprecht @ 2023-01-05 9:38 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Christoph Heiss
Got already applied, so just for the next time:
please avoid the use of literal API/File/... paths in the commit subject and avoid
duplicate info (service twice), here I'd have prefered something like:
api: systemd services: handle optional ones and expose unit-state
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-01-05 9:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-22 12:05 [pbs-devel] [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details Christoph Heiss
2022-12-22 12:05 ` [pbs-devel] [PATCH v2 proxmox-backup] api2/node/services: Handle optional services and expose unit-state Christoph Heiss
2023-01-05 9:38 ` Thomas Lamprecht
2022-12-22 12:05 ` [pbs-devel] [PATCH v2 widget-toolkit] node/ServiceView: Show unit-state column in PBS too Christoph Heiss
2023-01-05 9:25 ` [pbs-devel] applied: [PATCH v2 proxmox-backup/widget-toolkit] Handle optional services and expose more details Wolfgang Bumiller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox