756454f4b6
The module already has the parameter new_heat_environment_path, which is a path to a file that gets overwritten each time the module is called. Add append_new_heat_environment_path, which is a new bool parameter that defaults to false to perserve the existing behavior. If the new parameter is true, then merge the new derived paramters into the file without loosing the existing derived paramters already in the file. To close bug 1926627, use new_heat_environment_path with the new option in the existing role loop. Also, remove the unnecessary task to write out the derived_parameter_result variable because we now write it in the previous task. Closes-Bug: #1926627 Change-Id: Iabb0cbda57fabf27d0e5d8b1cc75706785ecd967
62 lines
2.2 KiB
YAML
62 lines
2.2 KiB
YAML
---
|
|
# Copyright 2020 Red Hat, Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
- name: Derive parameters
|
|
connection: "{{ (tripleo_target_host is defined) | ternary('ssh', 'local') }}"
|
|
hosts: "{{ tripleo_target_host | default('localhost') }}"
|
|
remote_user: "{{ tripleo_target_user | default(lookup('env', 'USER')) }}"
|
|
gather_facts: "{{ (tripleo_target_host is defined) | ternary(true, false) }}"
|
|
any_errors_fatal: true
|
|
vars:
|
|
plan: overcloud
|
|
|
|
pre_tasks:
|
|
- name: Set local connection user facts
|
|
set_fact:
|
|
ansible_home: "{{ lookup('env', 'HOME') }}"
|
|
ansible_user: "{{ lookup('env', 'USER') }}"
|
|
run_once: true
|
|
when:
|
|
- (tripleo_target_host is defined) | ternary('ssh', 'local') == 'local'
|
|
|
|
- name: Fail if stack_data is not defined
|
|
when:
|
|
- tripleo_get_flatten_params.stack_data is not defined
|
|
- stack_data is not defined
|
|
fail:
|
|
msg: "Missing stack_data"
|
|
|
|
- name: Fail if role_list is not defined
|
|
when:
|
|
- tripleo_role_list.roles is not defined
|
|
- role_list is not defined
|
|
fail:
|
|
msg: "Missing valid roles"
|
|
|
|
- name: Derive params for each role
|
|
include_role:
|
|
name: tripleo_derived_parameters
|
|
vars:
|
|
tripleo_plan_name: "{{ plan }}"
|
|
tripleo_role_name: "{{ outer_item }}"
|
|
tripleo_environment_parameters: "{{ tripleo_get_flatten_params.stack_data.environment_parameters }}"
|
|
tripleo_heat_resource_tree: "{{ tripleo_get_flatten_params.stack_data.heat_resource_tree }}"
|
|
new_heat_environment_path: "{{ derived_environment_path }}"
|
|
append_new_heat_environment_path: True
|
|
loop: "{{ tripleo_role_list.roles }}"
|
|
loop_control:
|
|
loop_var: outer_item
|