ypclient
Ansible роль: ypclient
Эта роль устанавливает и настраивает клиент YP/NIS, который является частью OpenBSD и других операционных систем BSD*. В данный момент эта роль поддерживает только OpenBSD, с намерением добавить поддержку FreeBSD и NetBSD в ближайших обновлениях.
При необходимости эта роль ссылается на системную документацию, например, на страницу Man yp(8)
.
Требования
Операция
Нет необходимости в использовании внешних ролей и/или модулей для применения данной роли.
Тестирование и Разработка
Для тестирования и разработки эта роль зависит от следующих ролей и внешних инструментов:
- Роль vnode.ypserver
- Vagrant (поддерживает провайдеры VirtualBox или VMWare)
- VagrantCloud (в частности, коробка
generic/openbsd6
)
Переменные роли
Доступные переменные перечислены ниже, включая их значения по умолчанию (смотрите defaults/main.yml
). Все они должны быть реализованы. Если вы обнаружите, что это не так, пожалуйста, откройте проблему в репозитории GitHub.
Обязательные переменные
Следующие переменные необходимо установить при использовании роли.
ypclient_domain: ""
Обязательно, должно иметь действительное имя домена NIS. Это название домена NIS, который вы намереваетесь настроить.
ypclient_servers: []
Обязательно, должен содержать список серверов NIS для домена.
ypclient_serverinfo: {}
Обязательно, но может быть пустым, если серверы NIS для домена можно найти в DNS или /etc/hosts
.
Если не пусто, этот словарь содержит IPv4 и/или IPv6 адреса серверов домена. Роль затем заполнит /etc/hosts
необходимыми строками. Если серверы не могут быть достигнуты или разрешены, код NIS будет зависать. Смотрите yp(8)
для получения дополнительных сведений.
Пример ниже перечисляет адреса для master
и slave
серверов в сети с двойным стеком.
ypserver_serverinfo:
master:
- "192.0.2.1"
- "2001:db8::111:1"
slave:
- "192.0.2.2"
- "2001:db8::111:2"
Необязательные переменные
ypclient_usedns: true
Указывает, что карты YP/NIS могут использовать DNS для поиска имен хостов. Рекомендуется оставить значение true
. Если установить в false
, убедитесь, что ypclient_serverinfo
и/или ypclient_set_hosts
настроены правильно, чтобы ваши серверы NIS могли быть разрешены.
ypclient_lookup_maps:
- name: 'passwd'
file: '/etc/master.passwd'
pattern: '+:*::::::::'
validate: 'pwd_mkdb -c %s'
notify: "regen master.passwd"
mode: '0600'
owner: 'root'
group: 'wheel'
- name: 'group'
file: '/etc/group'
pattern: '+:*::'
mode: '0644'
owner: 'root'
group: 'wheel'
Этот список содержит, какие карты поиска вы хотите использовать в домене и какие файлы необходимо редактировать, а также шаблон. Указание проверки и обработчика является необязательным. Конечно, карты также должны существовать на серверах NIS. Для других поддерживаемых карт смотрите Makefile.yp(8)
.
Переменные для поддержки нескольких YP/NIS доменов на клиенте
Эта переменная предназначена для размещения нескольких доменов NIS на сервере. Это не был изначально запланированный случай использования, поэтому если вы обнаружите проблемы, пожалуйста, сообщите об этом как о проблеме на GitHub.
ypclient_set_domainname: true
Рекомендуется оставить значение true
для домена, который четко обозначен как ваш ‘основной’ (по умолчанию) домен. Должно быть установлено в false
, если вы хотите сохранить другой домен в качестве домена по умолчанию.
Дополнительные настройки
Эти переменные не обязательны для вызова роли, и их значения по умолчанию должны быть приемлемыми.
ypclient_set_hosts: false
Если установить значение true
, роль добавляет IP-информацию для серверов NIS в файл /etc/hosts
. Это обычно полезно, когда домен не использует DNS-запросы (при установленном значении ypclient_usedns
равном false
). Обратите внимание, что это требует IP-информации для каждого сервера NIS в переменной ypclient_serverinfo
.
Внутренние переменные
Эти переменные используются в роли внутренне и не предназначены для изменения пользователем. Изменяйте их на свой страх и риск. Обычно они соответствуют фиксированным значениям на базовой операционной системе.
Зависимости
Нет.
Пример плейбука
Ниже приводится пример создания простого клиента YP/NIS, который подключается к узлам в группе ypservers
. Домен называется legacy
.
---
- hosts: ypclients
roles:
- role: vnode.ypclient
vars:
ypclient_ypdomain: legacy
ypclient_servers: "{{ groups['ypservers'] }}"
Лицензия
MIT
Информация об авторе
Эта роль была создана в 2020 году Рогиером Кригером.
ansible-galaxy install vnode/ansible-role-ypclient