xenopsd: Support driver domains for PV guests

The case of HVM guests with emulated QEMU networks devices is not yet
handled.

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Allow setting the VIF backend for a network

If, on a network, other_config:backend_vm is set to the UUID of a VM, this VM is
used for the VIF backends (netback) of any VIFs on the network.

This is useful for internal networks (only), since the key is set on a network
rather than on a PIF.

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Whitespace: xapi_vm.ml

$ camlp4o -printer o -no_comments ocaml/xapi/xapi_vm.ml | md5sum
46e5866dd5fcb2d8ebac427aa1889aad  -
$ git checkout HEAD^
$ camlp4o -printer o -no_comments ocaml/xapi/xapi_vm.ml | md5sum
46e5866dd5fcb2d8ebac427aa1889aad  -

Signed-off-by: John Else <john.else@citrix.com>
CA-99726: Don't make VM.provisions wait in line

VM.provision will run after a template has been copied or cloned, so we
don't need it to wait in line behind other VM.copy or VM.checkpoint
tasks.

Signed-off-by: John Else <john.else@citrix.com>
CP-2190 for PR-1221: SR alerts for hosts can be configured on the SR now.

To reduce the effort of configuration, whereas previously it was
necessary to configure throughput alerts for an SR on each host
individually, now it is possible to set up a per-host SR throughput
alert for each host connected to an SR by writing to the SR's
other-config:perfmon key.
CA-100561: Fix bash completion with grep color

Signed-off-by: Harrie Pieters <harrie.pieters@citrix.com>
CA-46110 Tab completion on xe-switch-network-backend
CP-4325: Split License_check.check_expiry up into two functions.

Signed-off-by: John Else <john.else@citrix.com>
CP-4325: Implement pool.get_license_state

Signed-off-by: John Else <john.else@citrix.com>
CP-4325: Add pool.license_state getter to CLI

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

Signed-off-by: John Else <john.else@citrix.com>
CA-92553: Thoroughly clear PCI attachments for stopped VMs

This should not be necessary if many-to-many relations in the DB
work properly. People have reported issues that may indicate that this is
not the case, but we have not yet found the root cause. Therefore, this
code is added "just to be sure".

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
CP-4273: Add Hotfix_apply licensing feature

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
Add high-level unit testing framework

Signed-off-by: John Else <john.else@citrix.com>
CP-4325: Add tests for pool-wide license logic

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

$ camlp4o -printer o -no_comments ocaml/xapi/create_misc.ml | md5sum
363fca0fe17fb3e89753b6aa62add69f  -
$ git checkout HEAD^
$ camlp4o -printer o -no_comments ocaml/xapi/create_misc.ml | md5sum
363fca0fe17fb3e89753b6aa62add69f  -

Signed-off-by: John Else <john.else@citrix.com>
CP-4319: Add field host.cpu_info:socket_count

Signed-off-by: John Else <john.else@citrix.com>
CP-4319: Pass number of CPU sockets to v6d

Signed-off-by: John Else <john.else@citrix.com>
CP-4324: Implement pool.apply_edition

Signed-off-by: John Else <john.else@citrix.com>
CP-4324: Add pool.apply_edition to the CLI

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