Revert Storage_interface.query_result.features to a (string list)

This means storage_interface.ml is now identical to the Tampa version.
The features are parsed into (string, int64) pairs at the xapi level
instead of at the SMAPI level.

Signed-off-by: John Else <john.else@citrix.com>
Move some boilerplate into the Test_highlevel functors

No actual functional changes to the tests, just lots of moving things
into and out of modules.

This change causes the function (val test : unit -> unit) to be
automatically generated by Test_highlevel.Make

Signed-off-by: John Else <john.else@citrix.com>
Update Test_highlevel docs

Signed-off-by: John Else <john.else@citrix.com>
Add some tests for the SM driver feature parsing code

Signed-off-by: John Else <john.else@citrix.com>
Re-use some code, and fix lookup of content_id in vdi_info_from_db

Signed-off-by: John Else <john.else@citrix.com>
Fix vdi_info.snapshot_of for SMAPIv1

SMAPI snapshot_of should be the parent's uuid, not its database
reference.

Signed-off-by: John Else <john.else@citrix.com>
Add snapshot setters to SMAPI

SMAPI now includes:

VDI.set_is_a_snapshot
VDI.set_snapshot_time
VDI.set_snapshot_of

For SMAPIv1, we just set the new values in xapi's database. For SMAPIv2,
these fields will be implemented by the backend.

Signed-off-by: John Else <john.else@citrix.com>
Remove some unused code

This hasn't been used since the api.hg days...

Signed-off-by: John Else <john.else@citrix.com>
Add SMAPI call SR.update_snapshot_info

Signed-off-by: John Else <john.else@citrix.com>
Move a comment to the line it refers to

Signed-off-by: John Else <john.else@citrix.com>
Add remote SR/VDI to mirror_record type

Signed-off-by: John Else <john.else@citrix.com>
CA-78901: Fix snapshot info for SXM'ed snapshot disks

Once we have copied all snapshot disks to the remote SR and mirrors are
running for all live VDIs, rebuild the snapshot tree on the remote SR
for each live VDI.

Signed-off-by: John Else <john.else@citrix.com>
Ignore Unknown_RPC exceptions in update_snapshot_info

Signed-off-by: John Else <john.else@citrix.com>
CA-103101: Create a background process from restart_agent to restart the
entire toolstack.
Signed-off-by: Siddharth Vinothkumar <siddharth.vinothkumar@citrix.com>
Using Syslog_stdout for logging
Signed-off-by: Siddharth Vinothkumar <siddharth.vinothkumar@citrix.com>
CA-106580: suppress debug-level log messages in block_device_io

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
CA-100511: Don't fail SXM when guests are shutdown during migration

If, during the VDI copy to the remote, the guest is shutdown then, when it
comes to moving the domain, Xenops will complain that the domain doesn't exist.
We had already desinged to handle this case but the exception catch needed to
be broadened to match the new "extra" TypedTable used for the VM metadata.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Rename update_snapshot_info -> update_snapshot_info_src

Signed-off-by: John Else <john.else@citrix.com>
Fix partial application

Signed-off-by: John Else <john.else@citrix.com>
Better logging for update_snapshot_info_src

Signed-off-by: John Else <john.else@citrix.com>