--- # initial checks - name: Check that poa-netstats is running shell: "systemctl is-active poa-netstats" register: systemctl_poa_netstats fail_when: systemctl_poa_netstats.rc != 0 and systemctl_poa_netstats.rc != 3 # neither active nor inactive - name: Check that poa-parity is running shell: "systemctl is-active poa-parity" register: systemctl_poa_parity fail_when: systemctl_poa_parity.rc != 0 and systemctl_poa_parity.rc != 3 # neither active nor inactive # stop services - name: Shutdown poa-netstats service service: name=poa-netstats state=stopped when: systemctl_poa_netstats.rc == 0 - name: Shutdown poa-parity service service: name=poa-parity state=stopped when: systemctl_poa_parity.rc == 0 # make backups - name: Create backup directory file: path=/data state=directory - name: Create parity_data archive archive: format: gz path: /home/{{ poa_role }}/parity_data dest: "/data/parity_data.tar.gz" when: backup_parity_data == true - name: Export parity blocks shell: "cd /home/{{ poa_role }}; ./parity --config node.toml export blocks blocks.rlp" when: backup_parity_blocks == true - name: Create parity blocks archive archive: format: gz path: /home/{{ poa_role }}/blocks.rlp dest: "/data/parity_blocks.rlp.gz" when: backup_parity_blocks == true # start services - name: Launch poa-parity service service: name=poa-parity state=started when: systemctl_poa_parity.rc == 0 - name: Launch poa-netstats service service: name=poa-netstats state=started when: netstats_service_file.stat.exists # upload backups to s3 - name: Upload parity_data to s3 s3: aws_access_key: "{{ access_key }}" aws_secret_key: "{{ secret_key }}" bucket: "{{ s3_bucket }}" object: "/{{ date }}-{{ poa_role }}-{{ node_name }}-parity_data.tar.gz" src: "/data/parity_data.tar.gz" mode: put when: backup_parity_data == true - name: Upload parity blocks to s3 s3: aws_access_key: "{{ access_key }}" aws_secret_key: "{{ secret_key }}" bucket: "{{ s3_bucket }}" object: "/{{ date }}-{{ poa_role }}-{{ node_name }}-parity_blocks.rlp.gz" src: "/data/parity_blocks.rlp.gz" mode: put when: backup_parity_blocks == true # Cleanup - name: Clean local backup storage file: state: absent path: "/data/"