vnode.ypclient
Ansibleロール: ypclient
このロールは、OpenBSDや他のBSD系オペレーティングシステムの一部であるYP/NISクライアントをインストールおよび設定します。 現在、このロールはOpenBSDのみをサポートしており、近い将来にFreeBSDやNetBSDを追加する予定です。
適用可能な場合、このロールはシステムのドキュメントを参照します。例えば、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
を自動的に populated します。サーバーにアクセスできなかったり、解決できなかったりすると、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
に設定した場合、ロールはNISサーバーのIP情報を/etc/hosts
ファイルに追加します。これは、ドメインがDNSルックアップを使用しない場合(ypclient_usedns
がfalse
に設定されている場合)に通常便利です。この設定にはypclient_serverinfo
変数内の各 NISサーバーに対するIP情報が必要です。
内部変数
これらの変数はロール内で内部的に使用されており、ユーザーによる変更を意図していません。変更する場合は自己責任で行ってください。通常、これらは基盤となるオペレーティングシステムのハードコーディングされた値に対応します。
依存関係
無し。
例プレイブック
以下は、ypservers
グループ内のホストに接続するシンプルなYP/NISドメインクライアントを作成する例です。ドメインの名前はlegacy
です。
---
- hosts: ypclients
roles:
- role: vnode.ypclient
vars:
ypclient_ypdomain: legacy
ypclient_servers: "{{ groups['ypservers'] }}"
ライセンス
MIT
著者情報
このロールは2020年にRogier Kriegerによって作成されました。