redhat-subscription

Red Hat Subscription

Build Status Ansible Role

An opinionated role using ansible modules redhat_subscription and rhsm_repository (new in Ansible 2.5) to allow for the easy registration of a host. Supports using either (activation key, organisation id) or (username, password) combinations.

In addition to registration, repositories can be disabled and/or enabled during execution of this role.

Note that this role has been developed for convenience in majority simple use case. And is not intended to be a catch-all role for subscription management.

Requirements

No additional requirements are enforced other than an an Ansbile version greater than 2.5. Development was done on Ansible 2.5+.

Role Variables

This role supports the following configurations via variables.

  • redhat_subscription_org_id: Subscription organisation ID. If using an activation key, this is required.
  • redhat_subscription_activationkey: Activation key to use for host registration.
  • redhat_subscription_username: If not using an activation key, specify Red Hat username.
  • redhat_subscription_password: If not using an activation key, specify Red Hat password. This is required if using credentials to register the host.
  • redhat_subscription_state: This variable can be used to specify if you want the subscription removed or added. This is passed directly to the state argument of the redhat_subscription module. Defaults to present.
  • redhat_subscription_pool_regex: Pool regex to use when registering the host. This is passed directly to the state argument of the redhat_subscription module. Defaults to ^$.
  • redhat_subscription_auto_attach: Supported only when using credentials to register. Defaults to no.
  • redhat_subscription_disable_repos: Repositories to disable. Defaults to [].
  • redhat_subscription_enable_repos: Repositories to enable. Defaults to [].
  • redhat_subscription_enable_explicit_repos_only: This flag, if set, will explicitly disable all repositories that are not specified in redhat_subscription_enable_repos.
  • redhat_subscription_skip_prereq: Skip all prerequisite checks.
  • redhat_subscription_force: Force registration. This is passed through to the underlying ansible module.
  • redhat_subscription_retry: Number of times to retry registering the host. Defaults to 0.

Dependencies

No Dependencies required other than Ansible itself.

Example Playbook

Here is an example play that implements the Host Preparation steps associated with an OpenShift 3.9 cluster.

---
- name: prepare subscriptions for openshift node
  hosts: all
  become: yes
  tasks:
    - include_role:
         name: devnullcake.redhat-subscription
      vars:
        redhat_subscription_org_id: 123456
        redhat_subscription_activationkey: foobar-activation-key
        redhat_subscription_pool_regex: "^.*OpenShift.*$"
        redhat_subscription_enable_explicit_repos_only: "yes"
        redhat_subscription_disable_repos: []
        redhat_subscription_enable_repos:
          - rhel-7-server-rpms
          - rhel-7-server-extras-rpms
          - rhel-7-server-ose-3.9-rpms
          - rhel-7-fast-datapath-rpms
          - rhel-7-server-ansible-2.4-rpms

Testing

There are no automated tests defined for this role at the moment. Molecule tests will be added at a later date. Current tox execution validates source using ansible-lint.

Tox

This project has tox configured to run against a clean environment. This can simply be run using tox.

tox

License

Apache License 2.0

About

Red Hat Subscription Registration

Install
ansible-galaxy install devnullcake/ansible-role-redhat-subscription
GitHub repository
License
apache-2.0
Downloads
90
Owner
The cake is a lie