Ansible will migrate the ownership of the base path and config path, but manual intervention will be required in order to migrate the ownership of files in those directories (i.e. dimension.db). Stop the services: (local)$ ansible-playbook -i inventory/hosts setup.yml --tags=stop Fix the permissions on the server: (server)# chown -Rv "{{ matrix_user_username }}:{{ matrix_user_username }}" "{{ matrix_dimension_base_path }}" which would typically look like: (server)# chown -Rv matrix:matrix /matrix/dimension/ Reconfigure Dimension and start the services: (local)$ ansible-playbook -i inventory/hosts setup.yml --tags=setup-dimension,start
86 lines
2.9 KiB
YAML
86 lines
2.9 KiB
YAML
---
|
|
|
|
#
|
|
# Tasks related to setting up the dimension
|
|
#
|
|
|
|
- name: Ensure Dimension base path exists
|
|
file:
|
|
path: "{{ matrix_dimension_base_path }}"
|
|
state: directory
|
|
mode: 0770
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_username }}"
|
|
when: matrix_dimension_enabled|bool
|
|
|
|
- name: Ensure Dimension config installed
|
|
copy:
|
|
content: "{{ matrix_dimension_configuration|to_nice_yaml }}"
|
|
dest: "{{ matrix_dimension_base_path }}/config.yaml"
|
|
mode: 0640
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_username }}"
|
|
when: matrix_dimension_enabled|bool
|
|
|
|
- name: Ensure Dimension image is pulled
|
|
docker_image:
|
|
name: "{{ matrix_dimension_docker_image }}"
|
|
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
|
force_source: "{{ matrix_dimension_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
|
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_dimension_docker_image_force_pull }}"
|
|
when: matrix_dimension_enabled|bool
|
|
|
|
- name: Ensure matrix-dimension.service installed
|
|
template:
|
|
src: "{{ role_path }}/templates/systemd/matrix-dimension.service.j2"
|
|
dest: "{{ matrix_systemd_path }}/matrix-dimension.service"
|
|
mode: 0644
|
|
register: matrix_dimension_systemd_service_result
|
|
when: matrix_dimension_enabled|bool
|
|
|
|
- name: Ensure systemd reloaded after matrix-dimension.service installation
|
|
service:
|
|
daemon_reload: yes
|
|
when: "matrix_dimension_enabled|bool and matrix_dimension_systemd_service_result.changed"
|
|
|
|
#
|
|
# Tasks related to getting rid of the dimension (if it was previously enabled)
|
|
#
|
|
|
|
- name: Check existence of matrix-dimension service
|
|
stat:
|
|
path: "{{ matrix_systemd_path }}/matrix-dimension.service"
|
|
register: matrix_dimension_service_stat
|
|
when: "not matrix_dimension_enabled|bool"
|
|
|
|
- name: Ensure matrix-dimension is stopped
|
|
service:
|
|
name: matrix-dimension
|
|
state: stopped
|
|
daemon_reload: yes
|
|
register: stopping_result
|
|
when: "not matrix_dimension_enabled|bool and matrix_dimension_service_stat.stat.exists"
|
|
|
|
- name: Ensure matrix-dimension.service doesn't exist
|
|
file:
|
|
path: "{{ matrix_systemd_path }}/matrix-dimension.service"
|
|
state: absent
|
|
when: "not matrix_dimension_enabled|bool and matrix_dimension_service_stat.stat.exists"
|
|
|
|
- name: Ensure systemd reloaded after matrix-dimension.service removal
|
|
service:
|
|
daemon_reload: yes
|
|
when: "not matrix_dimension_enabled|bool and matrix_dimension_service_stat.stat.exists"
|
|
|
|
- name: Ensure Dimension environment variables path doesn't exist
|
|
file:
|
|
path: "{{ matrix_dimension_base_path }}"
|
|
state: absent
|
|
when: "not matrix_dimension_enabled|bool"
|
|
|
|
- name: Ensure Dimension Docker image doesn't exist
|
|
docker_image:
|
|
name: "{{ matrix_dimension_docker_image }}"
|
|
state: absent
|
|
when: "not matrix_dimension_enabled|bool"
|