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
This commit is contained in:
35
extraconfig/tasks/major_upgrade_ceph_storage.sh
Normal file
35
extraconfig/tasks/major_upgrade_ceph_storage.sh
Normal file
@@ -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
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user