0c341f5820
Originally it was added for missing python-cheetah dep
for openstack-nova. Nova has removed usage of it long
ago with [1]. rhel-7-server-rh-common-rpms should be
disabled once it's usage is over as it packages from
it can conflict with other openstack repos.
If some package which is needed by OpenStack Packages
is missing then instead of adding rhel-7-server-rh-common-rpms
repo consideration should be to add it in RDO.
[1] https://review.opendev.org/#/c/40205
This reverts commit c7219a5a60
.
Change-Id: Iad3a1c353c10bb35f9c9ef4076b65f5c84b803b2
137 lines
3.9 KiB
Bash
Executable file
137 lines
3.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# This script deals quite a bit with passwords, which we don't ever want
|
|
# included in trace output
|
|
# dib-lint: disable=dibdebugtrace
|
|
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
opts=
|
|
attach_opts=
|
|
|
|
if [ "${DIB_RELEASE:-7}" == "7" ]; then
|
|
repos="repos --enable rhel-7-server-rpms"
|
|
satellite_repo="rhel-7-server-rh-common-rpms"
|
|
elif [ "${DIB_RELEASE}" == "8" ]; then
|
|
repos="repos --enable rhel-8-for-x86_64-appstream-rpms --enable rhel-8-for-x86_64-baseos-rpms"
|
|
satellite_repo="satellite-tools-6.5-for-rhel-8-x86_64-rpms"
|
|
fi
|
|
|
|
REG_SAT_CERT=${REG_SAT_CERT:-"katello-ca-consumer-latest.noarch.rpm"}
|
|
|
|
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 $(echo $REG_REPOS | tr ',' '\n'); do
|
|
repos="$repos --enable $repo"
|
|
done
|
|
fi
|
|
|
|
if [ -n "${REG_TYPE:-}" ]; then
|
|
opts="$opts --type=$REG_TYPE"
|
|
fi
|
|
|
|
sanitized_opts=$(echo "$opts" | sed 's/--password \([^ ]*\)/--password ***/g')
|
|
sanitized_opts=$(echo "$sanitized_opts" | sed 's/--activationkey=\([^ ]*\)/--activationkey=***/g')
|
|
|
|
case "${REG_METHOD:-}" in
|
|
portal)
|
|
echo "Registering with options: $sanitized_opts"
|
|
subscription-manager register $opts
|
|
if [ -z "${REG_AUTO_ATTACH:-}" -a -z "${REG_ACTIVATION_KEY:-}" ]; then
|
|
echo "Attaching with options: $attach_opts"
|
|
subscription-manager attach $attach_opts
|
|
fi
|
|
echo "Disabling all previous repos"
|
|
subscription-manager repos --disable=\*
|
|
echo "Enabling repos: $repos"
|
|
subscription-manager $repos
|
|
if [ -n "${REG_RELEASE:-}" ]; then
|
|
subscription-manager release --set=${REG_RELEASE}
|
|
fi
|
|
;;
|
|
satellite)
|
|
# Save an unmodified copy of the repo list for logging
|
|
user_repos=$repos
|
|
repos="$repos --enable ${satellite_repo}"
|
|
echo "Installing satellite dependencies"
|
|
rpm -Uvh "$REG_SAT_URL/pub/$REG_SAT_CERT" || true
|
|
echo "Registering with options: $sanitized_opts"
|
|
subscription-manager register $opts
|
|
echo "Disabling all previous repos"
|
|
subscription-manager repos --disable=\*
|
|
echo "Enabling repos: $user_repos"
|
|
subscription-manager $repos
|
|
echo "Disabling satellite repo because it is no longer needed"
|
|
subscription-manager repos --disable ${satellite_repo}
|
|
;;
|
|
disable)
|
|
echo "Disabling RHEL registration"
|
|
;;
|
|
*)
|
|
echo "WARNING: only 'portal', 'satellite', and 'disable' are valid values for REG_METHOD."
|
|
exit 0
|
|
esac
|