Write SAR output while running, so we do not accumulate everything in memory
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
This commit is contained in:
parent
c5186a3948
commit
1007e7f3d5
1 changed files with 22 additions and 11 deletions
|
@ -2,6 +2,18 @@
|
||||||
#
|
#
|
||||||
# Please read http://fedora-infra-docs.readthedocs.io/en/latest/sysadmin-guide/sops/gdpr_sar.html
|
# Please read http://fedora-infra-docs.readthedocs.io/en/latest/sysadmin-guide/sops/gdpr_sar.html
|
||||||
# for information about how to use this playbook and how to integration applications with it.
|
# for information about how to use this playbook and how to integration applications with it.
|
||||||
|
- name: Create the archive location
|
||||||
|
hosts: localhost
|
||||||
|
tasks:
|
||||||
|
- name: "Create the archive"
|
||||||
|
block:
|
||||||
|
# Create a safe place to store the files.
|
||||||
|
- command: "mktemp -d"
|
||||||
|
register: sar_tmp_dir
|
||||||
|
# Let's make this a more conveniently expressed variable.
|
||||||
|
- set_fact:
|
||||||
|
sar_tmp_dir: "{{ sar_tmp_dir['stdout'] }}"
|
||||||
|
|
||||||
- name: Gather SAR data
|
- name: Gather SAR data
|
||||||
hosts: sar
|
hosts: sar
|
||||||
tasks:
|
tasks:
|
||||||
|
@ -15,23 +27,22 @@
|
||||||
# Let's make this a more conveniently expressed variable.
|
# Let's make this a more conveniently expressed variable.
|
||||||
- set_fact:
|
- set_fact:
|
||||||
sar_data: "{{ sar_data['stdout'] }}"
|
sar_data: "{{ sar_data['stdout'] }}"
|
||||||
|
# Store the result on disk
|
||||||
|
- copy:
|
||||||
|
content: "{{ hostvars[item]['sar_data'] }}"
|
||||||
|
dest: "{{ sar_tmp_dir }}/{{ hostvars[item]['sar_output_file'] }}"
|
||||||
|
loop: "{{ groups['sar'] }}"
|
||||||
|
delegate_to: localhost
|
||||||
|
delegate_facts: true
|
||||||
|
# Remove the variable from memory
|
||||||
|
- command: "/usr/bin/true"
|
||||||
|
register: sar_data
|
||||||
|
|
||||||
- name: Create the archive
|
- name: Create the archive
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
tasks:
|
tasks:
|
||||||
- name: "Create the archive"
|
- name: "Create the archive"
|
||||||
block:
|
block:
|
||||||
# Create a safe place to store the files.
|
|
||||||
- command: "mktemp -d"
|
|
||||||
register: sar_tmp_dir
|
|
||||||
# Let's make this a more conveniently expressed variable.
|
|
||||||
- set_fact:
|
|
||||||
sar_tmp_dir: "{{ sar_tmp_dir['stdout'] }}"
|
|
||||||
# Write files from each service into our protected folder.
|
|
||||||
- copy:
|
|
||||||
content: "{{ hostvars[item]['sar_data'] }}"
|
|
||||||
dest: "{{ sar_tmp_dir }}/{{ hostvars[item]['sar_output_file'] }}"
|
|
||||||
loop: "{{ groups['sar'] }}"
|
|
||||||
# Generate a private tarball of the files from each service.
|
# Generate a private tarball of the files from each service.
|
||||||
- shell: "umask 0077 && tar --transform \"s:^:{{ sar_fas_user }}_{{ sar_email }}/:\" -czf {{ sar_tmp_dir }}/{{ sar_fas_user }}_{{ sar_email }}.tar.gz *"
|
- shell: "umask 0077 && tar --transform \"s:^:{{ sar_fas_user }}_{{ sar_email }}/:\" -czf {{ sar_tmp_dir }}/{{ sar_fas_user }}_{{ sar_email }}.tar.gz *"
|
||||||
args:
|
args:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue