tripleo-ansible/tripleo_ansible/roles/tripleo-persist/tasks/persist.yml
Luke Short 7f726d8cf8 Import the tripleo-persist role from tripleo-common.
The role will now also be tested with Molecule on CentOS 7 and
Fedora 28 docker containers.

Change-Id: Ic6dfaa56317c68779a50cea63bbf85b9d663184c
Signed-off-by: Luke Short <ekultails@gmail.com>
2019-07-18 14:14:59 -04:00

54 lines
1.9 KiB
YAML

---
# Copyright 2019 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 storage directory exists and has correct permissions
file:
path: "{{ tripleo_persist_storage_root_dir }}"
# Attempting to set an owner fails with "chown failed: failed to
# look up user" so we at least ensure the permissions.
mode: 0700
state: directory
delegate_to: localhost
become: "{{ tripleo_persist_storage_root_become | bool }}"
- name: create tempfile for the archive
tempfile:
prefix: ansible.tripleo-persist.
register: tripleo_persist_tempfile
- name: make sure we don't have a trailing forward slash
set_fact:
tripleo_persist_dir_safe: "{{ tripleo_persist_dir|regex_replace('\\/$', '') }}"
cacheable: false
# Using the "archive" module lists lists all tarred files in module
# output, if there's too many files, it can crash ansible even with
# "no_log: true".
- name: create the archive
shell: |
tar -czf "{{ tripleo_persist_tempfile.path }}" -C "{{ tripleo_persist_dir_safe|dirname }}" "{{ tripleo_persist_dir_safe|basename }}"
- name: fetch the archive
fetch:
src: "{{ tripleo_persist_tempfile.path }}"
dest: "{{ tripleo_persist_storage_root_dir }}/{{ inventory_hostname }}{{ tripleo_persist_dir_safe }}.tar.gz"
flat: true
- name: remove tempfile
file:
name: "{{ tripleo_persist_tempfile.path }}"
state: absent