first round of variable name changes
This commit is contained in:
parent
6b9af38228
commit
175bdb100b
@ -8,10 +8,10 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"min": null,
|
"min": null,
|
||||||
"max": null,
|
"max": null,
|
||||||
"default": "{{ matrix_awx_backup_enabled | string | lower }}",
|
"default": "{{ awx_backup_enabled | string | lower }}",
|
||||||
"choices": "true\nfalse",
|
"choices": "true\nfalse",
|
||||||
"new_question": true,
|
"new_question": true,
|
||||||
"variable": "matrix_awx_backup_enabled",
|
"variable": "awx_backup_enabled",
|
||||||
"type": "multiplechoice"
|
"type": "multiplechoice"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
line: "{{ item.key }}: {{ item.value }}"
|
line: "{{ item.key }}: {{ item.value }}"
|
||||||
insertafter: '# AWX Settings Start'
|
insertafter: '# AWX Settings Start'
|
||||||
with_dict:
|
with_dict:
|
||||||
'matrix_awx_backup_enabled': '{{ matrix_awx_backup_enabled }}'
|
'awx_backup_enabled': '{{ awx_backup_enabled }}'
|
||||||
tags: use-survey
|
tags: use-survey
|
||||||
|
|
||||||
- name: Save new 'Backup Server' survey.json to the AWX tower, template
|
- name: Save new 'Backup Server' survey.json to the AWX tower, template
|
||||||
@ -66,7 +66,7 @@
|
|||||||
register: _create_instances
|
register: _create_instances
|
||||||
async: 3600 # Maximum runtime in seconds.
|
async: 3600 # Maximum runtime in seconds.
|
||||||
poll: 0 # Fire and continue (never poll)
|
poll: 0 # Fire and continue (never poll)
|
||||||
when: matrix_awx_backup_enabled|bool
|
when: awx_backup_enabled|bool
|
||||||
|
|
||||||
- name: Wait for both of these jobs to finish
|
- name: Wait for both of these jobs to finish
|
||||||
async_status:
|
async_status:
|
||||||
@ -76,11 +76,11 @@
|
|||||||
delay: 5 # Check every 5 seconds.
|
delay: 5 # Check every 5 seconds.
|
||||||
retries: 720 # Retry for a full hour.
|
retries: 720 # Retry for a full hour.
|
||||||
with_items: "{{ _create_instances.results }}"
|
with_items: "{{ _create_instances.results }}"
|
||||||
when: matrix_awx_backup_enabled|bool
|
when: awx_backup_enabled|bool
|
||||||
|
|
||||||
- name: Perform borg backup of postgres dump
|
- name: Perform borg backup of postgres dump
|
||||||
command: borgmatic -c /root/.config/borgmatic/config_2.yaml
|
command: borgmatic -c /root/.config/borgmatic/config_2.yaml
|
||||||
when: matrix_awx_backup_enabled|bool
|
when: awx_backup_enabled|bool
|
||||||
|
|
||||||
- name: Delete the AWX session token for executing modules
|
- name: Delete the AWX session token for executing modules
|
||||||
awx.awx.tower_token:
|
awx.awx.tower_token:
|
||||||
|
@ -6,22 +6,18 @@
|
|||||||
|
|
||||||
- name: Set admin bool to zero
|
- name: Set admin bool to zero
|
||||||
set_fact:
|
set_fact:
|
||||||
admin_bool: 0
|
awx_admin_bool: 0
|
||||||
when: admin_access == 'false'
|
when: awx_admin_access == 'false'
|
||||||
|
|
||||||
- name: Examine if server admin set
|
- name: Examine if server admin set
|
||||||
set_fact:
|
set_fact:
|
||||||
admin_bool: 1
|
awx_admin_bool: 1
|
||||||
when: admin_access == 'true'
|
when: awx_admin_access == 'true'
|
||||||
|
|
||||||
- name: Set boolean value to exit playbook
|
|
||||||
set_fact:
|
|
||||||
end_playbook: true
|
|
||||||
|
|
||||||
- name: Create user account
|
- name: Create user account
|
||||||
command: |
|
command: |
|
||||||
/usr/local/bin/matrix-synapse-register-user {{ new_username | quote }} {{ new_password | quote }} {{ admin_bool }}
|
/usr/local/bin/matrix-synapse-register-user {{ awx_new_username | quote }} {{ awx_new_password | quote }} {{ awx_admin_bool }}
|
||||||
register: cmd
|
register: awx_cmd_output
|
||||||
|
|
||||||
- name: Delete the AWX session token for executing modules
|
- name: Delete the AWX session token for executing modules
|
||||||
awx.awx.tower_token:
|
awx.awx.tower_token:
|
||||||
@ -32,9 +28,13 @@
|
|||||||
tower_host: "https://{{ awx_host }}"
|
tower_host: "https://{{ awx_host }}"
|
||||||
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
||||||
|
|
||||||
|
- name: Set boolean value to exit playbook
|
||||||
|
set_fact:
|
||||||
|
awx_end_playbook: true
|
||||||
|
|
||||||
- name: Result
|
- name: Result
|
||||||
debug: msg="{{ cmd.stdout }}"
|
debug: msg="{{ awx_cmd_output.stdout }}"
|
||||||
|
|
||||||
- name: End playbook if this task list is called.
|
- name: End playbook if this task list is called.
|
||||||
meta: end_play
|
meta: end_play
|
||||||
when: end_playbook is defined and end_playbook|bool
|
when: awx_end_playbook is defined and awx_end_playbook|bool
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Enable index.html creation if user doesn't wish to customise base domain
|
- name: Enable index.html creation if user doesn't wish to customise base domain
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Delete the AWX session token for executing modules
|
- name: Delete the AWX session token for executing modules
|
||||||
awx.awx.tower_token:
|
awx.awx.tower_token:
|
||||||
|
@ -1,21 +1,22 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Run export of /matrix/ and snapshot the database simultaneously
|
- name: Run export of /matrix/ and snapshot the database simultaneously
|
||||||
command: "{{ item }}"
|
command: "{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
- /bin/sh /usr/local/bin/awx-export-service.sh 1 0
|
- /bin/sh /usr/local/bin/awx-export-service.sh 1 0
|
||||||
- /bin/sh /usr/local/bin/awx-export-service.sh 0 1
|
- /bin/sh /usr/local/bin/awx-export-service.sh 0 1
|
||||||
register: _create_instances
|
register: awx_create_instances
|
||||||
async: 3600 # Maximum runtime in seconds.
|
async: 3600 # Maximum runtime in seconds.
|
||||||
poll: 0 # Fire and continue (never poll)
|
poll: 0 # Fire and continue (never poll)
|
||||||
|
|
||||||
- name: Wait for both of these jobs to finish
|
- name: Wait for both of these jobs to finish
|
||||||
async_status:
|
async_status:
|
||||||
jid: "{{ item.ansible_job_id }}"
|
jid: "{{ item.ansible_job_id }}"
|
||||||
register: _jobs
|
register: awx_jobs
|
||||||
until: _jobs.finished
|
until: awx_jobs.finished
|
||||||
delay: 5 # Check every 5 seconds.
|
delay: 5 # Check every 5 seconds.
|
||||||
retries: 720 # Retry for a full hour.
|
retries: 720 # Retry for a full hour.
|
||||||
with_items: "{{ _create_instances.results }}"
|
with_items: "{{ awx_create_instances.results }}"
|
||||||
|
|
||||||
- name: Schedule deletion of the export in 24 hours
|
- name: Schedule deletion of the export in 24 hours
|
||||||
at:
|
at:
|
||||||
@ -35,8 +36,8 @@
|
|||||||
|
|
||||||
- name: Set boolean value to exit playbook
|
- name: Set boolean value to exit playbook
|
||||||
set_fact:
|
set_fact:
|
||||||
end_playbook: true
|
awx_end_playbook: true
|
||||||
|
|
||||||
- name: End playbook if this task list is called.
|
- name: End playbook if this task list is called.
|
||||||
meta: end_play
|
meta: end_play
|
||||||
when: end_playbook is defined and end_playbook|bool
|
when: awx_end_playbook is defined and awx_end_playbook|bool
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Ensure correct ownership of /matrix/awx
|
- name: Ensure correct ownership of /matrix/awx
|
||||||
shell: chown -R matrix:matrix /matrix/awx
|
shell: chown -R matrix:matrix /matrix/awx
|
||||||
|
|
||||||
- name: Ensure correct ownership of /matrix/synapse
|
- name: Ensure correct ownership of /matrix/synapse
|
||||||
shell: chown -R matrix:matrix /matrix/synapse
|
shell: chown -R matrix:matrix /matrix/synapse
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Include vars in organisation.yml
|
- name: Include vars in organisation.yml
|
||||||
include_vars:
|
include_vars:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Include new vars in matrix_vars.yml
|
- name: Include new vars in matrix_vars.yml
|
||||||
include_vars:
|
include_vars:
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Collect entire room list into stdout
|
- name: Collect entire room list into stdout
|
||||||
shell: |
|
shell: |
|
||||||
curl -X GET --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/rooms?from={{ item }}'
|
curl -X GET --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/rooms?from={{ item }}'
|
||||||
register: rooms_output
|
register: awx_rooms_output
|
||||||
|
|
||||||
- name: Print stdout to file
|
- name: Print stdout to file
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
echo '{{ rooms_output.stdout }}' >> /tmp/{{ subscription_id }}_room_list_complete.json
|
echo '{{ awx_rooms_output.stdout }}' >> /tmp/{{ subscription_id }}_room_list_complete.json
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Purge all rooms with more then N events
|
- name: Purge all rooms with more then N events
|
||||||
shell: |
|
shell: |
|
||||||
curl --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "delete_local_events": false, "purge_up_to_ts": {{ purge_epoche_time.stdout }}000 }' "{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_history/{{ item[1:-1] }}"
|
curl --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "delete_local_events": false, "purge_up_to_ts": {{ awx_purge_epoche_time.stdout }}000 }' "{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_history/{{ item[1:-1] }}"
|
||||||
register: purge_command
|
register: awx_purge_command
|
||||||
|
|
||||||
- name: Print output of purge command
|
- name: Print output of purge command
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ purge_command.stdout }}"
|
msg: "{{ awx_purge_command.stdout }}"
|
||||||
|
|
||||||
- name: Pause for 5 seconds to let Synapse breathe
|
- name: Pause for 5 seconds to let Synapse breathe
|
||||||
pause:
|
pause:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Ensure dateutils and curl is installed in AWX
|
- name: Ensure dateutils and curl is installed in AWX
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
@ -19,20 +20,20 @@
|
|||||||
|
|
||||||
- name: Collect before shrink size of Synapse database
|
- name: Collect before shrink size of Synapse database
|
||||||
shell: du -sh /matrix/postgres/data
|
shell: du -sh /matrix/postgres/data
|
||||||
register: db_size_before_stat
|
register: awx_db_size_before_stat
|
||||||
when: (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Collect the internal IP of the matrix-synapse container
|
- name: Collect the internal IP of the matrix-synapse container
|
||||||
shell: "/usr/bin/docker inspect --format '{''{range.NetworkSettings.Networks}''}{''{.IPAddress}''}{''{end}''}' matrix-synapse"
|
shell: "/usr/bin/docker inspect --format '{''{range.NetworkSettings.Networks}''}{''{.IPAddress}''}{''{end}''}' matrix-synapse"
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
register: synapse_container_ip
|
register: awx_synapse_container_ip
|
||||||
|
|
||||||
- name: Collect access token for janitor user
|
- name: Collect access token for janitor user
|
||||||
shell: |
|
shell: |
|
||||||
curl -X POST -d '{"type":"m.login.password", "user":"janitor", "password":"{{ matrix_awx_janitor_user_password }}"}' "{{ synapse_container_ip.stdout }}:8008/_matrix/client/r0/login" | jq '.access_token'
|
curl -X POST -d '{"type":"m.login.password", "user":"janitor", "password":"{{ awx_janitor_user_password }}"}' "{{ awx_synapse_container_ip.stdout }}:8008/_matrix/client/r0/login" | jq '.access_token'
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
register: janitors_token
|
register: awx_janitors_token
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Copy build_room_list.py script to target machine
|
- name: Copy build_room_list.py script to target machine
|
||||||
@ -42,107 +43,107 @@
|
|||||||
owner: matrix
|
owner: matrix
|
||||||
group: matrix
|
group: matrix
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Run build_room_list.py script
|
- name: Run build_room_list.py script
|
||||||
shell: |
|
shell: |
|
||||||
runuser -u matrix -- python3 /usr/local/bin/matrix_build_room_list.py {{ janitors_token.stdout[1:-1] }} {{ synapse_container_ip.stdout }}
|
runuser -u matrix -- python3 /usr/local/bin/matrix_build_room_list.py {{ awx_janitors_token.stdout[1:-1] }} {{ awx_synapse_container_ip.stdout }}
|
||||||
register: rooms_total
|
register: awx_rooms_total
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Fetch complete room list from target machine
|
- name: Fetch complete room list from target machine
|
||||||
fetch:
|
fetch:
|
||||||
src: /tmp/room_list_complete.json
|
src: /tmp/room_list_complete.json
|
||||||
dest: "/tmp/{{ subscription_id }}_room_list_complete.json"
|
dest: "/tmp/{{ subscription_id }}_room_list_complete.json"
|
||||||
flat: yes
|
flat: yes
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Remove complete room list from target machine
|
- name: Remove complete room list from target machine
|
||||||
file:
|
file:
|
||||||
path: /tmp/room_list_complete.json
|
path: /tmp/room_list_complete.json
|
||||||
state: absent
|
state: absent
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Generate list of rooms with no local users
|
- name: Generate list of rooms with no local users
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
jq 'try .rooms[] | select(.joined_local_members == 0) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_no_local_users.txt
|
jq 'try .rooms[] | select(.joined_local_members == 0) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_no_local_users.txt
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Count number of rooms with no local users
|
- name: Count number of rooms with no local users
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
wc -l /tmp/{{ subscription_id }}_room_list_no_local_users.txt | awk '{ print $1 }'
|
wc -l /tmp/{{ subscription_id }}_room_list_no_local_users.txt | awk '{ print $1 }'
|
||||||
register: rooms_no_local_total
|
register: awx_rooms_no_local_total
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Setting host fact room_list_no_local_users
|
- name: Setting host fact awx_room_list_no_local_users
|
||||||
set_fact:
|
set_fact:
|
||||||
room_list_no_local_users: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_no_local_users.txt') }}"
|
awx_room_list_no_local_users: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_no_local_users.txt') }}"
|
||||||
no_log: True
|
no_log: True
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Purge all rooms with no local users
|
- name: Purge all rooms with no local users
|
||||||
include_tasks: purge_database_no_local.yml
|
include_tasks: awx_purge_database_no_local.yml
|
||||||
loop: "{{ room_list_no_local_users.splitlines() | flatten(levels=1) }}"
|
loop: "{{ awx_room_list_no_local_users.splitlines() | flatten(levels=1) }}"
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Collect epoche time from date
|
- name: Collect epoche time from date
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
date -d '{{ purge_date }}' +"%s"
|
date -d '{{ awx_purge_date }}' +"%s"
|
||||||
when: (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
register: purge_epoche_time
|
register: awx_purge_epoche_time
|
||||||
|
|
||||||
- name: Generate list of rooms with more then N users
|
- name: Generate list of rooms with more then N users
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
jq 'try .rooms[] | select(.joined_members > {{ purge_metric_value }}) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_joined_members.txt
|
jq 'try .rooms[] | select(.joined_members > {{ awx_purge_metric_value }}) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_joined_members.txt
|
||||||
when: purge_mode.find("Number of users [slower]") != -1
|
when: awx_purge_mode.find("Number of users [slower]") != -1
|
||||||
|
|
||||||
- name: Count number of rooms with more then N users
|
- name: Count number of rooms with more then N users
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
wc -l /tmp/{{ subscription_id }}_room_list_joined_members.txt | awk '{ print $1 }'
|
wc -l /tmp/{{ subscription_id }}_room_list_joined_members.txt | awk '{ print $1 }'
|
||||||
register: rooms_join_members_total
|
register: awx_rooms_join_members_total
|
||||||
when: purge_mode.find("Number of users [slower]") != -1
|
when: awx_purge_mode.find("Number of users [slower]") != -1
|
||||||
|
|
||||||
- name: Setting host fact room_list_joined_members
|
- name: Setting host fact awx_room_list_joined_members
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
set_fact:
|
set_fact:
|
||||||
room_list_joined_members: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_joined_members.txt') }}"
|
awx_room_list_joined_members: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_joined_members.txt') }}"
|
||||||
when: purge_mode.find("Number of users [slower]") != -1
|
when: awx_purge_mode.find("Number of users [slower]") != -1
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Purge all rooms with more then N users
|
- name: Purge all rooms with more then N users
|
||||||
include_tasks: purge_database_users.yml
|
include_tasks: awx_purge_database_users.yml
|
||||||
loop: "{{ room_list_joined_members.splitlines() | flatten(levels=1) }}"
|
loop: "{{ awx_room_list_joined_members.splitlines() | flatten(levels=1) }}"
|
||||||
when: purge_mode.find("Number of users [slower]") != -1
|
when: awx_purge_mode.find("Number of users [slower]") != -1
|
||||||
|
|
||||||
- name: Generate list of rooms with more then N events
|
- name: Generate list of rooms with more then N events
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
jq 'try .rooms[] | select(.state_events > {{ purge_metric_value }}) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_state_events.txt
|
jq 'try .rooms[] | select(.state_events > {{ awx_purge_metric_value }}) | .room_id' < /tmp/{{ subscription_id }}_room_list_complete.json > /tmp/{{ subscription_id }}_room_list_state_events.txt
|
||||||
when: purge_mode.find("Number of events [slower]") != -1
|
when: awx_purge_mode.find("Number of events [slower]") != -1
|
||||||
|
|
||||||
- name: Count number of rooms with more then N events
|
- name: Count number of rooms with more then N events
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
wc -l /tmp/{{ subscription_id }}_room_list_state_events.txt | awk '{ print $1 }'
|
wc -l /tmp/{{ subscription_id }}_room_list_state_events.txt | awk '{ print $1 }'
|
||||||
register: rooms_state_events_total
|
register: awx_rooms_state_events_total
|
||||||
when: purge_mode.find("Number of events [slower]") != -1
|
when: awx_purge_mode.find("Number of events [slower]") != -1
|
||||||
|
|
||||||
- name: Setting host fact room_list_state_events
|
- name: Setting host fact awx_room_list_state_events
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
set_fact:
|
set_fact:
|
||||||
room_list_state_events: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_state_events.txt') }}"
|
awx_room_list_state_events: "{{ lookup('file', '/tmp/{{ subscription_id }}_room_list_state_events.txt') }}"
|
||||||
when: purge_mode.find("Number of events [slower]") != -1
|
when: awx_purge_mode.find("Number of events [slower]") != -1
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Purge all rooms with more then N events
|
- name: Purge all rooms with more then N events
|
||||||
include_tasks: purge_database_events.yml
|
include_tasks: awx_purge_database_events.yml
|
||||||
loop: "{{ room_list_state_events.splitlines() | flatten(levels=1) }}"
|
loop: "{{ awx_room_list_state_events.splitlines() | flatten(levels=1) }}"
|
||||||
when: purge_mode.find("Number of events [slower]") != -1
|
when: awx_purge_mode.find("Number of events [slower]") != -1
|
||||||
|
|
||||||
- name: Adjust 'Deploy/Update a Server' job template
|
- name: Adjust 'Deploy/Update a Server' job template
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
@ -161,7 +162,7 @@
|
|||||||
tower_host: "https://{{ awx_host }}"
|
tower_host: "https://{{ awx_host }}"
|
||||||
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
||||||
validate_certs: yes
|
validate_certs: yes
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) or (purge_mode.find("Skip purging rooms [faster]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) or (awx_purge_mode.find("Skip purging rooms [faster]") != -1)
|
||||||
|
|
||||||
- name: Execute rust-synapse-compress-state job template
|
- name: Execute rust-synapse-compress-state job template
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
@ -171,7 +172,7 @@
|
|||||||
tower_host: "https://{{ awx_host }}"
|
tower_host: "https://{{ awx_host }}"
|
||||||
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
||||||
validate_certs: yes
|
validate_certs: yes
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) or (purge_mode.find("Skip purging rooms [faster]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) or (awx_purge_mode.find("Skip purging rooms [faster]") != -1)
|
||||||
|
|
||||||
- name: Revert 'Deploy/Update a Server' job template
|
- name: Revert 'Deploy/Update a Server' job template
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
@ -190,25 +191,25 @@
|
|||||||
tower_host: "https://{{ awx_host }}"
|
tower_host: "https://{{ awx_host }}"
|
||||||
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
||||||
validate_certs: yes
|
validate_certs: yes
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1) or (purge_mode.find("Skip purging rooms [faster]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1) or (awx_purge_mode.find("Skip purging rooms [faster]") != -1)
|
||||||
|
|
||||||
- name: Ensure matrix-synapse is stopped
|
- name: Ensure matrix-synapse is stopped
|
||||||
service:
|
service:
|
||||||
name: matrix-synapse
|
name: matrix-synapse
|
||||||
state: stopped
|
state: stopped
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
when: (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
|
|
||||||
- name: Re-index Synapse database
|
- name: Re-index Synapse database
|
||||||
shell: docker exec -i matrix-postgres psql "host=127.0.0.1 port=5432 dbname=synapse user=synapse password={{ matrix_synapse_connection_password }}" -c 'REINDEX (VERBOSE) DATABASE synapse'
|
shell: docker exec -i matrix-postgres psql "host=127.0.0.1 port=5432 dbname=synapse user=synapse password={{ matrix_synapse_connection_password }}" -c 'REINDEX (VERBOSE) DATABASE synapse'
|
||||||
when: (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
|
|
||||||
- name: Ensure matrix-synapse is started
|
- name: Ensure matrix-synapse is started
|
||||||
service:
|
service:
|
||||||
name: matrix-synapse
|
name: matrix-synapse
|
||||||
state: started
|
state: started
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
when: (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
|
|
||||||
- name: Adjust 'Deploy/Update a Server' job template
|
- name: Adjust 'Deploy/Update a Server' job template
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
@ -227,7 +228,7 @@
|
|||||||
tower_host: "https://{{ awx_host }}"
|
tower_host: "https://{{ awx_host }}"
|
||||||
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
||||||
validate_certs: yes
|
validate_certs: yes
|
||||||
when: (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
|
|
||||||
- name: Execute run-postgres-vacuum job template
|
- name: Execute run-postgres-vacuum job template
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
@ -237,7 +238,7 @@
|
|||||||
tower_host: "https://{{ awx_host }}"
|
tower_host: "https://{{ awx_host }}"
|
||||||
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
||||||
validate_certs: yes
|
validate_certs: yes
|
||||||
when: (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
|
|
||||||
- name: Revert 'Deploy/Update a Server' job template
|
- name: Revert 'Deploy/Update a Server' job template
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
@ -256,50 +257,50 @@
|
|||||||
tower_host: "https://{{ awx_host }}"
|
tower_host: "https://{{ awx_host }}"
|
||||||
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
tower_oauthtoken: "{{ awx_session_token.ansible_facts.tower_token.token }}"
|
||||||
validate_certs: yes
|
validate_certs: yes
|
||||||
when: (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
|
|
||||||
- name: Cleanup room_list files
|
- name: Cleanup room_list files
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: |
|
shell: |
|
||||||
rm /tmp/{{ subscription_id }}_room_list*
|
rm /tmp/{{ subscription_id }}_room_list*
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Collect after shrink size of Synapse database
|
- name: Collect after shrink size of Synapse database
|
||||||
shell: du -sh /matrix/postgres/data
|
shell: du -sh /matrix/postgres/data
|
||||||
register: db_size_after_stat
|
register: awx_db_size_after_stat
|
||||||
when: (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print total number of rooms processed
|
- name: Print total number of rooms processed
|
||||||
debug:
|
debug:
|
||||||
msg: '{{ rooms_total.stdout }}'
|
msg: '{{ awx_rooms_total.stdout }}'
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Print the number of rooms purged with no local users
|
- name: Print the number of rooms purged with no local users
|
||||||
debug:
|
debug:
|
||||||
msg: '{{ rooms_no_local_total.stdout }}'
|
msg: '{{ awx_rooms_no_local_total.stdout }}'
|
||||||
when: (purge_mode.find("No local users [recommended]") != -1) or (purge_mode.find("Number of users [slower]") != -1) or (purge_mode.find("Number of events [slower]") != -1)
|
when: (awx_purge_mode.find("No local users [recommended]") != -1) or (awx_purge_mode.find("Number of users [slower]") != -1) or (awx_purge_mode.find("Number of events [slower]") != -1)
|
||||||
|
|
||||||
- name: Print the number of rooms purged with more then N users
|
- name: Print the number of rooms purged with more then N users
|
||||||
debug:
|
debug:
|
||||||
msg: '{{ rooms_join_members_total.stdout }}'
|
msg: '{{ awx_rooms_join_members_total.stdout }}'
|
||||||
when: purge_mode.find("Number of users") != -1
|
when: awx_purge_mode.find("Number of users") != -1
|
||||||
|
|
||||||
- name: Print the number of rooms purged with more then N events
|
- name: Print the number of rooms purged with more then N events
|
||||||
debug:
|
debug:
|
||||||
msg: '{{ rooms_state_events_total.stdout }}'
|
msg: '{{ awx_rooms_state_events_total.stdout }}'
|
||||||
when: purge_mode.find("Number of events") != -1
|
when: awx_purge_mode.find("Number of events") != -1
|
||||||
|
|
||||||
- name: Print before purge size of Synapse database
|
- name: Print before purge size of Synapse database
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ db_size_before_stat.stdout.split('\n') }}"
|
msg: "{{ awx_db_size_before_stat.stdout.split('\n') }}"
|
||||||
when: (db_size_before_stat is defined) and (purge_mode.find("Perform final shrink") != -1)
|
when: ( awx_db_size_before_stat is defined ) and ( awx_purge_mode.find("Perform final shrink" ) != -1 )
|
||||||
|
|
||||||
- name: Print after purge size of Synapse database
|
- name: Print after purge size of Synapse database
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ db_size_after_stat.stdout.split('\n') }}"
|
msg: "{{ awx_db_size_after_stat.stdout.split('\n') }}"
|
||||||
when: (db_size_after_stat is defined) and (purge_mode.find("Perform final shrink") != -1)
|
when: (awx_db_size_after_stat is defined) and (awx_purge_mode.find("Perform final shrink") != -1)
|
||||||
|
|
||||||
- name: Delete the AWX session token for executing modules
|
- name: Delete the AWX session token for executing modules
|
||||||
awx.awx.tower_token:
|
awx.awx.tower_token:
|
||||||
@ -312,8 +313,8 @@
|
|||||||
|
|
||||||
- name: Set boolean value to exit playbook
|
- name: Set boolean value to exit playbook
|
||||||
set_fact:
|
set_fact:
|
||||||
end_playbook: true
|
awx_end_playbook: true
|
||||||
|
|
||||||
- name: End playbook early if this task is called.
|
- name: End playbook early if this task is called.
|
||||||
meta: end_play
|
meta: end_play
|
||||||
when: end_playbook is defined and end_playbook|bool
|
when: awx_end_playbook is defined and awx_end_playbook|bool
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Purge all rooms with no local users
|
- name: Purge all rooms with no local users
|
||||||
shell: |
|
shell: |
|
||||||
curl --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "room_id": {{ item }} }' '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_room'
|
curl --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "room_id": {{ item }} }' '{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_room'
|
||||||
register: purge_command
|
register: awx_purge_command
|
||||||
|
|
||||||
- name: Print output of purge command
|
- name: Print output of purge command
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ purge_command.stdout }}"
|
msg: "{{ awx_purge_command.stdout }}"
|
||||||
|
|
||||||
- name: Pause for 5 seconds to let Synapse breathe
|
- name: Pause for 5 seconds to let Synapse breathe
|
||||||
pause:
|
pause:
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Purge all rooms with more then N users
|
- name: Purge all rooms with more then N users
|
||||||
shell: |
|
shell: |
|
||||||
curl --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "delete_local_events": false, "purge_up_to_ts": {{ purge_epoche_time.stdout }}000 }' "{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_history/{{ item[1:-1] }}"
|
curl --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" -X POST -H "Content-Type: application/json" -d '{ "delete_local_events": false, "purge_up_to_ts": {{ awx_purge_epoche_time.stdout }}000 }' "{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_history/{{ item[1:-1] }}"
|
||||||
register: purge_command
|
register: awx_purge_command
|
||||||
|
|
||||||
- name: Print output of purge command
|
- name: Print output of purge command
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ purge_command.stdout }}"
|
msg: "{{ awx_purge_command.stdout }}"
|
||||||
|
|
||||||
- name: Pause for 5 seconds to let Synapse breathe
|
- name: Pause for 5 seconds to let Synapse breathe
|
||||||
pause:
|
pause:
|
||||||
|
@ -1,17 +1,18 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Collect epoche time from date
|
- name: Collect epoche time from date
|
||||||
shell: |
|
shell: |
|
||||||
date -d '{{ item }}' +"%s"
|
date -d '{{ item }}' +"%s"
|
||||||
register: epoche_time
|
register: awx_epoche_time
|
||||||
|
|
||||||
- name: Purge local media to specific date
|
- name: Purge local media to specific date
|
||||||
shell: |
|
shell: |
|
||||||
curl -X POST --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/media/matrix.{{ matrix_domain }}/delete?before_ts={{ epoche_time.stdout }}000'
|
curl -X POST --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" '{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/media/matrix.{{ matrix_domain }}/delete?before_ts={{ awx_epoche_time.stdout }}000'
|
||||||
register: purge_command
|
register: awx_purge_command
|
||||||
|
|
||||||
- name: Print output of purge command
|
- name: Print output of purge command
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ purge_command.stdout }}"
|
msg: "{{ awx_purge_command.stdout }}"
|
||||||
|
|
||||||
- name: Pause for 5 seconds to let Synapse breathe
|
- name: Pause for 5 seconds to let Synapse breathe
|
||||||
pause:
|
pause:
|
||||||
|
@ -19,76 +19,76 @@
|
|||||||
|
|
||||||
- name: Collect the internal IP of the matrix-synapse container
|
- name: Collect the internal IP of the matrix-synapse container
|
||||||
shell: "/usr/bin/docker inspect --format '{''{range.NetworkSettings.Networks}''}{''{.IPAddress}''}{''{end}''}' matrix-synapse"
|
shell: "/usr/bin/docker inspect --format '{''{range.NetworkSettings.Networks}''}{''{.IPAddress}''}{''{end}''}' matrix-synapse"
|
||||||
register: synapse_container_ip
|
register: awx_synapse_container_ip
|
||||||
|
|
||||||
- name: Collect access token for janitor user
|
- name: Collect access token for janitor user
|
||||||
shell: |
|
shell: |
|
||||||
curl -XPOST -d '{"type":"m.login.password", "user":"janitor", "password":"{{ matrix_awx_janitor_user_password }}"}' "{{ synapse_container_ip.stdout }}:8008/_matrix/client/r0/login" | jq '.access_token'
|
curl -XPOST -d '{"type":"m.login.password", "user":"janitor", "password":"{{ awx_janitor_user_password }}"}' "{{ awx_synapse_container_ip.stdout }}:8008/_matrix/client/r0/login" | jq '.access_token'
|
||||||
register: janitors_token
|
register: awx_janitors_token
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Generate list of dates to purge to
|
- name: Generate list of dates to purge to
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
shell: "dateseq {{ matrix_purge_from_date }} {{ matrix_purge_to_date }}"
|
shell: "dateseq {{ matrix_purge_from_date }} {{ matrix_purge_to_date }}"
|
||||||
register: purge_dates
|
register: awx_purge_dates
|
||||||
|
|
||||||
- name: Calculate initial size of local media repository
|
- name: Calculate initial size of local media repository
|
||||||
shell: du -sh /matrix/synapse/storage/media-store/local*
|
shell: du -sh /matrix/synapse/storage/media-store/local*
|
||||||
register: local_media_size_before
|
register: awx_local_media_size_before
|
||||||
when: matrix_purge_media_type == "Local Media"
|
when: awx_purge_media_type == "Local Media"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Calculate initial size of remote media repository
|
- name: Calculate initial size of remote media repository
|
||||||
shell: du -sh /matrix/synapse/storage/media-store/remote*
|
shell: du -sh /matrix/synapse/storage/media-store/remote*
|
||||||
register: remote_media_size_before
|
register: awx_remote_media_size_before
|
||||||
when: matrix_purge_media_type == "Remote Media"
|
when: awx_purge_media_type == "Remote Media"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Purge local media with loop
|
- name: Purge local media with loop
|
||||||
include_tasks: purge_media_local.yml
|
include_tasks: purge_media_local.yml
|
||||||
loop: "{{ purge_dates.stdout_lines | flatten(levels=1) }}"
|
loop: "{{ awx_purge_dates.stdout_lines | flatten(levels=1) }}"
|
||||||
when: matrix_purge_media_type == "Local Media"
|
when: awx_purge_media_type == "Local Media"
|
||||||
|
|
||||||
- name: Purge remote media with loop
|
- name: Purge remote media with loop
|
||||||
include_tasks: purge_media_remote.yml
|
include_tasks: purge_media_remote.yml
|
||||||
loop: "{{ purge_dates.stdout_lines | flatten(levels=1) }}"
|
loop: "{{ awx_purge_dates.stdout_lines | flatten(levels=1) }}"
|
||||||
when: matrix_purge_media_type == "Remote Media"
|
when: awx_purge_media_type == "Remote Media"
|
||||||
|
|
||||||
- name: Calculate final size of local media repository
|
- name: Calculate final size of local media repository
|
||||||
shell: du -sh /matrix/synapse/storage/media-store/local*
|
shell: du -sh /matrix/synapse/storage/media-store/local*
|
||||||
register: local_media_size_after
|
register: awx_local_media_size_after
|
||||||
when: matrix_purge_media_type == "Local Media"
|
when: awx_purge_media_type == "Local Media"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Calculate final size of remote media repository
|
- name: Calculate final size of remote media repository
|
||||||
shell: du -sh /matrix/synapse/storage/media-store/remote*
|
shell: du -sh /matrix/synapse/storage/media-store/remote*
|
||||||
register: remote_media_size_after
|
register: awx_remote_media_size_after
|
||||||
when: matrix_purge_media_type == "Remote Media"
|
when: awx_purge_media_type == "Remote Media"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print size of local media repository before purge
|
- name: Print size of local media repository before purge
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ local_media_size_before.stdout.split('\n') }}"
|
msg: "{{ awx_local_media_size_before.stdout.split('\n') }}"
|
||||||
when: matrix_purge_media_type == "Local Media"
|
when: awx_purge_media_type == "Local Media"
|
||||||
|
|
||||||
- name: Print size of local media repository after purge
|
- name: Print size of local media repository after purge
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ local_media_size_after.stdout.split('\n') }}"
|
msg: "{{ awx_local_media_size_after.stdout.split('\n') }}"
|
||||||
when: matrix_purge_media_type == "Local Media"
|
when: awx_purge_media_type == "Local Media"
|
||||||
|
|
||||||
- name: Print size of remote media repository before purge
|
- name: Print size of remote media repository before purge
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ remote_media_size_before.stdout.split('\n') }}"
|
msg: "{{ awx_remote_media_size_before.stdout.split('\n') }}"
|
||||||
when: matrix_purge_media_type == "Remote Media"
|
when: awx_purge_media_type == "Remote Media"
|
||||||
|
|
||||||
- name: Print size of remote media repository after purge
|
- name: Print size of remote media repository after purge
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ remote_media_size_after.stdout.split('\n') }}"
|
msg: "{{ awx_remote_media_size_after.stdout.split('\n') }}"
|
||||||
when: matrix_purge_media_type == "Remote Media"
|
when: awx_purge_media_type == "Remote Media"
|
||||||
|
|
||||||
- name: Delete the AWX session token for executing modules
|
- name: Delete the AWX session token for executing modules
|
||||||
awx.awx.tower_token:
|
awx.awx.tower_token:
|
||||||
@ -101,8 +101,8 @@
|
|||||||
|
|
||||||
- name: Set boolean value to exit playbook
|
- name: Set boolean value to exit playbook
|
||||||
set_fact:
|
set_fact:
|
||||||
end_playbook: true
|
awx_end_playbook: true
|
||||||
|
|
||||||
- name: End playbook early if this task is called.
|
- name: End playbook early if this task is called.
|
||||||
meta: end_play
|
meta: end_play
|
||||||
when: end_playbook is defined and end_playbook|bool
|
when: awx_end_playbook is defined and awx_end_playbook|bool
|
||||||
|
@ -1,17 +1,18 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Collect epoche time from date
|
- name: Collect epoche time from date
|
||||||
shell: |
|
shell: |
|
||||||
date -d '{{ item }}' +"%s"
|
date -d '{{ item }}' +"%s"
|
||||||
register: epoche_time
|
register: awx_epoche_time
|
||||||
|
|
||||||
- name: Purge remote media to specific date
|
- name: Purge remote media to specific date
|
||||||
shell: |
|
shell: |
|
||||||
curl -X POST --header "Authorization: Bearer {{ janitors_token.stdout[1:-1] }}" '{{ synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_media_cache?before_ts={{ epoche_time.stdout }}000'
|
curl -X POST --header "Authorization: Bearer {{ awx_janitors_token.stdout[1:-1] }}" '{{ awx_synapse_container_ip.stdout }}:8008/_synapse/admin/v1/purge_media_cache?before_ts={{ awx_epoche_time.stdout }}000'
|
||||||
register: purge_command
|
register: awx_purge_command
|
||||||
|
|
||||||
- name: Print output of purge command
|
- name: Print output of purge command
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ purge_command.stdout }}"
|
msg: "{{ awx_purge_command.stdout }}"
|
||||||
|
|
||||||
- name: Pause for 5 seconds to let Synapse breathe
|
- name: Pause for 5 seconds to let Synapse breathe
|
||||||
pause:
|
pause:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Rename synapse presence variable
|
- name: Rename synapse presence variable
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Set the new authorized key taken from file
|
- name: Set the new authorized key taken from file
|
||||||
authorized_key:
|
authorized_key:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Install prerequisite apt packages on target
|
- name: Install prerequisite apt packages on target
|
||||||
apt:
|
apt:
|
||||||
@ -23,83 +24,83 @@
|
|||||||
- name: Calculate MAU value
|
- name: Calculate MAU value
|
||||||
shell: |
|
shell: |
|
||||||
curl -s localhost:9000 | grep "^synapse_admin_mau_current "
|
curl -s localhost:9000 | grep "^synapse_admin_mau_current "
|
||||||
register: mau_stat
|
register: awx_mau_stat
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print MAU value
|
|
||||||
debug:
|
|
||||||
msg: "{{ mau_stat.stdout.split('\n') }}"
|
|
||||||
when: mau_stat is defined
|
|
||||||
|
|
||||||
- name: Calculate CPU usage statistics
|
- name: Calculate CPU usage statistics
|
||||||
shell: iostat -c
|
shell: iostat -c
|
||||||
register: cpu_usage_stat
|
register: awx_cpu_usage_stat
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print CPU usage statistics
|
|
||||||
debug:
|
|
||||||
msg: "{{ cpu_usage_stat.stdout.split('\n') }}"
|
|
||||||
when: cpu_usage_stat is defined
|
|
||||||
|
|
||||||
- name: Calculate RAM usage statistics
|
- name: Calculate RAM usage statistics
|
||||||
shell: free -mh
|
shell: free -mh
|
||||||
register: ram_usage_stat
|
register: awx_ram_usage_stat
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print RAM usage statistics
|
|
||||||
debug:
|
|
||||||
msg: "{{ ram_usage_stat.stdout.split('\n') }}"
|
|
||||||
when: ram_usage_stat is defined
|
|
||||||
|
|
||||||
- name: Calculate free disk space
|
- name: Calculate free disk space
|
||||||
shell: df -h
|
shell: df -h
|
||||||
register: disk_space_stat
|
register: awx_disk_space_stat
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print free disk space
|
|
||||||
debug:
|
|
||||||
msg: "{{ disk_space_stat.stdout.split('\n') }}"
|
|
||||||
when: disk_space_stat is defined
|
|
||||||
|
|
||||||
- name: Calculate size of Synapse database
|
- name: Calculate size of Synapse database
|
||||||
shell: du -sh /matrix/postgres/data
|
shell: du -sh /matrix/postgres/data
|
||||||
register: db_size_stat
|
register: awx_db_size_stat
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print size of Synapse database
|
|
||||||
debug:
|
|
||||||
msg: "{{ db_size_stat.stdout.split('\n') }}"
|
|
||||||
when: db_size_stat is defined
|
|
||||||
|
|
||||||
- name: Calculate size of local media repository
|
- name: Calculate size of local media repository
|
||||||
shell: du -sh /matrix/synapse/storage/media-store/local*
|
shell: du -sh /matrix/synapse/storage/media-store/local*
|
||||||
register: local_media_size_stat
|
register: awx_local_media_size_stat
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print size of local media repository
|
|
||||||
debug:
|
|
||||||
msg: "{{ local_media_size_stat.stdout.split('\n') }}"
|
|
||||||
when: local_media_size_stat is defined
|
|
||||||
|
|
||||||
- name: Calculate size of remote media repository
|
- name: Calculate size of remote media repository
|
||||||
shell: du -sh /matrix/synapse/storage/media-store/remote*
|
shell: du -sh /matrix/synapse/storage/media-store/remote*
|
||||||
register: remote_media_size_stat
|
register: awx_remote_media_size_stat
|
||||||
|
ignore_errors: yes
|
||||||
|
no_log: True
|
||||||
|
|
||||||
|
- name: Calculate docker container statistics
|
||||||
|
shell: docker stats --all --no-stream
|
||||||
|
register: awx_docker_stats
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Print size of remote media repository
|
- name: Print size of remote media repository
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ remote_media_size_stat.stdout.split('\n') }}"
|
msg: "{{ awx_remote_media_size_stat.stdout.split('\n') }}"
|
||||||
when: remote_media_size_stat is defined
|
when: awx_remote_media_size_stat is defined
|
||||||
|
|
||||||
|
- name: Print size of local media repository
|
||||||
|
debug:
|
||||||
|
msg: "{{ awx_local_media_size_stat.stdout.split('\n') }}"
|
||||||
|
when: awx_local_media_size_stat is defined
|
||||||
|
|
||||||
- name: Calculate docker container statistics
|
- name: Print size of Synapse database
|
||||||
shell: docker stats --all --no-stream
|
debug:
|
||||||
register: docker_stats
|
msg: "{{ awx_db_size_stat.stdout.split('\n') }}"
|
||||||
ignore_errors: yes
|
when: awx_db_size_stat is defined
|
||||||
no_log: True
|
|
||||||
|
- name: Print free disk space
|
||||||
|
debug:
|
||||||
|
msg: "{{ awx_disk_space_stat.stdout.split('\n') }}"
|
||||||
|
when: awx_disk_space_stat is defined
|
||||||
|
|
||||||
|
- name: Print RAM usage statistics
|
||||||
|
debug:
|
||||||
|
msg: "{{ awx_ram_usage_stat.stdout.split('\n') }}"
|
||||||
|
when: awx_ram_usage_stat is defined
|
||||||
|
|
||||||
|
- name: Print CPU usage statistics
|
||||||
|
debug:
|
||||||
|
msg: "{{ awx_cpu_usage_stat.stdout.split('\n') }}"
|
||||||
|
when: awx_cpu_usage_stat is defined
|
||||||
|
|
||||||
|
- name: Print MAU value
|
||||||
|
debug:
|
||||||
|
msg: "{{ awx_mau_stat.stdout.split('\n') }}"
|
||||||
|
when: awx_mau_stat is defined
|
||||||
|
|
||||||
- name: Print docker container statistics
|
- name: Print docker container statistics
|
||||||
debug:
|
debug:
|
||||||
msg: "{{ docker_stats.stdout.split('\n') }}"
|
msg: "{{ awx_docker_stats.stdout.split('\n') }}"
|
||||||
when: docker_stats is defined
|
when: awx_docker_stats is defined
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Record Corporal Enabled/Disabled variable
|
- name: Record Corporal Enabled/Disabled variable
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Include vars in matrix_vars.yml
|
- name: Include vars in matrix_vars.yml
|
||||||
include_vars:
|
include_vars:
|
||||||
@ -13,7 +14,7 @@
|
|||||||
|
|
||||||
- name: Collect access token of Dimension user
|
- name: Collect access token of Dimension user
|
||||||
shell: |
|
shell: |
|
||||||
curl -X POST --header 'Content-Type: application/json' -d '{ "identifier": { "type": "m.id.user","user": "dimension" }, "password": "{{ matrix_awx_dimension_user_password }}", "type": "m.login.password"}' 'https://matrix.{{ matrix_domain }}/_matrix/client/r0/login' | jq -c '. | {access_token}' | sed 's/.*\":\"//' | sed 's/\"}//'
|
curl -X POST --header 'Content-Type: application/json' -d '{ "identifier": { "type": "m.id.user","user": "dimension" }, "password": "{{ awx_dimension_user_password }}", "type": "m.login.password"}' 'https://matrix.{{ matrix_domain }}/_matrix/client/r0/login' | jq -c '. | {access_token}' | sed 's/.*\":\"//' | sed 's/\"}//'
|
||||||
register: awx_dimension_user_access_token
|
register: awx_dimension_user_access_token
|
||||||
|
|
||||||
- name: Record Synapse variables locally on AWX
|
- name: Record Synapse variables locally on AWX
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Record Element-Web variables locally on AWX
|
- name: Record Element-Web variables locally on AWX
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Record Element-Web variables locally on AWX
|
- name: Record Element-Web variables locally on AWX
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Record Jitsi variables locally on AWX
|
- name: Record Jitsi variables locally on AWX
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Record ma1sd variables locally on AWX
|
- name: Record ma1sd variables locally on AWX
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Record Mailer variables locally on AWX
|
- name: Record Mailer variables locally on AWX
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -26,21 +26,21 @@
|
|||||||
'matrix_synapse_url_preview_enabled': '{{ matrix_synapse_url_preview_enabled }}'
|
'matrix_synapse_url_preview_enabled': '{{ matrix_synapse_url_preview_enabled }}'
|
||||||
'matrix_synapse_allow_guest_access': '{{ matrix_synapse_allow_guest_access }}'
|
'matrix_synapse_allow_guest_access': '{{ matrix_synapse_allow_guest_access }}'
|
||||||
|
|
||||||
- name: Empty Synapse variable 'awx_matrix_synapse_auto_join_rooms' locally on AWX, if raw inputs empty
|
- name: Empty Synapse variable 'matrix_synapse_auto_join_rooms' locally on AWX, if raw inputs empty
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
replace:
|
replace:
|
||||||
path: '{{ awx_cached_matrix_vars }}'
|
path: '{{ awx_cached_matrix_vars }}'
|
||||||
regexp: "^awx_matrix_synapse_auto_join_rooms: .*$"
|
regexp: "^matrix_synapse_auto_join_rooms: .*$"
|
||||||
replace: "awx_matrix_synapse_auto_join_rooms: []"
|
replace: "matrix_synapse_auto_join_rooms: []"
|
||||||
when: awx_matrix_synapse_auto_join_rooms_raw|length == 0
|
when: matrix_synapse_auto_join_rooms_raw|length == 0
|
||||||
|
|
||||||
- name: If the raw inputs is not empty start constructing parsed auto_join_rooms list
|
- name: If the raw inputs is not empty start constructing parsed auto_join_rooms list
|
||||||
set_fact:
|
set_fact:
|
||||||
awx_matrix_synapse_auto_join_rooms_array: |-
|
matrix_synapse_auto_join_rooms_array: |-
|
||||||
{{ awx_matrix_synapse_auto_join_rooms_raw.splitlines() | to_json }}
|
{{ matrix_synapse_auto_join_rooms_raw.splitlines() | to_json }}
|
||||||
when: awx_matrix_synapse_auto_join_rooms_raw|length > 0
|
when: matrix_synapse_auto_join_rooms_raw|length > 0
|
||||||
|
|
||||||
- name: Record Synapse variable 'awx_matrix_synapse_auto_join_rooms' locally on AWX, if it's not blank
|
- name: Record Synapse variable 'matrix_synapse_auto_join_rooms' locally on AWX, if it's not blank
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: '{{ awx_cached_matrix_vars }}'
|
path: '{{ awx_cached_matrix_vars }}'
|
||||||
@ -48,8 +48,8 @@
|
|||||||
line: "{{ item.key }}: {{ item.value }}"
|
line: "{{ item.key }}: {{ item.value }}"
|
||||||
insertafter: '# Synapse Settings Start'
|
insertafter: '# Synapse Settings Start'
|
||||||
with_dict:
|
with_dict:
|
||||||
"awx_matrix_synapse_auto_join_rooms": "{{ awx_matrix_synapse_auto_join_rooms_array }}"
|
"matrix_synapse_auto_join_rooms": "{{ matrix_synapse_auto_join_rooms_array }}"
|
||||||
when: awx_matrix_synapse_auto_join_rooms_raw|length > 0
|
when: matrix_synapse_auto_join_rooms_raw|length > 0
|
||||||
|
|
||||||
- name: Record Synapse Shared Secret if it's defined
|
- name: Record Synapse Shared Secret if it's defined
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
- name: Record Synapse Admin variables locally on AWX
|
- name: Record Synapse Admin variables locally on AWX
|
||||||
delegate_to: 127.0.0.1
|
delegate_to: 127.0.0.1
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
- name: Create user account @janitor
|
- name: Create user account @janitor
|
||||||
command: |
|
command: |
|
||||||
/usr/local/bin/matrix-synapse-register-user janitor {{ matrix_awx_janitor_user_password | quote }} 1
|
/usr/local/bin/matrix-synapse-register-user janitor {{ awx_janitor_user_password | quote }} 1
|
||||||
register: cmd
|
register: cmd
|
||||||
when: not matrix_awx_janitor_user_created|bool
|
when: not awx_janitor_user_created|bool
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Update AWX janitor user created variable
|
- name: Update AWX janitor user created variable
|
||||||
@ -15,14 +15,14 @@
|
|||||||
line: "{{ item.key }}: {{ item.value }}"
|
line: "{{ item.key }}: {{ item.value }}"
|
||||||
insertafter: 'AWX Settings'
|
insertafter: 'AWX Settings'
|
||||||
with_dict:
|
with_dict:
|
||||||
'matrix_awx_janitor_user_created': 'true'
|
'awx_janitor_user_created': 'true'
|
||||||
when: not matrix_awx_janitor_user_created|bool
|
when: not awx_janitor_user_created|bool
|
||||||
|
|
||||||
- name: Create user account @dimension
|
- name: Create user account @dimension
|
||||||
command: |
|
command: |
|
||||||
/usr/local/bin/matrix-synapse-register-user dimension {{ matrix_awx_dimension_user_password | quote }} 0
|
/usr/local/bin/matrix-synapse-register-user dimension {{ awx_dimension_user_password | quote }} 0
|
||||||
register: cmd
|
register: cmd
|
||||||
when: not matrix_awx_dimension_user_created|bool
|
when: not awx_dimension_user_created|bool
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Update AWX dimension user created variable
|
- name: Update AWX dimension user created variable
|
||||||
@ -33,14 +33,14 @@
|
|||||||
line: "{{ item.key }}: {{ item.value }}"
|
line: "{{ item.key }}: {{ item.value }}"
|
||||||
insertafter: 'AWX Settings'
|
insertafter: 'AWX Settings'
|
||||||
with_dict:
|
with_dict:
|
||||||
'matrix_awx_dimension_user_created': 'true'
|
'awx_dimension_user_created': 'true'
|
||||||
when: not matrix_awx_dimension_user_created|bool
|
when: not awx_dimension_user_created|bool
|
||||||
|
|
||||||
- name: Create user account @mjolnir
|
- name: Create user account @mjolnir
|
||||||
command: |
|
command: |
|
||||||
/usr/local/bin/matrix-synapse-register-user mjolnir {{ matrix_awx_mjolnir_user_password | quote }} 0
|
/usr/local/bin/matrix-synapse-register-user mjolnir {{ awx_mjolnir_user_password | quote }} 0
|
||||||
register: cmd
|
register: cmd
|
||||||
when: not matrix_awx_mjolnir_user_created|bool
|
when: not awx_mjolnir_user_created|bool
|
||||||
no_log: True
|
no_log: True
|
||||||
|
|
||||||
- name: Update AWX dimension user created variable
|
- name: Update AWX dimension user created variable
|
||||||
@ -51,8 +51,8 @@
|
|||||||
line: "{{ item.key }}: {{ item.value }}"
|
line: "{{ item.key }}: {{ item.value }}"
|
||||||
insertafter: 'AWX Settings'
|
insertafter: 'AWX Settings'
|
||||||
with_dict:
|
with_dict:
|
||||||
'matrix_awx_mjolnir_user_created': 'true'
|
'awx_mjolnir_user_created': 'true'
|
||||||
when: not matrix_awx_mjolnir_user_created|bool
|
when: not awx_mjolnir_user_created|bool
|
||||||
|
|
||||||
- name: Ensure /chroot/website location has correct permissions
|
- name: Ensure /chroot/website location has correct permissions
|
||||||
file:
|
file:
|
||||||
@ -61,4 +61,4 @@
|
|||||||
owner: matrix
|
owner: matrix
|
||||||
group: matrix
|
group: matrix
|
||||||
mode: '0770'
|
mode: '0770'
|
||||||
when: customise_base_domain_website is defined
|
when: awx_customise_base_domain_website is defined
|
||||||
|
Loading…
Reference in New Issue
Block a user