From 847e31069a51ae014168452546679e0c6219634d Mon Sep 17 00:00:00 2001 From: Saravanan KR Date: Thu, 11 May 2017 14:47:37 +0530 Subject: [PATCH] Workflow to get the list of deprecated parameters from the plan Templates can have parameter_groups with label as deprecated to specific the list of deprecated parameters. This workflow will return the list all the deprecated parameters including nested stacks. The sample output will look like - [ { "deprecated": true, "parameter": "ServiceNetMapDeprecatedMapping", "user_defined": false }, { "deprecated": true, "parameter": "NeutronL3HA", "user_defined": true } ] Depends-On: I032144733bde916f8de8644121b9fb1ef29baef2 Change-Id: I18430b7d7bca7c58b75569e3d296e315227e6f61 --- ...precated-params-list-a4edf6e341520ead.yaml | 3 ++ tripleo_common/actions/parameters.py | 2 + workbooks/plan_management.yaml | 46 +++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 releasenotes/notes/deprecated-params-list-a4edf6e341520ead.yaml diff --git a/releasenotes/notes/deprecated-params-list-a4edf6e341520ead.yaml b/releasenotes/notes/deprecated-params-list-a4edf6e341520ead.yaml new file mode 100644 index 000000000..9df00d4ca --- /dev/null +++ b/releasenotes/notes/deprecated-params-list-a4edf6e341520ead.yaml @@ -0,0 +1,3 @@ +--- +features: + - Added a workflow to list all the deprecated parameters in the plan diff --git a/tripleo_common/actions/parameters.py b/tripleo_common/actions/parameters.py index 8e5c8ad88..1fd620bfa 100644 --- a/tripleo_common/actions/parameters.py +++ b/tripleo_common/actions/parameters.py @@ -398,6 +398,8 @@ class GetFlattenedParametersAction(GetParametersAction): if 'Parameters' in data: value['parameters'] = self._processParams(flattened, data['Parameters']) + if 'ParameterGroups' in data: + value['parameter_groups'] = data['ParameterGroups'] if 'NestedParameters' in data: nested = data['NestedParameters'] nested_ids = [] diff --git a/workbooks/plan_management.yaml b/workbooks/plan_management.yaml index 67443e8b5..b9c78866f 100644 --- a/workbooks/plan_management.yaml +++ b/workbooks/plan_management.yaml @@ -415,3 +415,49 @@ workflows: tempurl: <% task(create_tempurl).result %> on-success: - fail: <% $.get('status') = "FAILED" %> + + get_deprecated_parameters: + description: Gets the list of deprecated parameters in the whole of the plan including nested stack + input: + - container: overcloud + - queue_name: tripleo + + tasks: + get_flatten_data: + action: tripleo.parameters.get_flatten container=<% $.container %> + on-success: get_deprecated_params + on-error: set_status_failed_get_flatten_data + publish: + user_params: <% task().result.environment_parameters %> + parameter_groups: <% task().result.heat_resource_tree.resources.values().where( $.get('parameter_groups') ).select($.parameter_groups).flatten() %> + + get_deprecated_params: + on-success: check_if_user_param_has_deprecated + publish: + deprecated_params: <% $.parameter_groups.where($.get('label') = 'deprecated').select($.parameters).flatten().distinct() %> + + check_if_user_param_has_deprecated: + on-success: send_message + publish: + formatted: <% let(up => $.user_params) -> $.deprecated_params.select( dict('parameter' => $, 'deprecated' => true, 'user_defined' => $up.keys().contains($)) ) %> + + set_status_failed_get_flatten_data: + on-success: send_message + publish: + status: FAILED + message: <% task(get_flatten_data).result %> + + send_message: + action: zaqar.queue_post + input: + queue_name: <% $.queue_name %> + messages: + body: + type: tripleo.plan_management.v1.get_deprecated_parameters + payload: + status: <% $.get('status', 'SUCCESS') %> + message: <% $.get('message', '') %> + execution: <% execution() %> + deprecated: <% $.get('formatted', []) %> + on-success: + - fail: <% $.get('status') = "FAILED" %>