68 lines
2.5 KiB
YAML
68 lines
2.5 KiB
YAML
---
|
||
|
||
- 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
|