initial commit
This commit is contained in:
42
roles/proxmox-lxc-provision/tasks/clone.yaml
Executable file
42
roles/proxmox-lxc-provision/tasks/clone.yaml
Executable file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
- 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
|
||||
Reference in New Issue
Block a user