From c76729956477f5ad3b603d6d1ea022fbf132999a Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Wed, 6 May 2026 11:18:28 +0200 Subject: Add the creation of admin user for pve --- roles/proxmox-ve/defaults/main.yml | 2 ++ roles/proxmox-ve/meta/argument_specs.yml | 8 ++++++++ roles/proxmox-ve/tasks/main.yml | 27 +++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/roles/proxmox-ve/defaults/main.yml b/roles/proxmox-ve/defaults/main.yml index 1fb51b74..e56c830b 100644 --- a/roles/proxmox-ve/defaults/main.yml +++ b/roles/proxmox-ve/defaults/main.yml @@ -1,2 +1,4 @@ --- proxmox_ve_repo: "no-subscription" +proxmox_ve_admin_user: "admin" +proxmox_ve_admin_password: "changeme" diff --git a/roles/proxmox-ve/meta/argument_specs.yml b/roles/proxmox-ve/meta/argument_specs.yml index 915bcc59..adf6e105 100644 --- a/roles/proxmox-ve/meta/argument_specs.yml +++ b/roles/proxmox-ve/meta/argument_specs.yml @@ -9,3 +9,11 @@ argument_specs: choices: - "no-subscription" - "enterprise" + proxmox_ve_admin_user: + type: "str" + description: "PVE realm admin username" + default: "admin" + proxmox_ve_admin_password: + type: "str" + description: "PVE realm admin password" + default: "changeme" diff --git a/roles/proxmox-ve/tasks/main.yml b/roles/proxmox-ve/tasks/main.yml index 77975f0c..0e69da45 100644 --- a/roles/proxmox-ve/tasks/main.yml +++ b/roles/proxmox-ve/tasks/main.yml @@ -37,6 +37,33 @@ # Since container doesn't have network ip address, skipping this test - "molecule-notest" +- name: "Create PVE admin user" + become: true + ansible.builtin.command: + cmd: "pveum user add {{ proxmox_ve_admin_user }}@pve" + register: pveum_user_add + changed_when: pveum_user_add.rc == 0 + failed_when: pveum_user_add.rc != 0 and 'already exists' not in pveum_user_add.stderr + tags: + - "molecule-notest" + +- name: "Set PVE admin user password" + become: true + no_log: true + ansible.builtin.command: + cmd: "pveum passwd {{ proxmox_ve_admin_user }}@pve --password {{ proxmox_ve_admin_password }}" + changed_when: true + tags: + - "molecule-notest" + +- name: "Grant PVE Administrator role" + become: true + ansible.builtin.command: + cmd: "pveum acl modify / --roles Administrator --users {{ proxmox_ve_admin_user }}@pve" + changed_when: true + tags: + - "molecule-notest" + - name: "Enable and start Proxmox VE services" become: true ansible.builtin.systemd_service: -- cgit v1.2.3