aboutsummaryrefslogtreecommitdiff
path: root/roles/guest-configure
diff options
context:
space:
mode:
Diffstat (limited to 'roles/guest-configure')
-rw-r--r--roles/guest-configure/tasks/main.yml4
-rw-r--r--roles/guest-configure/tasks/packages.yml19
-rw-r--r--roles/guest-configure/tasks/rhsm-register.yml14
-rw-r--r--roles/guest-configure/tasks/rhsm-unregister.yml4
-rw-r--r--roles/guest-configure/tasks/undo.yml3
-rw-r--r--roles/guest-configure/vars/main.yml3
6 files changed, 42 insertions, 5 deletions
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 }}"