diskimage-builder/elements/rhel-common/pre-install.d/00-rhel-registration
James Slagle 697800987f Allow for disabling rhel registration
When using the rhel element, it can be uesful to disable registration.
For instance, if using an internal mirror repository that does not
require registration/authentication.

Change-Id: I42fa34e7f146137e5b1b9c5d7785702311e1dca1
2015-01-07 10:27:48 -05:00

108 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
set -eu
set -o pipefail
opts=
attach_opts=
repos="repos --enable rhel-7-server-rpms"
satellite_repo="rhel-7-server-rh-common-beta-rpms"
if [ -n "${REG_AUTO_ATTACH:-}" ]; then
opts="$opts --auto-attach"
if [ -n "${REG_SERVICE_LEVEL:-}" ]; then
opts="$opts --servicelevel $REG_SERVICE_LEVEL"
fi
if [ -n "${REG_RELEASE:-}" ]; then
opts="$opts --release=$REG_RELEASE"
fi
else
if [ -n "${REG_SERVICE_LEVEL:-}" ]; then
echo "WARNING: REG_SERVICE_LEVEL set without REG_AUTO_ATTACH."
fi
if [ -n "${REG_RELEASE:-}" ]; then
echo "WARNING: REG_RELEASE set without REG_AUTO_ATTACH."
fi
if [ -n "${REG_POOL_ID:-}" ]; then
attach_opts="$attach_opts --pool=$REG_POOL_ID"
fi
fi
if [ -n "${REG_BASE_URL:-}" ]; then
opts="$opts --baseurl=$REG_BASE_URL"
fi
if [ -n "${REG_ENVIRONMENT:-}" ]; then
opts="$opts --env=$REG_ENVIRONMENT"
fi
if [ -n "${REG_FORCE:-}" ]; then
opts="$opts --force"
fi
if [ -n "${REG_SERVER_URL:-}" ]; then
opts="$opts --serverurl=$REG_SERVER_URL"
fi
if [ -n "${REG_ACTIVATION_KEY:-}" ]; then
opts="$opts --activationkey=$REG_ACTIVATION_KEY"
if [ -z "${REG_ORG:-}" ]; then
echo "WARNING: REG_ACTIVATION_KEY set without REG_ORG."
fi
else
if [ -n "${REG_PASSWORD:-}" ]; then
opts="$opts --password $REG_PASSWORD"
fi
if [ -n "${REG_USER:-}" ]; then
opts="$opts --username $REG_USER"
fi
fi
if [ -n "${REG_MACHINE_NAME:-}" ]; then
opts="$opts --name $REG_MACHINE_NAME"
fi
if [ -n "${REG_ORG:-}" ]; then
opts="$opts --org $REG_ORG"
fi
if [ -n "${REG_REPOS:-}" ]; then
for repo in $REG_REPOS; do
repos="$repos --enable $repo"
done
fi
if [ -n "${REG_TYPE:-}" ]; then
opts="$opts --type=$REG_TYPE"
fi
case "${REG_METHOD:-}" in
portal)
subscription-manager register $opts
if [ -z "${REG_AUTO_ATTACH:-}" ]; then
subscription-manager attach $attach_opts
fi
subscription-manager $repos
;;
satellite)
repos="$repos --enable ${satellite_repo}"
rpm -Uvh "$REG_SAT_URL/pub/katello-ca-consumer-latest.noarch.rpm" || true
subscription-manager register $opts
subscription-manager $repos
# beta-rpms repo only needed to support the katello-ca rpm above.
subscription-manager repos --disable rhel-7-server-rh-common-beta-rpms
;;
disable)
echo "Disabling RHEL registration"
export REG_HALT_UNREGISTER=1 # stops attempt to unregister
;;
*)
echo "WARNING: only 'portal', 'satellite', and 'disable' are valid values for REG_METHOD."
exit 1
esac