Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release: Create stable release 1.0.4 #96

Merged
merged 1 commit into from
Oct 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading