From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 197061FF15C for ; Fri, 14 Nov 2025 12:17:56 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 97ADCF445; Fri, 14 Nov 2025 12:18:40 +0100 (CET) From: Daniel Kral To: pve-devel@lists.proxmox.com Date: Fri, 14 Nov 2025 12:17:03 +0100 Message-ID: <20251114111828.160294-6-d.kral@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251114111828.160294-1-d.kral@proxmox.com> References: <20251114111828.160294-1-d.kral@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1763119086706 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.017 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH ha-manager v4 05/21] rules: add merged positive resource affinity info in global checks X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" VGhlIG5vZGUgYWZmaW5pdHkgYW5kIHBvc2l0aXZlIHJlc291cmNlIGFmZmluaXR5IHJ1bGUgc3Vi c2V0cyBhcmUKY2hlY2tlZCB3aGV0aGVyIEhBIHJlc291cmNlcyBpbiBhIHBvc2l0aXZlIHJlc291 cmNlIGFmZmluaXR5IHJ1bGUgYXJlIGluCm1vcmUgdGhhbiBvbmUgbm9kZSBhZmZpbml0eSBydWxl IGluIHRvdGFsLCBhbmQgaWYgc28gcHJ1bmVzIHRoZW0gYXMKdGhvc2UgYXJlIG5vdCBmZWFzaWJs ZS4KClRoaXMgY2hlY2sgaGFzIHRoZSBhc3N1bXB0aW9uIHRoYXQgZWFjaCBwb3NpdGl2ZSByZXNv dXJjZSBhZmZpbml0eQpydWxlJ3MgcmVzb3VyY2Ugc2V0IGlzIGRpc2pvaW50IGZyb20gZWFjaCBv dGhlciwgYnV0IHRoaXMgaXMgb25seSBkb25lCmluIHRoZSBsYXRlciB0cmFuc2Zvcm1hdGlvbiBz dGFnZSB3aGVuIHBvc2l0aXZlIHJlc291cmNlIGFmZmluaXR5IHdpdGgKb3ZlcmxhcHBpbmcgSEEg cmVzb3VyY2VzIGluIHRoZW0gYXJlIG1lcmdlZCB0byBvbmUgcnVsZS4KCkZvciBleGFtcGxlLCB0 aGUgZm9sbG93aW5nIGluY29uc2lzdGVudCBydWxlcyBhcmUgbm90IHBydW5lZDoKCi0gcG9zaXRp dmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVsZSBiZXR3ZWVuIHZtOjEwMSBhbmQgdm06MTAyCi0gcG9z aXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVsZSBiZXR3ZWVuIHZtOjEwMiBhbmQgdm06MTAzCi0g bm9kZSBhZmZpbml0eSBydWxlIGZvciB2bToxMDEgb24gbm9kZTEKLSBub2RlIGFmZmluaXR5IHJ1 bGUgZm9yIHZtOjEwMyBvbiBub2RlMwoKVGhlcmVmb3JlIGJ1aWxkIHRoZSBzYW1lIGRpc2pvaW50 IHBvc2l0aXZlIHJlc291cmNlIGFmZmluaXR5IHJlc291cmNlCnNldHMgYXMgdGhlIG1lcmdlX2Nv bm5lY3RlZF9wb3NpdGl2ZV9yZXNvdXJjZV9hZmZpbml0eV9ydWxlcyguLi4pCnN1YnJvdXRpbmUs IHNvIHRoYXQgdGhlIGluY29uc2lzdGVuY3kgY2hlY2sgaGFzIHRoZSBuZWNlc3NhcnkKaW5mb3Jt YXRpb24gaW4gYWR2YW5jZS4KCkZpeGVzOiBjNDhkOWU2NiAoInJ1bGVzOiByZXN0cmljdCBpbnRl ci1wbHVnaW4gcmVzb3VyY2UgcmVmZXJlbmNlcyB0byBzaW1wbGUgY2FzZXMiKQpTaWduZWQtb2Zm LWJ5OiBEYW5pZWwgS3JhbCA8ZC5rcmFsQHByb3htb3guY29tPgpSZXZpZXdlZC1ieTogTWljaGFl bCBLw7ZwcGwgPG0ua29lcHBsQHByb3htb3guY29tPgpUZXN0ZWQtYnk6IE1pY2hhZWwgS8O2cHBs IDxtLmtvZXBwbEBwcm94bW94LmNvbT4KLS0tCiBzcmMvUFZFL0hBL1J1bGVzLnBtICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAxMCArKysrKysrLS0tCiAuLi5vbnNpc3RlbnQtbm9kZS1yZXNv dXJjZS1hZmZpbml0eS1ydWxlcy5jZmcgfCAxOSArKysrKysrKysrKysrKysrKysrCiAuLi5udC1u b2RlLXJlc291cmNlLWFmZmluaXR5LXJ1bGVzLmNmZy5leHBlY3QgfCAgNiArKysrKy0KIDMgZmls ZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvUFZFL0hBL1J1bGVzLnBtIGIvc3JjL1BWRS9IQS9SdWxlcy5wbQppbmRleCAzMjNhZDAz OC4uZTEzNzY5YTEgMTAwNjQ0Ci0tLSBhL3NyYy9QVkUvSEEvUnVsZXMucG0KKysrIGIvc3JjL1BW RS9IQS9SdWxlcy5wbQpAQCAtOCw2ICs4LDcgQEAgdXNlIFBWRTo6VG9vbHM7CiAKIHVzZSBQVkU6 OkhBOjpIYXNoVG9vbHMgcXcoc2V0X2ludGVyc2VjdCBzZXRfdW5pb24gc2V0c19hcmVfZGlzam9p bnQpOwogdXNlIFBWRTo6SEE6OlRvb2xzOwordXNlIFBWRTo6SEE6OlJ1bGVzOjpIZWxwZXJzOwog CiB1c2UgYmFzZSBxdyhQVkU6OlNlY3Rpb25Db25maWcpOwogCkBAIC01ODAsOCArNTgxLDExIEBA IHN1YiBjaGVja19zaW5nbGVfbm9kZV9hZmZpbml0eV9wZXJfcG9zaXRpdmVfcmVzb3VyY2VfYWZm aW5pdHlfcnVsZSB7CiAKICAgICBteSBAY29uZmxpY3RzID0gKCk7CiAKLSAgICB3aGlsZSAobXkg KCRwb3NpdGl2ZWlkLCAkcG9zaXRpdmVfcnVsZSkgPSBlYWNoICUkcG9zaXRpdmVfcnVsZXMpIHsK LSAgICAgICAgbXkgJHBvc2l0aXZlX3Jlc291cmNlcyA9ICRwb3NpdGl2ZV9ydWxlLT57cmVzb3Vy Y2VzfTsKKyAgICBteSBAZGlzam9pbnRfcG9zaXRpdmVfcnVsZXMgPQorICAgICAgICBQVkU6OkhB OjpSdWxlczo6SGVscGVyczo6ZmluZF9kaXNqb2ludF9ydWxlc19yZXNvdXJjZV9zZXRzKCRwb3Np dGl2ZV9ydWxlcyk7CisKKyAgICBmb3IgbXkgJGVudHJ5IChAZGlzam9pbnRfcG9zaXRpdmVfcnVs ZXMpIHsKKyAgICAgICAgbXkgJHBvc2l0aXZlX3Jlc291cmNlcyA9ICRlbnRyeS0+e3Jlc291cmNl c307CiAgICAgICAgIG15IEBwYWlyZWRfbm9kZV9hZmZpbml0eV9ydWxlcyA9ICgpOwogCiAgICAg ICAgIHdoaWxlIChteSAoJG5vZGVfYWZmaW5pdHlfaWQsICRub2RlX2FmZmluaXR5X3J1bGUpID0g ZWFjaCAlJG5vZGVfYWZmaW5pdHlfcnVsZXMpIHsKQEAgLTU5MCw3ICs1OTQsNyBAQCBzdWIgY2hl Y2tfc2luZ2xlX25vZGVfYWZmaW5pdHlfcGVyX3Bvc2l0aXZlX3Jlc291cmNlX2FmZmluaXR5X3J1 bGUgewogICAgICAgICAgICAgcHVzaCBAcGFpcmVkX25vZGVfYWZmaW5pdHlfcnVsZXMsICRub2Rl X2FmZmluaXR5X2lkOwogICAgICAgICB9CiAgICAgICAgIGlmIChAcGFpcmVkX25vZGVfYWZmaW5p dHlfcnVsZXMgPiAxKSB7Ci0gICAgICAgICAgICBwdXNoIEBjb25mbGljdHMsIFsncG9zaXRpdmUn LCAkcG9zaXRpdmVpZF07CisgICAgICAgICAgICBwdXNoIEBjb25mbGljdHMsIFsncG9zaXRpdmUn LCAkX10gZm9yICRlbnRyeS0+e3J1bGVpZHN9LT5AKjsKICAgICAgICAgICAgIHB1c2ggQGNvbmZs aWN0cywgWydub2RlLWFmZmluaXR5JywgJF9dIGZvciBAcGFpcmVkX25vZGVfYWZmaW5pdHlfcnVs ZXM7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9ydWxlc19jZmdzL2lu Y29uc2lzdGVudC1ub2RlLXJlc291cmNlLWFmZmluaXR5LXJ1bGVzLmNmZyBiL3NyYy90ZXN0L3J1 bGVzX2NmZ3MvaW5jb25zaXN0ZW50LW5vZGUtcmVzb3VyY2UtYWZmaW5pdHktcnVsZXMuY2ZnCmlu ZGV4IDg4ZTZkZDBlLi41MjQwMmNkOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcnVsZXNfY2Zncy9p bmNvbnNpc3RlbnQtbm9kZS1yZXNvdXJjZS1hZmZpbml0eS1ydWxlcy5jZmcKKysrIGIvc3JjL3Rl c3QvcnVsZXNfY2Zncy9pbmNvbnNpc3RlbnQtbm9kZS1yZXNvdXJjZS1hZmZpbml0eS1ydWxlcy5j ZmcKQEAgLTUyLDMgKzUyLDIyIEBAIG5vZGUtYWZmaW5pdHk6IHZtNDAyLW11c3QtYmUtb24tbm9k ZTEKIHJlc291cmNlLWFmZmluaXR5OiB2bTQwMS12bTQwMi1tdXN0LWJlLWtlcHQtc2VwYXJhdGUK IAlyZXNvdXJjZXMgdm06NDAxLHZtOjQwMgogCWFmZmluaXR5IG5lZ2F0aXZlCisKKyMgQ2FzZSA1 OiBSZW1vdmUgcG9zaXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVsZXMsIHdoaWNoIGhhdmUgb3Zl cmxhcHBpbmcgSEEgcmVzb3VyY2VzLCBhbmQgYXJlIHJlc3RyaWN0ZWQgd2l0aCB0d28gZGlmZmVy ZW50IG5vZGUgYWZmaW5pdHkgcnVsZXMuCitub2RlLWFmZmluaXR5OiB2bTUwMS1tdXN0LWJlLW9u LW5vZGUxCisJcmVzb3VyY2VzIHZtOjUwMQorCW5vZGVzIG5vZGUxCisJc3RyaWN0IDEKKworbm9k ZS1hZmZpbml0eTogdm01MDMtbXVzdC1iZS1vbi1ub2RlMgorCXJlc291cmNlcyB2bTo1MDMKKwlu b2RlcyBub2RlMgorCXN0cmljdCAxCisKK3Jlc291cmNlLWFmZmluaXR5OiB2bTUwMS12bTUwMi1t dXN0LWJlLWtlcHQtdG9nZXRoZXIKKwlyZXNvdXJjZXMgdm06NTAxLHZtOjUwMgorCWFmZmluaXR5 IHBvc2l0aXZlCisKK3Jlc291cmNlLWFmZmluaXR5OiB2bTUwMi12bTUwMy1tdXN0LWJlLWtlcHQt dG9nZXRoZXIKKwlyZXNvdXJjZXMgdm06NTAyLHZtOjUwMworCWFmZmluaXR5IHBvc2l0aXZlCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9ydWxlc19jZmdzL2luY29uc2lzdGVudC1ub2RlLXJlc291cmNl LWFmZmluaXR5LXJ1bGVzLmNmZy5leHBlY3QgYi9zcmMvdGVzdC9ydWxlc19jZmdzL2luY29uc2lz dGVudC1ub2RlLXJlc291cmNlLWFmZmluaXR5LXJ1bGVzLmNmZy5leHBlY3QKaW5kZXggZTEyMjQy YWIuLjgwMjIyYzg2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9ydWxlc19jZmdzL2luY29uc2lzdGVu dC1ub2RlLXJlc291cmNlLWFmZmluaXR5LXJ1bGVzLmNmZy5leHBlY3QKKysrIGIvc3JjL3Rlc3Qv cnVsZXNfY2Zncy9pbmNvbnNpc3RlbnQtbm9kZS1yZXNvdXJjZS1hZmZpbml0eS1ydWxlcy5jZmcu ZXhwZWN0CkBAIC01LDkgKzUsMTMgQEAgRHJvcCBydWxlICd2bTMwMS12bTMwMi1tdXN0LWJlLWtl cHQtdG9nZXRoZXInLCBiZWNhdXNlIHJlc291cmNlcyBhcmUgaW4gbXVsdGlwbGUKIERyb3AgcnVs ZSAndm00MDEtbXVzdC1iZS1vbi1ub2RlMScsIGJlY2F1c2UgYXQgbGVhc3Qgb25lIHJlc291cmNl IGlzIGluIGEgbmVnYXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVsZSBhbmQgdGhpcyBydWxlIHdv dWxkIHJlc3RyaWN0IHRoZXNlIHRvIGxlc3Mgbm9kZXMgdGhhbiBhdmFpbGFibGUgdG8gdGhlIHJl c291cmNlcy4KIERyb3AgcnVsZSAndm00MDEtdm00MDItbXVzdC1iZS1rZXB0LXNlcGFyYXRlJywg YmVjYXVzZSB0d28gb3IgbW9yZSByZXNvdXJjZXMgYXJlIHJlc3RyaWN0ZWQgdG8gbGVzcyBub2Rl cyB0aGFuIGF2YWlsYWJsZSB0byB0aGUgcmVzb3VyY2VzLgogRHJvcCBydWxlICd2bTQwMi1tdXN0 LWJlLW9uLW5vZGUxJywgYmVjYXVzZSBhdCBsZWFzdCBvbmUgcmVzb3VyY2UgaXMgaW4gYSBuZWdh dGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlIGFuZCB0aGlzIHJ1bGUgd291bGQgcmVzdHJpY3Qg dGhlc2UgdG8gbGVzcyBub2RlcyB0aGFuIGF2YWlsYWJsZSB0byB0aGUgcmVzb3VyY2VzLgorRHJv cCBydWxlICd2bTUwMS1tdXN0LWJlLW9uLW5vZGUxJywgYmVjYXVzZSBhdCBsZWFzdCBvbmUgcmVz b3VyY2UgaXMgaW4gYSBwb3NpdGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlIGFuZCB0aGVyZSBh cmUgb3RoZXIgcmVzb3VyY2VzIGluIGF0IGxlYXN0IG9uZSBvdGhlciBub2RlIGFmZmluaXR5IHJ1 bGUgYWxyZWFkeS4KK0Ryb3AgcnVsZSAndm01MDEtdm01MDItbXVzdC1iZS1rZXB0LXRvZ2V0aGVy JywgYmVjYXVzZSByZXNvdXJjZXMgYXJlIGluIG11bHRpcGxlIG5vZGUgYWZmaW5pdHkgcnVsZXMu CitEcm9wIHJ1bGUgJ3ZtNTAyLXZtNTAzLW11c3QtYmUta2VwdC10b2dldGhlcicsIGJlY2F1c2Ug cmVzb3VyY2VzIGFyZSBpbiBtdWx0aXBsZSBub2RlIGFmZmluaXR5IHJ1bGVzLgorRHJvcCBydWxl ICd2bTUwMy1tdXN0LWJlLW9uLW5vZGUyJywgYmVjYXVzZSBhdCBsZWFzdCBvbmUgcmVzb3VyY2Ug aXMgaW4gYSBwb3NpdGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlIGFuZCB0aGVyZSBhcmUgb3Ro ZXIgcmVzb3VyY2VzIGluIGF0IGxlYXN0IG9uZSBvdGhlciBub2RlIGFmZmluaXR5IHJ1bGUgYWxy ZWFkeS4KIC0tLSBDb25maWcgLS0tCiAkVkFSMSA9IHsKLSAgICAgICAgICAnZGlnZXN0JyA9PiAn YTVkNzgyYTQ0MmJiZTNiZjNhNGQwODhkYjgyYTU3NWIzODJhNTNmZScsCisgICAgICAgICAgJ2Rp Z2VzdCcgPT4gJzAwYTcwZjRjMmJkZDQxYWVkMTZiNmU1Yjk4NjBjZDlmYjdmMGYwOTgnLAogICAg ICAgICAgICdpZHMnID0+IHsKICAgICAgICAgICAgICAgICAgICAgICd2bTEwMS12bTEwMi1tdXN0 LWJlLWtlcHQtdG9nZXRoZXInID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FmZmluaXR5JyA9PiAncG9zaXRpdmUnLAot LSAKMi40Ny4zCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tCmh0 dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZl bAo=