first commit
This commit is contained in:
4
ReadMe.md
Normal file
4
ReadMe.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Requirements auf dem ansible host:
|
||||||
|
|
||||||
|
sudo pip3 install proxmoxer
|
||||||
|
sudo pip3 install requests
|
||||||
7
ansible.cfg
Normal file
7
ansible.cfg
Normal file
@@ -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/
|
||||||
2
hosts.ini
Normal file
2
hosts.ini
Normal file
@@ -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"
|
||||||
52
main.yml
Normal file
52
main.yml
Normal file
@@ -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
|
||||||
6
vars/proxmox.yml
Normal file
6
vars/proxmox.yml
Normal file
@@ -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"
|
||||||
Reference in New Issue
Block a user