Am 27.03.25 um 15:23 schrieb Lukas Wagner: > This commit add the `common_template_data` sub to PVE::Notify, > providing a convenient way to get a hash with properties that > should be accessible from all templates, namely hostname, fqdn > and cluster-name. > > Signed-off-by: Lukas Wagner <l.wag...@proxmox.com> > --- > src/PVE/Notify.pm | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/src/PVE/Notify.pm b/src/PVE/Notify.pm > index c514111..9f7a74c 100644 > --- a/src/PVE/Notify.pm > +++ b/src/PVE/Notify.pm > @@ -4,6 +4,7 @@ use strict; > use warnings; > > use PVE::Cluster qw(cfs_register_file cfs_read_file cfs_lock_file > cfs_write_file); > +use PVE::INotify; > use Proxmox::RS::Notify; > > cfs_register_file( > @@ -130,4 +131,23 @@ sub check_may_use_target { > } > } > > +sub common_template_data { > + my $hostname = PVE::INotify::nodename(); > + my $fqdn = `hostname -f` || $hostname; > + chomp $fqdn;
A bit odd seeing the highly efficient hostname cached from inotify used with getting the FQDN in a rather expensive (fork+exec) way. Not so keen on the use of backticks, albeit it would not be a huge problem. I'd favor using PVE::Tools::get_fqdn which should work as well as calling `hostname -f` but also be quite a bit cheaper due to avoiding fork+exec. It'd be probably even fine to cache in a module-local variable, as this is not something that changes often, but also probably not a must for now. > + > + my $data = { > + hostname => $hostname, > + fqdn => $fqdn, > + }; > + > + my $cluster_info = PVE::Cluster::get_clinfo(); > + > + if (my $d = $cluster_info->{cluster}) { > + $data->{"cluster-name"} = $d->{name}; > + } > + > + return $data; > +} > + > 1; _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel