Am 10/11/2022 um 15:37 schrieb Fiona Ebner: > to be used for static resource scheduling. > > In container's vmstatus(), the 'cores' option takes precedence over > the 'cpulimit' one, but it felt more accurate to prefer 'cpulimit' > here. > > Signed-off-by: Fiona Ebner <f.eb...@proxmox.com> > --- > src/PVE/HA/Resources.pm | 5 +++++ > src/PVE/HA/Resources/PVECT.pm | 11 +++++++++++ > src/PVE/HA/Resources/PVEVM.pm | 14 ++++++++++++++ > 3 files changed, 30 insertions(+) > > diff --git a/src/PVE/HA/Resources.pm b/src/PVE/HA/Resources.pm > index 835c314..f7eaff2 100644 > --- a/src/PVE/HA/Resources.pm > +++ b/src/PVE/HA/Resources.pm > @@ -161,6 +161,11 @@ sub remove_locks { > die "implement in subclass"; > } > > +sub get_static_stats { > + my ($class, $id, $service_node) = @_; > + > + die "implement in subclass"; > +} > > # package PVE::HA::Resources::IPAddr; > > diff --git a/src/PVE/HA/Resources/PVECT.pm b/src/PVE/HA/Resources/PVECT.pm > index 015faf3..8209d9c 100644 > --- a/src/PVE/HA/Resources/PVECT.pm > +++ b/src/PVE/HA/Resources/PVECT.pm > @@ -150,4 +150,15 @@ sub remove_locks { > return undef; > } > > +sub get_static_stats { > + my ($class, $id, $service_node) = @_; > + > + my $conf = PVE::LXC::Config->load_config($id, $service_node); > + > + return { > + maxcpu => $conf->{cpulimit} || $conf->{cores} || 0, > + maxmem => ($conf->{memory} || 512) * 1024 * 1024,
nit, would prefer one of snake or kebab case for those keys (no hard feeling on which one, should just be consistent within similar (i.e., the stats) stuff. > + }; > +} > + > 1; > diff --git a/src/PVE/HA/Resources/PVEVM.pm b/src/PVE/HA/Resources/PVEVM.pm > index 58c83e0..85196ed 100644 > --- a/src/PVE/HA/Resources/PVEVM.pm > +++ b/src/PVE/HA/Resources/PVEVM.pm > @@ -173,4 +173,18 @@ sub remove_locks { > return undef; > } > > +sub get_static_stats { > + my ($class, $id, $service_node) = @_; > + > + my $conf = PVE::QemuConfig->load_config($id, $service_node); maybe it could be worth to use the CFS_IPC_GET_GUEST_CONFIG_PROPERTY successor that Dominik developed for the tags stuff once applied for this, can be still switched too transparently, if this shows to be a bottleneck in the future though, so just mentioning for completeness sake. > + my $defaults = PVE::QemuServer::load_defaults(); > + > + my $cpus = ($conf->{sockets} || $defaults->{sockets}) * ($conf->{cores} > || $defaults->{cores}); > + > + return { > + maxcpu => $conf->{vcpus} || $cpus, > + maxmem => ($conf->{memory} || $defaults->{memory}) * 1024 * 1024, same here. As this is just internal we can also adapt it later though.. > + }; > +} > + > 1; _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel