Added additional improvements to optimized restore

* Add SSH directory to list of restored items
* Removed /etc/profile.d/ from restored items, not needed
* Fixed permissions on service file
* Removed registry backup file hard requirement
* Removed registry backup file support from legacy restore
* Added support for restoring user images instead of registry backup
* Updated to using pigz for parts of extraction
* Added cleanup code for on restore complete
* Removed validate-input during backup, enabled both restore types

TEST PLAN
PASS: Bootstrap and unlock (SX, DX)
PASS: Original restore not impacted (SX, DX)
PASS: Original restore fails when "-e registry_backup_filename=backup.tgz" is used
PASS: Optimized restore is successful with
  "-e registry_backup_filename=backup.tgz"
PASS: Optimized restore is successful without registry backup

Story: 2010117
Task: 46783
Task: 46889
Change-Id: I43b39f93bb011c5e50b8aae5a5117eb15d9674d9
This commit is contained in:
Joshua Kraitberg
2022-11-15 11:14:27 -05:00
parent 49385b2215
commit 872d81b9f7
8 changed files with 36 additions and 30 deletions

View File

@@ -13,10 +13,23 @@
state: stopped
loop: "{{ docker_services }}"
- name: Restore container registry filesystem
command: "tar -C / -xpf {{ registry_backup_fqpn }} --overwrite var/lib/docker-distribution/"
args:
warn: false
- name: Old-style registry backup restore
block:
- name: Load images from archives if configured
include: roles/bootstrap/bringup-essential-services/tasks/load_images_from_archive.yml input_archive={{ item.path }}
with_items: "{{ images_archive_files }}"
when: images_archive_exists
when: registry_backup_fqpn is not defined
- name: New-style registry backup restore
block:
- name: Restore image registry data to /var/lib/docker-distribution
shell: pigz -dc {{ registry_backup_fqpn }} | tar -C / --overwrite -xpf - var/lib/docker-distribution
args:
warn: false
when: registry_backup_fqpn is defined
- name: Disable local registry authentication

View File

@@ -60,7 +60,7 @@
template:
src: roles/optimized-restore/templates/containerd-pod-recovery.service.j2
dest: /etc/systemd/system/containerd-pod-recovery.service
mode: 0755
mode: 0644
owner: root
group: root