* [pve-devel] [PATCH manager] pvestatd: improve broadcast of node version-info
@ 2025-01-16 16:30 Aaron Lauterer
2025-01-16 16:35 ` Christian Ebner
2025-01-17 12:18 ` Fiona Ebner
0 siblings, 2 replies; 5+ messages in thread
From: Aaron Lauterer @ 2025-01-16 16:30 UTC (permalink / raw)
To: pve-devel
Until now, the pvestatd did broadcast the pve-manager version only once
after startup of the service. But there are some situations, where the
local pmxcfs (pve-cluster) restarts and loses that information.
Basically everytime we restart the pmxcfs without restarting pvestatd
too.
For example, on a cluster join, or if the pmxcfs has been restarted
manually.
By additionally checking if the local kv-store of the pmxcfs has any
version info for the node, we can decide if another broadcast is
necessary.
Therefore after the next run of pvestatd, we should have the full
version info available again.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
---
This patch is preparation to get reliable version infos as I am picking
of the patch series of Folke to include more metrics into the RRD data
and summary graphs. [0]
This was a big blocker and now with the major version change coming up,
we at least can assume the latest 8.x installed as part of the update to
PVE 9.
Therefore, we should get this in with PVE 8. Additional patches for PVE
8 will follow to make the transition smoother. But as mentioned, this
here is one of the things that needs to work reliably, which is why I
submit the patch already now.
[0] https://lore.proxmox.com/pve-devel/20231211144721.212071-1-f.gleumes@proxmox.com/
PVE/Service/pvestatd.pm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/PVE/Service/pvestatd.pm b/PVE/Service/pvestatd.pm
index 7fa003fe..03c578e1 100755
--- a/PVE/Service/pvestatd.pm
+++ b/PVE/Service/pvestatd.pm
@@ -527,7 +527,10 @@ sub update_sdn_status {
my $broadcast_version_info_done = 0;
my sub broadcast_version_info : prototype() {
- if (!$broadcast_version_info_done) {
+ if (
+ !$broadcast_version_info_done
+ || !keys PVE::Cluster::get_node_kv('version-info', $nodename)->%*
+ ) {
PVE::Cluster::broadcast_node_kv(
'version-info',
encode_json(PVE::pvecfg::version_info()),
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pve-devel] [PATCH manager] pvestatd: improve broadcast of node version-info
2025-01-16 16:30 [pve-devel] [PATCH manager] pvestatd: improve broadcast of node version-info Aaron Lauterer
@ 2025-01-16 16:35 ` Christian Ebner
2025-01-16 16:38 ` Aaron Lauterer
2025-01-17 12:18 ` Fiona Ebner
1 sibling, 1 reply; 5+ messages in thread
From: Christian Ebner @ 2025-01-16 16:35 UTC (permalink / raw)
To: Proxmox VE development discussion, Aaron Lauterer
On 1/16/25 17:30, Aaron Lauterer wrote:
> Until now, the pvestatd did broadcast the pve-manager version only once
> after startup of the service. But there are some situations, where the
> local pmxcfs (pve-cluster) restarts and loses that information.
> Basically everytime we restart the pmxcfs without restarting pvestatd
> too.
>
> For example, on a cluster join, or if the pmxcfs has been restarted
> manually.
>
> By additionally checking if the local kv-store of the pmxcfs has any
> version info for the node, we can decide if another broadcast is
> necessary.
> Therefore after the next run of pvestatd, we should have the full
> version info available again.
>
> Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
> ---
> This patch is preparation to get reliable version infos as I am picking
> of the patch series of Folke to include more metrics into the RRD data
> and summary graphs. [0]
> This was a big blocker and now with the major version change coming up,
> we at least can assume the latest 8.x installed as part of the update to
> PVE 9.
> Therefore, we should get this in with PVE 8. Additional patches for PVE
> 8 will follow to make the transition smoother. But as mentioned, this
> here is one of the things that needs to work reliably, which is why I
> submit the patch already now.
>
> [0] https://lore.proxmox.com/pve-devel/20231211144721.212071-1-f.gleumes@proxmox.com/
>
> PVE/Service/pvestatd.pm | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/PVE/Service/pvestatd.pm b/PVE/Service/pvestatd.pm
> index 7fa003fe..03c578e1 100755
> --- a/PVE/Service/pvestatd.pm
> +++ b/PVE/Service/pvestatd.pm
> @@ -527,7 +527,10 @@ sub update_sdn_status {
>
> my $broadcast_version_info_done = 0;
> my sub broadcast_version_info : prototype() {
> - if (!$broadcast_version_info_done) {
> + if (
> + !$broadcast_version_info_done
> + || !keys PVE::Cluster::get_node_kv('version-info', $nodename)->%*
> + ) {
> PVE::Cluster::broadcast_node_kv(
> 'version-info',
> encode_json(PVE::pvecfg::version_info()),
This will close issue 5894 I guess [0]?
[0] https://bugzilla.proxmox.com/show_bug.cgi?id=5894
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pve-devel] [PATCH manager] pvestatd: improve broadcast of node version-info
2025-01-16 16:35 ` Christian Ebner
@ 2025-01-16 16:38 ` Aaron Lauterer
2025-01-16 16:50 ` Christian Ebner
0 siblings, 1 reply; 5+ messages in thread
From: Aaron Lauterer @ 2025-01-16 16:38 UTC (permalink / raw)
To: Christian Ebner, Proxmox VE development discussion
On 2025-01-16 17:35, Christian Ebner wrote:
> On 1/16/25 17:30, Aaron Lauterer wrote:
[…]
> This will close issue 5894 I guess [0]?
>
> [0] https://bugzilla.proxmox.com/show_bug.cgi?id=5894
Specifically, the 'version-info', yes. Are there other properties too?
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pve-devel] [PATCH manager] pvestatd: improve broadcast of node version-info
2025-01-16 16:38 ` Aaron Lauterer
@ 2025-01-16 16:50 ` Christian Ebner
0 siblings, 0 replies; 5+ messages in thread
From: Christian Ebner @ 2025-01-16 16:50 UTC (permalink / raw)
To: Aaron Lauterer, Proxmox VE development discussion
On 1/16/25 17:38, Aaron Lauterer wrote:
>
>
> On 2025-01-16 17:35, Christian Ebner wrote:
>> On 1/16/25 17:30, Aaron Lauterer wrote:
> […]
>> This will close issue 5894 I guess [0]?
>>
>> [0] https://bugzilla.proxmox.com/show_bug.cgi?id=5894
>
> Specifically, the 'version-info', yes. Are there other properties too?
If I remember correctly all are cleared. But only the `version-info` is
not re-broadcasted as far as I can see from a quick glance at the code.
But might be worth to double check!
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pve-devel] [PATCH manager] pvestatd: improve broadcast of node version-info
2025-01-16 16:30 [pve-devel] [PATCH manager] pvestatd: improve broadcast of node version-info Aaron Lauterer
2025-01-16 16:35 ` Christian Ebner
@ 2025-01-17 12:18 ` Fiona Ebner
1 sibling, 0 replies; 5+ messages in thread
From: Fiona Ebner @ 2025-01-17 12:18 UTC (permalink / raw)
To: Proxmox VE development discussion, Aaron Lauterer
Am 16.01.25 um 17:30 schrieb Aaron Lauterer:
> Until now, the pvestatd did broadcast the pve-manager version only once
> after startup of the service. But there are some situations, where the
> local pmxcfs (pve-cluster) restarts and loses that information.
> Basically everytime we restart the pmxcfs without restarting pvestatd
> too.
>
> For example, on a cluster join, or if the pmxcfs has been restarted
> manually.
>
> By additionally checking if the local kv-store of the pmxcfs has any
> version info for the node, we can decide if another broadcast is
> necessary.
> Therefore after the next run of pvestatd, we should have the full
> version info available again.
>
> Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
> ---
> This patch is preparation to get reliable version infos as I am picking
> of the patch series of Folke to include more metrics into the RRD data
> and summary graphs. [0]
> This was a big blocker and now with the major version change coming up,
> we at least can assume the latest 8.x installed as part of the update to
> PVE 9.
> Therefore, we should get this in with PVE 8. Additional patches for PVE
> 8 will follow to make the transition smoother. But as mentioned, this
> here is one of the things that needs to work reliably, which is why I
> submit the patch already now.
If we start relying more on this, we likely also want:
https://lore.proxmox.com/pve-devel/20221006125414.58279-1-f.ebner@proxmox.com/
>
> [0] https://lore.proxmox.com/pve-devel/20231211144721.212071-1-f.gleumes@proxmox.com/
>
> PVE/Service/pvestatd.pm | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/PVE/Service/pvestatd.pm b/PVE/Service/pvestatd.pm
> index 7fa003fe..03c578e1 100755
> --- a/PVE/Service/pvestatd.pm
> +++ b/PVE/Service/pvestatd.pm
> @@ -527,7 +527,10 @@ sub update_sdn_status {
>
> my $broadcast_version_info_done = 0;
> my sub broadcast_version_info : prototype() {
> - if (!$broadcast_version_info_done) {
> + if (
> + !$broadcast_version_info_done
> + || !keys PVE::Cluster::get_node_kv('version-info', $nodename)->%*
Style nit: IMHO, it would be easier to read if surrounded by an explicit
scalar()
> + ) {
> PVE::Cluster::broadcast_node_kv(
> 'version-info',
> encode_json(PVE::pvecfg::version_info()),
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-01-17 12:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-16 16:30 [pve-devel] [PATCH manager] pvestatd: improve broadcast of node version-info Aaron Lauterer
2025-01-16 16:35 ` Christian Ebner
2025-01-16 16:38 ` Aaron Lauterer
2025-01-16 16:50 ` Christian Ebner
2025-01-17 12:18 ` Fiona Ebner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox