add roles
This commit is contained in:
7
ansible/roles/deploy_nas/tasks/main.yml
Normal file
7
ansible/roles/deploy_nas/tasks/main.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Подготовка узла для развёртывания файлового сервера
|
||||
import_tasks: nas_prepare.yml
|
||||
|
||||
- name: Настройка файлового сервера Samba
|
||||
import_tasks: nas_smb.yml
|
||||
67
ansible/roles/deploy_nas/tasks/nas_prepare.yml
Normal file
67
ansible/roles/deploy_nas/tasks/nas_prepare.yml
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
|
||||
- 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
|
||||
28
ansible/roles/deploy_nas/tasks/nas_smb.yml
Normal file
28
ansible/roles/deploy_nas/tasks/nas_smb.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
|
||||
- name: Установка пакета {{ nas_samba_pkg }}
|
||||
apt_rpm:
|
||||
package: "{{ nas_samba_pkg }}"
|
||||
state: present
|
||||
update_cache: yes
|
||||
|
||||
- name: Создание разделяемого ресурса Samba
|
||||
ansible.builtin.file:
|
||||
path: "{{ smb_share }}"
|
||||
state: directory
|
||||
mode: '0770'
|
||||
group: "{{ smb_share_grp }}"
|
||||
|
||||
- name: Добавление в конфигурацию Samba данных о разделяемом ресурсе
|
||||
ansible.builtin.blockinfile:
|
||||
block: "{{ lookup('ansible.builtin.file', '../../group_vars/nas/share.conf') }}"
|
||||
path: "{{ smb_conf_file }}"
|
||||
backup: yes
|
||||
|
||||
- name: Включение служб файлового сервера Samba
|
||||
ansible.builtin.systemd:
|
||||
name: "{{ item }}"
|
||||
enabled: true
|
||||
state: restarted
|
||||
masked: false
|
||||
loop: "{{ nas_samba_service }}"
|
||||
Reference in New Issue
Block a user