From f4977c88f9bef271fdb7f4e972c2a6dfa8124d33 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Mon, 22 Jun 2026 12:35:05 +0200 Subject: Rename proxmox-ve role to pve --- configure.yml | 2 +- molecule/proxmox/converge.yml | 2 +- roles/proxmox-ve/defaults/main.yml | 4 -- roles/proxmox-ve/handlers/main.yml | 6 --- roles/proxmox-ve/meta/argument_specs.yml | 19 ------- roles/proxmox-ve/meta/main.yml | 12 ----- roles/proxmox-ve/tasks/main.yml | 89 -------------------------------- roles/pve/defaults/main.yml | 4 ++ roles/pve/handlers/main.yml | 6 +++ roles/pve/meta/argument_specs.yml | 19 +++++++ roles/pve/meta/main.yml | 12 +++++ roles/pve/tasks/main.yml | 89 ++++++++++++++++++++++++++++++++ 12 files changed, 132 insertions(+), 132 deletions(-) delete mode 100644 roles/proxmox-ve/defaults/main.yml delete mode 100644 roles/proxmox-ve/handlers/main.yml delete mode 100644 roles/proxmox-ve/meta/argument_specs.yml delete mode 100644 roles/proxmox-ve/meta/main.yml delete mode 100644 roles/proxmox-ve/tasks/main.yml create mode 100644 roles/pve/defaults/main.yml create mode 100644 roles/pve/handlers/main.yml create mode 100644 roles/pve/meta/argument_specs.yml create mode 100644 roles/pve/meta/main.yml create mode 100644 roles/pve/tasks/main.yml diff --git a/configure.yml b/configure.yml index 6331ccfb..ec7e34cb 100644 --- a/configure.yml +++ b/configure.yml @@ -111,7 +111,7 @@ hosts: - pve.local roles: - - role: "proxmox-ve" + - role: "pve" - role: "locales" - role: "timezone" - role: "bash" diff --git a/molecule/proxmox/converge.yml b/molecule/proxmox/converge.yml index a75f33ce..ace4aa74 100644 --- a/molecule/proxmox/converge.yml +++ b/molecule/proxmox/converge.yml @@ -48,7 +48,7 @@ ansible.builtin.set_fact: ansible_facts: "{{ ansible_facts | combine({'is_chroot': false}) }}" roles: - - role: "proxmox-ve" + - role: "pve" - role: "locales" - role: "timezone" - role: "bash" diff --git a/roles/proxmox-ve/defaults/main.yml b/roles/proxmox-ve/defaults/main.yml deleted file mode 100644 index e56c830b..00000000 --- a/roles/proxmox-ve/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -proxmox_ve_repo: "no-subscription" -proxmox_ve_admin_user: "admin" -proxmox_ve_admin_password: "changeme" diff --git a/roles/proxmox-ve/handlers/main.yml b/roles/proxmox-ve/handlers/main.yml deleted file mode 100644 index ccce330d..00000000 --- a/roles/proxmox-ve/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: "Restart pveproxy" - become: true - ansible.builtin.systemd_service: - name: "pveproxy" - state: "restarted" diff --git a/roles/proxmox-ve/meta/argument_specs.yml b/roles/proxmox-ve/meta/argument_specs.yml deleted file mode 100644 index adf6e105..00000000 --- a/roles/proxmox-ve/meta/argument_specs.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -argument_specs: - main: - options: - proxmox_ve_repo: - type: "str" - description: "Proxmox VE apt repository type (no-subscription or enterprise)" - default: "no-subscription" - 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/meta/main.yml b/roles/proxmox-ve/meta/main.yml deleted file mode 100644 index a116b3b9..00000000 --- a/roles/proxmox-ve/meta/main.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -dependencies: - - role: "proxmox-kernel-helper" -galaxy_info: - author: "a14m" - description: "Install Proxmox VE on Debian" - license: "MIT" - min_ansible_version: "2.18" - platforms: - - name: "Debian" - versions: - - "bookworm" diff --git a/roles/proxmox-ve/tasks/main.yml b/roles/proxmox-ve/tasks/main.yml deleted file mode 100644 index b7378a12..00000000 --- a/roles/proxmox-ve/tasks/main.yml +++ /dev/null @@ -1,89 +0,0 @@ ---- -- name: "Install proxmox-ve" - become: true - ansible.builtin.apt: - name: "proxmox-ve" - state: "present" - update_cache: true - tags: - # Since proxmox-ve package setups network and configure grub/kernel hooks which doesn't work in containers - - "molecule-notest" - -- name: "Configure Proxmox repos" - become: true - when: proxmox_ve_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: - - molecule-notest - -- name: "Set management IP in /etc/hosts for PVE cert generation" - become: true - ansible.builtin.lineinfile: - path: "/etc/hosts" - regexp: "^{{ network_ipv4_address }}" - line: "{{ network_ipv4_address }} {{ ansible_facts['hostname'] }}" - state: present - notify: "Restart pveproxy" - tags: - # 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: - name: "{{ item }}" - enabled: true - state: "started" - loop: - - "pve-cluster" - - "pvedaemon" - - "pveproxy" - - "pvestatd" - tags: - # Since proxmox-ve package was ignored from testing, we need to ignore this too - - "molecule-notest" diff --git a/roles/pve/defaults/main.yml b/roles/pve/defaults/main.yml new file mode 100644 index 00000000..c9047655 --- /dev/null +++ b/roles/pve/defaults/main.yml @@ -0,0 +1,4 @@ +--- +pve_repo: "no-subscription" +pve_admin_user: "admin" +pve_admin_password: "changeme" diff --git a/roles/pve/handlers/main.yml b/roles/pve/handlers/main.yml new file mode 100644 index 00000000..ccce330d --- /dev/null +++ b/roles/pve/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: "Restart pveproxy" + become: true + ansible.builtin.systemd_service: + name: "pveproxy" + state: "restarted" diff --git a/roles/pve/meta/argument_specs.yml b/roles/pve/meta/argument_specs.yml new file mode 100644 index 00000000..195ca146 --- /dev/null +++ b/roles/pve/meta/argument_specs.yml @@ -0,0 +1,19 @@ +--- +argument_specs: + main: + options: + pve_repo: + type: "str" + description: "Proxmox VE apt repository type (no-subscription or enterprise)" + default: "no-subscription" + choices: + - "no-subscription" + - "enterprise" + pve_admin_user: + type: "str" + description: "PVE realm admin username" + default: "admin" + pve_admin_password: + type: "str" + description: "PVE realm admin password" + default: "changeme" diff --git a/roles/pve/meta/main.yml b/roles/pve/meta/main.yml new file mode 100644 index 00000000..a116b3b9 --- /dev/null +++ b/roles/pve/meta/main.yml @@ -0,0 +1,12 @@ +--- +dependencies: + - role: "proxmox-kernel-helper" +galaxy_info: + author: "a14m" + description: "Install Proxmox VE on Debian" + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/pve/tasks/main.yml b/roles/pve/tasks/main.yml new file mode 100644 index 00000000..f58f62db --- /dev/null +++ b/roles/pve/tasks/main.yml @@ -0,0 +1,89 @@ +--- +- name: "Install proxmox-ve" + become: true + ansible.builtin.apt: + name: "proxmox-ve" + state: "present" + update_cache: true + tags: + # Since proxmox-ve package setups network and configure grub/kernel hooks which doesn't work in 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: + - molecule-notest + +- name: "Set management IP in /etc/hosts for PVE cert generation" + become: true + ansible.builtin.lineinfile: + path: "/etc/hosts" + regexp: "^{{ network_ipv4_address }}" + line: "{{ network_ipv4_address }} {{ ansible_facts['hostname'] }}" + state: present + notify: "Restart pveproxy" + tags: + # 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 {{ pve_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 {{ pve_admin_user }}@pve --password {{ pve_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 {{ pve_admin_user }}@pve" + changed_when: true + tags: + - "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: + # Since proxmox-ve package was ignored from testing, we need to ignore this too + - "molecule-notest" -- cgit v1.2.3