From 26b290ce1aae68e84d2bb9c0fe491f550dd67817 Mon Sep 17 00:00:00 2001 From: jerick Date: Tue, 3 Feb 2026 11:57:04 -0500 Subject: [PATCH] queries target node instead of template node --- roles/proxmox_lxc/tasks/main.yml | 13 +++++++------ roles/proxmox_vm/tasks/main.yml | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/roles/proxmox_lxc/tasks/main.yml b/roles/proxmox_lxc/tasks/main.yml index 3ea2d7c..aaec0d9 100644 --- a/roles/proxmox_lxc/tasks/main.yml +++ b/roles/proxmox_lxc/tasks/main.yml @@ -1,20 +1,20 @@ --- -- name: Get available storage on template node +- name: Get available storage on target node ansible.builtin.uri: - url: "https://{{ proxmox_api_host }}:8006/api2/json/nodes/{{ lxc_template_node }}/storage" + url: "https://{{ proxmox_api_host }}:8006/api2/json/nodes/{{ target_node }}/storage" method: GET headers: Authorization: "PVEAPIToken={{ proxmox_api_user }}!{{ proxmox_api_token_id }}={{ proxmox_api_token_secret }}" validate_certs: false register: storage_info -- name: Set storage backend (prefer local-zfs if available) +- name: Set target storage backend (prefer local-zfs if available) ansible.builtin.set_fact: - clone_storage: "{{ 'local-zfs' if storage_info.json.data | selectattr('storage', 'equalto', 'local-zfs') | list | length > 0 else 'local-lvm' }}" + target_storage: "{{ 'local-zfs' if storage_info.json.data | selectattr('storage', 'equalto', 'local-zfs') | list | length > 0 else 'local-lvm' }}" - name: Display selected storage ansible.builtin.debug: - msg: "Using storage backend: {{ clone_storage }}" + msg: "Target node {{ target_node }} will use storage: {{ target_storage }}" - name: Clone LXC from template (on template's node) community.proxmox.proxmox: @@ -26,7 +26,7 @@ clone: "{{ lxc_template_id }}" hostname: "{{ vm_hostname }}" full: true - storage: "{{ clone_storage }}" + storage: "local-lvm" timeout: 600 register: cloned_lxc @@ -40,6 +40,7 @@ body: target: "{{ target_node }}" restart: "0" + target-storage: "{{ target_storage }}" validate_certs: false status_code: [200] register: migrate_task diff --git a/roles/proxmox_vm/tasks/main.yml b/roles/proxmox_vm/tasks/main.yml index 73395a9..82f4f64 100644 --- a/roles/proxmox_vm/tasks/main.yml +++ b/roles/proxmox_vm/tasks/main.yml @@ -1,20 +1,20 @@ --- -- name: Get available storage on template node +- name: Get available storage on target node ansible.builtin.uri: - url: "https://{{ proxmox_api_host }}:8006/api2/json/nodes/{{ vm_template_node }}/storage" + url: "https://{{ proxmox_api_host }}:8006/api2/json/nodes/{{ target_node }}/storage" method: GET headers: Authorization: "PVEAPIToken={{ proxmox_api_user }}!{{ proxmox_api_token_id }}={{ proxmox_api_token_secret }}" validate_certs: false register: storage_info -- name: Set storage backend (prefer local-zfs if available) +- name: Set target storage backend (prefer local-zfs if available) ansible.builtin.set_fact: - clone_storage: "{{ 'local-zfs' if storage_info.json.data | selectattr('storage', 'equalto', 'local-zfs') | list | length > 0 else 'local-lvm' }}" + target_storage: "{{ 'local-zfs' if storage_info.json.data | selectattr('storage', 'equalto', 'local-zfs') | list | length > 0 else 'local-lvm' }}" - name: Display selected storage ansible.builtin.debug: - msg: "Using storage backend: {{ clone_storage }}" + msg: "Target node {{ target_node }} will use storage: {{ target_storage }}" - name: Clone VM from template (on template's node) community.proxmox.proxmox_kvm: @@ -27,7 +27,7 @@ clone: "template" name: "{{ vm_hostname }}" full: true - storage: "{{ clone_storage }}" + storage: "local-lvm" timeout: 600 register: cloned_vm @@ -42,6 +42,7 @@ target: "{{ target_node }}" online: "0" with-local-disks: "1" + targetstorage: "{{ target_storage }}" validate_certs: false status_code: [200] register: migrate_task