--- - 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: true - 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: "{{ hostnames.dc1_host }}.{{ dc_details.realm }}" use: systemd - name: Установка пакетов {{ packages }} apt_rpm: package: "{{ item }}" state: present update_cache: yes loop: "{{ packages }}" - name: Конфигурация NTP (режим server) ansible.builtin.command: cmd: control chrony server - name: Включение службы синхронизации времени chrony ansible.builtin.systemd: name: chronyd enabled: true state: restarted masked: false - name: Отключение служб, которые будут конфликтовать с контроллером ansible.builtin.systemd: name: "{{ item }}" enabled: false state: stopped loop: "{{ stop_daemons }}" ignore_errors: true - 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: Настройка резолвера на 127.0.0.1 ansible.builtin.lineinfile: path: /etc/resolvconf.conf regexp: '^name_servers' line: name_servers=127.0.0.1 - 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: var: 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