Для развёртывания первого контроллера домена используется ansible роль - Разворачивание первого контроллера домена.
Запуск выполняется из директории `ansible`с помощью команды:
```bash
ansible-playbook 02_deploy_dc1_role.yml
```
В этой роли выполняются 2 задачи: развёртывание контроллера и проверка развёртывания.
Задача развёртывания контроллера разделена на подзадачи (таски):
* **Проверка соответствия ОС** - таск выполнится при условии запуска на узле сОС Альт, в противном случае будет выведено соответствующее сообщение и выполнение прервётся;
* **Проверка наличия развёрнутого домена на узле** - если на узле уже развёрнут контроллер домена, выполнение прервётся;
* **Обновление системы** - выполняется обновление системы до актуального состояния;
* **Назначение корректного имени узла** - устанавливается имя узла в соответствии с указанным в переменной в файле `mutable_vars.yml`;
* **Установка пакетов** - выполняется установка пакетов, необходимых для работы контроллера домена. Список пакетов указан в файле `vars.yml`;
* **Конфигурация NTP** - режим работы NTP переключается в значение `server`;
* **Включение службы синхронизации времени chrony** - включается и добавляется в автозагрузку служба `chrony`;
* **Отключение служб, которые будут конфликтовать с контроллером** - для корректной работы `samba` необходимо отключить службы которые будут конфликтовать. Перечень этих служб указан в переменных в файле `vars.yml`;
Для подготовки второго контроллера домена используются:
* ансибл плэйбук - Добавление DNS записи о втором контроллере на первый
* ансибл роль - Разворачивание второго контроллера домена
* ансибл плэйбук - Репликация между контроллерами
#### Добавление DNS записи о втором контроллере на первый
В этой задаче выполняются следующие действия:
* **Проверка соответствия ОС** - задача будет выполнятся только на ОС семейства Альт;
* **Добавление DNS записи** - на первом контроллере домена в DNS добавляется А запись о втором контроллере домена.
Запуск выполняется из директории `ansible`с помощью команды:
```bash
ansible-playbook 03_add_dns_record.yml
```
#### Разворачивание второго контроллера домена
В роли выполняются следующие задачи:
* Развёртывание второго контроллера домена
* Проверка корректности развёртывания второго контроллера домена.
В этих задачах выполняются аналогичные подзадачи тем, которые выполнялись при развёртывании первого контроллера домена, за исключением указания резолвера. На втором контроллере домена в качестве резолвера указывается адрес первого контроллера.
Запуск выполняется из директории `ansible`с помощью команды:
```bash
ansible-playbook 04_deploy_dc2_role.yml
```
#### Репликация между контроллерами
В задаче выполняются действия:
* **Проверка соответствия ОС** - задача будет выполнятся только на ОС семейства Альт;
* **Проверка наличия развёрнутого домена** - если домен не развёрнут, выполнение задачи будет прервано;
* **Репликация в направлении контроллер 2 -> контроллер 1** - выполняется репликация в соответствующем направлении;
* **Репликация в направлении контроллер 1 -> контроллер 2** - выполняется репликация в соответствующем направлении;
Запуск выполняется из директории `ansible`с помощью команды: