Add RemovalPolicies param for resource groups

This allows to specify particular nodes when scaling down
number of nodes in a resource group.

Change-Id: Idc3682ed430f351d533b990b44e8038866434e42
This commit is contained in:
Jan Provaznik 2015-07-08 15:51:44 +02:00
parent fa782c157c
commit e77d68f26a

@ -621,6 +621,39 @@ parameters:
Setting to a previously unused value during stack-update will trigger Setting to a previously unused value during stack-update will trigger
package update on all nodes package update on all nodes
# If you want to remove a specific node from a resource group, you can pass
# the node name or id as a <Group>RemovalPolicies parameter, for example:
# ComputeRemovalPolicies: [{'resource_list': ['0']}]
ControllerRemovalPolicies:
default: []
type: json
description: >
List of resources to be removed from ControllerResourceGroup when
doing an update which requires removal of specific resources.
ComputeRemovalPolicies:
default: []
type: json
description: >
List of resources to be removed from ComputeResourceGroup when
doing an update which requires removal of specific resources.
BlockStorageRemovalPolicies:
default: []
type: json
description: >
List of resources to be removed from BlockStorageResourceGroup when
doing an update which requires removal of specific resources.
ObjectStorageRemovalPolicies:
default: []
type: json
description: >
List of resources to be removed from ObjectStorageResourceGroup when
doing an update which requires removal of specific resources.
CephStorageRemovalPolicies:
default: []
type: json
description: >
List of resources to be removed from CephStorageResourceGroup when
doing an update which requires removal of specific resources.
resources: resources:
@ -643,6 +676,7 @@ resources:
depends_on: Networks depends_on: Networks
properties: properties:
count: {get_param: ControllerCount} count: {get_param: ControllerCount}
removal_policies: {get_param: ControllerRemovalPolicies}
resource_def: resource_def:
type: OS::TripleO::Controller type: OS::TripleO::Controller
properties: properties:
@ -747,6 +781,7 @@ resources:
depends_on: Networks depends_on: Networks
properties: properties:
count: {get_param: ComputeCount} count: {get_param: ComputeCount}
removal_policies: {get_param: ComputeRemovalPolicies}
resource_def: resource_def:
type: OS::TripleO::Compute type: OS::TripleO::Compute
properties: properties:
@ -810,6 +845,7 @@ resources:
depends_on: Networks depends_on: Networks
properties: properties:
count: {get_param: BlockStorageCount} count: {get_param: BlockStorageCount}
removal_policies: {get_param: BlockStorageRemovalPolicies}
resource_def: resource_def:
type: OS::TripleO::BlockStorage type: OS::TripleO::BlockStorage
properties: properties:
@ -845,6 +881,7 @@ resources:
depends_on: Networks depends_on: Networks
properties: properties:
count: {get_param: ObjectStorageCount} count: {get_param: ObjectStorageCount}
removal_policies: {get_param: ObjectStorageRemovalPolicies}
resource_def: resource_def:
type: OS::TripleO::ObjectStorage type: OS::TripleO::ObjectStorage
properties: properties:
@ -870,6 +907,7 @@ resources:
depends_on: Networks depends_on: Networks
properties: properties:
count: {get_param: CephStorageCount} count: {get_param: CephStorageCount}
removal_policies: {get_param: CephStorageRemovalPolicies}
resource_def: resource_def:
type: OS::TripleO::CephStorage type: OS::TripleO::CephStorage
properties: properties: