Do not install N+1 release unless upgrade in progress
During upgrade, installer RPMs from release N need to be installed to host (release N+1). During downgrade, installer RPMs from release N+1 don't need to be installed to host (release N) Currently installer from "the other release" is installed to host regardless an upgrade is in progress or no by kickstarts. This requires the kickstarts on release N to understand the structure of installer RPM of future release. The installer from "the other release" only useful is when an upgrade is in progress (to provide installer when downgrade is required). This change removes the step to install RPMs from other release to host when upgrade is not in progress. TCs: Upgrade from 21.05 -> 21.12 abort after controller-1 upgrade completed Upgrade from 21.05 -> 21.12 Upgrade from 21.12 -> 22.02 abort after controller-1 upgrade completed Upgrade from 21.12 -> 22.02 load delete after 21.05 -> 21.12 upgrade abort load delete after 21.05 -> 21.12 upgrade complete load delete after 21.12 -> 22.02 upgrade abort load delete after 21.12 -> 22.02 upgrade complete Depends-on: https://review.opendev.org/c/starlingx/config/+/829943 Closes-bug: 1961424 Change-Id: I86edbe09410d3df9b9440d89208af90f0eb1fd09 Signed-off-by: Bin Qian <bin.qian@windriver.com>
This commit is contained in:
parent
3edbb7f778
commit
46f41901d6
@ -34,21 +34,22 @@ echo "Done" >/dev/console
|
|||||||
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
|
|
||||||
# Check whether a second release is installed
|
if [ "$(curl -sf http://pxecontroller:6385/v1/upgrade/$(hostname)/upgrade_in_progress 2>/dev/null)" = "true" ]; then
|
||||||
. /etc/build.info
|
# Check whether a second release is installed
|
||||||
CURRENT_REL_DIR=rel-${SW_VERSION}
|
. /etc/build.info
|
||||||
OTHER_REL_DIR=
|
CURRENT_REL_DIR=rel-${SW_VERSION}
|
||||||
for REL_DIR in /var/www/pages/feed/*; do
|
OTHER_REL_DIR=
|
||||||
|
for REL_DIR in /var/www/pages/feed/*; do
|
||||||
if [[ ! $REL_DIR =~ "${SW_VERSION}" ]]; then
|
if [[ ! $REL_DIR =~ "${SW_VERSION}" ]]; then
|
||||||
OTHER_REL_DIR=`basename $REL_DIR`
|
OTHER_REL_DIR=`basename $REL_DIR`
|
||||||
OTHER_REL_VERSION=${OTHER_REL_DIR:4}
|
OTHER_REL_VERSION=${OTHER_REL_DIR:4}
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# If second release is installed, find the latest version of the installer
|
# If second release is installed, find the latest version of the installer
|
||||||
# RPM and install the pxeboot files we require to boot hosts with that release.
|
# RPM and install the pxeboot files we require to boot hosts with that release.
|
||||||
if [ ! -z "$OTHER_REL_DIR" ]; then
|
if [ ! -z "$OTHER_REL_DIR" ]; then
|
||||||
PATCH_RPM=`find /var/www/pages/updates/${OTHER_REL_DIR}/Packages -name 'pxe-network-installer*' | sort -V | tail -1`
|
PATCH_RPM=`find /var/www/pages/updates/${OTHER_REL_DIR}/Packages -name 'pxe-network-installer*' | sort -V | tail -1`
|
||||||
BASE_RPM=`find /var/www/pages/feed/${OTHER_REL_DIR}/Packages -name 'pxe-network-installer*' | sort -V | tail -1`
|
BASE_RPM=`find /var/www/pages/feed/${OTHER_REL_DIR}/Packages -name 'pxe-network-installer*' | sort -V | tail -1`
|
||||||
|
|
||||||
@ -75,6 +76,7 @@ if [ ! -z "$OTHER_REL_DIR" ]; then
|
|||||||
|| report_post_failure_with_msg "Failed to copy pxe-network-installer pxelinux.cfg files"
|
|| report_post_failure_with_msg "Failed to copy pxe-network-installer pxelinux.cfg files"
|
||||||
|
|
||||||
rm -rf $TMP_RPM
|
rm -rf $TMP_RPM
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
Loading…
Reference in New Issue
Block a user