chef clientを実行した後fqdnがlocalhostで登録されてしまう

<br />
knife bootstrap hoge -N hoge.local -x mitto --sudo<br />

とかしてChef Serverに登録できたなぁ思って
Web ConsoleのStatusタブを確認してみると
なぜかfqdnがlocalhostで登録されてしまっているホストがいて

なんだろうと調べてみたお話

Chef Clientを動かしていたのはCentOS 6.5のホストで、
/etc/sysconfig/networkなどで

<br />
NETWORKING=yes<br />
HOSTNAME=hoge.local<br />

のように設定済でhostnameコマンドで確認すると

<br />
[mitto@hoge ~]$ hostname</p>
<p>hoge.local<br />

のように設定ができていることが前提です。
少し悩んでしまったんですが、調べてみたところ以下がどんぴしゃでした

Chef Client: fqdn ‘localhost’ issue

ようはhostsファイル内で

<br />
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 hoge.local<br />

の様になっていると先頭の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設定の時

<br />
[mitto@hoge ~]$ hostname -f</p>
<p>localhost<br />

なってますね。。

それでは先ほどのページにあったようにホスト名を先頭に変更して実行してみます。

<br />
127.0.0.1   hoge.local localhost localhost.localdomain localhost4 localhost4.localdomain4<br />

 

<br />
[mitto@hoge ~]$ hostname -f</p>
<p>hoge.local<br />

正常にホストのfqdnが出力されました。

引っかかることがありそうなのでメモメモっと。

コメント

This site uses Akismet to reduce spam. Learn how your comment data is processed.