Merge "Use ServerOsCollectConfigData value in output"
[apex-tripleo-heat-templates.git] / extraconfig / tasks / tripleo_upgrade_node.sh
index 27ba33a..1114897 100644 (file)
@@ -15,37 +15,56 @@ cat > $UPGRADE_SCRIPT << ENDOFCAT
 
 set -eu
 NOVA_COMPUTE=""
-if systemctl show 'openstack-nova-compute' --property ActiveState | grep '\bactive\b'; then
+if hiera -c /etc/puppet/hiera.yaml service_names | grep nova_compute ; then
    NOVA_COMPUTE="true"
 fi
+SWIFT_STORAGE=""
+if hiera -c /etc/puppet/hiera.yaml service_names | grep swift_storage ; then
+   SWIFT_STORAGE="true"
+fi
 
 DEBUG="true"
 SCRIPT_NAME=$(basename $0)
 $(declare -f log_debug)
 $(declare -f manage_systemd_service)
 $(declare -f systemctl_swift)
+$(declare -f special_case_ovs_upgrade_if_needed)
 
 # pin nova messaging +-1 for the nova-compute service
 if [[ -n \$NOVA_COMPUTE ]]; then
     crudini  --set /etc/nova/nova.conf upgrade_levels compute auto
 fi
 
-$(declare -f special_case_ovs_upgrade_if_needed)
 special_case_ovs_upgrade_if_needed
 
-yum -y install python-zaqarclient  # needed for os-collect-config
-systemctl_swift stop
+if [[ -n \$SWIFT_STORAGE ]]; then
+    systemctl_swift stop
+fi
+
 yum -y update
-systemctl_swift start
 
+if [[ -n \$SWIFT_STORAGE ]]; then
+    systemctl_swift start
+fi
 # Due to bug#1640177 we need to restart compute agent
 if [[ -n \$NOVA_COMPUTE ]]; then
-    echo "Restarting openstack ceilometer agent compute"
+    log_debug "Restarting openstack ceilometer agent compute"
     systemctl restart openstack-ceilometer-compute
+    yum install -y openstack-nova-migration
 fi
 
-# Apply puppet manifest to converge just right after the \$ROLE upgrade
-puppet apply /root/${ROLE}_puppet_config.pp
+# Apply puppet manifest to converge just right after the ${ROLE} upgrade
+$(declare -f run_puppet)
+for step in 1 2 3 4 5 6; do
+    log_debug "Running puppet step \$step for ${ROLE}"
+    if ! run_puppet /root/${ROLE}_puppet_config.pp ${ROLE} \${step}; then
+         log_debug "Puppet failure at step \${step}"
+         exit 1
+    fi
+    log_debug "Completed puppet step \$step"
+done
+
+log_debug "TripleO upgrade run completed."
 
 ENDOFCAT