3 # dib-lint: disable=setu sete setpipefail dibdebugtrace
8 OK=/mnt/state/var/lib/rhsm/rhsm.ok
17 repos="repos --enable rhel-7-server-rpms"
18 satellite_repo="rhel-7-server-rh-common-rpms"
19 if [ -n "${REG_AUTO_ATTACH:-}" ]; then
20 opts="$opts --auto-attach"
22 if [ -n "${REG_SERVICE_LEVEL:-}" ]; then
23 opts="$opts --servicelevel $REG_SERVICE_LEVEL"
26 if [ -n "${REG_RELEASE:-}" ]; then
27 opts="$opts --release=$REG_RELEASE"
30 if [ -n "${REG_SERVICE_LEVEL:-}" ]; then
31 echo "WARNING: REG_SERVICE_LEVEL set without REG_AUTO_ATTACH."
34 if [ -n "${REG_RELEASE:-}" ]; then
35 echo "WARNING: REG_RELEASE set without REG_AUTO_ATTACH."
38 if [ -n "${REG_POOL_ID:-}" ]; then
39 attach_opts="$attach_opts --pool=$REG_POOL_ID"
43 if [ -n "${REG_BASE_URL:-}" ]; then
44 opts="$opts --baseurl=$REG_BASE_URL"
47 if [ -n "${REG_ENVIRONMENT:-}" ]; then
48 opts="$opts --env=$REG_ENVIRONMENT"
51 if [ -n "${REG_FORCE:-}" ]; then
53 sat5_opts="$sat5_opts --force"
56 if [ -n "${REG_SERVER_URL:-}" ]; then
57 opts="$opts --serverurl=$REG_SERVER_URL"
60 if [ -n "${REG_ACTIVATION_KEY:-}" ]; then
61 opts="$opts --activationkey=$REG_ACTIVATION_KEY"
62 sat5_opts="$sat5_opts --activationkey=$REG_ACTIVATION_KEY"
64 if [ -z "${REG_ORG:-}" ]; then
65 echo "WARNING: REG_ACTIVATION_KEY set without REG_ORG."
68 echo "WARNING: Support for registering with a username and password is deprecated."
69 echo "Please use activation keys instead. See the README for more information."
70 if [ -n "${REG_PASSWORD:-}" ]; then
71 opts="$opts --password $REG_PASSWORD"
74 if [ -n "${REG_USER:-}" ]; then
75 opts="$opts --username $REG_USER"
79 if [ -n "${REG_MACHINE_NAME:-}" ]; then
80 opts="$opts --name $REG_MACHINE_NAME"
81 sat5_opts="$sat5_opts --profilename=$REG_MACHINE_NAME"
84 if [ -n "${REG_ORG:-}" ]; then
85 opts="$opts --org=$REG_ORG"
86 sat5_opts="$sat5_opts --systemorgid=$REG_ORG"
89 if [ -n "${REG_REPOS:-}" ]; then
90 for repo in $(echo $REG_REPOS | tr ',' '\n'); do
91 repos="$repos --enable $repo"
95 if [ -n "${REG_TYPE:-}" ]; then
96 opts="$opts --type=$REG_TYPE"
99 function detect_satellite_version {
100 ping_api=$REG_SAT_URL/katello/api/ping
101 if curl -k -s -D - -o /dev/null $ping_api | grep "200 OK"; then
102 echo Satellite 6 detected at $REG_SAT_URL
104 elif curl -k -s -D - -o /dev/null $REG_SAT_URL/rhn/Login.do | grep "200 OK"; then
105 echo Satellite 5 detected at $REG_SAT_URL
108 echo No Satellite detected at $REG_SAT_URL
113 case "${REG_METHOD:-}" in
115 subscription-manager register $opts
116 if [ -z "${REG_AUTO_ATTACH:-}" -a -z "${REG_ACTIVATION_KEY:-}" ]; then
117 subscription-manager attach $attach_opts
119 subscription-manager $repos
122 detect_satellite_version
123 if [ "satellite_version" = "6" ]; then
124 repos="$repos --enable ${satellite_repo}"
125 rpm -Uvh "$REG_SAT_URL/pub/katello-ca-consumer-latest.noarch.rpm" || true
126 subscription-manager register $opts
127 subscription-manager $repos
128 yum install -y katello-agent || true # needed for errata reporting to satellite6
129 katello-package-upload
130 subscription-manager repos --disable ${satellite_repo}
132 pushd /usr/share/rhn/
133 curl -k -O $REG_SAT_URL/pub/RHN-ORG-TRUSTED-SSL-CERT
135 rhnreg_ks --serverUrl=$REG_SAT_URL/XMLRPC $sat5_opts
139 echo "Disabling RHEL registration"
142 echo "WARNING: only 'portal', 'satellite', and 'disable' are valid values for REG_METHOD."
146 mkdir -p $(dirname $OK)