Add support Red Hat Network (RHN)

This provides basic support to register to the Red Hat Network
(RHN Classic) for packages. The image is unregistered from RHN
before completing image build. The rhnsd service is prevented
from starting since it is not needed for packagage install.

Change-Id: I2dc124cdc6ae59a63fd94d82d77108acccc3f668
This commit is contained in:
aweiteka 2014-01-21 13:48:16 -05:00
parent 3dc40c925d
commit 78dbbe68fe
3 changed files with 40 additions and 15 deletions

View File

@ -1,10 +1,18 @@
Overrides:
# Overrides:
## General
* Set DIB_CLOUD_IMAGES to a URL for downloading base Red Hat Enterprise Linux cloud image.
* Set DIB_CLOUD_RELEASE to a use a non-default name for the Red Hat Enterprise Linux cloud image.
* Set DIB_RHSM_USER and DIB_RHSM_PASSOWRD for the RHN user to be used for a subscription registration.
If these are set, the image building process will register the system with RHN
and apply the associated Red Hat Enterprise Linux Server subscription so the
latest package updates can be applied. At the end of the image building
process, the system will be unregistered from RHN.
* Set DIB_RHSM_POOL to a subscription pool if you want the system to not use
the auto attach feature of subscription-manager
## Red Hat Subscription Manager (RHSM)
Certificate-based Red Hat Subscription Managment (RHSM) is the default registration type.
* Set DIB_RHSM_USER and DIB_RHSM_PASSWORD to register the system with RHSM during the image building process. This will apply the associated Red Hat Enterprise Linux Server subscription so the latest package updates can be applied. At the end of the image building process, the system will be unregistered from RHSM.
* Set DIB_RHSM_POOL to a subscription pool if you do not want the system to use the `--auto-attach` feature of `subscription-manager`.
## Red Hat Network (RHN)
Set `DIB_REG_TYPE=rhn` for Red Hat Network (RHN classic) registration. The image building process will register the system to RHN and apply the associated Red Hat Enterprise Linux Server subscription so the latest package updates can be applied. At the end of the image building process, the system will be unregistered from RHN.
* For RHN username/password authentication set DIB_RHSM_USER and DIB_RHSM_PASSWORD.

View File

@ -3,5 +3,9 @@
set -e
if [ -n "$DIB_RHSM_USER" ] && [ -n "$DIB_RHSM_PASSWORD" ]; then
if [[ "$DIB_REG_TYPE" == "rhn" ]]; then
rm -rf /etc/sysconfig/rhn/systemid
else
subscription-manager unregister
fi
fi

View File

@ -4,13 +4,26 @@ set -e
if [ -n "$DIB_RHSM_USER" ] && [ -n "$DIB_RHSM_PASSWORD" ]
then
subscription-manager register --user $DIB_RHSM_USER --password $DIB_RHSM_PASSWORD
# wait a second to ensure consumer certificate is finished writing to disk
sleep 1
if [ -z $DIB_RHSM_POOL ]; then
subscription-manager attach --auto
opts="--force --username ${DIB_RHSM_USER} --password ${DIB_RHSM_PASSWORD}"
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"
rhn-channel --user=$DIB_RHSM_USER --password=$DIB_RHSM_PASSWORD $channels
rhn-channel -l
else
subscription-manager attach --pool $DIB_RHSM_POOL
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
repos="--enable rhel-6-server-optional-rpms"
subscription-manager repos $repos
subscription-manager repos --list
fi
subscription-manager repos --enable rhel-6-server-optional-rpms
fi