gyptazy / ProxLB

ProxLB - (Re)Balance VM Workloads Across Nodes in Proxmox Clusters. A Load Balancer for Proxmox - and more!
https://proxlb.de
GNU General Public License v3.0
138 stars 6 forks source link

Add rolling update support for nodes #47

Closed gyptazy closed 1 month ago

gyptazy commented 1 month ago

General

This PR adds the basic functionality to add a rolling update support for nodes in a cluster to ProxLB. If activated, nodes will:

This also brings up the new proxlb-additions package, which adds the missing options to the Proxmox API. This packages will be required. If this option is activated but the package is missing, ProxLB will throw an error guiding you to install the required package.

Test

root@virt01:~# /bin/proxlb -d -c /etc/proxlb/proxlb.conf
<6> ProxLB: Info: [logger]: Logger verbosity got updated to: INFO.
<4> ProxLB: Warning: [api-connection]: API connection does not verify SSL certificate.
<6> ProxLB: Info: [api-connection]: API connection succeeded to host: 127.0.0.1.
<6> ProxLB: Info: [node-update-status-getter]: Get update status for node: virt01.
<6> ProxLB: Info: [node-update-status-getter]: Updates available for node: virt01.
<6> ProxLB: Info: [node-update-executor]: Execute updates on node: virt01.
<6> ProxLB: Info: [node-update-executor]: Sucessfully integrated updates to node: virt01.
<6> ProxLB: Info: [node-reboot-status-getter]: Get reboot status for node: virt01.
<6> ProxLB: Info: [node-reboot-status-getter]: No reboot required for node: virt01.
<6> ProxLB: Info: [node-statistics]: Added node virt01.
<6> ProxLB: Info: [node-statistics]: Added node virt03.
<6> ProxLB: Info: [node-statistics]: Added node virt02.
<6> ProxLB: Info: [node-statistics]: Created node statistics.
<6> ProxLB: Info: [api-get-vm-tags]: Got VM/CT tag from API.
<6> ProxLB: Info: [api-get-vm-include-exclude-tags]: Got PLB include group.
[...]

WIP

What is still missing:

Notes

Fixes: #39

gyptazy commented 1 month ago

Funny integrated in PR #48