From 441b9fa824f89ac5e4cba0cdfd5818f9c6c6b9e2 Mon Sep 17 00:00:00 2001 From: patrick Date: Tue, 14 Apr 2026 19:08:28 -0400 Subject: [PATCH] refactor: Update check-exists.yml to check by vmid or hostname --- roles/proxmox_lxc_provision/tasks/check-exists.yml | 9 ++++----- roles/proxmox_lxc_provision/tasks/main.yml | 9 +++------ 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/roles/proxmox_lxc_provision/tasks/check-exists.yml b/roles/proxmox_lxc_provision/tasks/check-exists.yml index c81b812..1d811d7 100755 --- a/roles/proxmox_lxc_provision/tasks/check-exists.yml +++ b/roles/proxmox_lxc_provision/tasks/check-exists.yml @@ -4,12 +4,11 @@ type: lxc register: proxmox_lxcs -- name: Check if LXC with hostname already exists +- name: Check if LXC already exists ansible.builtin.set_fact: lxc_exists: >- {{ - proxmox_lxcs.proxmox_vms - | selectattr('name', 'equalto', lxc_hostname) - | list - | length > 0 + (lxc_vmid is defined and lxc_vmid | int in (proxmox_lxcs.proxmox_vms | map(attribute='vmid') | list)) + or + (lxc_hostname is defined and (proxmox_lxcs.proxmox_vms | selectattr('name', 'equalto', lxc_hostname) | list | length > 0)) }} diff --git a/roles/proxmox_lxc_provision/tasks/main.yml b/roles/proxmox_lxc_provision/tasks/main.yml index 247c443..7d37223 100755 --- a/roles/proxmox_lxc_provision/tasks/main.yml +++ b/roles/proxmox_lxc_provision/tasks/main.yml @@ -12,15 +12,12 @@ community.proxmox.proxmox_vm_info: *proxmox_defaults block: - name: Check if container exists - community.proxmox.proxmox: - vmid: "{{ lxc_vmid }}" - state: current - register: existing_container - ignore_errors: true + ansible.builtin.include_tasks: + file: check-exists.yml - name: Skip if container already exists meta: end_host - when: existing_container is succeeded + when: lxc_exists | bool - name: Container source must be defined (lxc_clone_from or lxc_template) ansible.builtin.fail: