better fedora setup

This commit is contained in:
2024-03-26 15:14:23 +01:00
parent a56bc1128e
commit d59b2c9705
17 changed files with 304 additions and 93 deletions

View File

@@ -1,32 +1,75 @@
- name: Proxmox VM provisioning
community.general.proxmox_kvm:
api_host: "{{ ansible_host }}"
api_user: "{{ proxmox_user }}"
api_token_id: "{{ proxmox_token_id }}"
api_token_secret: "{{ proxmox_token }}"
node: "{{ proxmox_node }}"
# source:
clone: fedora-server-template
# created manually already installed
vmid: 100
# newid: "{{ 110 + loop_index }}"
name: "{{ item.name }}"
storage: VM_storage
agent: true
timeout: 60
# - name: Download fedora qcow2 template
# get_url:
# url: "https://download.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2"
# dest: "/var/lib/vz/template/fedora-cloud-39-template.qcow2"
# mode: 0644
loop: "{{ vms }}"
# # export the path:
# register: fedora_dowload
# run_once: true
- name: Ensure VMs are booted
community.general.proxmox_kvm:
api_host: "{{ ansible_host }}"
api_user: "{{ proxmox_user }}"
api_token_id: "{{ proxmox_token_id }}"
api_token_secret: "{{ proxmox_token }}"
node: "{{ proxmox_node }}"
# set manually:
name: "{{ item.name }}"
state: started
loop: "{{ vms }}"
# - name: Provision a new VM (empty for now)
# community.general.proxmox_kvm:
# api_host: "{{ ansible_host }}"
# api_user: "{{ proxmox_user }}"
# api_token_id: "{{ proxmox_token_id }}"
# api_token_secret: "{{ proxmox_token }}"
# node: "{{ proxmox_node }}"
# storage: VM_storage
# ostype: l26
# cores: 4
# memory: 500
# net:
# net0: 'virtio,bridge=vmbr0'
# vmid: "{{ vm_id }}"
# name: "{{ name }}"
# onboot: true
# agent: true
# # graphics
# vga: serial0
# serial:
# serial0: socket
# # required for cloud-init
# scsihw: virtio-scsi-pci
# bootdisk: scsi0
# boot: "order=scsi0"
# # cloud init config
# ide:
# ide2: VM_storage:cloudinit
# sshkeys: "{{ lookup('file', '~/.ssh/id_ed25519.pub') }}"
# ipconfig:
# ipconfig0: 'ip={{ vm_ip }}/24,gw=192.168.1.1'
# ciuser: ansible
# timeout: 60
# - name: Import fedora qcow2 template
# shell: |
# qm disk import "{{ vm_id }}" "{{ fedora_dowload.dest }}" VM_storage --format qcow2
# qm set "{{ vm_id }}" --scsi0 VM_storage:vm-{{ vm_id }}-disk-0,discard=on
# qm resize "{{ vm_id }}" scsi0 50G
# - name: Boot VM
# community.general.proxmox_kvm:
# api_host: "{{ ansible_host }}"
# api_user: "{{ proxmox_user }}"
# api_token_id: "{{ proxmox_token_id }}"
# api_token_secret: "{{ proxmox_token }}"
# node: "{{ proxmox_node }}"
# vmid: "{{ vm_id }}"
# state: started
- name: Add host to group 'kvm_fedora' with variable
ansible.builtin.add_host:
groups: kvm_fedora
name: "{{ name }}"
ansible_host: "{{ vm_ip }}"
ansible_user: ansible