Merge "Prefill Sensu client custom config"
[apex-tripleo-heat-templates.git] / extraconfig / tasks / major_upgrade_compute.sh
1 #!/bin/bash
2 #
3 # This delivers the compute upgrade script to be invoked as part of the tripleo
4 # major upgrade workflow.
5 #
6 set -eu
7
8 UPGRADE_SCRIPT=/root/tripleo_upgrade_node.sh
9
10 cat > $UPGRADE_SCRIPT << ENDOFCAT
11 ### DO NOT MODIFY THIS FILE
12 ### This file is automatically delivered to the compute nodes as part of the
13 ### tripleo upgrades workflow
14
15 set -eu
16
17 # pin nova to kilo (messaging +-1) for the nova-compute service
18
19 crudini  --set /etc/nova/nova.conf upgrade_levels compute $upgrade_level_nova_compute
20
21
22 # Special-case OVS for https://bugs.launchpad.net/tripleo/+bug/1635205
23 if [[ -n \$(rpm -q --scripts openvswitch | awk '/postuninstall/,/*/' | grep "systemctl.*try-restart") ]]; then
24     echo "Manual upgrade of openvswitch - restart in postun detected"
25     mkdir OVS_UPGRADE || true
26     pushd OVS_UPGRADE
27     echo "Attempting to downloading latest openvswitch with yumdownloader"
28     yumdownloader --resolve openvswitch
29     echo "Updating openvswitch with nopostun"
30     rpm -U --nopostun ./*.rpm
31     popd
32 else
33     echo "Skipping manual upgrade of openvswitch - no restart in postun detected"
34 fi
35
36 yum -y install python-zaqarclient  # needed for os-collect-config
37 yum -y update
38
39 ENDOFCAT
40
41 # ensure the permissions are OK
42 chmod 0755 $UPGRADE_SCRIPT
43