docs/doc/source/backup/system-backup-running-ansible-restore-playbook-remotely.rst
Rafael Jardim 946f7d1f4c Update Backup and Restore
Some minor changes added


Signed-off-by: Rafael Jardim <rafaeljordao.jardim@windriver.com>
Change-Id: I6eabc540b7c1ec7f73a9665401f107721808aa64
2021-03-09 09:55:24 -03:00

6.2 KiB

Run Ansible Restore Playbook Remotely

In this method you can run Ansible Restore playbook and point to controller-0.

  • You need to have Ansible installed on your remote workstation, along with the Ansible Backup/Restore playbooks.
  • Your network has IPv6 connectivity before running Ansible Playbook, if the system configuration is IPv6.

  1. Log in to the remote workstation.

    You can log in directly on the console or remotely using ssh.

  2. Provide an inventory file, either a customized one that is specified using the -i option, or the default one that is in the Ansible configuration directory (that is, /etc/ansible/hosts). You must specify the floating IP of the controller host. For example, if the host name is _Cluster, the inventory file should have an entry called _Cluster.

    ---all:
    hosts:
    wc68:

    ansible_host: 128.222.100.02

    _Cluster:

    ansible_host: 128.224.141.74

  3. Run the Ansible Restore playbook:

    ~(keystone_admin)]$ ansible-playbook path-to-restore-platform-playbook-entry-file --limit host-name -i inventory-file -e optional-extra-vars

    where optional-extra-vars can be:

    • Optional: You can select one of the two restore modes:

      • To keep Ceph data intact (false - default option), use the following syntax:

        wipe_ceph_osds=false

      • Start with an empty Ceph cluster (true), to recreate a new Ceph cluster, use the following syntax:

        wipe_ceph_osds=true

    • The backup_filename is the platform backup tar file. It must be provided using the -e option on the command line, for example:

      -e backup\_filename= localhost_platform_backup_2019_07_15_14_46_37.tgz
    • The initial_backup_dir is the location on the Ansible control machine where the platform backup tar file is placed to restore the platform. It must be provided using -e option on the command line.

    • The admin\_password, ansible\_become\_pass, and ansible\_ssh\_pass need to be set correctly using the -e option on the command line or in the Ansible secret file. ansible\_ssh\_pass is the password to the sysadmin user on controller-0.

    • The ansible\_remote\_tmp should be set to a new directory (not required to create it ahead of time) under /home/sysadmin on controller-0 using the -e option on the command line.

    For example:

    ~(keystone_admin)]$ ansible-playbook /localdisk/designer/jenkins/tis-stx-dev/cgcs-root/stx/ansible-playbooks/playbookconfig/src/playbooks/restore_platform.yml --limit _Cluster -i $HOME/br_test/hosts -e "ansible_become_pass=St0rlingX* admin_password=St0rlingX* ansible_ssh_pass=St0rlingX* initial_backup_dir=$HOME/br_test backup_filename= _Cluster_system_backup_2019_08_08_15_25_36.tgz ansible_remote_tmp=/home/sysadmin/ansible-restore"

    Note

    If the backup contains patches, Ansible Restore playbook will apply the patches and prompt you to reboot the system. Then you will need to re-run Ansible Restore playbook.

  4. After running the restore_platform.yml playbook, you can restore the local registry images.

    Note

    The backup file of the local registry may be large. Restore the backed up file on the controller, where there is sufficient space.

    ~(keystone_admin)]$ ansible-playbook path-to-restore-user-images-playbook-entry-file --limit host-name -i inventory-file -e optional-extra-vars

    where optional-extra-vars can be:

    • The backup_filename is the local registry backup tar file. It must be provided using the -e option on the command line, for example:

      -e backup\_filename= localhost_docker_local_registry_backup_2020_07_15_21_24_22.tgz
    • The initial_backup_dir is the location on the Ansible control machine where the platform backup tar file is located. It must be provided using -e option on the command line.

    • The ansible\_become\_pass, and ansible\_ssh\_pass need to be set correctly using the -e option on the command line or in the Ansible secret file. ansible\_ssh\_pass is the password to the sysadmin user on controller-0.

    • The backup_dir should be set to a directory on controller-0. The directory must have sufficient space for local registry backup to be copied. The backup_dir is set using the -e option on the command line.

    • The ansible\_remote\_tmp should be set to a new directory on controller-0. Ansible will use this directory to copy files, and the directory must have sufficient space for local registry backup to be copied. The ansible\_remote\_tmp is set using the -e option on the command line.

    For example, run the local registry restore playbook, where /sufficient/space directory on the controller has sufficient space left for the archived file to be copied.

    ~(keystone_admin)]$ ansible-playbook /localdisk/designer/jenkins/tis-stx-dev/cgcs-root/stx/ansible-playbooks/playbookconfig/src/playbooks/restore_user_images.ym --limit _Cluster -i $HOME/br_test/hosts -e "ansible_become_pass=St0rlingX* ansible_ssh_pass=St0rlingX* initial_backup_dir=$HOME/br_test backup_filename= _Cluster_docker_local_registry_backup_2020_07_15_21_24_22.tgz ansible_remote_tmp=/sufficient/space backup_dir=/sufficient/space"