Heat/Blueprints/asg-resource-management

Add specific resource actions to autoscaling resource group:

=
====================================

The aim of this blueprint is to add the ability of specific resource managamenet actions to Autoscaling group (AutoScalingResourceGroup). This enables workloads to add, delete or recreate sepcific resource(s) within the resource group.

Problem description

Several workloads need the ability to add or remove specific resources from resource groups. This ability is key requirement for recreating one or more (failed) resources for healing purposes. The recreated resource must maintain the resource index as it can be incorporated in properties used by the workload applications to identify the resource. Additionly, addition or removal of specific resources(identified by resource index) may be needed for workloads that require specific loading/deloading orders.

Proposed change

1. Introduce a new policy class(AutoscalingActionPolicy) that offers a signal handler for action siganls on specific list of resources. 2. Add functionality to autoscaling group to be invoked by new policy to execute requested actions on the specified group resources.

Alternatives None.

Implementation Assignee(s) Ahelkhou - 

Milestones Target Milestone for completion: liberty-1

Work Items - Introduce the AutoscalingActionPolicy class. - Add handlers to AutoScalingResourceGroup.

Dependencies - This blueprint will depend on reorganization of AutoScalingGroup: https://blueprints.launchpad.net/heat/+spec/reorg-asg-code - Additionaly, can benefit from batching addition to resource group (not a hard dependency): https://blueprints.launchpad.net/heat/+spec/resource-group-batching