Tune-up plan create when running swift-less

This change modifies the plan creation playbook to ensure its
functional with a swiftless environment.

A new playbook has been added which will create the stacks
directory and set the permissions. This playbook will be used
within tripleo-client to ensure that the local artifact store
is setup early in the deployment process.

Change-Id: Ibe9b2ffe94cdf493fc84366979d1d78b8528ea1b
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This commit is contained in:
Kevin Carter 2020-10-12 16:02:43 -05:00 committed by Kevin Carter
parent 7b655b1deb
commit 2f10577806
2 changed files with 59 additions and 0 deletions

View File

@ -14,6 +14,11 @@
# License for the specific language governing permissions and limitations
# under the License.
- import_playbook: cli-undercloud-local-artifacts.yaml
vars:
stack: "{{ container | default('overcloud') }}"
- name: Create Deployment Plan
connection: "{{ (tripleo_target_host is defined) | ternary('ssh', 'local') }}"
hosts: "{{ tripleo_target_host | default('localhost') }}"
@ -97,6 +102,19 @@
state: present
filename: "{{ plan_environment | tht_abspath }}"
- name: Check Plan file
stat:
path: "/var/lib/tripleo/stacks/{{ container }}/plan-environment.yaml"
register: plan_file
- name: Write local plan copy
copy:
src: "{{ plan_environment | tht_abspath }}"
dest: "/var/lib/tripleo/stacks/{{ container }}/plan-environment.yaml"
remote_src: true
when:
- not (plan_file.stat.exists | bool)
- name: Generate passwords and update plan
tripleo_passwords_rotate:
container: "{{ container }}"

View File

@ -0,0 +1,41 @@
---
# 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: Ensure Local Artifact Cache
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:
stack: overcloud
artifact_dir: /var/lib/tripleo
pre_tasks:
- name: Set local connection user facts
set_fact:
ansible_user: "{{ lookup('env', 'SUDO_USER') | default(ansible_user, true) }}"
run_once: true
when:
- (tripleo_target_host is defined) | ternary('ssh', 'local') == 'local'
tasks:
- name: Create Artifact Directory
become: true
file:
path: "{{ artifact_dir }}/stacks/{{ stack }}"
state: directory
owner: "{{ ansible_user }}"
setype: var_lib_t
selevel: s0