Chefレシピの実行中に、操作を実行するために使用できる十分な空きディスク容量があるかどうかを確認したいと思います。
これを行うにはどうすればよいですか?
Ohaiは、実行されるたびにノードの特定のプロパティを検出します。これらのプロパティは自動属性として取得され、ノード属性として使用できます。
属性node['filesystem']には、システム上の各デバイスに関する情報が含まれています。特定のデバイスで使用可能なスペースをkbで取得するには、次のようにします。
node['filesystem']['/dev/xvda1']['kb_available']
以下は、Ohaiのファイルシステム属性JSONの例です。
"filesystem": {
"/dev/xvda1": {
"kb_size": "521882300",
"kb_used": "119914572",
"kb_available": "375474240",
"percent_used": "25%",
"mount": "/",
"fs_type": "ext4",
"mount_options": [
"rw"
],
"uuid": "248b8180-f75f-48fc-a8be-e3ff3506c4d6"
},
"tmpfs": {
"kb_size": "1987292",
"kb_used": "0",
"kb_available": "1987292",
"percent_used": "0%",
"mount": "/dev/shm",
"fs_type": "tmpfs",
"mount_options": [
"rw",
"rootcontext=\"system_u:object_r:tmpfs_t:s0\""
]
}
}