From 911a81192e278152f4e4cdf5d728679a5f7c9994 Mon Sep 17 00:00:00 2001 From: marios Date: Tue, 8 Mar 2016 14:30:59 +0200 Subject: 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 --- extraconfig/tasks/major_upgrade_ceph_storage.sh | 35 ++++++++++++++++++++++ .../tasks/major_upgrade_script_delivery.yaml | 19 +++++++++--- 2 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 extraconfig/tasks/major_upgrade_ceph_storage.sh (limited to 'extraconfig') 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} -- cgit 1.2.3-korg