43 lines
1.5 KiB
YAML
Executable File
43 lines
1.5 KiB
YAML
Executable File
---
|
|
- name: Create a full clone of the container
|
|
community.general.proxmox:
|
|
api_user: "{{ proxmox_api_user }}"
|
|
api_token_id: "{{ proxmox_api_token_id }}"
|
|
api_token_secret: "{{ proxmox_api_token_secret }}"
|
|
api_host: "{{ proxmox_api_host }}"
|
|
node: "{{ proxmox_node }}"
|
|
|
|
vmid: "{{ container_vmid | default(0) }}"
|
|
clone: "{{ clone_from }}"
|
|
clone_type: "{{ clone_type }}"
|
|
hostname: "{{ container_hostname }}"
|
|
storage: "{{ container_storage }}"
|
|
register: clone_result
|
|
|
|
- name: Debug container_mounts
|
|
ansible.builtin.debug:
|
|
msg:
|
|
- "container_mounts: {{ container_mounts }}"
|
|
- "Type: {{ container_mounts | type_debug }}"
|
|
- "Defined: {{ container_mounts is defined }}"
|
|
- "Length: {{ container_mounts | length }}"
|
|
|
|
- name: Add bind mounts via pct
|
|
become: yes
|
|
ansible.builtin.shell: |
|
|
pct set {{ clone_result.vmid | default(container_vmid) }} {% for key, value in container_mounts.items() %}-{{ key }} {{ value }} {% endfor %}
|
|
delegate_to: "{{ proxmox_api_host }}"
|
|
when: container_mounts is defined
|
|
|
|
- name: Resize rootfs after clone
|
|
ansible.builtin.command:
|
|
cmd: "pct resize {{ clone_result.vmid }} rootfs {{ container_size }}G"
|
|
delegate_to: "{{ proxmox_api_host }}"
|
|
become: yes
|
|
register: resize_result
|
|
changed_when: resize_result.rc == 0 and 'already at specified size' not in resize_result.stderr
|
|
failed_when:
|
|
- resize_result.rc != 0
|
|
- "'already at specified size' not in resize_result.stderr"
|
|
when: container_size is defined
|