Dev to main #1

Merged
max merged 37 commits from dev into main 2026-08-17 16:15:03 +04:00
3 changed files with 99 additions and 82 deletions
Showing only changes of commit 48bbd06cf8 - Show all commits
@@ -0,0 +1,73 @@
---
- name: Create a new VM with minimal options only if it doesn't exist
become: false
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
clone: debian-13-cloud-init-template
name: "{{ vm_hostname }}"
storage: main
format: qcow2
full: true
timeout: 500
- name: Sleep for 20 seconds to ensure that Proxmox has cloned the VM
become: false
ansible.builtin.wait_for:
timeout: 20
delegate_to: localhost
changed_when: false
- name: Update the cloned VM with cloud-init configuration
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
name: "{{ vm_hostname }}"
# Cloud-init parameters
update: true
ide:
ide2: "local:cloudinit,format=qcow2"
ciuser: "ansible"
cipassword: "{{ ansible_become_passwd }}"
ipconfig:
ipconfig0: "ip={{ vm_ip_address }},gw=192.168.0.1"
- name: Tweak the hardware settings
become: false
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
name: "{{ vm_hostname }}"
cores: 4
memory: 4096 # Minimal value for debian based OS for smooth workflow
update: true
- name: Make sure the VM has started
become: false
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
name: "{{ vm_hostname }}"
state: started
+4 -82
View File
@@ -17,87 +17,9 @@
- name: Create a new VM with minimal options only if it doesn't exist - name: Create a new VM with minimal options only if it doesn't exist
when: vm_status is failed or 'does not exist in cluster' in vm_status.msg when: vm_status is failed or 'does not exist in cluster' in vm_status.msg
become: false ansible.builtin.include_tasks: create_vm.yaml
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
clone: debian-13-cloud-init-template - name: Start the VM only if needed
name: "{{ vm_hostname }}" when: '"does not exist in cluster" in vm_status.msg or vm_status.status != "running"'
storage: main ansible.builtin.include_tasks: start_vm.yaml
format: qcow2
full: true
timeout: 500
- name: Sleep for 20 seconds to ensure that Proxmox has cloned the VM
become: false
ansible.builtin.wait_for:
timeout: 20
delegate_to: localhost
changed_when: false
- name: Update the cloned VM with cloud-init configuration
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
name: "{{ vm_hostname }}"
# Cloud-init parameters
update: true
ide:
ide2: "local:cloudinit,format=qcow2"
ciuser: "ansible"
cipassword: "{{ ansible_become_passwd }}"
ipconfig:
ipconfig0: "ip={{ vm_ip_address }},gw=192.168.0.1"
- name: Sleep for 20 seconds just to make sure that all settings are applied
become: false
ansible.builtin.wait_for:
timeout: 20
delegate_to: localhost
changed_when: false
- name: Tweak the hardware settings
become: false
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
name: "{{ vm_hostname }}"
cores: 4
memory: 4096 # Minimal value for debian based OS for smooth workflow
update: true
- name: Make sure the VM has started
become: false
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
name: "{{ vm_hostname }}"
state: started
- name: Sleep for 120 seconds just to make sure that all settings are applied
become: false
ansible.builtin.wait_for:
timeout: 120
delegate_to: localhost
changed_when: false
@@ -0,0 +1,22 @@
---
- name: Make sure the VM has started
become: false
community.proxmox.proxmox_kvm:
validate_certs: false
node: proxmox-server
api_user: root@pam
api_host: 192.168.0.2
api_token_id: ansible
api_token_secret: "{{ proxmox_token_secret }}"
name: "{{ vm_hostname }}"
state: started
- name: Sleep for 120 seconds to ensure that Proxmox has cloned the VM
become: false
ansible.builtin.wait_for:
timeout: 120
delegate_to: localhost
changed_when: false