#!/bin/bash # This script is for RHEL6 use only. For RHEL7, please see the readme for # documentation on which scripts are used for registration and the variables # needed to enable the registration process. if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then set -x fi set -eu set -o pipefail export DIB_RHSM_USER=${DIB_RHSM_USER:-} if [ -n "${DIB_RHSM_USER:-}" ] && [ -n "${DIB_RHSM_PASSWORD:-}" ] ; then opts="--force" if [[ -n "${DIB_SAT_KEY:-}" ]]; then opts="$opts --activationkey ${DIB_SAT_KEY}" else opts="$opts --username ${DIB_RHSM_USER} --password ${DIB_RHSM_PASSWORD}" fi if [[ -n "${DIB_SAT_URL:-}" ]]; then if [[ "${DIB_REG_TYPE:-}" == "rhn" ]]; then opts="$opts --serverUrl ${DIB_SAT_URL}" else opts="$opts --serverurl ${DIB_SAT_URL} --sslCACert /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" fi fi if [[ -n "${DIB_SAT_CERT_RPM_URL:-}" ]]; then yum install -y ${DIB_SAT_CERT_RPM_URL} fi if [[ "${DIB_REG_TYPE:-}" == "rhn" ]]; then rhnreg_ks $opts --norhnsd sleep 1 # optional channel required for diskimage-builder dependency channels="-a -c rhel-x86_64-server-optional-6" if [[ -n "${DIB_RHN_CHANNELS:-}" ]]; then for chan in $DIB_RHN_CHANNELS; do channels="$channels -a -c $chan" done fi rhn-channel --user=$DIB_RHSM_USER --password=$DIB_RHSM_PASSWORD $channels rhn-channel -l else subscription-manager register $opts # wait a second to ensure consumer certificate is finished writing to disk sleep 1 if [ -z ${DIB_RHSM_POOL:-} ]; then subscription-manager attach --auto else subscription-manager attach --pool $DIB_RHSM_POOL fi subscription-manager repos --disable=* # optional repo required for diskimage-builder dependency if [ "$DISTRO_NAME" == "rhel7" ]; then repos="--enable rhel-7-server-optional-rpms" else repos="--enable rhel-6-server-optional-rpms" fi if [[ -n "${DIB_RHSM_REPOS:-}" ]]; then for repo in $DIB_RHSM_REPOS; do repos="$repos --enable $repo" done fi subscription-manager repos $repos subscription-manager repos --list fi fi