diff --git a/playbookconfig/src/playbooks/roles/backup/backup-system/tasks/main.yml b/playbookconfig/src/playbooks/roles/backup/backup-system/tasks/main.yml index 8a7cf9047..7d6c08f61 100644 --- a/playbookconfig/src/playbooks/roles/backup/backup-system/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/backup/backup-system/tasks/main.yml @@ -161,6 +161,7 @@ - /etc - /home - "{{ config_permdir }}" + - "{{ sysinv_permdir }}" - "{{ puppet_permdir }}/hieradata" - "{{ keyring_permdir }}" - "{{ patching_permdir }}" @@ -527,6 +528,7 @@ /etc \ /home \ {{ config_permdir }} \ + {{ sysinv_permdir }} \ {{ puppet_permdir }}/hieradata \ {{ keyring_permdir }} \ {{ patching_permdir }} \ diff --git a/playbookconfig/src/playbooks/roles/backup/prepare-env/tasks/main.yml b/playbookconfig/src/playbooks/roles/backup/prepare-env/tasks/main.yml index 512ad6c8c..9c8a4bb46 100644 --- a/playbookconfig/src/playbooks/roles/backup/prepare-env/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/backup/prepare-env/tasks/main.yml @@ -56,6 +56,7 @@ set_fact: keyring_permdir: "{{ platform_path }}/.keyring/{{ software_version }}" config_permdir: "{{ platform_path }}/config/{{ software_version }}" + sysinv_permdir: "{{ platform_path }}/sysinv/{{ software_version }}" puppet_permdir: "{{ platform_path }}/puppet/{{ software_version }}" armada_permdir: "{{ platform_path }}/armada/{{ software_version }}" helm_charts_permdir: "{{ platform_path }}/helm_charts" diff --git a/playbookconfig/src/playbooks/roles/bootstrap/persist-config/tasks/main.yml b/playbookconfig/src/playbooks/roles/bootstrap/persist-config/tasks/main.yml index a1c39eb94..ed093359e 100644 --- a/playbookconfig/src/playbooks/roles/bootstrap/persist-config/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/bootstrap/persist-config/tasks/main.yml @@ -27,14 +27,17 @@ when: tmp_keyring.stat.exists when: save_password -- name: Ensure replicated config parent directory exists +- name: Ensure replicated config parent directories exist file: - path: "{{ config_permdir }}" + path: "{{ item }}" state: directory recurse: yes owner: root group: root mode: 0755 + with_items: + - "{{ config_permdir }}" + - "{{ sysinv_permdir }}" - name: Get list of new config files find: diff --git a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/tasks/main.yml b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/tasks/main.yml index 765bea5ae..ada57d41a 100644 --- a/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/bootstrap/prepare-env/tasks/main.yml @@ -103,6 +103,7 @@ set_fact: keyring_permdir: "{{ platform_path + '/.keyring/' + software_version }}" config_permdir: "{{ platform_path + '/config/' + software_version }}" + sysinv_permdir: "{{ platform_path + '/sysinv/' + software_version }}" puppet_permdir: "{{ platform_path + '/puppet/' + software_version }}" - name: Set initial address facts if not defined. They will be updated later diff --git a/playbookconfig/src/playbooks/roles/restore-platform/restore-more-data/tasks/main.yml b/playbookconfig/src/playbooks/roles/restore-platform/restore-more-data/tasks/main.yml index a3d4d5fdd..8ee9cd81d 100644 --- a/playbookconfig/src/playbooks/roles/restore-platform/restore-more-data/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/restore-platform/restore-more-data/tasks/main.yml @@ -153,6 +153,13 @@ - "{{ armada_permdir | regex_replace('^\\/', '') }}" - "{{ extension_permdir | regex_replace('^\\/', '') }}" +- name: Restore sysinv default configuration file + command: >- + tar -C {{ sysinv_config_permdir }} -xpf {{ target_backup_dir }}/{{ backup_filename }} + --transform='s,.*/,,' '*/sysinv.conf.default' + args: + warn: false + # Can't store ceph crushmap at sysinv_config_permdir (/opt/platform/sysinv/) # for AIO systems because when unlocking controller-0 for the first time, # the crushmap is set thru ceph puppet when /opt/platform is not mounted yet. @@ -391,6 +398,14 @@ name: recover-ceph-data when: storage_nodes.rc == 0 + - name: Mark crushmap as restored + file: + path: "{{ sysinv_config_permdir }}/.crushmap_applied" + owner: root + group: root + mode: 644 + state: touch + when: not wipe_ceph_osds|bool - name: Inform user that restore_platform is run successfully