From: "Shannon Sterz" <s.sterz@proxmox.com>
To: "Lukas Wagner" <l.wagner@proxmox.com>
Cc: Proxmox Datacenter Manager development discussion
<pdm-devel@lists.proxmox.com>,
Thomas Lamprecht <t.lamprecht@proxmox.com>
Subject: Re: [pdm-devel] [PATCH datacenter-manager 2/3] ui: make NodeStatusPanel available as a widget
Date: Fri, 07 Nov 2025 09:37:32 +0100 [thread overview]
Message-ID: <DE2BR7PG3BE2.3MAYBBJKA7G8Z@proxmox.com> (raw)
In-Reply-To: <DE2ACYP6DUNX.QZ7C5EPUS6DY@proxmox.com>
On Fri Nov 7, 2025 at 8:31 AM CET, Lukas Wagner wrote:
> On Thu Nov 6, 2025 at 10:10 PM CET, Thomas Lamprecht wrote:
>> Am 06.11.25 um 13:43 schrieb Shannon Sterz:
>>> Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
>>> ---
>>> ui/src/administration/mod.rs | 4 +++-
>>> ui/src/dashboard/types.rs | 1 +
>>> ui/src/dashboard/view.rs | 15 ++++++++++++++-
>>> 3 files changed, 18 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/ui/src/administration/mod.rs b/ui/src/administration/mod.rs
>>> index a9f7ac6..72a4ffa 100644
>>> --- a/ui/src/administration/mod.rs
>>> +++ b/ui/src/administration/mod.rs
>>> @@ -16,7 +16,9 @@ use pwt_macros::builder;
>>> //mod services;
>>> //pub use services::Services;
>>>
>>> -use proxmox_yew_comp::{AptPackageManager, AptRepositories, ExistingProduct, Syslog, Tasks};
>>> +use proxmox_yew_comp::{
>>> + AptPackageManager, AptRepositories, ExistingProduct, NodeStatusPanel, Syslog, Tasks,
>>> +};
>>>
>>> #[derive(Clone, PartialEq, Properties)]
>>> #[builder]
>>> diff --git a/ui/src/dashboard/types.rs b/ui/src/dashboard/types.rs
>>> index c79c38a..ce4bbb7 100644
>>> --- a/ui/src/dashboard/types.rs
>>> +++ b/ui/src/dashboard/types.rs
>>> @@ -61,6 +61,7 @@ pub enum WidgetType {
>>> TaskSummary {
>>> grouping: TaskSummaryGrouping,
>>> },
>>> + NodeStatus,
>>> }
>>>
>>> #[derive(Serialize, Deserialize, PartialEq, Clone, Copy)]
>>> diff --git a/ui/src/dashboard/view.rs b/ui/src/dashboard/view.rs
>>> index c781d99..b5cd722 100644
>>> --- a/ui/src/dashboard/view.rs
>>> +++ b/ui/src/dashboard/view.rs
>>> @@ -3,6 +3,7 @@ use std::rc::Rc;
>>> use anyhow::Error;
>>> use futures::join;
>>> use js_sys::Date;
>>> +use proxmox_yew_comp::NodeStatusPanel;
>>> use serde_json::json;
>>> use yew::virtual_dom::{VComp, VNode};
>>>
>>> @@ -123,6 +124,11 @@ fn render_widget(
>>> let (hours, since) = get_task_options(refresh_config.task_last_hours);
>>> create_task_summary_panel(statistics, remotes, hours, since)
>>> }
>>> + WidgetType::NodeStatus => {
>>> + return NodeStatusPanel::new()
>>> + .status_base_url("/nodes/localhost/status")
>>> + .into()
>>> + }
>>> };
>>>
>>
>> While it might be OK to have as widget for remote node status in the dashboard, I
>> would not add the one from PDM here, that's IMO confusing, especially if it's
>> nowhere stated that it is in fact the one from PDM itself, given that all other
>> widgets show the status of remote resources.
>> I.e., the PBS dashboard is for the PBS instance itself, the PDM one is mainly for
>> the remote resources, they need to be handled a bit differently when deciding what
>> to add where, or at least ensure that it's clear that some info is from PDM itself.
>>
>> But rather lets add a new tab to the Administration panel, there we can then also
>> add metrics graphs (memory, cpu, ...) for the local PDM itself in the future.
>> Could be still nice to implement a PDM specific overview for the dashboard, but
>> that should be probably something new with the specifics of PDM in mind, and can
>> be done separately.
>> Reboot/shutdown could then go in the toolbar there.
>>
>
> +1
>
> I quickly tried this patch series out yesterday before going home, my
> findings/thoughts were
>
> - As you mentioned, the fact that this widget is about the PDM host
> itself is not super clear (no mention of it in the title, and all the
> other widgets are about remotes)
>
> - The widget appears a bit too dense/crowded, at least compared to the
> other widgets that we already have. I think this mostly due to the
> three buttons, as well as the long kernel version string, on my PDM
> dev host this is
>
> Linux 6.14.8-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.14.8-2 (2025-07-22T10:04Z)
>
> which appears to be quite a bit longer than what we show in PVE/PBS:
>
> Linux 6.14.11-4-pve (2025-10-10T08:04Z)
just a small note, this is how seem to display this information
throughout pdm at least, so i'd keep that for now.
> - Having the potentially disruptive Reboot/Shutdown buttons so prominent
> in the dashboard can be a bit 'dangerous', I think - especially since
> it's not 100% clear at the moment that this is the PDM host itself.
>
>
> I fully agree with you proposal, I think putting this into a new tab in
> the Administration panel definitely makes a lot of sense.
>
>> It also might be more useful to not show the "Show Fingerprint" button by default.
>> Adding that in this card was a bit of a stop-gap for PBS on it's own that I
>> implemented only because knowing the fingerprint is quite often a must-have for
>> being able to add a PBS as storage to a PVE cluster. As we do not can add a PDM
>> somewhere (in our projects) at all for now, there is really not such a need there.
>>
>> FWIW, for PBS we have reduced the need for having this in the node status directly
>> too, as there we now got the "connection info" button/window available on the
>> Datastore summary page, which also includes the full datastore repository string,
>> and is thus more convenient than the dashboard one.
>> That's also why I'd not show this button by default at all, at least in the newer
>> Yew UI.
alright i'll make the fingerprint opt-in and revert to the tab
based approach from v1 then.
_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel
next prev parent reply other threads:[~2025-11-07 8:37 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-06 12:43 [pdm-devel] [PATCH datacenter-manager/proxmox/yew-comp 0/6] add node status panel to proxmox datacenter manager Shannon Sterz
2025-11-06 12:43 ` [pdm-devel] [PATCH proxmox 1/1] node-status: add node status crate Shannon Sterz
2025-11-06 19:41 ` [pdm-devel] applied: " Thomas Lamprecht
2025-11-06 12:43 ` [pdm-devel] [PATCH yew-comp 1/2] node info: extend NodeStatus enum to include NodeStatus from proxmox-rs Shannon Sterz
2025-11-06 20:44 ` [pdm-devel] applied: " Thomas Lamprecht
2025-11-06 12:43 ` [pdm-devel] [PATCH yew-comp 2/2] node status panel: add a panel that show the current status of a node Shannon Sterz
2025-11-06 12:43 ` [pdm-devel] [PATCH datacenter-manager 1/3] api-types/api: add endpoints for querying the node's status Shannon Sterz
2025-11-06 20:57 ` [pdm-devel] applied: " Thomas Lamprecht
2025-11-06 12:43 ` [pdm-devel] [PATCH datacenter-manager 2/3] ui: make NodeStatusPanel available as a widget Shannon Sterz
2025-11-06 21:10 ` Thomas Lamprecht
2025-11-07 7:31 ` Lukas Wagner
2025-11-07 8:37 ` Shannon Sterz [this message]
2025-11-07 8:55 ` Thomas Lamprecht
2025-11-06 12:43 ` [pdm-devel] [PATCH datacenter-manager 3/3] nodes: remove unnecessary rustfmt::skip macro Shannon Sterz
2025-11-06 20:57 ` [pdm-devel] applied: " Thomas Lamprecht
2025-11-06 12:44 ` [pdm-devel] [PATCH datacenter-manager/proxmox/yew-comp 0/6] add node status panel to proxmox datacenter manager Shannon Sterz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DE2BR7PG3BE2.3MAYBBJKA7G8Z@proxmox.com \
--to=s.sterz@proxmox.com \
--cc=l.wagner@proxmox.com \
--cc=pdm-devel@lists.proxmox.com \
--cc=t.lamprecht@proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox