LoginSignup
5
6

More than 5 years have passed since last update.

chef の node.name が fqdn に設定している行を探る。

Last updated at Posted at 2014-01-21

以下の様なテンプレートを書いても、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] で取ってくる。
  • ohaiOhai::System インスタンス。
  • :fqdn ないし :hostname の解決は、ohai の hostname plugin で行っている。
  • knife solo-N foo.bar.com を指定してやると期待通りになる。 bash knife solo cook -N foo.bar.com foo.bar.com
    オプションつけ忘れなどで人的ミスにつながるよね、ということで、-N なしで実行したいよね、ということで、却下。
  • じゃどうする?... To be continued...
5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6