You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.6 KiB
111 lines
3.6 KiB
--- |
|
# 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. |
|
|
|
|
|
# "backup_and_restore" will search for and load any operating system variable file |
|
|
|
# found within the "vars/" path. If no OS files are found the task will skip. |
|
- name: Gather variables for each operating system |
|
include_vars: "{{ item }}" |
|
with_first_found: |
|
- skip: true |
|
files: |
|
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml" |
|
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml" |
|
- "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml" |
|
- "{{ ansible_distribution | lower }}.yml" |
|
- "{{ ansible_os_family | lower }}-{{ ansible_distribution_version.split('.')[0] }}.yml" |
|
- "{{ ansible_os_family | lower }}.yml" |
|
tags: |
|
- always |
|
|
|
- name: Install required packages for ReaR |
|
become: true |
|
package: |
|
name: "{{ tripleo_backup_and_restore_rear_packages }}" |
|
state: present |
|
tags: |
|
- bar_setup_rear |
|
|
|
- name: Remove ReaR rpm default cron programming |
|
become: true |
|
file: |
|
path: /etc/cron.d/rear |
|
state: absent |
|
when: tripleo_backup_and_restore_remove_default_cronjob | bool |
|
tags: |
|
- bar_setup_rear |
|
|
|
- name: Get local hostname |
|
command: hostname |
|
register: tripleo_backup_and_restore_hostname |
|
when: tripleo_backup_and_restore_hostname is undefined |
|
tags: |
|
- bar_setup_rear |
|
|
|
- name: Set bootstrap nodeid |
|
become: true |
|
register: tripleo_backup_and_restore_bootstrap_nodeid |
|
command: | |
|
hiera -c {{ tripleo_backup_and_restore_hiera_config_file }} 'mysql_short_bootstrap_node_name' |
|
tags: |
|
- bar_setup_rear |
|
|
|
- name: List enabled services by node |
|
become: true |
|
register: tripleo_backup_and_restore_enabled_services |
|
command: | |
|
hiera -c {{ tripleo_backup_and_restore_hiera_config_file }} 'service_names' |
|
tags: |
|
- bar_setup_rear |
|
|
|
- name: Calculate exclude paths |
|
set_fact: |
|
tripleo_backup_and_restore_exclude_paths: |
|
- "{{ tripleo_backup_and_restore_exclude_paths_common }}" |
|
- "{{ (tripleo_backup_and_restore_enabled_services.stdout is search('nova_compute')) | |
|
ternary(tripleo_backup_and_restore_exclude_paths_compute, []) }}" |
|
- "{{ (tripleo_backup_and_restore_bootstrap_nodeid.stdout != tripleo_backup_and_restore_hostname.stdout and |
|
tripleo_backup_and_restore_enabled_services.stdout is search('pacemaker') and |
|
tripleo_backup_and_restore_enabled_services.stdout is search('mysql') and |
|
tripleo_backup_and_restore_exclude_paths_controller_non_bootrapnode|bool) | |
|
ternary(tripleo_backup_and_restore_exclude_paths_controller, []) }}" |
|
tags: |
|
- bar_setup_rear |
|
|
|
- name: Generate ReaR config file |
|
become: true |
|
template: |
|
src: local.conf.j2 |
|
dest: /etc/rear/local.conf |
|
owner: root |
|
group: root |
|
mode: '0644' |
|
backup: true |
|
tags: |
|
- bar_setup_rear |
|
|
|
- name: Generate ReaR rescue file |
|
become: true |
|
template: |
|
src: rescue.conf.j2 |
|
dest: /etc/rear/rescue.conf |
|
owner: root |
|
group: root |
|
mode: '0644' |
|
backup: true |
|
tags: |
|
- bar_setup_rear
|
|
|