#!/bin/bash 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 # 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