knife bootstrap hoge -N hoge.local -x mitto --sudo
とかしてChef Serverに登録できたなぁ思って
Web ConsoleのStatusタブを確認してみると
なぜかfqdnがlocalhostで登録されてしまっているホストがいて
なんだろうと調べてみたお話
Chef Clientを動かしていたのはCentOS 6.5のホストで、
/etc/sysconfig/networkなどで
NETWORKING=yes HOSTNAME=hoge.local
のように設定済でhostnameコマンドで確認すると
[[email protected] ~]$ hostname hoge.local
のように設定ができていることが前提です。
少し悩んでしまったんですが、調べてみたところ以下がどんぴしゃでした
Chef Client: fqdn ‘localhost’ issue
ようはhostsファイル内で
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 hoge.local
の様になっていると先頭のlocalhostが優先して使われてしまう場合がある模様。
この辺の情報を収集しているのはOhaiさんなので
ソースを漁ってみると以下がホスト名周りの収集に関連していそうです。
https://github.com/opscode/ohai/blob/master/lib/ohai/plugins/hostname.rb#L114
linuxの場合は以下の様な対応になっていて
hostname => hostname -s
machinename => hostname
fqdn => hostname -f
今回の問題はfqdnなので「hostname -f」を動かした時の挙動を見てみればよさそうです。
まずは上のlocalhostが優先されるhosts設定の時
[[email protected] ~]$ hostname -f localhost
なってますね。。
それでは先ほどのページにあったようにホスト名を先頭に変更して実行してみます。
127.0.0.1 hoge.local localhost localhost.localdomain localhost4 localhost4.localdomain4
[[email protected] ~]$ hostname -f hoge.local
正常にホストのfqdnが出力されました。
引っかかることがありそうなのでメモメモっと。