to be used for static resource scheduling. In the simulation environment, the information can be added in hardware_status.
Signed-off-by: Fiona Ebner <f.eb...@proxmox.com> --- Changes from v1: * Properly add it to the simulation environment. src/PVE/HA/Env.pm | 6 ++++++ src/PVE/HA/Env/PVE2.pm | 13 +++++++++++++ src/PVE/HA/Sim/Env.pm | 6 ++++++ src/PVE/HA/Sim/Hardware.pm | 13 +++++++++++++ 4 files changed, 38 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/Env.pm b/src/PVE/HA/Sim/Env.pm index b286708..6bd35b3 100644 --- a/src/PVE/HA/Sim/Env.pm +++ b/src/PVE/HA/Sim/Env.pm @@ -433,4 +433,10 @@ sub get_ha_settings { return $datacenterconfig->{ha}; } +sub get_static_node_stats { + my ($self) = @_; + + return $self->{hardware}->get_static_node_stats(); +} + 1; diff --git a/src/PVE/HA/Sim/Hardware.pm b/src/PVE/HA/Sim/Hardware.pm index 96a4064..e38561a 100644 --- a/src/PVE/HA/Sim/Hardware.pm +++ b/src/PVE/HA/Sim/Hardware.pm @@ -858,4 +858,17 @@ sub watchdog_update { return &$modify_watchog($self, $code); } +sub get_static_node_stats { + my ($self) = @_; + + my $cstatus = $self->read_hardware_status_nolock(); + + my $stats = {}; + for my $node (keys $cstatus->%*) { + $stats->{$node} = { $cstatus->{$node}->%{qw(cpus memory)} }; + } + + return $stats; +} + 1; -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel