diff options
author | marios <marios@redhat.com> | 2016-03-08 14:30:59 +0200 |
---|---|---|
committer | marios <marios@redhat.com> | 2016-03-08 17:47:36 +0200 |
commit | 911a81192e278152f4e4cdf5d728679a5f7c9994 (patch) | |
tree | ea9481beb2db2878b6bb30f20dcb3f2492f13c2d | |
parent | bb05fa304a2eed2caa4840e8039832d369a357f7 (diff) |
Add a ceph-storage node upgrade script for the upgrade workflow
This adds delivery of an upgrade script to any ceph-storage nodes
during the script delivery that comes first during the upgrade
workflow.
The controllers have the ceph-mon whilst the ceph-osds are on the
ceph-storage nodes. The ceph-mons will be updated first as part of
the heat-driven controller upgrade, and ceph-osds on ceph nodes are
upgraded with the upgrade-non-controller.sh tripleo-common script
as with compute and swift nodes.
Also slight rename for the ObjectStorageConfig/Deployment here for
consistency.
Change-Id: I12abad5548dcb019ade9273da06fe66fd97f54cc
-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} |