ログ: vagrant-disksize

投稿日:

vagrant-disksizeの処理を読んでみました。

処理の流れ

  1. get_vminfoでVMの情報を取得。
    • 実行するコマンドは VBoxManage showvminfo --machinereadable VM名
    • この時点で"で囲まれていたらそれも除去
  2. identify_disks
    • -ImageUUID-を検索して、ディスクイメージのUUIDを取得。
    • -ImageUUID-を除去したキーを検索して、ディスクイメージのパスを取得。
    • 例えば、以下のようになる。
      • showvminfoの結果
        • “IDE-0-0”="/Users/ikemo/VirtualBox VMs/test/test.vdi"
        • “IDE-ImageUUID-0-0”=“33cc92fc-5c53-44d4-bbc7-5fbbaa7b3086”
      • uuid: 33cc92fc-5c53-44d4-bbc7-5fbbaa7b3086
      • name: IDE-0-0
      • file: /Users/ikemo/VirtualBox VMs/test/test.vdi
  3. get_disk_size
    • VBoxManage showmediuminfo ファイル名Capacity:から始まる行を検索。このサイズを取得する。
    • 例えば 8192 MBytesとなるので、8192が返る。