diff --git a/roles/ipabackup/tasks/backup.yml b/roles/ipabackup/tasks/backup.yml index 94a4a547a8160f7726fa8c583ac81138cdac8080..2b426d08667944c78ecfa51b8669a85b63349355 100644 --- a/roles/ipabackup/tasks/backup.yml +++ b/roles/ipabackup/tasks/backup.yml @@ -2,7 +2,7 @@ # tasks file for ipabackup - name: Create backup - shell: > + ansible.builtin.shell: > ipa-backup {{ "--gpg" if ipabackup_gpg | bool else "" }} {{ "--gpg-keyring="+ipabackup_gpg_keyring if ipabackup_gpg_keyring is defined else "" }} @@ -15,7 +15,7 @@ - block: - name: Get ipabackup_item from stderr or stdout output - set_fact: + ansible.builtin.set_fact: ipabackup_item: "{{ item | regex_search('\n.*/([^\n]+)','\\1') | first }}" when: item.find("Backed up to "+ipabackup_dir+"/") > 0 with_items: @@ -25,15 +25,15 @@ label: "" - name: Fail on missing ipabackup_item - fail: msg="Failed to get ipabackup_item" + ansible.builtin.fail: msg="Failed to get ipabackup_item" when: ipabackup_item is not defined - name: Copy backup to controller - include_tasks: "{{ role_path }}/tasks/copy_backup_from_server.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/copy_backup_from_server.yml" when: state|default("present") == "present" - name: Remove backup on server - include_tasks: "{{ role_path }}/tasks/remove_backup_from_server.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/remove_backup_from_server.yml" when: not ipabackup_keep_on_server when: ipabackup_to_controller diff --git a/roles/ipabackup/tasks/copy_backup_from_server.yml b/roles/ipabackup/tasks/copy_backup_from_server.yml index e9964fdd9fe1b751fb83bbb1364e446916b780d7..516814b1316a98253cf6a3b0f51a00ae7d5339b3 100644 --- a/roles/ipabackup/tasks/copy_backup_from_server.yml +++ b/roles/ipabackup/tasks/copy_backup_from_server.yml @@ -1,36 +1,36 @@ --- - name: Fail on invalid ipabackup_item - fail: msg="ipabackup_item {{ ipabackup_item }} is not valid" + ansible.builtin.fail: msg="ipabackup_item {{ ipabackup_item }} is not valid" when: ipabackup_item is not defined or ipabackup_item | length < 1 or (ipabackup_item.find("ipa-full-") == -1 and ipabackup_item.find("ipa-data-") == -1) - name: Set controller destination directory - set_fact: + ansible.builtin.set_fact: ipabackup_controller_dir: "{{ ipabackup_controller_path | default(lookup('env','PWD')) }}/{{ ipabackup_name_prefix | default(ansible_facts['fqdn']) }}_{{ ipabackup_item }}/" - name: Stat backup on server - stat: + ansible.builtin.stat: path: "{{ ipabackup_dir }}/{{ ipabackup_item }}" register: result_backup_stat - name: Fail on missing backup directory - fail: msg="Unable to find backup {{ ipabackup_item }}" + ansible.builtin.fail: msg="Unable to find backup {{ ipabackup_item }}" when: result_backup_stat.stat.isdir is not defined - name: Get backup files to copy for "{{ ipabackup_item }}" - shell: + ansible.builtin.shell: find . -type f | cut -d"/" -f 2 args: chdir: "{{ ipabackup_dir }}/{{ ipabackup_item }}" register: result_find_backup_files - name: Copy server backup files to controller - fetch: + ansible.builtin.fetch: flat: yes src: "{{ ipabackup_dir }}/{{ ipabackup_item }}/{{ item }}" dest: "{{ ipabackup_controller_dir }}" @@ -38,7 +38,7 @@ - "{{ result_find_backup_files.stdout_lines }}" - name: Fix file modes for backup on controller - file: + ansible.builtin.file: dest: "{{ ipabackup_controller_dir }}" mode: u=rwX,go= recurse: yes diff --git a/roles/ipabackup/tasks/copy_backup_to_server.yml b/roles/ipabackup/tasks/copy_backup_to_server.yml index 73c6ef39b7ed5e724478fbe2005de5707eb6d5a6..6fa206131e79b0b385110bc1d16636e8e36e7858 100644 --- a/roles/ipabackup/tasks/copy_backup_to_server.yml +++ b/roles/ipabackup/tasks/copy_backup_to_server.yml @@ -1,40 +1,40 @@ --- - name: Fail on invalid ipabackup_name - fail: msg="ipabackup_name {{ ipabackup_name }} is not valid" + ansible.builtin.fail: msg="ipabackup_name {{ ipabackup_name }} is not valid" when: ipabackup_name is not defined or ipabackup_name | length < 1 or (ipabackup_name.find("ipa-full-") == -1 and ipabackup_name.find("ipa-data-") == -1) - name: Set controller source directory - set_fact: + ansible.builtin.set_fact: ipabackup_controller_dir: "{{ ipabackup_controller_path | default(lookup('env','PWD')) }}" - name: Set ipabackup_item - set_fact: + ansible.builtin.set_fact: ipabackup_item: "{{ ipabackup_name | regex_search('.*_(ipa-.+)','\\1') | first }}" when: "'_ipa-' in ipabackup_name" - name: Set ipabackup_item - set_fact: + ansible.builtin.set_fact: ipabackup_item: "{{ ipabackup_name }}" when: "'_ipa-' not in ipabackup_name" - name: Stat backup to copy - stat: + ansible.builtin.stat: path: "{{ ipabackup_controller_dir }}/{{ ipabackup_name }}" register: result_backup_stat delegate_to: localhost become: no - name: Fail on missing backup to copy - fail: msg="Unable to find backup {{ ipabackup_name }}" + ansible.builtin.fail: msg="Unable to find backup {{ ipabackup_name }}" when: result_backup_stat.stat.isdir is not defined - name: Copy backup files to server for "{{ ipabackup_item }}" - copy: + ansible.builtin.copy: src: "{{ ipabackup_controller_dir }}/{{ ipabackup_name }}/" dest: "{{ ipabackup_dir }}/{{ ipabackup_item }}" owner: root diff --git a/roles/ipabackup/tasks/get_ipabackup_dir.yml b/roles/ipabackup/tasks/get_ipabackup_dir.yml index a7cb29d3d983758c77daf9eb1a5f11b873cb57f2..649f90fa5050bd7542a1ae510a3c942e7f97412f 100644 --- a/roles/ipabackup/tasks/get_ipabackup_dir.yml +++ b/roles/ipabackup/tasks/get_ipabackup_dir.yml @@ -4,5 +4,5 @@ register: result_ipabackup_get_backup_dir - name: Set IPA backup dir - set_fact: + ansible.builtin.set_fact: ipabackup_dir: "{{ result_ipabackup_get_backup_dir.backup_dir }}" diff --git a/roles/ipabackup/tasks/main.yml b/roles/ipabackup/tasks/main.yml index 1ae6b28141ed034534e4ff500969babcca279197..524cd594971ca404d4c1b80f78e9cba148f6b4dd 100644 --- a/roles/ipabackup/tasks/main.yml +++ b/roles/ipabackup/tasks/main.yml @@ -2,7 +2,7 @@ # tasks file for ipabackup - name: Check for empty vars - fail: msg="Variable {{ item }} is empty" + ansible.builtin.fail: msg="Variable {{ item }} is empty" when: "item in vars and not vars[item]" with_items: "{{ ipabackup_empty_var_checks }}" vars: @@ -18,43 +18,43 @@ - ipabackup_firewalld_zone - name: Set ipabackup_data if ipabackup_data is not set but ipabackup_online is - set_fact: + ansible.builtin.set_fact: ipabackup_data: yes when: ipabackup_online | bool and not ipabackup_data | bool - name: Fail if ipabackup_from_controller and ipabackup_to_controller are set - fail: msg="ipabackup_from_controller and ipabackup_to_controller are set" + ansible.builtin.fail: msg="ipabackup_from_controller and ipabackup_to_controller are set" when: ipabackup_from_controller | bool and ipabackup_to_controller | bool - name: Fail for given ipabackup_name if state is not copied, restored or absent - fail: msg="ipabackup_name is given and state is not copied, restored or absent" + ansible.builtin.fail: msg="ipabackup_name is given and state is not copied, restored or absent" when: state is not defined or (state != "copied" and state != "restored" and state != "absent") and ipabackup_name is defined - name: Get ipabackup_dir from IPA installation - include_tasks: "{{ role_path }}/tasks/get_ipabackup_dir.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/get_ipabackup_dir.yml" - name: Backup IPA server - include_tasks: "{{ role_path }}/tasks/backup.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/backup.yml" when: state|default("present") == "present" - name: Fail on missing ipabackup_name - fail: msg="ipabackup_name is not set" + ansible.builtin.fail: msg="ipabackup_name is not set" when: (ipabackup_name is not defined or not ipabackup_name) and state is defined and (state == "copied" or state == "restored" or state == "absent") - block: - name: Get list of all backups on IPA server - shell: + ansible.builtin.shell: find . -name "ipa-full-*" -o -name "ipa-data-*" | cut -d"/" -f 2 args: chdir: "{{ ipabackup_dir }}/" register: result_backup_find_backup_files - name: Set ipabackup_names using backup list - set_fact: + ansible.builtin.set_fact: ipabackup_names: "{{ result_backup_find_backup_files.stdout_lines }}" when: state is defined and @@ -64,28 +64,28 @@ - block: - name: Fail on ipabackup_name all - fail: msg="ipabackup_name can not be all in this case" + ansible.builtin.fail: msg="ipabackup_name can not be all in this case" when: ipabackup_name is defined and ipabackup_name == "all" - name: Set ipabackup_names from ipabackup_name string - set_fact: + ansible.builtin.set_fact: ipabackup_names: ["{{ ipabackup_name }}"] when: ipabackup_name | type_debug != "list" - name: Set ipabackup_names from ipabackup_name list - set_fact: + ansible.builtin.set_fact: ipabackup_names: "{{ ipabackup_name }}" when: ipabackup_name | type_debug == "list" when: ipabackup_names is not defined and ipabackup_name is defined - name: Set empty ipabackup_names if ipabackup_name is not defined - set_fact: + ansible.builtin.set_fact: ipabackup_names: [] when: ipabackup_names is not defined and ipabackup_name is not defined - block: - name: Copy backup from IPA server - include_tasks: "{{ role_path }}/tasks/copy_backup_from_server.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/copy_backup_from_server.yml" vars: ipabackup_item: "{{ main_item | basename }}" with_items: @@ -95,7 +95,7 @@ when: state is defined and state == "copied" - name: Remove backup from IPA server - include_tasks: "{{ role_path }}/tasks/remove_backup_from_server.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/remove_backup_from_server.yml" vars: ipabackup_item: "{{ main_item | basename }}" with_items: @@ -111,7 +111,7 @@ # restore. - name: Fail to copy or restore more than one backup on the server - fail: msg="Only one backup can be copied to the server or restored" + ansible.builtin.fail: msg="Only one backup can be copied to the server or restored" when: state is defined and (state == "copied" or state == "restored") and ipabackup_from_controller | bool and ipabackup_names | length != 1 @@ -119,10 +119,10 @@ - block: - name: Copy backup to server - include_tasks: "{{ role_path }}/tasks/copy_backup_to_server.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/copy_backup_to_server.yml" - name: Restore IPA server after copy - include_tasks: "{{ role_path }}/tasks/restore.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/restore.yml" when: state|default("present") == "restored" vars: @@ -131,7 +131,7 @@ (state|default("present") == "copied" and not ipabackup_to_controller) - name: Restore IPA server - include_tasks: "{{ role_path }}/tasks/restore.yml" + ansible.builtin.include_tasks: "{{ role_path }}/tasks/restore.yml" vars: ipabackup_item: "{{ ipabackup_names[0] | basename }}" when: not ipabackup_from_controller and diff --git a/roles/ipabackup/tasks/remove_backup_from_server.yml b/roles/ipabackup/tasks/remove_backup_from_server.yml index 52c071cc0538558253799ada408bdeecf0620889..5faedfc493b287f750d4ea309a73c458bcef049f 100644 --- a/roles/ipabackup/tasks/remove_backup_from_server.yml +++ b/roles/ipabackup/tasks/remove_backup_from_server.yml @@ -1,5 +1,5 @@ --- - name: Remove backup "{{ ipabackup_item }}" - file: + ansible.builtin.file: path: "{{ ipabackup_dir }}/{{ ipabackup_item }}" state: absent diff --git a/roles/ipabackup/tasks/restore.yml b/roles/ipabackup/tasks/restore.yml index 455dea38c015d857111607058d8b9e5deabbb7c2..09c8a827a2d456fcd71e78c05c80fe5aa2fc1254 100644 --- a/roles/ipabackup/tasks/restore.yml +++ b/roles/ipabackup/tasks/restore.yml @@ -4,7 +4,7 @@ ### VARIABLES - name: Import variables specific to distribution - include_vars: "{{ item }}" + ansible.builtin.include_vars: "{{ item }}" with_first_found: - "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_version'] }}.yml" - "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_major_version'] }}.yml" @@ -21,30 +21,30 @@ ### GET SERVICES FROM BACKUP - name: Stat backup on server - stat: + ansible.builtin.stat: path: "{{ ipabackup_dir }}/{{ ipabackup_item }}" register: result_backup_stat - name: Fail on missing backup directory - fail: msg="Unable to find backup {{ ipabackup_item }}" + ansible.builtin.fail: msg="Unable to find backup {{ ipabackup_item }}" when: result_backup_stat.stat.isdir is not defined - name: Stat header file in backup "{{ ipabackup_item }}" - stat: + ansible.builtin.stat: path: "{{ ipabackup_dir }}/{{ ipabackup_item }}/header" register: result_backup_header_stat - name: Fail on missing header file in backup - fail: msg="Unable to find backup {{ ipabackup_item }} header file" + ansible.builtin.fail: msg="Unable to find backup {{ ipabackup_item }} header file" when: result_backup_header_stat.stat.isreg is not defined - name: Get services from backup - shell: > + ansible.builtin.shell: > grep "^services = " "{{ ipabackup_dir }}/{{ ipabackup_item }}/header" | cut -d"=" -f2 | tr -d '[:space:]' register: result_services_grep - name: Set ipabackup_services - set_fact: + ansible.builtin.set_fact: ipabackup_services: "{{ result_services_grep.stdout.split(',') }}" ipabackup_service_dns: DNS ipabackup_service_adtrust: ADTRUST @@ -54,24 +54,24 @@ - block: - name: Ensure that IPA server packages are installed - package: + ansible.builtin.package: name: "{{ ipaserver_packages }}" state: present - name: Ensure that IPA server packages for dns are installed - package: + ansible.builtin.package: name: "{{ ipaserver_packages_dns }}" state: present when: ipabackup_service_dns in ipabackup_services - name: Ensure that IPA server packages for adtrust are installed - package: + ansible.builtin.package: name: "{{ ipaserver_packages_adtrust }}" state: present when: ipabackup_service_adtrust in ipabackup_services - name: Ensure that firewalld packages are installed - package: + ansible.builtin.package: name: "{{ ipaserver_packages_firewalld }}" state: present when: ipabackup_setup_firewalld | bool @@ -82,20 +82,20 @@ - block: - name: Ensure that firewalld is running - systemd: + ansible.builtin.systemd: name: firewalld enabled: yes state: started - name: Firewalld - Verify runtime zone "{{ ipabackup_firewalld_zone }}" - shell: > + ansible.builtin.shell: > firewall-cmd --info-zone="{{ ipabackup_firewalld_zone }}" >/dev/null when: ipabackup_firewalld_zone is defined - name: Firewalld - Verify permanent zone "{{ ipabackup_firewalld_zone }}" - shell: > + ansible.builtin.shell: > firewall-cmd --permanent --info-zone="{{ ipabackup_firewalld_zone }}" @@ -108,7 +108,7 @@ - name: Restore backup no_log: True - shell: > + ansible.builtin.shell: > ipa-restore {{ ipabackup_item }} --unattended @@ -123,7 +123,7 @@ ignore_errors: yes - name: Report error for restore operation - debug: + ansible.builtin.debug: msg: "{{ result_iparestore.stderr }}" when: result_iparestore is failed failed_when: yes @@ -131,7 +131,7 @@ ### CONFIGURE FIREWALLD - name: Configure firewalld - command: > + ansible.builtin.command: > firewall-cmd --permanent {{ "--zone="+ipabackup_firewalld_zone if ipabackup_firewalld_zone is defined else "" }} @@ -143,7 +143,7 @@ when: ipabackup_setup_firewalld | bool - name: Configure firewalld runtime - command: > + ansible.builtin.command: > firewall-cmd {{ "--zone="+ipabackup_firewalld_zone if ipabackup_firewalld_zone is defined else "" }} --add-service=freeipa-ldap