131 Commits

Author SHA1 Message Date
gyptazy
e6ae357838 fix(calculations): Fix PSI based balancing which resulted in a Python KeyError
Fixes: #420
2026-01-13 08:24:50 +01:00
gyptazy
72283d8c19 release: Create release 1.1.11
Fixes: #405
2026-01-09 14:22:27 +01:00
Florian Paul Azim Hoberg
34e340c25c feature: Add new option to enforce node/guest pinning even when cluster is balanced from a resource perspective.
Fixes: #414
2026-01-08 16:50:06 +01:00
gyptazy
f11ca263b8 Add support for configuring node-pinning strictness (default: true) within pools
Fixes: #406
2025-12-30 08:52:55 +01:00
gyptazy
a9d11daf40 Change balancing and sorting behaviour of guests
- Sort to be balanced guests first by size of affinity group (ASC)
  - Sort to be balanced guests afterwards by used memory size (ASC/DESC)
  - Validate if lowest used node is still the lowest one

Fixes: #378
Fixes: #390
2025-12-29 12:44:58 +01:00
gyptazy
e841481fdd Fix that ignored VMs/CTs got moved to another node when being ignored.
Fixes: #408
2025-12-24 16:43:12 +01:00
gyptazy
e0331e83e1 Adjust the integration of node resource reservation
- Renamed to set_node_resource_reservation
  - Immediately apply the values as maxmem for a node
    - Avoid recalculating percentage values
  - Simplified code
  - Adjusted debug logging
2025-12-24 09:06:39 +01:00
gyptazy
89ad425243 Add config exmaples to README for resource reservations on node level
Fixes: #373
2025-12-23 15:30:15 +01:00
Chipmonk2
2ce3d73262 Feature/resource reservation (#380)
Add resource reservation of memory for nodes
2025-12-23 15:08:29 +01:00
Florian Paul Azim Hoberg
d7631ef8f5 feature: Add HA job validation for migration jobs
Fixes: #402
2025-12-16 20:38:35 +01:00
gyptazy
09b5b83c24 fix: HA affinity/anti-affinity rules can only be evaluated on PVE9+ nodes
Fixes: #391
2025-12-14 09:34:21 +01:00
gyptazy
b39c13e2a5 fix: Fix crashing on non-existent pools
Fixes: #395
2025-12-13 20:05:11 +01:00
Florian Paul Azim Hoberg
22406e3628 fix: Fixed pool and ha-rules based node pinning of guests.
* Fixed pool based node pinning (@gyptazy). [#395]
  * Add support for Proxmox's native HA (node-affinity) rules for pinning guests to nodes (@gyptazy). [#391]

Fixes: #395
Fixes: #391
2025-12-11 14:43:44 +01:00
Florian Paul Azim Hoberg
c133ef1aee feature: Add support for Proxmox's native HA (affinity/anti-affinity) rules.
* Add support of native rules for affinity/anti-affinity types in Proxmox VE
  * Streamline affinity/anti-affinity rules by Tags, Pools and native Proxmox rules

Fixes: #391
2025-12-10 09:11:28 +01:00
Florian Paul Azim Hoberg
5101202f72 feature: Add possibility to sort and select balancing workloads by smaller/larger guest objects
- Allows operators to select if first larger or smaller workloads should be migrated

Fixes: #387
2025-12-08 15:44:38 +01:00
gyptazy
3d9f0eb85e fix(calculations): Add safety guard to avoid overprovisioning of nodes by memory.
Fixes: #275
2025-12-02 09:59:51 +01:00
James Riley
a70330d4c3 Fix enforce_affinity boolean inversion
During runs in which affinity checks determine balancing actions,
there was a small error in a boolean calculation that caused
ProxLB to always rebalance, as it exited the verification loop with
a failure the first time it saw a VM that actually passed affinity
checks.
2025-11-26 07:06:28 -07:00
Florian Paul Azim Hoberg
7e5fe13dfe release: Create release 1.1.10
Fixes: #371
2025-11-24 16:54:23 +01:00
Florian Paul Azim Hoberg
dd13181cf9 fix(pools): Fixes a crash during PVE resource pool enumeration by skipping
members not having a 'name' property (i.e. 'storage' members)

Fixes: #368
Sponsored-by: Stefan Oettl <stefan.oettl@isarnet.de> (@stefanoettl)
2025-11-18 13:08:23 +01:00
gyptazy
fe333749ce feature: Prevent unnecessary rebalancing by validating existing affinity enforcement before taking actions.
Fixes: #335
2025-11-12 10:03:28 +01:00
gyptazy
ff5fd2f7f1 fix: Add safety-guard for PVE 8 users when activating conntrack-aware migrations mistakenly.
Fixes: #359
2025-11-11 19:40:13 +01:00
gyptazy
46bbe01141 fix: Fix the Proxmox API connection validation which returned a false-positive logging message of timeouts.
Fixes: #361
2025-11-11 10:41:30 +01:00
gyptazy
33f6ff8db0 release: Create hotfix release 1.1.9.1
Fixes: #352
2025-10-30 17:46:54 +01:00
gyptazy
6a91afd405 fix: Adjust quoting of f-strings
Fixes: #352
2025-10-30 17:18:17 +01:00
Florian Paul Azim Hoberg
7fa110e465 fix: Make pool based configuration more robust
Fixes: #343
2025-10-27 14:49:40 +01:00
gyptazy
016378e37c feature(Pools): Add affinity/anti-affinity support by pools
Fixes: #343
2025-10-27 09:37:12 +01:00
gyptazy
30e3b66be9 feature(balancing): Add an optional threshold in percent for balancing
Fixes: #342
2025-10-23 12:10:01 +02:00
gyptazy
ac108f2abe release: Set release version 1.1.9 2025-10-23 11:45:59 +02:00
Florian Paul Azim Hoberg
581d6d480b feature(balancing): Add pressure (memory, cpu, disk) based balancing
Fixes: #337
2025-10-23 11:32:25 +02:00
gyptazy
0bbc5992ca release: Prepare release 1.1.8
Fixes: #332
2025-10-09 09:05:17 +02:00
gyptazy
af98ee8d5b fix(logging): Add a static ProxLB prefix to the log output when used by journal handler
Fixes: #329
2025-10-08 18:39:02 +02:00
Florian Paul Azim Hoberg
7b6db9cfdd fix(balancing): Fix API errors when using conntrack aware migration with older PVE versions.
Fixes: #318
2025-09-25 06:59:54 +02:00
gyptazy
8c473b416c docs: Adjust description 2025-09-23 20:34:04 +02:00
gyptazy
51c8afe5c5 docs: Update description 2025-09-23 20:30:20 +02:00
Florian Paul Azim Hoberg
d93048db69 release: Add release 1.1.7 information
Fixes: #314
2025-09-19 07:54:01 +02:00
Florian Paul Azim Hoberg
ba388dfd7c fix: Add missing new lines 2025-09-19 07:39:42 +02:00
Florian Paul Azim Hoberg
99fefe20bf fix: Fix guest object names are not being evaluated in debug log.
Fixes: #310
2025-09-15 09:48:59 +02:00
Florian Paul Azim Hoberg
88b3288eb7 fix: Fix crash when validating absent migration job ids
Fixes: #308
2025-09-15 09:26:01 +02:00
Florian Paul Azim Hoberg
0039ae9093 Add graceful shutdown for SIGINT (e.g., CTRL + C abort).
Fixes: #304
2025-09-15 07:26:03 +02:00
Florian Paul Azim Hoberg
bf393c6bbf feature: Add conntrack state aware migrations of VMs.
Fixes: #305
2025-09-15 06:59:41 +02:00
gyptazy
b48ff9d677 fix: Validate for node presence when pinning VMs to avoid crashing
Fixes: #296
2025-09-04 17:31:24 +02:00
Florian Paul Azim Hoberg
34f1de8367 release: Create release 1.1.6
Fixes: #297
2025-09-04 07:53:29 +02:00
gyptazy
f5d073dc02 fix: Validate for node presence when pinning guests to avoid crashing
Fixes: #296
Fixes: #271
2025-08-29 11:26:15 +02:00
MiBUl-eu
c9855f1991 Added changeloge and fixed typo 2025-08-26 10:34:48 +00:00
MiBUl-eu
9bd29158b9 fix: overprovisioning first node if anti_affinity group has only one member 2025-08-25 10:11:45 +02:00
Florian Paul Azim Hoberg
3eb4038723 feature: Add validation for provided API user token id to avoid confusions
Fixes: #290
2025-08-25 08:07:44 +02:00
Florian Paul Azim Hoberg
bb8cf9033d fix(proxmox-api): Fix stacktrace output when validating permissions on non existing users in Proxmox
Fixes: #291
2025-08-25 07:55:02 +02:00
Florian Paul Azim Hoberg
f36d96c72a fix: Fix balancing evaluation of guest types (e.g., VM or CT).
Fixes: #268
2025-07-17 11:41:00 +02:00
Florian Paul Azim Hoberg
4848887ccc release: Create release 1.1.5
Fixes: #266
2025-07-14 11:08:38 +02:00
Florian Paul Azim Hoberg
806b728a14 feature: Allow custom (instead of static tcp/8006) API ports for API hosts.
Fixes: #260
2025-07-08 17:39:29 +02:00