c16b0afab8
The new `cli-derive-parameters.yaml` has been built to replace the mistral workflow of the same name. This new playbook is leveraging several modules which take advantage of the new ansible module utilities for tripleo-common. The role `tripleo_derived_parameters` has been created, which will house all of the required tasks to ensure an effective execution while also providing a medium to test our process. > Mock data has been added from a real deployment to ensure that the role data processing is correct and tested accordingly. Change-Id: I6f3f797a37724d0eb91b37514087462ac25d175e Signed-off-by: Kevin Carter <kecarter@redhat.com>
69 lines
2.3 KiB
YAML
69 lines
2.3 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
|
|
persist_params_in_plan: true
|
|
|
|
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'
|
|
|
|
tasks:
|
|
- name: Get flatten params
|
|
tripleo_get_flatten_stack:
|
|
container: "{{ plan }}"
|
|
register: tripleo_get_flatten_params
|
|
when:
|
|
- tripleo_get_flatten_params is undefined
|
|
|
|
- name: Get role list
|
|
tripleo_get_role_list:
|
|
container: "{{ plan }}"
|
|
valid: false
|
|
register: tripleo_role_list
|
|
when:
|
|
- tripleo_role_list is undefined
|
|
|
|
- name: Fail if stack_data has not been extracted
|
|
when:
|
|
- tripleo_get_flatten_params.stack_data is not defined
|
|
fail:
|
|
msg: "{{ plan }} is mising stack_data"
|
|
|
|
- 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 }}"
|
|
loop: "{{ tripleo_role_list.roles }}"
|
|
loop_control:
|
|
loop_var: outer_item
|