diff --git a/.changelogs/1.1.8/318_fix_conntrack_aware_migrations_api_pve8.yml b/.changelogs/1.1.8/318_fix_conntrack_aware_migrations_api_pve8.yml new file mode 100644 index 0000000..6b438d3 --- /dev/null +++ b/.changelogs/1.1.8/318_fix_conntrack_aware_migrations_api_pve8.yml @@ -0,0 +1,2 @@ +fixed: + - Fix API errors when using conntrack aware migration with older PVE versions. (@gyptazy). [#318] diff --git a/.changelogs/1.1.8/release_meta.yml b/.changelogs/1.1.8/release_meta.yml new file mode 100644 index 0000000..c19765d --- /dev/null +++ b/.changelogs/1.1.8/release_meta.yml @@ -0,0 +1 @@ +date: TBD diff --git a/proxlb/models/balancing.py b/proxlb/models/balancing.py index 9f641da..765d1b2 100644 --- a/proxlb/models/balancing.py +++ b/proxlb/models/balancing.py @@ -156,18 +156,17 @@ class Balancing: else: with_local_disks = 0 - if proxlb_data["meta"]["balancing"].get("with_conntrack_state", True): - with_conntrack_state = 1 - else: - with_conntrack_state = 0 - migration_options = { 'target': guest_node_target, 'online': online_migration, 'with-local-disks': with_local_disks, - 'with-conntrack-state': with_conntrack_state, } + # Conntrack state aware migrations are not supported in older + # PVE versions, so we should not add it by default. + if proxlb_data["meta"]["balancing"].get("with_conntrack_state", True): + migration_options['with-conntrack-state'] = 1 + try: logger.info(f"Balancing: Starting to migrate VM guest {guest_name} from {guest_node_current} to {guest_node_target}.") job_id = proxmox_api.nodes(guest_node_current).qemu(guest_id).migrate().post(**migration_options)