From: Dominik Csapak <d.csapak@proxmox.com>
To: Thomas Lamprecht <t.lamprecht@proxmox.com>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH manager v2 01/17] api/pvestatd: broadcast and expose non-x86 host architecture
Date: Fri, 6 Feb 2026 08:26:11 +0100 [thread overview]
Message-ID: <4dffdb37-c01d-45eb-8053-4ec54e847390@proxmox.com> (raw)
In-Reply-To: <4ddfce08-13c5-4d1e-9dc0-fd74d6c22cb5@proxmox.com>
On 2/3/26 4:05 PM, Thomas Lamprecht wrote:
> Am 03.02.26 um 11:20 schrieb Dominik Csapak:
>
>> diff --git a/PVE/Service/pvestatd.pm b/PVE/Service/pvestatd.pm
>> index 98d421f4..05f4061e 100755
>> --- a/PVE/Service/pvestatd.pm
>> +++ b/PVE/Service/pvestatd.pm
>> @@ -7,6 +7,7 @@ use PVE::SafeSyslog;
>> use PVE::Daemon;
>>
>> use JSON;
>> +use POSIX qw();
>>
>> use Time::HiRes qw (gettimeofday);
>> use PVE::Tools qw(dir_glob_foreach file_read_firstline);
>> @@ -138,6 +139,8 @@ my sub broadcast_static_node_info {
>> my $cgroup_mode = eval { PVE::CGroup::cgroup_mode(); };
>> syslog('err', "cgroup mode error: $@") if $@;
>>
>> + my (undef, undef, undef, undef, $architecture) = POSIX::uname();
> Besides reusing the helper from PVE::Tools I'd also prefer naming the variable
> then `$host_arch`, as arch is a pretty standard abbreviation already and denoting
> that this holds the host architecture itself is slightly nicer for a system where
> there are also guest archs.
do you also mean that i change the api property from 'architecture' ?
(this seems a bit implied from the code snippet below, but I wanted
to clarify before sending a wrong v3)
>
>> +
>> my $old = PVE::Cluster::get_node_kv('static-info', $nodename);
>> $old = eval { decode_json($old->{$nodename}) } if defined($old->{$nodename});
>>
>> @@ -147,11 +150,18 @@ my sub broadcast_static_node_info {
>> || !defined($old->{memory})
>> || $old->{memory} != $memory
>> || ($old->{'cgroup-mode'} // -1) != ($cgroup_mode // -1)
>> + || (defined($architecture)
>> + && $architecture ne 'x86_64'
>> + && (!defined($old->{architecture}) || $old->{architecture} ne $architecture))
>> ) {
>> my $info = {
>> cpus => $cpus,
>> memory => $memory,
>> };
>> +
>> + # only save architecture info for non-x86 ones
>> + $info->{architecture} = $architecture;
> that isn't only saved for non-x86 though? If any other of the OR'd sub-expression
> of the if here evaluates true, which will always happen sooner or later, we will
> always set this. I.e., parts of the check above can move down here to make this
> something like:
>
> $info->{'host-arch'} = $host_arch if defined($host_arch) && $host_arch ne 'x86_64';
yeah of course, i tried to model the if clause to already do that, but
forgot that that triggers for all other things too on x86...
sorry for that
>
>
>> +
>> $info->{'cgroup-mode'} = $cgroup_mode if defined($cgroup_mode);
>> PVE::Cluster::broadcast_node_kv('static-info', encode_json($info));
>> }
>
next prev parent reply other threads:[~2026-02-06 7:25 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-03 10:00 [PATCH manager v2 00/17] enable qemu vm architecture selection Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 01/17] api/pvestatd: broadcast and expose non-x86 host architecture Dominik Csapak
2026-02-03 13:56 ` Thomas Lamprecht
2026-02-03 15:07 ` Thomas Lamprecht
2026-02-06 7:26 ` Dominik Csapak [this message]
2026-02-06 7:41 ` Thomas Lamprecht
2026-02-06 8:02 ` Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 02/17] ui: qemu: wizard: refactor ostype and cd selector into an OSPanel Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 03/17] ui: form: add filtered KVComboBox Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 04/17] ui: resource store: add architecture field Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 05/17] ui: qemu: add architecture specific defaults and helpers Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 06/17] ui: qemu: add architecture field in wizard and hardware view Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 07/17] ui: qemu: make scsi hw selector architecture aware Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 08/17] ui: qemu: make osdefaults " Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 09/17] ui: qemu: make os type selector " Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 10/17] ui: qemu: make machine panels/fields " Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 11/17] ui: qemu: make bios selector " Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 12/17] ui: qemu: make sortByPreviousUsage " Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 13/17] ui: qemu: wizard: use defaults to populate machine and bios Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 14/17] ui: qemu: wizard: make iso confid architecture specific Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 15/17] ui: qemu: make bus selector architecture aware Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 16/17] ui: qemu: make processor edit " Dominik Csapak
2026-02-03 10:00 ` [PATCH manager v2 17/17] ui: qemu: change ui default for cpu model Dominik Csapak
2026-02-03 10:56 ` [PATCH manager v2 00/17] enable qemu vm architecture selection Dominik Csapak
2026-02-03 13:34 ` Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4dffdb37-c01d-45eb-8053-4ec54e847390@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
--cc=t.lamprecht@proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox