---

- 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.nas_host }}.{{ dc_details.realm }}"
    use: systemd

- name: Настройка резолвера на контроллеры домена - {{ dc_details.dc1_ip }}, {{ dc_details.dc2_ip }}
  ansible.builtin.lineinfile:
    path: /etc/resolvconf.conf
    regexp: '^name_servers'
    line: name_servers="{{ dc_details.dc1_ip }} {{ dc_details.dc2_ip }}"

# - name: Настройка резолвера доменную зону - {{ dc_details.realm }}
#   ansible.builtin.lineinfile:
#     path: /etc/resolvconf.conf
#     regexp: '^search_domains'
#     line: search_domains={{ dc_details.realm }}

- name: Обновление конфигурации резолвера
  ansible.builtin.shell: "resolvconf -u"

- name: Установка клиентского пакета Samba {{ samba_client_package }}
  apt_rpm:
    package: "{{ samba_client_package }}"
    state: present
    update_cache: yes

- name: Ввод в домен
  ansible.builtin.shell: |
    system-auth write ad {{ dc_details.realm }} {{ inventory_hostname }} {{ dc_details.domain }} \
      '{{ dc_details.admin }}' '{{ dc_details.adminpass }}'
  register: add_to_domain
- name: Итог ввода
  ansible.builtin.debug:
    var: add_to_domain.stdout_lines

- name: Проверка ввода в домен
  ansible.builtin.shell: net ads testjoin
  register: testjoin
  failed_when: testjoin.rc != 0

- name: Перезагрузка узла после добавления в домен
  ansible.builtin.reboot:
    reboot_timeout: 3600
