From 5863584610d0b43da0aca4bd7c92443a7ed3872f Mon Sep 17 00:00:00 2001 From: spmfox Date: Sun, 25 Jun 2023 11:59:56 -0400 Subject: adding support for red hat subscription manager, more robust package install, guest unconfiguration --- roles/guest-configure/tasks/main.yml | 4 ++++ roles/guest-configure/tasks/packages.yml | 19 ++++++++++++++----- roles/guest-configure/tasks/rhsm-register.yml | 14 ++++++++++++++ roles/guest-configure/tasks/rhsm-unregister.yml | 4 ++++ roles/guest-configure/tasks/undo.yml | 3 +++ roles/guest-configure/vars/main.yml | 3 +++ 6 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 roles/guest-configure/tasks/rhsm-register.yml create mode 100644 roles/guest-configure/tasks/rhsm-unregister.yml create mode 100644 roles/guest-configure/tasks/undo.yml (limited to 'roles/guest-configure') diff --git a/roles/guest-configure/tasks/main.yml b/roles/guest-configure/tasks/main.yml index 519fcf0..1a5c72f 100644 --- a/roles/guest-configure/tasks/main.yml +++ b/roles/guest-configure/tasks/main.yml @@ -4,6 +4,10 @@ - name: Gather facts ansible.builtin.setup: +- name: Import Red Hat Subscription Manager task + ansible.builtin.import_tasks: rhsm-register.yml + when: (guest_configure_rhsm_username | length > 0) and (guest_configure_rhsm_password | length > 0) + - name: Import update task ansible.builtin.import_tasks: update.yml diff --git a/roles/guest-configure/tasks/packages.yml b/roles/guest-configure/tasks/packages.yml index 509db4a..0dd3c1e 100644 --- a/roles/guest-configure/tasks/packages.yml +++ b/roles/guest-configure/tasks/packages.yml @@ -1,8 +1,17 @@ -- name: Install prerequisite packages (if defined) - ansible.builtin.package: - name: "{{ guest_configure_packages_preq }}" - state: present - when: guest_configure_packages_preq | length > 0 +- name: Block for installing prerequisite packages + block: + - name: Install prerequisite packages (if defined) + ansible.builtin.package: + name: "{{ guest_configure_packages_preq }}" + state: present + when: guest_configure_packages_preq | length > 0 + rescue: + - name: Rescue - Install prerequisite packages skipping GPG check (RedHat) + ansible.builtin.dnf: + name: "{{ guest_configure_packages_preq }}" + state: present + disable_gpg_check: true + when: ansible_os_family == "RedHat" - name: Install packages (if defined) ansible.builtin.package: diff --git a/roles/guest-configure/tasks/rhsm-register.yml b/roles/guest-configure/tasks/rhsm-register.yml new file mode 100644 index 0000000..e1c1ee6 --- /dev/null +++ b/roles/guest-configure/tasks/rhsm-register.yml @@ -0,0 +1,14 @@ +- name: Register system with Red Hat Subscription Manager (without Activation Key) + community.general.redhat_subscription: + username: "{{ guest_configure_rhsm_username }}" + password: "{{ guest_configure_rhsm_password }}" + state: present + when: guest_configure_rhsm_activation_key | length == 0 + +- name: Register system with Red Hat Subscription Manager (with Activation Key) + community.general.redhat_subscription: + username: "{{ guest_configure_rhsm_username }}" + password: "{{ guest_configure_rhsm_password }}" + activationkey: "{{ guest_configure_rhsm_activation_key }}" + state: present + when: guest_configure_rhsm_activation_key | length > 0 diff --git a/roles/guest-configure/tasks/rhsm-unregister.yml b/roles/guest-configure/tasks/rhsm-unregister.yml new file mode 100644 index 0000000..50ad570 --- /dev/null +++ b/roles/guest-configure/tasks/rhsm-unregister.yml @@ -0,0 +1,4 @@ +- name: Unregister system with Red Hat Subscription Manager + community.general.redhat_subscription: + state: absent + ignore_errors: true diff --git a/roles/guest-configure/tasks/undo.yml b/roles/guest-configure/tasks/undo.yml new file mode 100644 index 0000000..22889f1 --- /dev/null +++ b/roles/guest-configure/tasks/undo.yml @@ -0,0 +1,3 @@ +- name: Import Red Hat Subscription Manager unregister task + ansible.builtin.import_tasks: rhsm-unregister.yml + when: (guest_configure_rhsm_username | length > 0) and (guest_configure_rhsm_password | length > 0) diff --git a/roles/guest-configure/vars/main.yml b/roles/guest-configure/vars/main.yml index 42ed50a..2ffbd32 100644 --- a/roles/guest-configure/vars/main.yml +++ b/roles/guest-configure/vars/main.yml @@ -7,3 +7,6 @@ guest_configure_ssh_key: "{{ ssh_key if ssh_key is defined }}" guest_configure_packages_preq: "{{ pre_packages if pre_packages is defined }}" guest_configure_packages: "{{ packages if packages is defined }}" guest_configure_services: "{{ services if services is defined }}" +guest_configure_rhsm_username: "{{ redhat_user if redhat_user is defined }}" +guest_configure_rhsm_password: "{{ redhat_password if redhat_password is defined }}" +guest_configure_rhsm_activation_key: "{{ redhat_activation_key if redhat_activation_key is defined }}" -- cgit