79 lines
2.3 KiB
YAML
79 lines
2.3 KiB
YAML
---
|
|
# 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/"
|