2017-03-20 9 views
1

ロールにNODE_NAME値を使用する方法はありますか? 実際には、ノードのホスト名を設定している基本的な役割を書いており、NODE_NAMEを「short_hostname」として使用したいと考えています。シェフがJSONロールでnode_name変数を使用

{ 
    "name": "Chef-RHEL", 
    "description": "Chef-RHEL role", 
    "json_class": "Chef::Role", 
    "default_attributes": { 
    "set_fqdn": "*.example.com", 
    "system": { 
     "timezone": "Europe/Paris", 
     "short_hostname": "{NODE_NAME}", 
     "domain_name": "example.com" 
    } 
    }, 
    "override_attributes": { 
    }, 
    "chef_type": "role", 
    "run_list": [ 
       "recipe[system::default]" 
    ], 
    "env_run_lists": { 
    } 
} 

NODE_NAMEが/etc/chef/client.rbに正しく設定されています。

ありがとうございました!!! :)

+0

「#{node.name}」と試してみてください。 – Tensibai

+0

ロール内に..?私はこれがうまくいかず、料理本の中でやる必要があると思う。シェフサーバーによって役割が解釈されたと思った。 – StephenKing

+0

@StephenKingは疑いが持たれていたが、私はシェフクライアントによって検索され、レシピ属性ファイル(レベルを上書きする)と環境の後で解釈されたが、 。 – Tensibai

答えて

0

これは直接できません。ロールは静的JSONデータのみです。レシピコードで何らかの文字列置換を使用することはできますが、それは最初に属性を消費する料理ブックの変更を必要とします。

+0

こんにちは@コーダンガー、ありがとう! :-)私はそれを多分扱います:-) –

関連する問題