--- - name: "Set management IP in /etc/hosts for PVE cert generation" become: true ansible.builtin.template: src: "hosts.j2" dest: "/etc/hosts" owner: "root" group: "root" mode: "0644" tags: # pveproxy not available in containers — requires proxmox-ve package - "molecule-notest" - name: "Install proxmox-ve" become: true ansible.builtin.apt: name: "proxmox-ve" state: "present" update_cache: true tags: # proxmox-ve package configures grub/kernel hooks which fail inside containers - "molecule-notest" - name: "Configure Proxmox repos" become: true when: pve_repo == "no-subscription" block: - name: "Configure no-subscription repos" ansible.builtin.apt_repository: repo: "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" state: "present" filename: "pve-no-subscription" mode: "0644" - name: "Remove Proxmox enterprise repo" become: true ansible.builtin.file: path: "/etc/apt/sources.list.d/pve-enterprise.list" state: "absent" - name: "Ensure sources.list is world-readable" become: true ansible.builtin.file: path: "/etc/apt/sources.list" mode: "0644" tags: # proxmox-ve package was skipped so apt sources are not modified in testing - molecule-notest - name: "Create PVE admin user" become: true ansible.builtin.command: cmd: "pveum user add {{ pve_admin_user }}@pve" register: pve_user_add changed_when: pve_user_add.rc == 0 failed_when: pve_user_add.rc != 0 and 'already exists' not in pve_user_add.stderr tags: # pveum binary not available in containers — requires proxmox-ve package - "molecule-notest" - name: "Set PVE admin user password" become: true no_log: true ansible.builtin.command: cmd: "pveum passwd {{ pve_admin_user }}@pve --password {{ pve_admin_password }}" changed_when: true tags: # pveum binary not available in containers — requires proxmox-ve package - "molecule-notest" - name: "Grant PVE Administrator role" become: true ansible.builtin.command: cmd: "pveum acl modify / --roles Administrator --users {{ pve_admin_user }}@pve" changed_when: true tags: # pveum binary not available in containers — requires proxmox-ve package - "molecule-notest" - name: "Enable and start Proxmox VE services" become: true ansible.builtin.systemd_service: name: "{{ item }}" enabled: true state: "started" loop: - "pve-cluster" - "pvedaemon" - "pveproxy" - "pvestatd" tags: # PVE services not available in containers — proxmox-ve package was skipped - "molecule-notest"