alt_vkr/ansible/06_deploy_second_dc.yml

126 lines
4.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
- name: Разворачивание контроллера домена
hosts: dctest2
vars_files:
- ./vars/vars.yml
- ./vars/mutable_vars.yml
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
ignore_errors: yes
- name: Если на хосте развёрнут домен, выполнение прерывается
ansible.builtin.fail:
msg: На хосте {{ ansible_hostname }} обнаружен развёрнутый домен. Прерываю выполнение
when:
- samba_tool_result.failed == false
- name: Обновление системы
apt_rpm:
update_cache: true
dist_upgrade: true
clean: true
- name: Назначение корректного имени хоста
ansible.builtin.hostname:
name: "{{ inventory_hostname }}.{{ dc_details.realm }}"
use: systemd
- name: Установка пакетов {{ packages }}
apt_rpm:
package: "{{ item }}"
state: present
update_cache: yes
loop: "{{ packages }}"
- name: Разрешить подключение клиентов для синхронизации времени
ansible.builtin.lineinfile:
path: /etc/chrony.conf
line: allow all
create: yes
- name: Настройка синхронизации времени с контроллером домена - {{ dc_details.dc_ip }}
ansible.builtin.lineinfile:
path: /etc/resolvconf.conf
regexp: '^server .*'
line: server {{ dc_details.dc_ip }}
- name: Перезапуск службы синхронизации времени
ansible.builtin.systemd:
name: "{{ sync_time_daemon }}"
enabled: true
state: restarted
masked: false
- name: Отключение служб, которые будут конфликтовать с контроллером
ansible.builtin.systemd:
name: "{{ item }}"
enabled: false
state: stopped
loop: "{{ stop_daemons }}"
ignore_errors: yes
- name: Удалить старую конфигурацию Samba
ansible.builtin.file:
path: "{{ item }}"
state: absent
force: true
loop: "{{ old_config_to_remove }}"
- name: Создать каталог для хранения групповых политик
ansible.builtin.file:
path: "{{ gp_folder }}"
state: directory
mode: '0755'
- name: Настройка резолвера на контроллер домена - {{ dc_details.dc_ip }}
ansible.builtin.lineinfile:
path: /etc/resolvconf.conf
regexp: '^name_servers'
line: name_servers={{ dc_details.dc_ip }}
# - name: Настройка резолвера доменную зону - {{ dc_details.realm }}
# ansible.builtin.lineinfile:
# path: /etc/resolvconf.conf
# regexp: '^search_domains'
# line: search_domains={{ dc_details.realm }}
################################################################################################
# !!! Как обратится к первому контроллеру,чтобы добавить в DNS запись о втором контроллере? !!!!
################################################################################################
- name: Обновление конфигурации резолвера
ansible.builtin.shell: "resolvconf -u"
- name: Разворачивание первого контроллера домена
ansible.builtin.shell: |
samba-tool domain provision --realm={{ dc_details.realm }} --domain={{ dc_details.domain }} \
--adminpass='{{ dc_details.adminpass }}' --dns-backend=SAMBA_INTERNAL \
--option="dns forwarder={{ dc_details.dns_forwarder }}" --server-role=dc --use-rfc2307
register: dc_provision_output
- ansible.builtin.debug:
msg: dc_provision_output.stdout_lines
- name: Включение службы {{ samba_service }}
ansible.builtin.systemd:
name: "{{ samba_service }}"
enabled: true
state: restarted
masked: false
- name: Копирование конфигурации Kerberos
ansible.builtin.copy:
remote_src: true
src: /var/lib/samba/private/krb5.conf
dest: /etc/krb5.conf