Write the compute upgrade script for tripleo major upgrade workflow
As part of the major upgrade workflow non-controller nodes are to be updated by the operator, out-of-band and only after an initial heat stack-update that invokes the upgrade of the controller nodes. This review adds a ComputeDeliverUpgradeConfigDeployment_Step3 SoftwareDeploymentGroup to be applied only to compute nodes, and that depends on the controllers having been upgraded after ControllerPacemakerUpgradeConfig_Step2. Its purpose is to deliver but not invoke the upgrade script on compute nodes to /root/tripleo_upgrade_node.sh . The non-controller nodes will then be upgraded later by an operator that will run the script provided for that purpose, like at https://review.openstack.org/#/c/284722/1 for example. Change-Id: Ic6115fc8cf5320abfcf500112ff563bde8b88661
This commit is contained in:
parent
f8633a42e2
commit
55f603b736
24
extraconfig/tasks/major_upgrade_compute.sh
Normal file
24
extraconfig/tasks/major_upgrade_compute.sh
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# This delivers the compute upgrade script to be invoked as part of the tripleo
|
||||||
|
# major upgrade workflow.
|
||||||
|
#
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
UPGRADE_SCRIPT=/root/tripleo_upgrade_node.sh
|
||||||
|
|
||||||
|
cat > $UPGRADE_SCRIPT << ENDOFCAT
|
||||||
|
### DO NOT MODIFY THIS FILE
|
||||||
|
### This file is automatically delivered to the compute nodes as part of the
|
||||||
|
### tripleo upgrades workflow
|
||||||
|
|
||||||
|
# pin nova to kilo (messaging +-1) for the nova-compute service
|
||||||
|
|
||||||
|
crudini --set /etc/nova/nova.conf upgrade_levels compute $upgrade_level_nova_compute
|
||||||
|
yum -y update
|
||||||
|
|
||||||
|
ENDOFCAT
|
||||||
|
|
||||||
|
# ensure the permissions are OK
|
||||||
|
chmod 0755 $UPGRADE_SCRIPT
|
||||||
|
|
@ -66,3 +66,29 @@ resources:
|
|||||||
servers: {get_param: controller_servers}
|
servers: {get_param: controller_servers}
|
||||||
config: {get_resource: ControllerPacemakerUpgradeConfig_Step2}
|
config: {get_resource: ControllerPacemakerUpgradeConfig_Step2}
|
||||||
input_values: {get_param: input_values}
|
input_values: {get_param: input_values}
|
||||||
|
|
||||||
|
ComputeDeliverUpgradeConfig_Step3:
|
||||||
|
type: OS::Heat::SoftwareConfig
|
||||||
|
properties:
|
||||||
|
group: script
|
||||||
|
config:
|
||||||
|
list_join:
|
||||||
|
- ''
|
||||||
|
- - str_replace:
|
||||||
|
template: |
|
||||||
|
#!/bin/bash
|
||||||
|
upgrade_level_nova_compute='UPGRADE_LEVEL_NOVA_COMPUTE'
|
||||||
|
params:
|
||||||
|
UPGRADE_LEVEL_NOVA_COMPUTE: {get_param: UpgradeLevelNovaCompute}
|
||||||
|
- get_file: pacemaker_common_functions.sh
|
||||||
|
- get_file: major_upgrade_compute.sh
|
||||||
|
|
||||||
|
ComputeDeliverUpgradeConfigDeployment_Step3:
|
||||||
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
|
depends_on: ControllerPacemakerUpgradeDeployment_Step2
|
||||||
|
properties:
|
||||||
|
servers: {get_param: compute_servers}
|
||||||
|
config: {get_resource: ComputeDeliverUpgradeConfig_Step3}
|
||||||
|
input_values: {get_param: input_values}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user