Create VM with Proxmox API
This commit is contained in:
parent
8b8de00dbb
commit
0c8763c702
2 changed files with 56 additions and 0 deletions
39
proxmox.yml
Normal file
39
proxmox.yml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
---
|
||||||
|
# This is a special playbook to create a new VM !
|
||||||
|
- hosts: pad.adm.auro.re # Host with python-proxmoxer and python-requests
|
||||||
|
become: false # We do not need root as we use Proxmox API
|
||||||
|
|
||||||
|
vars:
|
||||||
|
vm_definitions:
|
||||||
|
- name: ldap-replica-pacaterie
|
||||||
|
virtu: mordred
|
||||||
|
cores: 2 # 2 mimimum, 10 maximum
|
||||||
|
memory: 1024 # M
|
||||||
|
disksize: 16 # G
|
||||||
|
installiso: debian-buster-DI-rc1-amd64-netinst.iso
|
||||||
|
- name: dhcp-pacaterie
|
||||||
|
virtu: mordred
|
||||||
|
cores: 2 # 2 mimimum, 10 maximum
|
||||||
|
memory: 1024 # M
|
||||||
|
disksize: 16 # G
|
||||||
|
installiso: debian-buster-DI-rc1-amd64-netinst.iso
|
||||||
|
- name: dns-pacaterie
|
||||||
|
virtu: mordred
|
||||||
|
cores: 2 # 2 mimimum, 10 maximum
|
||||||
|
memory: 1024 # M
|
||||||
|
disksize: 16 # G
|
||||||
|
installiso: debian-buster-DI-rc1-amd64-netinst.iso
|
||||||
|
- name: prometheus-pacaterie
|
||||||
|
virtu: mordred
|
||||||
|
cores: 2 # 2 mimimum, 10 maximum
|
||||||
|
memory: 1024 # M
|
||||||
|
disksize: 16 # G
|
||||||
|
installiso: debian-buster-DI-rc1-amd64-netinst.iso
|
||||||
|
|
||||||
|
vars_prompt:
|
||||||
|
- name: "password"
|
||||||
|
prompt: "Enter LDAP password for your user"
|
||||||
|
private: yes
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- proxmox-vm
|
17
roles/proxmox-vm/tasks/main.yml
Normal file
17
roles/proxmox-vm/tasks/main.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
- name: Define a virtual machine in Proxmox
|
||||||
|
proxmox_kvm:
|
||||||
|
api_user: "{{ ansible_user_id }}@pam"
|
||||||
|
api_password: "{{ password }}"
|
||||||
|
api_host: "{{ item.virtu }}.adm.auro.re"
|
||||||
|
name: "{{ item.name }}"
|
||||||
|
node: "{{ item.virtu }}"
|
||||||
|
scsihw: virtio-scsi-pci
|
||||||
|
scsi: '{"scsi0":"{{ item.virtu }}:{{ item.disksize }},format=raw"}'
|
||||||
|
sata: '{"sata0":"local:iso/{{ item.installiso }},media=cdrom"}'
|
||||||
|
net: '{"net0":"virtio,bridge=vmbr2"}' # Adm only by default
|
||||||
|
cores: "{{ item.cores }}"
|
||||||
|
memory: "{{ item.memory }}"
|
||||||
|
balloon: "{{ item.memory // 2 }}"
|
||||||
|
bios: seabios # Ansible module doesn't support UEFI boot disk
|
||||||
|
loop: "{{ vm_definitions }}"
|
Loading…
Reference in a new issue