2023-09-05 16:33:08 +03:00
|
|
|
|
---
|
|
|
|
|
|
2023-09-07 17:56:08 +03:00
|
|
|
|
- name: Репликация между контроллерами
|
2023-10-09 10:21:07 +03:00
|
|
|
|
hosts: dc1
|
2023-09-05 16:33:08 +03:00
|
|
|
|
|
|
|
|
|
tasks:
|
|
|
|
|
- name: Проверка соответствия ОС
|
|
|
|
|
ansible.builtin.fail:
|
|
|
|
|
msg: Операционная система должна быть Альт
|
|
|
|
|
when: ansible_os_family != "Altlinux"
|
|
|
|
|
|
|
|
|
|
- name: Проверка наличия развёрнутого домена на хосте {{ ansible_hostname }}
|
|
|
|
|
ansible.builtin.shell: "samba-tool domain info {{ ansible_default_ipv4.address }}"
|
|
|
|
|
register: samba_tool_result
|
2023-09-07 17:56:08 +03:00
|
|
|
|
ignore_errors: true
|
2023-09-05 16:33:08 +03:00
|
|
|
|
|
|
|
|
|
- name: Если на хосте НЕ развёрнут домен, выполнение прерывается
|
|
|
|
|
ansible.builtin.fail:
|
|
|
|
|
msg: На хосте {{ ansible_hostname }} НЕ обнаружен развёрнутый домен. Прерываю выполнение
|
|
|
|
|
when:
|
|
|
|
|
- samba_tool_result.failed != false
|
|
|
|
|
|
|
|
|
|
- name: Репликация в направлении {{ hostnames.dc2_host }} -> {{ hostnames.dc1_host }}
|
|
|
|
|
ansible.builtin.shell: |
|
|
|
|
|
samba-tool drs replicate \
|
|
|
|
|
{{ hostnames.dc2_host }}.{{ dc_details.realm }} \
|
|
|
|
|
{{ hostnames.dc1_host }}.{{ dc_details.realm }} \
|
|
|
|
|
dc={{ dc_details.domain }},dc={{ dc_details.domain_suffix }} \
|
|
|
|
|
-Uadministrator --password={{ dc_details.adminpass }}
|
|
|
|
|
register: rep1_output
|
|
|
|
|
- ansible.builtin.debug:
|
|
|
|
|
msg: "Итог репликации: {{ rep1_output.stdout }}"
|
2023-09-07 17:56:08 +03:00
|
|
|
|
|
2023-09-05 16:33:08 +03:00
|
|
|
|
- name: Репликация в направлении {{ hostnames.dc1_host }} -> {{ hostnames.dc2_host }}
|
|
|
|
|
ansible.builtin.shell: |
|
|
|
|
|
samba-tool drs replicate \
|
|
|
|
|
{{ hostnames.dc1_host }}.{{ dc_details.realm }} \
|
|
|
|
|
{{ hostnames.dc2_host }}.{{ dc_details.realm }} \
|
|
|
|
|
dc={{ dc_details.domain }},dc={{ dc_details.domain_suffix }} \
|
|
|
|
|
-Uadministrator --password={{ dc_details.adminpass }}
|
|
|
|
|
register: rep2_output
|
|
|
|
|
- ansible.builtin.debug:
|
|
|
|
|
msg: "Итог репликации: {{ rep2_output.stdout }}"
|