* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal