tripleo-ansible/tripleo_ansible/playbooks/cli-derive-parameters.yaml
John Fulton 756454f4b6 Add append option to tripleo_derive_hci_parameters module
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
2021-04-29 21:50:09 +00:00

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