From 26eb745ba825fb213cef04c41686304dbb305924 Mon Sep 17 00:00:00 2001 From: Kevin Carter Date: Fri, 20 Mar 2020 16:21:49 -0500 Subject: [PATCH] Create a new playbook that will be used for deriving parameters This change introduces a playbook that will be built on-top of to replace the workflow `tripleo.derive_params.v1.derive_parameters`. At this time the playbook is a reference implementation has no ability to compute specific fomulas used to dervice HCI and NFV parameters, however, in follow commits the needed functionality will be built out. Story: 2007419 Task: 39120 Depends-On: I26ea1c01e17513d001e311d68fd239d3ba8c8a0d Change-Id: I197278211152a589572e789f98ed68631ab20ee5 Signed-off-by: Kevin Carter --- .../playbooks/cli-derive-parameters.yaml | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 tripleo_ansible/playbooks/cli-derive-parameters.yaml diff --git a/tripleo_ansible/playbooks/cli-derive-parameters.yaml b/tripleo_ansible/playbooks/cli-derive-parameters.yaml new file mode 100644 index 000000000..7b3f3b891 --- /dev/null +++ b/tripleo_ansible/playbooks/cli-derive-parameters.yaml @@ -0,0 +1,50 @@ +--- +# 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: + # NOTE(cloudnull): At this time no formulas have been created. As new + # formulas are created tasks will be added here. + - name: Set result fact + set_facts: + derive_parameters_result: + hello: world + + post_tasks: + - name: Update derive_parameters in plan + tripleo_plan_parameters_update: + container: "{{ plan }}" + parameter_key: 'derived_parameters' + parameters: "{{ derive_parameters_result }}" + validate: true