120 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
89ad425243 Add config exmaples to README for resource reservations on node level
Fixes: #373
2025-12-23 15:30:15 +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
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
Florian Paul Azim Hoberg
7de1ba366b release: Create final 1.1.9 Release
Fixes: #350
Sponsored-by: credativ GmbH <https://credativ.de>
2025-10-30 07:50:25 +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
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
7d94c52883 docs: Add missing changelog fragment for container changes
Fixes: #317
2025-10-09 09:25:07 +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
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
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
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
gyptazy
08b746a53b release: Create release 1.1.5 beta 1 2025-06-27 16:50:17 +02:00
gyptazy
fa1e1ad8a3 release: Create release 1.1.4
Fixes: #254
2025-06-27 16:23:31 +02:00
pmarasse
c78def3919 Fix loglevels (#255)
* Modified some loglevels to make output lighter at INFO level

Co-authored-by: Philippe MARASSE <philippe@marasse.fr>
2025-06-27 15:10:57 +02:00
Florian Paul Azim Hoberg
1fe8f703cc feature: Allow pinning of guests to a group of nodes
* You can now simply define multiple tags with plb_pin_node names
    where nodes are being evaluated and the one with the lowest
    resource usage will be taken.

Fixes: #245
2025-06-26 13:54:05 +02:00
Florian Paul Azim Hoberg
6b2e120739 Fix: Fixed an issue where balancing was performed in combination of deactivated balancing and dry-run mode
Fixes: #248
2025-06-24 10:06:28 +02:00
gyptazy
b766041c4c release: Prepare release 1.1.3
Fixes: #242
2025-06-19 09:25:56 +02:00
gyptazy
7cb5a31b89 feature: Make the amount of parallel migrations configurable
Fixes: #241
2025-06-05 16:12:47 +02:00
gyptazy
db3a3b77fc feature: Add optional wait time before service action.
Fixes: #239
2025-06-01 16:06:42 +02:00
Florian
5a9643275a Merge pull request #237 from gyptazy/feature/94-balance-cpu-by-average-consumption
feature:  Use the average CPU consumption of a guest within the last 60 minutes instead of the current CPU usage
2025-05-29 12:01:13 +02:00