Skip to content

voxpupuli/puppet-rhsm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

45166a6 · Jul 9, 2024
Jun 12, 2024
Sep 17, 2018
Apr 7, 2019
Jul 9, 2024
Dec 19, 2023
Dec 19, 2023
Jul 20, 2022
Sep 17, 2021
Apr 26, 2022
Apr 12, 2024
Jun 12, 2024
Jun 3, 2024
Dec 15, 2023
Dec 15, 2021
Sep 17, 2021
Jul 21, 2016
May 25, 2024
Jun 12, 2024
May 14, 2017
Apr 26, 2022
Dec 19, 2023
Apr 15, 2023
Sep 17, 2018
May 25, 2024

rhsm

Build Status Release Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores puppetmodule.info docs Apache-2.0 License

Table of Contents

  1. Description
  2. Setup
  3. Types
  4. Usage
  5. Limitations
  6. Development

Description

This module registers your systems with Red Hat Subscription Management.

Setup

Just declare the module with parameters, or load the data from Hiera.

Types

rh_repo

Manage yum repos via the subscription-manager.

rh_subscription

Enable or disable RH subscriptions based on their pool ID.

Usage

class { 'rhsm':
  rh_user     => 'myuser',
  rh_password => 'mypassword',
}

Use rh_repo type to add a repository:

rh_repo { 'rhel-7-server-extras-rpms':
  ensure => present,
}

Use rh_subscription type to add or remove a subscription based on its pool ID:

rh_subscription { '8e8e7f7a77554a776277ac6dca654':
  ensure => present,
}

Hiera (recommended)

include rhsm

Hierafile:

rhsm::rh_user: myuser
rhsm::rh_password: mypassword

Proxy

If the RedHat node must use a proxy to access the internet, you'll have to provide at least the hostname and TCP port.

class { 'rhsm':
  proxy_hostname => 'my.proxy.net',
  proxy_port     => 8080
  rh_user        => 'myuser',
  rh_password    => 'mypassword',
}

If you don't specify the protocol, subscription-manager will use HTTP. If you want to connect via HTTPS, set the proxy_scheme to https. For proxies with authentication, specify the proxy_user and proxy_password values. Depending on your environment, you also migh need to set the no_proxy value.

The proxy settings will be used to register the system and as connection option for all the YUM repositories generated in /etc/yum.repos.d/redhat.repo

Enabled Repos

A string array of repo IDs can be provided as an argument to the class definition. This list will be used to enable the target repos if that has not already occurred.

The following example enables the server and optional RPMs:

class { 'rhsm':
  rh_user          => 'myuser',
  rh_password      => 'mypassword',
  enabled_repo_ids => [
    'rhel-7-server-rpms',
    'rhel-7-server-optional-rpms'
  ]
}

Alternatively, hiera can be utilized to specify these arguments.

rhsm::rh_user: myuser
rhsm::rh_password: mypassword
rhsm::enabled_repo_ids:
  - 'rhel-7-server-rpms',
  - 'rhel-7-server-optional-rpms'

Satellite 6

Registering with Red Hat Satellite 6 needs some additional settings.

class { 'rhsm':
  activationkey         => 'act-lce-rhel-7,act-product',
  org                   => 'satellite_organization',
  servername            => 'satellite.example.com',
  serverprefix          => '/rhsm',
  repo_ca_cert_filename => 'katello-server-ca.pem',
  repo_ca_cert_source   => 'puppet:///modules/profile/katello-server-ca.crt',
  full_refresh_on_yum   => 1,
  baseurl               => 'https://satellite.example.com/pulp/repos',
}
  • You need to specify either (rh_user and rh_password) or (org and activationkey).
  • Multiple Activationkeys might be provided, separated by comma.
  • Download the corresponding certificate from your Satellite (https://satellite.example.com/pub/katelllo-server-ca.crt) and publish it, e.g. with a (profile) module.

Dnf/Yum plugin configuration

You can also configure the dnf/yum plugin via the $plugin_settings parameter.

rhsm::plugin_settings:
  main:
    enabled:1
    disable_system_repos:1

Limitations

Well, only RedHat is supported :)

Development

Some general guidelines on PR structure can be found here.