Skip to content

Virtual Machine local snapshot usage

HyperCloud adds a new tag to the VM monitoring data returned by the orchestrator API calls one.vm.monitoring and one.vm.info. This tag is called HYPERCLOUD_LOCAL_SNAPUSAGE. It contains base64-encoded zlib-compressed JSON. Example data:

<VM>
    <MONITORING>
        <HYPERCLOUD_LOCAL_SNAPUSAGE>
            <![CDATA[eJy1js1qwzAQhO95DJ29oN/dVV+lBKOV5NaQ2CFqeqjxu1eFtucE2tswMN83mzqtOZ3GtqRLe13fxltLL1U9PR82NZ97bD1vaknnXqp1qWDAgVaD+ll8174WTVYmiNEJeDQWBKUCxYCOLE2ObV9druv73Oa+KGObPzrU6kgmWK0HdWu/LUWMhgj34R45hThJxghcbJdbRkguVWCfikXvONMjcnbMqPk+d5ZkHSGBQZ3BRxMgeVe6W2InY+GS/8sttWph1hD0NIF3/YAU/XXAClVOJMn8mftRynE/HPdPyHe1IQ==]]>
        </HYPERCLOUD_LOCAL_SNAPUSAGE>
    </MONITORING>
</VM>

Which is then parsed into:

[lancelot] root@hypercloud-dashboard:~# hypercloud vm show 3 | grep HYPERCLOUD_LOCAL_SNAPUSAGE | awk '{print $NF}' | base64 -d | openssl zlib -d | jq
{
   "local_snapshot_usage" : [
      {
         "images" : [
            {
               "provisioned_size" : 209715200,
               "used_size" : 79691776,
               "snapshot" : "one-4ed072bf-993b-4612-b6be-79563727f382",
               "name" : "one-1-3-0"
            },
            {
               "used_size" : 8388608,
               "provisioned_size" : 209715200,
               "name" : "one-1-3-0",
               "snapshot" : "one-759fbc69-8d2b-4286-a3ae-84ad26438c72"
            },
            {
               "name" : "one-1-3-0",
               "snapshot" : "one-cba23767-160c-4915-a43d-84b95206d8dc",
               "used_size" : 8388608,
               "provisioned_size" : 209715200
            },
            {
               "snapshot" : "one-bee0b880-50ff-430c-bd05-a42b7e8a7ba1",
               "name" : "one-1-3-0",
               "provisioned_size" : 209715200,
               "used_size" : 8388608
            },
            {
               "provisioned_size" : 209715200,
               "used_size" : 8388608,
               "name" : "one-1-3-0"
            }
         ]
      }
   ]
}
[lancelot] root@hypercloud-dashboard:~# 

Which indicates that there are four local snapshots plus the base image volumes with their respective usage information.