56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
---
|
|
- name: Clone LXC from template (on template's node)
|
|
community.proxmox.proxmox:
|
|
api_host: "{{ proxmox_api_host }}"
|
|
api_user: "{{ proxmox_api_user }}"
|
|
api_token_id: "{{ proxmox_api_token_id }}"
|
|
api_token_secret: "{{ proxmox_api_token_secret }}"
|
|
node: "{{ lxc_template_node }}"
|
|
clone: "{{ lxc_template_id }}"
|
|
hostname: "{{ vm_hostname }}"
|
|
full: true
|
|
storage: "local-lvm"
|
|
timeout: 600
|
|
register: cloned_lxc
|
|
|
|
- name: Migrate LXC to target node
|
|
community.proxmox.proxmox:
|
|
api_host: "{{ proxmox_api_host }}"
|
|
api_user: "{{ proxmox_api_user }}"
|
|
api_token_id: "{{ proxmox_api_token_id }}"
|
|
api_token_secret: "{{ proxmox_api_token_secret }}"
|
|
node: "{{ lxc_template_node }}"
|
|
vmid: "{{ cloned_lxc.vmid }}"
|
|
target: "{{ target_node }}"
|
|
state: present
|
|
timeout: 600
|
|
when: lxc_template_node != target_node
|
|
|
|
- name: Configure LXC resources
|
|
community.proxmox.proxmox:
|
|
api_host: "{{ proxmox_api_host }}"
|
|
api_user: "{{ proxmox_api_user }}"
|
|
api_token_id: "{{ proxmox_api_token_id }}"
|
|
api_token_secret: "{{ proxmox_api_token_secret }}"
|
|
node: "{{ target_node }}"
|
|
vmid: "{{ cloned_lxc.vmid }}"
|
|
cores: "{{ cpu_cores }}"
|
|
memory: "{{ ram_gb | int * 1024 }}"
|
|
netif:
|
|
net0: "name=eth0,bridge=vmbr0,ip=dhcp"
|
|
state: present
|
|
|
|
- name: Start the LXC container
|
|
community.proxmox.proxmox:
|
|
api_host: "{{ proxmox_api_host }}"
|
|
api_user: "{{ proxmox_api_user }}"
|
|
api_token_id: "{{ proxmox_api_token_id }}"
|
|
api_token_secret: "{{ proxmox_api_token_secret }}"
|
|
node: "{{ target_node }}"
|
|
vmid: "{{ cloned_lxc.vmid }}"
|
|
state: started
|
|
|
|
- name: Set VMID fact for later use
|
|
ansible.builtin.set_fact:
|
|
created_vmid: "{{ cloned_lxc.vmid }}"
|