Merge "Update pxeboot kickstart to allow for hybrid install"
This commit is contained in:
commit
3349a81745
@ -30,17 +30,29 @@ if [ -n "$BOOTIF" ] ; then
|
|||||||
ndev=`ip link show |grep -B 1 $BOOTIF |head -1 |awk '{print $2}' |sed -e 's/://'`
|
ndev=`ip link show |grep -B 1 $BOOTIF |head -1 |awk '{print $2}' |sed -e 's/://'`
|
||||||
if [ -n "$ndev" ] ; then
|
if [ -n "$ndev" ] ; then
|
||||||
mgmt_dev=$ndev
|
mgmt_dev=$ndev
|
||||||
|
|
||||||
|
# Persist the boot device to the platform configuration. This will get
|
||||||
|
# overwritten when config_controller is run.
|
||||||
|
echo management_interface=$mgmt_dev >> /etc/platform/platform.conf
|
||||||
|
|
||||||
|
cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$mgmt_dev
|
||||||
|
DEVICE=$mgmt_dev
|
||||||
|
BOOTPROTO=dhcp
|
||||||
|
ONBOOT=yes
|
||||||
|
IPV6_AUTOCONF=no
|
||||||
|
EOF
|
||||||
else
|
else
|
||||||
report_post_failure_with_msg "ERROR: Unable to determine mgmt interface from BOOTIF=$BOOTIF."
|
report_post_failure_with_msg "ERROR: Unable to determine mgmt interface from BOOTIF=$BOOTIF."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
report_post_failure_with_msg "ERROR: BOOTIF is not set. Unable to determine mgmt interface."
|
# This is a hybrid ISO/network install. Mount the media to ensure Anaconda
|
||||||
|
# ejects it on reboot.
|
||||||
|
if [ -e /dev/disk/by-label/oe_iso_boot ]; then
|
||||||
|
mkdir /mnt/iso
|
||||||
|
mount /dev/disk/by-label/oe_iso_boot /mnt/iso
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Persist the boot device to the platform configuration. This will get
|
|
||||||
# overwritten when config_controller is run.
|
|
||||||
echo management_interface=$mgmt_dev >> /etc/platform/platform.conf
|
|
||||||
|
|
||||||
# persist the default http port number to platform configuration. This
|
# persist the default http port number to platform configuration. This
|
||||||
# will get overwritten when config_controller is run.
|
# will get overwritten when config_controller is run.
|
||||||
echo http_port=8080 >> /etc/platform/platform.conf
|
echo http_port=8080 >> /etc/platform/platform.conf
|
||||||
@ -57,13 +69,6 @@ IPV6_AUTOCONF=no
|
|||||||
NAME=loopback
|
NAME=loopback
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$mgmt_dev
|
|
||||||
DEVICE=$mgmt_dev
|
|
||||||
BOOTPROTO=dhcp
|
|
||||||
ONBOOT=yes
|
|
||||||
IPV6_AUTOCONF=no
|
|
||||||
EOF
|
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%post --erroronfail
|
%post --erroronfail
|
||||||
@ -74,6 +79,13 @@ EOF
|
|||||||
anaconda_logdir=/var/log/anaconda
|
anaconda_logdir=/var/log/anaconda
|
||||||
mkdir -p $anaconda_logdir
|
mkdir -p $anaconda_logdir
|
||||||
|
|
||||||
|
# Check for inst.noverifyssl
|
||||||
|
if grep -q inst.noverifyssl /proc/cmdline; then
|
||||||
|
NOVERIFYSSL_WGET_OPT="--no-check-certificate"
|
||||||
|
else
|
||||||
|
NOVERIFYSSL_WGET_OPT=""
|
||||||
|
fi
|
||||||
|
|
||||||
cd /www/pages
|
cd /www/pages
|
||||||
mkdir -p feed/rel-xxxPLATFORM_RELEASExxx/Packages
|
mkdir -p feed/rel-xxxPLATFORM_RELEASExxx/Packages
|
||||||
mkdir -p feed/rel-xxxPLATFORM_RELEASExxx/repodata
|
mkdir -p feed/rel-xxxPLATFORM_RELEASExxx/repodata
|
||||||
@ -81,16 +93,18 @@ cd feed/rel-xxxPLATFORM_RELEASExxx
|
|||||||
feed_url=xxxHTTP_URLxxx
|
feed_url=xxxHTTP_URLxxx
|
||||||
declare -i cut_dirs=NUM_DIRS
|
declare -i cut_dirs=NUM_DIRS
|
||||||
echo "Mirroring software repository (may take several minutes)..." >/dev/console
|
echo "Mirroring software repository (may take several minutes)..." >/dev/console
|
||||||
wget --mirror --no-parent --no-host-directories --reject 'index.html*' --cut-dirs=$cut_dirs $feed_url/Packages/ -o $anaconda_logdir/rpmget.log \
|
wget ${NOVERIFYSSL_WGET_OPT} --mirror --no-parent --no-host-directories --reject 'index.html*' \
|
||||||
|
--cut-dirs=$cut_dirs $feed_url/Packages/ -o $anaconda_logdir/rpmget.log \
|
||||||
|| report_post_failure_with_logfile $anaconda_logdir/rpmget.log
|
|| report_post_failure_with_logfile $anaconda_logdir/rpmget.log
|
||||||
wget --mirror --no-parent --no-host-directories --reject 'index.html*' --cut-dirs=$cut_dirs $feed_url/repodata/ -o $anaconda_logdir/rpmget_repo.log \
|
wget ${NOVERIFYSSL_WGET_OPT} --mirror --no-parent --no-host-directories --reject 'index.html*' \
|
||||||
|
--cut-dirs=$cut_dirs $feed_url/repodata/ -o $anaconda_logdir/rpmget_repo.log \
|
||||||
|| report_post_failure_with_logfile $anaconda_logdir/rpmget_repo.log
|
|| report_post_failure_with_logfile $anaconda_logdir/rpmget_repo.log
|
||||||
wget $feed_url/isolinux.cfg --append $anaconda_logdir/wget_kickstarts.log \
|
wget ${NOVERIFYSSL_WGET_OPT} $feed_url/isolinux.cfg --append $anaconda_logdir/wget_kickstarts.log \
|
||||||
|| report_post_failure_with_logfile $anaconda_logdir/wget_kickstarts.log
|
|| report_post_failure_with_logfile $anaconda_logdir/wget_kickstarts.log
|
||||||
echo "Done" >/dev/console
|
echo "Done" >/dev/console
|
||||||
|
|
||||||
patches_url=xxxHTTP_URLxxx/patches
|
patches_url=xxxHTTP_URLxxx/patches
|
||||||
wget -q --spider ${patches_url}/
|
wget ${NOVERIFYSSL_WGET_OPT} -q --spider ${patches_url}/
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "Downloading patches..." >/dev/console
|
echo "Downloading patches..." >/dev/console
|
||||||
cd /www/pages
|
cd /www/pages
|
||||||
@ -99,15 +113,18 @@ if [ $? -eq 0 ]; then
|
|||||||
cd updates/rel-xxxPLATFORM_RELEASExxx
|
cd updates/rel-xxxPLATFORM_RELEASExxx
|
||||||
declare -i patches_cut_dirs=$((cut_dirs+1))
|
declare -i patches_cut_dirs=$((cut_dirs+1))
|
||||||
|
|
||||||
wget --mirror --no-parent --no-host-directories --reject 'index.html*' --cut-dirs=$patches_cut_dirs $patches_url/Packages/ -o $anaconda_logdir/patches_rpmget.log \
|
wget ${NOVERIFYSSL_WGET_OPT} --mirror --no-parent --no-host-directories --reject 'index.html*' \
|
||||||
|
--cut-dirs=$patches_cut_dirs $patches_url/Packages/ -o $anaconda_logdir/patches_rpmget.log \
|
||||||
|| report_post_failure_with_logfile $anaconda_logdir/patches_rpmget.log
|
|| report_post_failure_with_logfile $anaconda_logdir/patches_rpmget.log
|
||||||
wget --mirror --no-parent --no-host-directories --reject 'index.html*' --cut-dirs=$patches_cut_dirs $patches_url/repodata/ -o $anaconda_logdir/patches_rpmget_repo.log \
|
wget ${NOVERIFYSSL_WGET_OPT} --mirror --no-parent --no-host-directories --reject 'index.html*' \
|
||||||
|
--cut-dirs=$patches_cut_dirs $patches_url/repodata/ -o $anaconda_logdir/patches_rpmget_repo.log \
|
||||||
|| report_post_failure_with_logfile $anaconda_logdir/patches_rpmget_repo.log
|
|| report_post_failure_with_logfile $anaconda_logdir/patches_rpmget_repo.log
|
||||||
|
|
||||||
mkdir -p /opt/patching/metadata
|
mkdir -p /opt/patching/metadata
|
||||||
mkdir -p /opt/patching/packages/xxxPLATFORM_RELEASExxx
|
mkdir -p /opt/patching/packages/xxxPLATFORM_RELEASExxx
|
||||||
cd /opt/patching
|
cd /opt/patching
|
||||||
wget --mirror --no-parent --no-host-directories --reject 'index.html*' --cut-dirs=$patches_cut_dirs $patches_url/metadata/ -o $anaconda_logdir/patches_rpmget_metadata.log \
|
wget ${NOVERIFYSSL_WGET_OPT} --mirror --no-parent --no-host-directories --reject 'index.html*' \
|
||||||
|
--cut-dirs=$patches_cut_dirs $patches_url/metadata/ -o $anaconda_logdir/patches_rpmget_metadata.log \
|
||||||
|| report_post_failure_with_logfile $anaconda_logdir/patches_rpmget_metadata.log
|
|| report_post_failure_with_logfile $anaconda_logdir/patches_rpmget_metadata.log
|
||||||
find /www/pages/updates/rel-xxxPLATFORM_RELEASExxx/Packages -name '*.rpm' \
|
find /www/pages/updates/rel-xxxPLATFORM_RELEASExxx/Packages -name '*.rpm' \
|
||||||
| xargs --no-run-if-empty -I files cp --preserve=all files /opt/patching/packages/xxxPLATFORM_RELEASExxx/
|
| xargs --no-run-if-empty -I files cp --preserve=all files /opt/patching/packages/xxxPLATFORM_RELEASExxx/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user