From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id A7F891FF187 for ; Mon, 3 Nov 2025 11:22:40 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B4A4817F0A; Mon, 3 Nov 2025 11:21:57 +0100 (CET) From: Daniel Kral To: pve-devel@lists.proxmox.com Date: Mon, 3 Nov 2025 11:19:48 +0100 Message-ID: <20251103102118.153666-5-d.kral@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251103102118.153666-1-d.kral@proxmox.com> References: <20251103102118.153666-1-d.kral@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1762165266085 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.015 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 v3 04/21] rules: resource affinity: inter-consistency check with merged positive rules 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" VGhlIHJlc291cmNlIGFmZmluaXR5IHJ1bGUgc2V0IGlzIGNoZWNrZWQgd2hldGhlciBpdCBjb250 YWlucyBwYWlycyBvZgpwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVs ZXMsIHdoaWNoIHNwZWNpZnkgdHdvIG9yIG1vcmUKSEEgcmVzb3VyY2VzIGluIHRoZW0sIGFuZCBw cnVuZXMgdGhlbSBhcyB0aG9zZSBhcmUgaW5mZWFzaWJsZS4KClRoaXMgY2hlY2sgaGFzIHRoZSBh c3N1bXB0aW9uIHRoYXQgZWFjaCBwb3NpdGl2ZSByZXNvdXJjZSBhZmZpbml0eQpydWxlJ3MgcmVz b3VyY2Ugc2V0IGlzIGRpc2pvaW50IGZyb20gZWFjaCBvdGhlciwgYnV0IHRoaXMgaXMgb25seSBk b25lCmluIHRoZSBsYXRlciB0cmFuc2Zvcm1hdGlvbiBzdGFnZSB3aGVuIHBvc2l0aXZlIHJlc291 cmNlIGFmZmluaXR5IHdpdGgKb3ZlcmxhcHBpbmcgSEEgcmVzb3VyY2VzIGluIHRoZW0gYXJlIG1l cmdlZCB0byBvbmUgcnVsZS4KCkZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGluY29uc2lzdGVu dCBydWxlcyBhcmUgbm90IHBydW5lZDoKCi0gcG9zaXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVs ZSBiZXR3ZWVuIHZtOjEwMSBhbmQgdm06MTAyCi0gcG9zaXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkg cnVsZSBiZXR3ZWVuIHZtOjEwMiBhbmQgdm06MTAzCi0gbmVnYXRpdmUgcmVzb3VyY2UgYWZmaW5p dHkgcnVsZSBiZXR3ZWVuIHZtOjEwMSBhbmQgdm06MTAzCgpUaGVyZWZvcmUgYnVpbGQgdGhlIHNh bWUgZGlzam9pbnQgcG9zaXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcmVzb3VyY2UKc2V0cyBhcyB0 aGUgbWVyZ2VfY29ubmVjdGVkX3Bvc2l0aXZlX3Jlc291cmNlX2FmZmluaXR5X3J1bGVzKC4uLikK c3Vicm91dGluZSwgc28gdGhhdCB0aGUgaW5jb25zaXN0ZW5jeSBjaGVjayBoYXMgdGhlIG5lY2Vz c2FyeQppbmZvcm1hdGlvbiBpbiBhZHZhbmNlLgoKRml4ZXM6IDM2N2NkYmZhICgicnVsZXM6IGlu dHJvZHVjZSByZXNvdXJjZSBhZmZpbml0eSBydWxlIHBsdWdpbiIpClJlcG9ydGVkLWJ5OiBIYW5u ZXMgRMO8cnIgPGguZHVlcnJAcHJveG1veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhbmllbCBLcmFs IDxkLmtyYWxAcHJveG1veC5jb20+ClJldmlld2VkLWJ5OiBNaWNoYWVsIEvDtnBwbCA8bS5rb2Vw cGxAcHJveG1veC5jb20+ClRlc3RlZC1ieTogTWljaGFlbCBLw7ZwcGwgPG0ua29lcHBsQHByb3ht b3guY29tPgotLS0KY2hhbmdlcyBzaW5jZSB2MjoKICAtIG5vbmUKCiBzcmMvUFZFL0hBL1J1bGVz L1Jlc291cmNlQWZmaW5pdHkucG0gICAgICAgICAgfCAyMyArKysrKysrKysrKystLS0tLS0tCiAu Li4vaW5jb25zaXN0ZW50LXJlc291cmNlLWFmZmluaXR5LXJ1bGVzLmNmZyAgfCAxNSArKysrKysr KysrKysKIC4uLnNpc3RlbnQtcmVzb3VyY2UtYWZmaW5pdHktcnVsZXMuY2ZnLmV4cGVjdCB8ICA1 ICsrKy0KIDMgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvUFZFL0hBL1J1bGVzL1Jlc291cmNlQWZmaW5pdHkucG0gYi9zcmMv UFZFL0hBL1J1bGVzL1Jlc291cmNlQWZmaW5pdHkucG0KaW5kZXggODZiOTRkNjAuLjIyYjdiNWZl IDEwMDY0NAotLS0gYS9zcmMvUFZFL0hBL1J1bGVzL1Jlc291cmNlQWZmaW5pdHkucG0KKysrIGIv c3JjL1BWRS9IQS9SdWxlcy9SZXNvdXJjZUFmZmluaXR5LnBtCkBAIC0yMDcsMTQgKzIwNywxOCBA QCBzdWIgY2hlY2tfaW50ZXJfcmVzb3VyY2VfYWZmaW5pdHlfcnVsZXNfY29uc2lzdGVuY3kgewog CiAgICAgbXkgQGNvbmZsaWN0cyA9ICgpOwogCi0gICAgd2hpbGUgKG15ICgkcG9zaXRpdmVpZCwg JHBvc2l0aXZlKSA9IGVhY2ggJSRwb3NpdGl2ZV9ydWxlcykgewotICAgICAgICBteSAkcG9zaXRp dmVfcmVzb3VyY2VzID0gJHBvc2l0aXZlLT57cmVzb3VyY2VzfTsKKyAgICBteSBAZGlzam9pbnRf cG9zaXRpdmVfcnVsZXMgPQorICAgICAgICBQVkU6OkhBOjpSdWxlczo6SGVscGVyczo6ZmluZF9k aXNqb2ludF9ydWxlc19yZXNvdXJjZV9zZXRzKCRwb3NpdGl2ZV9ydWxlcyk7CisKKyAgICBmb3Ig bXkgJGVudHJ5IChAZGlzam9pbnRfcG9zaXRpdmVfcnVsZXMpIHsKKyAgICAgICAgbXkgJHBvc2l0 aXZlX3Jlc291cmNlcyA9ICRlbnRyeS0+e3Jlc291cmNlc307CiAKICAgICAgICAgd2hpbGUgKG15 ICgkbmVnYXRpdmVpZCwgJG5lZ2F0aXZlKSA9IGVhY2ggJSRuZWdhdGl2ZV9ydWxlcykgewogICAg ICAgICAgICAgbXkgJGNvbW1vbl9yZXNvdXJjZXMgPSBzZXRfaW50ZXJzZWN0KCRwb3NpdGl2ZV9y ZXNvdXJjZXMsICRuZWdhdGl2ZS0+e3Jlc291cmNlc30pOwogICAgICAgICAgICAgbmV4dCBpZiAl JGNvbW1vbl9yZXNvdXJjZXMgPCAyOwogCi0gICAgICAgICAgICBwdXNoIEBjb25mbGljdHMsIFsk cG9zaXRpdmVpZCwgJG5lZ2F0aXZlaWRdOworICAgICAgICAgICAgcHVzaCBAY29uZmxpY3RzLCBb J25lZ2F0aXZlJywgJG5lZ2F0aXZlaWRdOworICAgICAgICAgICAgcHVzaCBAY29uZmxpY3RzLCBb J3Bvc2l0aXZlJywgJF9dIGZvciAkZW50cnktPntydWxlaWRzfS0+QCo7CiAgICAgICAgIH0KICAg ICB9CiAKQEAgLTIzNSwxMiArMjM5LDE1IEBAIF9fUEFDS0FHRV9fLT5yZWdpc3Rlcl9jaGVjaygK ICAgICAgICAgbXkgKCRjb25mbGljdHMsICRlcnJvcnMpID0gQF87CiAKICAgICAgICAgZm9yIG15 ICRjb25mbGljdCAoQCRjb25mbGljdHMpIHsKLSAgICAgICAgICAgIG15ICgkcG9zaXRpdmVpZCwg JG5lZ2F0aXZlaWQpID0gQCRjb25mbGljdDsKKyAgICAgICAgICAgIG15ICgkdHlwZSwgJHJ1bGVp ZCkgPSBAJGNvbmZsaWN0OwogCi0gICAgICAgICAgICBwdXNoICRlcnJvcnMtPnskcG9zaXRpdmVp ZH0tPntyZXNvdXJjZXN9LT5AKiwKLSAgICAgICAgICAgICAgICAicnVsZSBzaGFyZXMgdHdvIG9y IG1vcmUgcmVzb3VyY2VzIHdpdGggYSBuZWdhdGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlIjsK LSAgICAgICAgICAgIHB1c2ggJGVycm9ycy0+eyRuZWdhdGl2ZWlkfS0+e3Jlc291cmNlc30tPkAq LAotICAgICAgICAgICAgICAgICJydWxlIHNoYXJlcyB0d28gb3IgbW9yZSByZXNvdXJjZXMgd2l0 aCBhIHBvc2l0aXZlIHJlc291cmNlIGFmZmluaXR5IHJ1bGUiOworICAgICAgICAgICAgaWYgKCR0 eXBlIGVxICdwb3NpdGl2ZScpIHsKKyAgICAgICAgICAgICAgICBwdXNoICRlcnJvcnMtPnskcnVs ZWlkfS0+e3Jlc291cmNlc30tPkAqLAorICAgICAgICAgICAgICAgICAgICAicnVsZSBzaGFyZXMg dHdvIG9yIG1vcmUgcmVzb3VyY2VzIHdpdGggYSBuZWdhdGl2ZSByZXNvdXJjZSBhZmZpbml0eSBy dWxlIjsKKyAgICAgICAgICAgIH0gZWxzaWYgKCR0eXBlIGVxICduZWdhdGl2ZScpIHsKKyAgICAg ICAgICAgICAgICBwdXNoICRlcnJvcnMtPnskcnVsZWlkfS0+e3Jlc291cmNlc30tPkAqLAorICAg ICAgICAgICAgICAgICAgICAicnVsZSBzaGFyZXMgdHdvIG9yIG1vcmUgcmVzb3VyY2VzIHdpdGgg YSBwb3NpdGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlIjsKKyAgICAgICAgICAgIH0KICAgICAg ICAgfQogICAgIH0sCiApOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcnVsZXNfY2Zncy9pbmNvbnNp c3RlbnQtcmVzb3VyY2UtYWZmaW5pdHktcnVsZXMuY2ZnIGIvc3JjL3Rlc3QvcnVsZXNfY2Zncy9p bmNvbnNpc3RlbnQtcmVzb3VyY2UtYWZmaW5pdHktcnVsZXMuY2ZnCmluZGV4IGE2MjBlMjkzLi42 YmZjMmRhZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcnVsZXNfY2Zncy9pbmNvbnNpc3RlbnQtcmVz b3VyY2UtYWZmaW5pdHktcnVsZXMuY2ZnCisrKyBiL3NyYy90ZXN0L3J1bGVzX2NmZ3MvaW5jb25z aXN0ZW50LXJlc291cmNlLWFmZmluaXR5LXJ1bGVzLmNmZwpAQCAtMSwzICsxLDQgQEAKKyMgQ2Fz ZSAxOiBSZW1vdmUgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIHJlc291cmNlIGFmZmluaXR5IHJ1bGVz LCB3aGljaCBzaGFyZSB0d28gb3IgbW9yZSBoYSByZXNvdXJjZXMuCiByZXNvdXJjZS1hZmZpbml0 eToga2VlcC1hcGFydDEKIAlyZXNvdXJjZXMgdm06MTAyLHZtOjEwMwogCWFmZmluaXR5IG5lZ2F0 aXZlCkBAIC05LDMgKzEwLDE3IEBAIHJlc291cmNlLWFmZmluaXR5OiBrZWVwLWFwYXJ0MgogcmVz b3VyY2UtYWZmaW5pdHk6IHN0aWNrLXRvZ2V0aGVyMQogCXJlc291cmNlcyB2bToxMDEsdm06MTAy LHZtOjEwMyx2bToxMDQsdm06MTA2CiAJYWZmaW5pdHkgcG9zaXRpdmUKKworIyBDYXNlIDI6IFJl bW92ZSBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVsZXMsIHdoaWNo IHNoYXJlIHR3byBvciBtb3JlIEhBIHJlc291cmNlcyB3aXRoIHRoZSBwb3NpdGl2ZQorIyAgICAg ICAgIHJlc291cmNlIGFmZmluaXR5IGJlaW5nIHNwbGl0IGluIHR3by4KK3Jlc291cmNlLWFmZmlu aXR5OiBzcGxpdC1zdGljay10b2dldGhlcjEKKwlyZXNvdXJjZXMgdm06MjAxLHZtOjIwMgorCWFm ZmluaXR5IHBvc2l0aXZlCisKK3Jlc291cmNlLWFmZmluaXR5OiBzcGxpdC1zdGljay10b2dldGhl cjIKKwlyZXNvdXJjZXMgdm06MjAyLHZtOjIwMworCWFmZmluaXR5IHBvc2l0aXZlCisKK3Jlc291 cmNlLWFmZmluaXR5OiBzcGxpdC1rZWVwLWFwYXJ0MQorCXJlc291cmNlcyB2bToyMDEsdm06MjAz CisJYWZmaW5pdHkgbmVnYXRpdmUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3J1bGVzX2NmZ3MvaW5j b25zaXN0ZW50LXJlc291cmNlLWFmZmluaXR5LXJ1bGVzLmNmZy5leHBlY3QgYi9zcmMvdGVzdC9y dWxlc19jZmdzL2luY29uc2lzdGVudC1yZXNvdXJjZS1hZmZpbml0eS1ydWxlcy5jZmcuZXhwZWN0 CmluZGV4IGQ0YTJkN2IyLi44ZjIzMzhkOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcnVsZXNfY2Zn cy9pbmNvbnNpc3RlbnQtcmVzb3VyY2UtYWZmaW5pdHktcnVsZXMuY2ZnLmV4cGVjdAorKysgYi9z cmMvdGVzdC9ydWxlc19jZmdzL2luY29uc2lzdGVudC1yZXNvdXJjZS1hZmZpbml0eS1ydWxlcy5j ZmcuZXhwZWN0CkBAIC0xLDExICsxLDE0IEBACiAtLS0gTG9nIC0tLQogRHJvcCBydWxlICdrZWVw LWFwYXJ0MScsIGJlY2F1c2UgcnVsZSBzaGFyZXMgdHdvIG9yIG1vcmUgcmVzb3VyY2VzIHdpdGgg YSBwb3NpdGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlLgogRHJvcCBydWxlICdrZWVwLWFwYXJ0 MicsIGJlY2F1c2UgcnVsZSBzaGFyZXMgdHdvIG9yIG1vcmUgcmVzb3VyY2VzIHdpdGggYSBwb3Np dGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlLgorRHJvcCBydWxlICdzcGxpdC1rZWVwLWFwYXJ0 MScsIGJlY2F1c2UgcnVsZSBzaGFyZXMgdHdvIG9yIG1vcmUgcmVzb3VyY2VzIHdpdGggYSBwb3Np dGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlLgorRHJvcCBydWxlICdzcGxpdC1zdGljay10b2dl dGhlcjEnLCBiZWNhdXNlIHJ1bGUgc2hhcmVzIHR3byBvciBtb3JlIHJlc291cmNlcyB3aXRoIGEg bmVnYXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVsZS4KK0Ryb3AgcnVsZSAnc3BsaXQtc3RpY2st dG9nZXRoZXIyJywgYmVjYXVzZSBydWxlIHNoYXJlcyB0d28gb3IgbW9yZSByZXNvdXJjZXMgd2l0 aCBhIG5lZ2F0aXZlIHJlc291cmNlIGFmZmluaXR5IHJ1bGUuCiBEcm9wIHJ1bGUgJ3N0aWNrLXRv Z2V0aGVyMScsIGJlY2F1c2UgcnVsZSBzaGFyZXMgdHdvIG9yIG1vcmUgcmVzb3VyY2VzIHdpdGgg YSBuZWdhdGl2ZSByZXNvdXJjZSBhZmZpbml0eSBydWxlLgogRHJvcCBydWxlICdzdGljay10b2dl dGhlcjEnLCBiZWNhdXNlIHJ1bGUgc2hhcmVzIHR3byBvciBtb3JlIHJlc291cmNlcyB3aXRoIGEg bmVnYXRpdmUgcmVzb3VyY2UgYWZmaW5pdHkgcnVsZS4KIC0tLSBDb25maWcgLS0tCiAkVkFSMSA9 IHsKLSAgICAgICAgICAnZGlnZXN0JyA9PiAnNTA4NzViMzIwMDM0ZDhhYzdkZGVkMTg1ZTU5MGY1 Zjg3YzRlMmJiNicsCisgICAgICAgICAgJ2RpZ2VzdCcgPT4gJzgwY2RjMTFhMWQ1YmYyZDFkNTAw NjY1YWYxMjEwY2Q1OWFhYmVkZTYnLAogICAgICAgICAgICdpZHMnID0+IHt9LAogICAgICAgICAg ICdvcmRlcicgPT4ge30KICAgICAgICAgfTsKLS0gCjIuNDcuMwoKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2 ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1i aW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK