From f33124875d0d2bb138977df280cca78dbaec2400 Mon Sep 17 00:00:00 2001 From: Simon Zernisch Date: Sat, 10 Jun 2023 00:26:05 +0200 Subject: [PATCH] first commit --- ReadMe.md | 4 ++++ ansible.cfg | 7 +++++++ hosts.ini | 2 ++ main.yml | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ vars/proxmox.yml | 6 ++++++ 5 files changed, 71 insertions(+) create mode 100644 ReadMe.md create mode 100644 ansible.cfg create mode 100644 hosts.ini create mode 100644 main.yml create mode 100644 vars/proxmox.yml diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..2e18250 --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,4 @@ +Requirements auf dem ansible host: + +sudo pip3 install proxmoxer +sudo pip3 install requests \ No newline at end of file diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..d9de9dd --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,7 @@ +[defaults] +remote_user = simon +inventory = hosts.ini +vault_password_file = ~/.ansible/vault_pass.txt +private_key_file=~/.ssh/ansible +fact_caching = jsonfile +fact_caching_connection = facts/ \ No newline at end of file diff --git a/hosts.ini b/hosts.ini new file mode 100644 index 0000000..fe5a37f --- /dev/null +++ b/hosts.ini @@ -0,0 +1,2 @@ +[vms] +test-vm vm_memory="2048" vm_cores="2" vm_ip_address="ip=10.11.12.88/24,gw=10.11.12.254" vm_root_disk_size="+20G" \ No newline at end of file diff --git a/main.yml b/main.yml new file mode 100644 index 0000000..9dfe522 --- /dev/null +++ b/main.yml @@ -0,0 +1,52 @@ +--- +- name: create VM from template + hosts: all + gather_facts: false + vars_files: + - vars/proxmox.yml + + tasks: + - name: Create VM from template + proxmox_kvm: + node: "{{ node }}" + api_host: "{{ pve_host }}" + api_user: "{{ pve_user }}" + api_password: "{{ pve_password }}" + validate_certs: no + name: "{{ inventory_hostname }}" + storage: "{{ storage }}" + clone: "{{ clone }}" + onboot: true + register: vm_created + delegate_to: localhost + + # Display new VM details + - debug: + var: vm_created + delegate_to: localhost + + - name: Update VM configuration + community.general.proxmox_kvm: + api_host: "{{ pve_host }}" + api_user: "{{ pve_user }}" + api_password: "{{ pve_password }}" + name: "{{ inventory_hostname }}" + node: "{{ node }}" + memory: "{{ vm_memory }}" + cores: "{{ vm_cores }}" + ipconfig: + ipconfig0: "{{ vm_ip_address }}" + update: true + delegate_to: localhost + + - name: Update the disk size + community.general.proxmox_disk: + api_host: "{{ pve_host }}" + api_user: "{{ pve_user }}" + api_password: "{{ pve_password }}" + name: "{{ inventory_hostname }}" + disk: scsi0 + backup: false + size: "{{ vm_root_disk_size }}" + state: resized + delegate_to: localhost \ No newline at end of file diff --git a/vars/proxmox.yml b/vars/proxmox.yml new file mode 100644 index 0000000..1c16c9a --- /dev/null +++ b/vars/proxmox.yml @@ -0,0 +1,6 @@ +pve_host: "10.11.12.25" +node: "pve" +pve_user: "root@pam" +pve_password: "uXeheig0" +storage: "local_wdblack_2tb_zfs" +clone: "ubuntu-cloud"