カップルのリソースブロックを持つシェフレシピがあります。最初のリソースブロックはbashにあり、論理ボリュームのUUIDの値を取得し、変数$ uuidに格納します。同じレシピのシェフリソースブロック間で変数を渡す方法
# Get UUID value
bash 'get uuid' do
cwd "/"
code <<-EOH
uuid=$(blkid -o value -s UUID /dev/vg_volgroup/lv_logicalvolume)
EOH
end
は、私たちは、第2の資源ブロックに変数$uuid
を渡す必要があります:
# Mount directory, format, update fstab
mount node['mount_dir'] do
dump 1
pass 2
device #{uuid}
device_type :uuid
fstype node['fstype']
options node['options']
action [ :mount, :enable]
end
残念ながら、これが機能していません。 $ uuidの値は2番目のリソースブロックに渡されません。
2番目のリソースブロックから$ uuidを参照するより適切な方法はありますか?私は何を求めているのでしょうか?
ありがとうSzymon。私はOhaiを次のように使ってしまい、完全に動作します: 'device node ['filesystem2'] ['by_device'] ['/ dev/mapper/vg_volgroup-lv_logicalvolume'] ['uuid']' – Keith