以下の様なテンプレートを書いても、CNAME で振っているサーバーだと、期待した出力にならない。
NETWORKING=yes
HOSTNAME=<%= node.name %>
NOZEROCONF=yes
NETWORKING_IPV6=no
IPV6INIT=no
IPV6_ROUTER=no
IPV6_AUTOCONF=no
IPV6FORWARDING=no
IPV6TO4INIT=no
IPV6_CONTROL_RADVD=no
DNS で CNAME foo.bar.com => ec2-xxxx.amazonaws.com としている。
nodes/foo.bar.com.json だった場合、node.name == foo.bar.com であってほしいのに対して、出力は ec2-xxxx.amazonaws.com
-
node.nameを解決しているのはChef::Client: Chef::Client#node_name -
Chef::Config[: node_name]がなければ、ohai[:fqdn] || ohai[:hostname]で取ってくる。 -
ohaiは Ohai::System インスタンス。 -
:fqdnないし:hostnameの解決は、ohai の hostname plugin で行っている。 -
knife soloで-N foo.bar.comを指定してやると期待通りになる。オプションつけ忘れなどで人的ミスにつながるよね、ということで、knife solo cook -N foo.bar.com foo.bar.com-Nなしで実行したいよね、ということで、却下。 - じゃどうする?... To be continued...