Add special case upgrade from openvswitch 2.5.0-14
In [1] we removed the previously used special case upgrade code.
However we have since discovered that for openvswitch 2.5.0-14
the special case is still required with an extra flag to prevent
the restart. This adds the upgrade code back into the update
and upgrade scripts.
Related-Bug: 1669714
[1] https://review.openstack.org/#/q/59e5f9597eb37f69045e470eb457b878728477d7
Change-Id: I3e5899e2d831b89745b2f37e61ff69dbf83ff595
(cherry picked from commit 2e7c850fa1
)
This commit is contained in:
parent
6afee73607
commit
b0e4970a7c
|
@ -4,5 +4,8 @@
|
|||
#
|
||||
set -eu
|
||||
|
||||
# Special-case OVS for https://bugs.launchpad.net/tripleo/+bug/1669714
|
||||
special_case_ovs_upgrade_if_needed
|
||||
|
||||
yum -y install python-zaqarclient # needed for os-collect-config
|
||||
yum -y -q update
|
||||
|
|
|
@ -8,7 +8,9 @@ set -o pipefail
|
|||
|
||||
UPGRADE_SCRIPT=/root/tripleo_upgrade_node.sh
|
||||
|
||||
cat > $UPGRADE_SCRIPT << 'ENDOFCAT'
|
||||
declare -f special_case_ovs_upgrade_if_needed > $UPGRADE_SCRIPT
|
||||
# use >> here so we don't lose the declaration we added above
|
||||
cat >> $UPGRADE_SCRIPT << 'ENDOFCAT'
|
||||
#!/bin/bash
|
||||
### DO NOT MODIFY THIS FILE
|
||||
### This file is automatically delivered to the ceph-storage nodes as part of the
|
||||
|
@ -49,6 +51,8 @@ timeout 60 bash -c "while kill -0 ${OSD_PIDS} 2> /dev/null; do
|
|||
sleep 2;
|
||||
done"
|
||||
|
||||
special_case_ovs_upgrade_if_needed
|
||||
|
||||
# Update (Ceph to Jewel)
|
||||
yum -y install python-zaqarclient # needed for os-collect-config
|
||||
yum -y update
|
||||
|
|
|
@ -18,6 +18,10 @@ set -eu
|
|||
|
||||
crudini --set /etc/nova/nova.conf upgrade_levels compute $upgrade_level_nova_compute
|
||||
|
||||
# Special-case OVS for https://bugs.launchpad.net/tripleo/+bug/1669714
|
||||
$(declare -f special_case_ovs_upgrade_if_needed)
|
||||
special_case_ovs_upgrade_if_needed
|
||||
|
||||
yum -y install python-zaqarclient # needed for os-collect-config
|
||||
yum -y update
|
||||
|
||||
|
|
|
@ -99,6 +99,9 @@ if [ $DO_MYSQL_UPGRADE -eq 1 ]; then
|
|||
mv /var/lib/mysql $MYSQL_TEMP_UPGRADE_BACKUP_DIR
|
||||
fi
|
||||
|
||||
# Special-case OVS for https://bugs.launchpad.net/tripleo/+bug/1669714
|
||||
special_case_ovs_upgrade_if_needed
|
||||
|
||||
yum -y install python-zaqarclient # needed for os-collect-config
|
||||
yum -y -q update
|
||||
|
||||
|
|
|
@ -23,6 +23,9 @@ function systemctl_swift {
|
|||
done
|
||||
}
|
||||
|
||||
$(declare -f special_case_ovs_upgrade_if_needed)
|
||||
special_case_ovs_upgrade_if_needed
|
||||
|
||||
systemctl_swift stop
|
||||
|
||||
yum -y install python-zaqarclient # needed for os-collect-config
|
||||
|
|
|
@ -299,9 +299,10 @@ function systemctl_swift {
|
|||
}
|
||||
|
||||
# Special-case OVS for https://bugs.launchpad.net/tripleo/+bug/1635205
|
||||
# Update condition and add --notriggerun for +bug/1669714
|
||||
function special_case_ovs_upgrade_if_needed {
|
||||
if [[ -n $(rpm -q --scripts openvswitch | awk '/postuninstall/,/*/' | grep "systemctl.*try-restart") ]]; then
|
||||
echo "Manual upgrade of openvswitch - restart in postun detected"
|
||||
if rpm -qa | grep "^openvswitch-2.5.0-14" || rpm -q --scripts openvswitch | awk '/postuninstall/,/*/' | grep "systemctl.*try-restart" ; then
|
||||
echo "Manual upgrade of openvswitch - ovs-2.5.0-14 or restart in postun detected"
|
||||
rm -rf OVS_UPGRADE
|
||||
mkdir OVS_UPGRADE && pushd OVS_UPGRADE
|
||||
echo "Attempting to downloading latest openvswitch with yumdownloader"
|
||||
|
@ -310,8 +311,8 @@ function special_case_ovs_upgrade_if_needed {
|
|||
if rpm -U --test $pkg 2>&1 | grep "already installed" ; then
|
||||
echo "Looks like newer version of $pkg is already installed, skipping"
|
||||
else
|
||||
echo "Updating $pkg with nopostun option"
|
||||
rpm -U --replacepkgs --nopostun $pkg
|
||||
echo "Updating $pkg with --nopostun --notriggerun"
|
||||
rpm -U --replacepkgs --nopostun --notriggerun $pkg
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
|
|
@ -73,6 +73,9 @@ if [[ "$pacemaker_status" == "active" && \
|
|||
fi
|
||||
fi
|
||||
|
||||
# special case https://bugs.launchpad.net/tripleo/+bug/1635205 +bug/1669714
|
||||
special_case_ovs_upgrade_if_needed
|
||||
|
||||
if [[ "$pacemaker_status" == "active" ]] ; then
|
||||
echo "Pacemaker running, stopping cluster node and doing full package update"
|
||||
node_count=$(pcs status xml | grep -o "<nodes_configured.*/>" | grep -o 'number="[0-9]*"' | grep -o "[0-9]*")
|
||||
|
|
Loading…
Reference in New Issue