|
@@ -0,0 +1,93 @@
|
|
|
+---
|
|
|
+- name: Initializing Subscription Manager authenticaiton method
|
|
|
+ set_fact:
|
|
|
+ rhsm_authentication: false
|
|
|
+
|
|
|
+# 'rhsm_activationkey' will take precedence even if 'rhsm_username' and 'rhsm_password' are also set
|
|
|
+- name: Setting Subscription Manager Activation Key Fact
|
|
|
+ set_fact:
|
|
|
+ rhsm_authentication: "key"
|
|
|
+ when:
|
|
|
+ - rhsm_activationkey is defined
|
|
|
+ - rhsm_activationkey is not none
|
|
|
+ - rhsm_activationkey|trim != ''
|
|
|
+ - not rhsm_authentication
|
|
|
+
|
|
|
+# If 'rhsm_username' and 'rhsm_password' are set but not 'rhsm_activationkey', set 'rhsm_authentication' to password
|
|
|
+- name: Setting Subscription Manager Username and Password Fact
|
|
|
+ set_fact:
|
|
|
+ rhsm_authentication: "password"
|
|
|
+ when:
|
|
|
+ - rhsm_username is defined and rhsm_username is not none and rhsm_username|trim != ''
|
|
|
+ - rhsm_password is defined and rhsm_password is not none and rhsm_password|trim != ''
|
|
|
+ - not rhsm_authentication
|
|
|
+
|
|
|
+- name: Initializing registration status
|
|
|
+ set_fact:
|
|
|
+ registered: false
|
|
|
+
|
|
|
+- name: Checking subscription status (a failure means it is not registered and will be)
|
|
|
+ command: "/usr/bin/subscription-manager status"
|
|
|
+ ignore_errors: yes
|
|
|
+ changed_when: no
|
|
|
+ register: check_if_registered
|
|
|
+
|
|
|
+- name: Set registration fact
|
|
|
+ set_fact:
|
|
|
+ registered: true
|
|
|
+ when: check_if_registered.rc == 0
|
|
|
+
|
|
|
+- name: Cleaning any old subscriptions
|
|
|
+ command: "/usr/bin/subscription-manager clean"
|
|
|
+ when:
|
|
|
+ - not registered
|
|
|
+ - rhsm_authentication is defined
|
|
|
+
|
|
|
+- name: Install Satellite certificate
|
|
|
+ command: "rpm -Uvh --force http://{{ rhsm_server }}/pub/katello-ca-consumer-latest.noarch.rpm"
|
|
|
+ when:
|
|
|
+ - not registered
|
|
|
+ - rhsm_method == 'satellite'
|
|
|
+
|
|
|
+- name: Register to Satellite using activation key
|
|
|
+ command: "/usr/bin/subscription-manager register --activationkey={{ rhsm_activationkey }} --org={{ rhsm_org }}"
|
|
|
+ when:
|
|
|
+ - not registered
|
|
|
+ - rhsm_authentication == 'key'
|
|
|
+ - rhsm_method == 'satellite'
|
|
|
+
|
|
|
+# This can apply to either Hosted or Satellite
|
|
|
+- name: Register using username and password
|
|
|
+ command: "/usr/bin/subscription-manager register --username={{ rhsm_username }} --password={{ rhsm_password }}"
|
|
|
+ when:
|
|
|
+ - not registered
|
|
|
+ - rhsm_authentication != "key"
|
|
|
+
|
|
|
+- name: Auto-attach to Subscription Manager Pool
|
|
|
+ command: "/usr/bin/subscription-manager attach --auto"
|
|
|
+ when:
|
|
|
+ - not registered
|
|
|
+ - rhsm_authentication != "key"
|
|
|
+
|
|
|
+- name: Attach to a specific pool
|
|
|
+ command: "/usr/bin/subscription-manager attach --pool={{ rhsm_pool }}"
|
|
|
+ when:
|
|
|
+ - rhsm_pool is defined and rhsm_pool is not none and rhsm_pool|trim != ''
|
|
|
+ - and not registered
|
|
|
+ - rhsm_authentication != "key"
|
|
|
+
|
|
|
+- name: Disable all repositories
|
|
|
+ command: "/usr/bin/subscription-manager repos --disable=*"
|
|
|
+ when:
|
|
|
+ - not registered
|
|
|
+ - not rhsm_authentication == "key"
|
|
|
+
|
|
|
+- name: Enable specified repositories
|
|
|
+ command: "/usr/bin/subscription-manager repos --enable={{ item }}"
|
|
|
+ with_items: rhsm_repos
|
|
|
+ when:
|
|
|
+ - not registered
|
|
|
+ - not rhsm_authentication == "key"
|
|
|
+
|
|
|
+- name: Cleaning yum repositories
|
|
|
+ command: "yum clean all"
|