Virtual Machine Remote 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_REMOTE_SNAPUSAGE
. It contains base64-encoded zlib-compressed JSON. Example data:
<VM>
<MONITORING>
<HYPERCLOUD_REMOTE_SNAPUSAGE>
<![CDATA[eJzFjb0KwjAUhfc+xp0buElsEt1E3IoublJKwGADtilNU9CSdzeLzkoFt8P5+2YYTOtGU/tO975xYx28vhrYnLMZbJukT3qGTrfJhHJ72O3L44lQwglCDq9ZynQYHZkYaVwYbnfCkCFKTukKkfBU7Qc3WW9dZy61t490x3AtaZFqOQT/dqkUVKAUKuaLuMWXXMWVEriUKv5Clb+nfnqFsYpZFZ8rXK/G]]>
</HYPERCLOUD_REMOTE_SNAPUSAGE>
</MONITORING>
</VM>
Which is then parsed into:
[lancelot] root@hypercloud-dashboard:~# hypercloud vm show 3 | grep HYPERCLOUD_REMOTE_SNAPUSAGE | awk '{print $NF}' | base64 -d | openssl zlib -d
{
"remote_snapshot_usage" : [
{
"images" : [
{
"name" : "LANCELOT-1-3-0",
"provisioned_size" : 209715200,
"used_size" : 176160768,
"snapshot" : "auto-v2-hourly-202007311400-3"
},
{
"provisioned_size" : 209715200,
"name" : "LANCELOT-1-3-0",
"snapshot" : "auto-v2-hourly-202007311500-3",
"used_size" : 8388608
},
{
"name" : "LANCELOT-1-3-0",
"provisioned_size" : 209715200,
"used_size" : 8388608,
"snapshot" : "auto-v2-hourly-202007311600-3"
},
{
"name" : "LANCELOT-1-3-0",
"provisioned_size" : 209715200,
"used_size" : 8388608,
"snapshot" : "auto-v2-hourly-202007311700-3"
},
{
"provisioned_size" : 209715200,
"name" : "LANCELOT-1-3-0",
"used_size" : 0
}
]
}
]
}
[lancelot] root@hypercloud-dashboard:~#
Which indicates that there are four remote snapshots plus the base image volumes with their respective usage information. The images are from the source HyperCloud cluster named LANCELOT
.