From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <f.ebner@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id E2E626452F
 for <pve-devel@lists.proxmox.com>; Thu,  3 Mar 2022 10:08:57 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id CC2242FDAE
 for <pve-devel@lists.proxmox.com>; Thu,  3 Mar 2022 10:08:27 +0100 (CET)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id B40C42FDA2
 for <pve-devel@lists.proxmox.com>; Thu,  3 Mar 2022 10:08:23 +0100 (CET)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 83B8346E77
 for <pve-devel@lists.proxmox.com>; Thu,  3 Mar 2022 10:08:17 +0100 (CET)
Message-ID: <3a38052a-a914-a04d-2b4b-f105304ac1c2@proxmox.com>
Date: Thu, 3 Mar 2022 10:08:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.6.1
Content-Language: en-US
To: Hannes Laimer <h.laimer@proxmox.com>, pve-devel@lists.proxmox.com
References: <20220301085153.31445-1-h.laimer@proxmox.com>
 <20220301085153.31445-3-h.laimer@proxmox.com>
 <80447296-7315-6a9d-03a0-dccdc6a77189@proxmox.com>
 <02eb4875-5c2d-c2a8-dcf7-4f968363b037@proxmox.com>
From: Fabian Ebner <f.ebner@proxmox.com>
In-Reply-To: <02eb4875-5c2d-c2a8-dcf7-4f968363b037@proxmox.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.129 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 NICE_REPLY_A           -0.001 Looks like a legit reply (A)
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 T_SCC_BODY_TEXT_LINE    -0.01 -
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [lxc.pm]
Subject: Re: [pve-devel] [PATCH pve-container 2/3] fix #3903: api2: remove
 vmid from jobs.cfg
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Thu, 03 Mar 2022 09:08:57 -0000

Am 02.03.22 um 15:28 schrieb Hannes Laimer:
> Am 02.03.22 um 11:16 schrieb Fabian Ebner:
>> Am 01.03.22 um 09:51 schrieb Hannes Laimer:
>>> ... on destroy if 'purge' is selected
>>>
>>> Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
>>> ---
>>>   src/PVE/API2/LXC.pm | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
>>> index 84712f7..2e4146e 100644
>>> --- a/src/PVE/API2/LXC.pm
>>> +++ b/src/PVE/API2/LXC.pm
>>> @@ -758,6 +758,7 @@ __PACKAGE__->register_method({
>>>               print "purging CT $vmid from related configurations..\n";
>>>           PVE::ReplicationConfig::remove_vmid_jobs($vmid);
>>>           PVE::VZDump::Plugin::remove_vmid_from_backup_jobs($vmid);
>>> +        PVE::Jobs::Plugin::remove_vmid_from_jobs($vmid);
>>
>> Should add a
>>      use PVE::Jobs::Plugin;
>> (or PVE::Jobs if the function is moved there) to the imports.
> The reason I did not do that in the first place is that it is only used
> once in the whole file and I felt like I would make an already quite
> large import section even bigger. Should the previous two lines also use
> use? Do we have some kind of policy for when and when not to use use?

If the module is not imported explicitly, it will only work if you're
lucky and it's already imported (e.g. if C imports B and B imports A,
then C can call functions from A). But then things are brittle: Imagine
that at some point, B might not use anything from A anymore and so the
import is dropped there. Then Perl still will compile fine, but suddenly
the call in C is broken!

Ideally, each module lists all the modules it uses explicitly.
Unfortunately, Perl is very lax here (and everywhere :P).

>>
>> Same for the next patch.
>>
>>>             if ($ha_managed) {
>>>               PVE::HA::Config::delete_service_from_config("ct:$vmid");