Skip to content

Commit

Permalink
Merge pull request #96 from gyptazy/release/1.0.4
Browse files Browse the repository at this point in the history
release: Create stable release 1.0.4
  • Loading branch information
gyptazy authored Oct 11, 2024
2 parents 3cd631d + 55c714a commit a4b1f4a
Show file tree
Hide file tree
Showing 7 changed files with 62 additions and 19 deletions.
2 changes: 1 addition & 1 deletion .changelogs/1.0.4/release_meta.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
date: TBD
date: 2024-10-11
47 changes: 34 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,61 +6,82 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [1.0.4] - 2024-10-11

### Added

- Add feature to make API timeout configureable. [#91]
- Add maintenance mode to evacuate a node and move workloads for other nodes in the cluster. [#58]
- Add version output cli arg. [#89]

### Changed

- Run storage balancing only on supported shared storages. [#79]
- Run storage balancing only when needed to save time. [#79]

### Fixed

- Fix CPU balancing where calculations are done in float instead of int. (by @glitchvern) [#75]
- Fix documentation for the underlying infrastructure. [#81]


## [1.0.3] - 2024-09-12

### Added

- Add storage balancing function. [#51]
- Add a convert function to cast all bool alike options from configparser to bools. [#53]
- Add a config parser options for future features. [#53]
- Add a config versio schema that must be supported by ProxLB. [#53]
- Add feature to allow the API hosts being provided as a comma separated list. [#60]
- Add storage balancing function. [#51]
- Add doc how to add dedicated user for authentication. (by @Dulux-Oz)
- Add feature to allow the API hosts being provided as a comma separated list. [#60]
- Add cli arg `-b` to return the next best node for next VM/CT placement. [#8]

### Changed

- Provide a more reasonable output when HA services are not active in a Proxmox cluster. [#68]
- Improve the underlying code base for future implementations. [#53]
- Provide a more reasonable output when HA services are not active in a Proxmox cluster. [#68]

### Fixed

- Fix documentation for the master_only parameter placed in the wrong config section. [#74]
- Fixed `master_only` function by inverting the condition.
- Improved the overall validation and error handling. [#64]
- Fix bug in the `proxlb.conf` in the vm_balancing section.
- Fix handling of unset `ignore_nodes` and `ignore_vms` resulted in an attribute error. [#71]
- Fix anti-affinity rules not evaluating a new and different node. [#67]
- Fix documentation for the master_only parameter placed in the wrong config section. [#74]
- Fix handling of unset `ignore_nodes` and `ignore_vms` resulted in an attribute error. [#71]


## [1.0.2] - 2024-08-13

### Added

- Add option to run migration in parallel or sequentially. [#41]
- Add option to run ProxLB only on the Proxmox's master node in the cluster (reg. HA feature). [#40]
- Add option to run migrations in parallel or sequentially. [#41]

### Changed

- Fix daemon timer to use hours instead of minutes. [#45]

### Fixed

- Fix CMake packaging for Debian package to avoid overwriting the config file. [#49]
- Fix wonkey code style.


## [1.0.0] - 2024-08-01

### Added

- Add feature to prevent VMs from being relocated by defining a wildcard pattern. [#7]
- Add feature to make log verbosity configurable [#17].
- Add option_mode to rebalance by node's free resources in percent (instead of bytes). [#29]
- Add option to rebalance by assigned VM resources to avoid over provisioning. [#16]
- Add Docker/Podman support. [#10 by @daanbosch]
- Add LXC/Container integration. [#27]
- Add exclude grouping feature to rebalance VMs from being located together to new nodes. [#4]
- Add feature to prevent VMs from being relocated by defining the 'plb_ignore_vm' tag. [#7]
- Add dry-run support to see what kind of rebalancing would be done. [#6]
- Add LXC/Container integration. [#27]
- Add Docker/Podman support. [#10 by @daanbosch]
- Add feature to prevent VMs from being relocated by defining a wildcard pattern. [#7]
- Add feature to prevent VMs from being relocated by defining the 'plb_ignore_vm' tag. [#7]
- Add include grouping feature to rebalance VMs bundled to new nodes. [#3]
- Add option to rebalance by assigned VM resources to avoid overprovisioning. [#16]
- Add feature to make log verbosity configurable [#17].

### Changed

Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,8 @@ The executable must be able to read the config file, if no dedicated config file
The easiest way to get started is by using the ready-to-use packages that I provide on my CDN and to run it on a Linux Debian based system. This can also be one of the Proxmox nodes itself.

```
wget https://cdn.gyptazy.com/files/os/debian/proxlb/proxlb_1.0.3_amd64.deb
dpkg -i proxlb_1.0.3_amd64.deb
wget https://cdn.gyptazy.com/files/os/debian/proxlb/proxlb_1.0.4_amd64.deb
dpkg -i proxlb_1.0.4_amd64.deb
# Adjust your config
vi /etc/proxlb/proxlb.conf
systemctl restart proxlb
Expand Down Expand Up @@ -368,6 +368,7 @@ Container Images for Podman, Docker etc., can be found at:
| Version | Image |
|------|:------:|
| latest | cr.gyptazy.com/proxlb/proxlb:latest |
| v1.0.4 | cr.gyptazy.com/proxlb/proxlb:v1.0.4 |
| v1.0.3 | cr.gyptazy.com/proxlb/proxlb:v1.0.3 |
| v1.0.2 | cr.gyptazy.com/proxlb/proxlb:v1.0.2 |
| v1.0.0 | cr.gyptazy.com/proxlb/proxlb:v1.0.0 |
Expand Down
2 changes: 1 addition & 1 deletion packaging/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.16)
project(proxmox-rebalancing-service VERSION 1.0.3)
project(proxmox-rebalancing-service VERSION 1.0.4)

install(PROGRAMS ../proxlb DESTINATION /bin)
install(FILES ../proxlb.conf DESTINATION /etc/proxlb)
Expand Down
12 changes: 12 additions & 0 deletions packaging/changelog_debian
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
proxlb (1.0.4) unstable; urgency=low

* Add feature to make API timeout configureable.
* Add maintenance mode to evacuate a node and move workloads for other nodes in the cluster.
* Add version output cli arg.
* Run storage balancing only on supported shared storages.
* Run storage balancing only when needed to save time.
* Fix CPU balancing where calculations are done in float instead of int. (by @glitchvern)
* Fix documentation for the underlying infrastructure.

-- Florian Paul Azim Hoberg <[email protected]> Fri, 11 Oct 2024 06:14:13 +0200

proxlb (1.0.3) unstable; urgency=low

* Add a convert function to cast all bool alike options from configparser to bools.
Expand Down
9 changes: 9 additions & 0 deletions packaging/changelog_redhat
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
* Fri Oct 11 2024 Florian Paul Azim Hoberg <[email protected]>
- Add feature to make API timeout configureable.
- Add maintenance mode to evacuate a node and move workloads for other nodes in the cluster.
- Add version output cli arg.
- Run storage balancing only on supported shared storages.
- Run storage balancing only when needed to save time.
- Fix CPU balancing where calculations are done in float instead of int. (by @glitchvern)
- Fix documentation for the underlying infrastructure.

* Wed Sep 12 2024 Florian Paul Azim Hoberg <[email protected]>
- Add a convert function to cast all bool alike options from configparser to bools.
- Add a config parser options for future features.
Expand Down
4 changes: 2 additions & 2 deletions proxlb
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import urllib3

# Constants
__appname__ = "ProxLB"
__version__ = "1.0.4b"
__version__ = "1.0.4"
__config_version__ = 3
__author__ = "Florian Paul Azim Hoberg <[email protected]> @gyptazy"
__errors__ = False
Expand Down Expand Up @@ -338,7 +338,7 @@ def api_connect(proxmox_api_host, proxmox_api_user, proxmox_api_pass, proxmox_ap
proxmox_api_host = __api_connect_get_host(proxmox_api_host)

try:
api_object = proxmoxer.ProxmoxAPI(proxmox_api_host, user=proxmox_api_user, password=proxmox_api_pass, verify_ssl=proxmox_api_ssl_v, timeout=proxmox_api_timeout)
api_object = proxmoxer.ProxmoxAPI(proxmox_api_host, user=proxmox_api_user, password=proxmox_api_pass, verify_ssl=proxmox_api_ssl_v, timeout=int(proxmox_api_timeout))
except proxmoxer.backends.https.AuthenticationError as proxmox_api_error:
logging.critical(f'{error_prefix} Provided credentials do not work: {proxmox_api_error}')
sys.exit(2)
Expand Down

0 comments on commit a4b1f4a

Please sign in to comment.