INNER CODE UNIT · Python
job_id
gyptazy/ProxLB · proxlb/models/balancing.py:172
job_id = proxmox_api.nodes(guest_node_current).qemu(guest_id).migrate().post(**migration_options)
except proxmoxer.core.ResourceException as proxmox_api_error:
logger.critical(f"Balancing: Failed to migrate guest {guest_name} of type VM due to some Proxmox errors. Please check if resource is locked or similar.")
logger.debug(f"Balancing: Failed to migrate guest {guest_name} of type VM due to some Proxmox errors: {proxmox_api_error}")
logger.debug("Finished: exec_rebalancing_vm.")
return job_id
def exec_rebalancing_ct(self, proxmox_api: any, proxlb_data: Dict[str, Any], guest_name: str) -> None:
"""
Executes the rebalancing of a container (CT) to a new node within the cluster.
This function initiates the migration of a specified CT to a target node as part of the
load balancing process. It logs the migration process and handles any exceptions that
may occur during the migration.
Args:
proxmox_api (object): The Proxmox API client instance used to interact with the Proxmox cluster.
proxlb_data (dict): A dictionary containing data related to the ProxLB load balancing configuration.
guest_name (str): The name of the guest CT to be migrated.