Signed-off-by: Alexandre Derumier <aderum...@odiso.com>
---
 PVE/API2/Nodes.pm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/PVE/API2/Nodes.pm b/PVE/API2/Nodes.pm
index f86523b0..3578b6de 100644
--- a/PVE/API2/Nodes.pm
+++ b/PVE/API2/Nodes.pm
@@ -1979,7 +1979,8 @@ __PACKAGE__->register_method ({
                    my $members = PVE::Cluster::get_members();
                    my $rrd = PVE::Cluster::rrd_dump();
                    my $nodelist = PVE::Cluster::get_nodelist();
-
+                   my $mem_threshold = 0.8;
+                   my $cpu_threshold = 0.8;
                    my $vm_stats = PVE::API2Tools::extract_vm_stats($vmid, $d, 
$rrd);
                    my $vm_cpu = $vm_stats->{cpu} * $vm_stats->{maxcpu};
                    my $vm_mem = $vm_stats->{mem};
@@ -1994,8 +1995,8 @@ __PACKAGE__->register_method ({
                        my $node_freemem = $node_stats->{maxmem} - 
$node_stats->{mem};
                        my $node_freecpu = (100 - $node_stats->{cpu}) * 
$node_stats->{maxcpu};  #how to handle different cpu model power ? bogomips ?
                        next if $node_stats->{status} ne 'online';
-                       next if $node_freecpu < $vm_cpu;
-                       next if $node_freemem < $vm_mem;
+                       next if $node_freecpu * $cpu_threshold < $vm_cpu;
+                       next if $node_freemem * $mem_threshold < $vm_mem;
                        next if $node_stats->{maxcpu} < $vm_stats->{maxcpu};
                        eval { 
PVE::QemuServer::check_storage_availability($storecfg, $vmconf, $node) };
                        next if $@;
-- 
2.20.1

_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to