diff options
-rw-r--r-- | extraconfig/tasks/major_upgrade_ceph_storage.sh | 35 | ||||
-rw-r--r-- | extraconfig/tasks/major_upgrade_script_delivery.yaml | 19 |
2 files changed, 50 insertions, 4 deletions
diff --git a/extraconfig/tasks/major_upgrade_ceph_storage.sh b/extraconfig/tasks/major_upgrade_ceph_storage.sh new file mode 100644 index 00000000..de42b16d --- /dev/null +++ b/extraconfig/tasks/major_upgrade_ceph_storage.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# +# This delivers the ceph-storage 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 ceph-storage nodes as part of the +### tripleo upgrades workflow + + +function systemctl_ceph { + action=\$1 + systemctl \$action ceph +} + +# "so that mirrors aren't rebalanced as if the OSD died" - gfidente +ceph osd set noout + +systemctl_ceph stop +yum -y install python-zaqarclient # needed for os-collect-config +yum -y update +systemctl_ceph start + +ceph osd unset noout + +ENDOFCAT + +# ensure the permissions are OK +chmod 0755 $UPGRADE_SCRIPT + diff --git a/extraconfig/tasks/major_upgrade_script_delivery.yaml b/extraconfig/tasks/major_upgrade_script_delivery.yaml index f7faa7fc..e3b1e209 100644 --- a/extraconfig/tasks/major_upgrade_script_delivery.yaml +++ b/extraconfig/tasks/major_upgrade_script_delivery.yaml @@ -49,17 +49,28 @@ resources: config: {get_resource: ComputeDeliverUpgradeScriptConfig} input_values: {get_param: input_values} - - ObjectStoreDeliverUpgradeScriptConfig: + ObjectStorageDeliverUpgradeScriptConfig: type: OS::Heat::SoftwareConfig properties: group: script config: {get_file: major_upgrade_object_storage.sh} - ObjectStoreDeliverUpgradeScriptDeployment: + ObjectStorageDeliverUpgradeScriptDeployment: type: OS::Heat::SoftwareDeploymentGroup properties: servers: {get_param: objectstorage_servers} - config: {get_resource: ObjectStoreDeliverUpgradeScriptConfig} + config: {get_resource: ObjectStorageDeliverUpgradeScriptConfig} input_values: {get_param: input_values} + CephStorageDeliverUpgradeScriptConfig: + type: OS::Heat::SoftwareConfig + properties: + group: script + config: {get_file: major_upgrade_ceph_storage.sh} + + CephStorageDeliverUpgradeScriptDeployment: + type: OS::Heat::SoftwareDeploymentGroup + properties: + servers: {get_param: cephstorage_servers} + config: {get_resource: CephStorageDeliverUpgradeScriptConfig} + input_values: {get_param: input_values} |