You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
3.4 KiB
56 lines
3.4 KiB
---
|
|
|
|
- ansible.builtin.debug:
|
|
msg: "Compressing room `{{ room_details.room_id }}` having {{ room_details.count }} state group rows"
|
|
|
|
- name: Generate rust-synapse-compress-state room compression command
|
|
ansible.builtin.set_fact:
|
|
matrix_synapse_rust_synapse_compress_state_compress_room_command: >-
|
|
{{ devture_systemd_docker_base_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-compress-room
|
|
--user={{ matrix_user_uid }}:{{ matrix_user_gid }}
|
|
--cap-drop=ALL
|
|
--network={{ matrix_docker_network }}
|
|
--mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work
|
|
{{ matrix_synapse_rust_synapse_compress_state_docker_image }}
|
|
{{ matrix_synapse_rust_synapse_compress_state_synapse_compress_state_in_container_path }} -t -o /work/state-compressor.sql
|
|
-p "host={{ matrix_synapse_database_host }} user={{ matrix_synapse_database_user }} password={{ matrix_synapse_database_password }} dbname={{ matrix_synapse_database_database }}"
|
|
-r '{{ room_details.room_id }}'
|
|
|
|
- name: Run rust-synapse-compress-state room compression command (SQL generation)
|
|
ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_compress_room_command }}"
|
|
async: "{{ matrix_synapse_rust_synapse_compress_state_compress_room_time }}"
|
|
poll: 10
|
|
register: matrix_synapse_rust_synapse_compress_state_compress_room_command_result
|
|
failed_when: not matrix_synapse_rust_synapse_compress_state_compress_room_command_result.finished or matrix_synapse_rust_synapse_compress_state_compress_room_command_result.rc != 0
|
|
changed_when: matrix_synapse_rust_synapse_compress_state_compress_room_command_result.finished and matrix_synapse_rust_synapse_compress_state_compress_room_command_result.rc == 0
|
|
|
|
- ansible.builtin.debug:
|
|
var: "matrix_synapse_rust_synapse_compress_state_compress_room_command_result"
|
|
|
|
- name: Generate Postgres compression SQL import command
|
|
ansible.builtin.set_fact:
|
|
matrix_synapse_rust_synapse_compress_state_psql_import_command: >-
|
|
{{ devture_systemd_docker_base_host_command_docker }} run --rm --name matrix-rust-synapse-compress-state-psql-import
|
|
--user={{ devture_postgres_uid }}:{{ devture_postgres_gid }}
|
|
--cap-drop=ALL
|
|
--network={{ devture_postgres_container_network }}
|
|
--env-file={{ devture_postgres_base_path }}/env-postgres-psql
|
|
--mount type=bind,src={{ matrix_synapse_rust_synapse_compress_state_base_path }},dst=/work,ro
|
|
--entrypoint=/bin/sh
|
|
{{ devture_postgres_container_image_latest }}
|
|
-c "cat /work/state-compressor.sql |
|
|
psql -v ON_ERROR_STOP=1 -h {{ devture_postgres_connection_hostname }} -d {{ matrix_synapse_database_database }}"
|
|
|
|
- name: Import compression SQL into Postgres
|
|
ansible.builtin.command: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_command }}"
|
|
async: "{{ matrix_synapse_rust_synapse_compress_state_psql_import_time }}"
|
|
poll: 10
|
|
register: matrix_synapse_rust_synapse_compress_state_psql_import_command_result
|
|
failed_when: not matrix_synapse_rust_synapse_compress_state_psql_import_command_result.finished
|
|
changed_when: matrix_synapse_rust_synapse_compress_state_psql_import_command_result.finished and matrix_synapse_rust_synapse_compress_state_psql_import_command_result.rc == 0
|
|
|
|
- name: Clean up
|
|
ansible.builtin.file:
|
|
path: "{{ matrix_synapse_rust_synapse_compress_state_base_path }}/state-compressor.sql"
|
|
state: absent
|