to be used for static resource scheduling. Signed-off-by: Fiona Ebner <f.eb...@proxmox.com> --- src/PVE/HA/Env.pm | 6 ++++++ src/PVE/HA/Env/PVE2.pm | 13 +++++++++++++ src/PVE/HA/Sim/TestEnv.pm | 6 ++++++ 3 files changed, 25 insertions(+)
diff --git a/src/PVE/HA/Env.pm b/src/PVE/HA/Env.pm index ac569a9..00e3e3c 100644 --- a/src/PVE/HA/Env.pm +++ b/src/PVE/HA/Env.pm @@ -269,4 +269,10 @@ sub get_ha_settings { return $self->{plug}->get_ha_settings(); } +sub get_static_node_stats { + my ($self) = @_; + + return $self->{plug}->get_static_node_stats(); +} + 1; diff --git a/src/PVE/HA/Env/PVE2.pm b/src/PVE/HA/Env/PVE2.pm index 5e0a683..7cecf35 100644 --- a/src/PVE/HA/Env/PVE2.pm +++ b/src/PVE/HA/Env/PVE2.pm @@ -5,6 +5,7 @@ use warnings; use POSIX qw(:errno_h :fcntl_h); use IO::File; use IO::Socket::UNIX; +use JSON; use PVE::SafeSyslog; use PVE::Tools; @@ -459,4 +460,16 @@ sub get_ha_settings { return $datacenterconfig->{ha}; } +sub get_static_node_stats { + my ($self) = @_; + + my $stats = PVE::Cluster::get_node_kv('static-info'); + for my $node (keys $stats->%*) { + $stats->{$node} = eval { decode_json($stats->{$node}) }; + $self->log('err', "unable to decode static node info for '$node' - $@") if $@; + } + + return $stats; +} + 1; diff --git a/src/PVE/HA/Sim/TestEnv.pm b/src/PVE/HA/Sim/TestEnv.pm index b448d72..e12d761 100644 --- a/src/PVE/HA/Sim/TestEnv.pm +++ b/src/PVE/HA/Sim/TestEnv.pm @@ -118,4 +118,10 @@ sub get_max_workers { return 0; } +sub get_static_node_stats { + my ($self) = @_; + + return $self->{hardware}->{'static-node-stats'}; +} + 1; -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel