]> xenbits.xensource.com Git - xcp/xen-api.git/log
xcp/xen-api.git
14 years agoCP-1791: Remove 36 redundant RHEL/OEL/CentOS 5.x templates
Alex Zeffertt [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
CP-1791: Remove 36 redundant RHEL/OEL/CentOS 5.x templates

Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
14 years agoCP-1981: Hook in the reset-vdis script to HA
Jon Ludlam [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
CP-1981: Hook in the reset-vdis script to HA

The 'locks' for the VDIs, which are maintained by the SM backends now, are stored in xapi's database. In the event of a master failover, the pool database may rev
ert to a previous backup, which is then resynced with reality. Unfortunately there's no logic to resync the SM backends' data, nor any hook point to do this. Idea
lly, the SM backends would store their critical data internally somehow, but until this happens xapi will have to contain the important logic to resynchronise the
se locks.

This patch adds a host-post-declare-dead script that causes the reset of the locks of VDIs that were present on a host that has been declared dead.

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoCP-1981: Resynchronise the locks in the sm_config maps of VDIs in dbsync_slave
Jon Ludlam [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
CP-1981: Resynchronise the locks in the sm_config maps of VDIs in dbsync_slave

The 'locks' for the VDIs, which are maintained by the SM backends now, are stored in xapi's database. In the event of a master failover, the pool database may revert to a previous backup, which is then resynced with reality. Unfortunately there's no logic to resync the SM backends' data, nor any hook point to do this. Ideally, the SM backends would store their critical data internally somehow, but until this happens xapi will have to contain the important logic to resynchronise these locks.

This patch implements the logic to resynchronise the sm_config keys based on the information stored in the local database

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoCP-1981: Track the vdi_activations in the local database
Jon Ludlam [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
CP-1981: Track the vdi_activations in the local database

The 'locks' for the VDIs, which are maintained by the SM backends now, are stored in xapi's database. In the event of a master failover, the pool database may revert to a previous backup, which is then resynced with reality. Unfortunately there's no logic to resync the SM backends' data, nor any hook point to do this. Ideally, the SM backends would store their critical data internally somehow, but until this happens xapi will have to contain the important logic to resynchronise these locks.

This patch maintains a list of the VDIs that have been activatedi (including RW/RO mode) in the local database.

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoRemove some unnecessary debug statements left in by accident and fix an annoying...
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
Remove some unnecessary debug statements left in by accident and fix an annoying spelling mistake in a log message.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years ago[CA-46591] Prevents build_pre from overwriting xen_maxmem.
Jonathan Knowles [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
[CA-46591] Prevents build_pre from overwriting xen_maxmem.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Previously, during a VM.resume, both of the following functions would overwrite xen_maxmem:

  1. transfer_reservation_to_domain:
     xen_maxmex := reservation
  2. build_pre:
     xen_maxmem := static_max

However, only the first assignment was correct.

All domain creation operations trigger the transfer_reservation_to_domain function. Therefore it is safe to remove the second, faulty assignment.

14 years ago[whitespace] Conservatively adjusts the whitespace for a commonly-edited list --...
Xen hg user [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
[whitespace] Conservatively adjusts the whitespace for a commonly-edited list -- reducing the chance that future patches will conflict.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Proof that this patch introduces no semantic changes:

camlp4o -printer o -no_comments $file:

ocaml/idl/datamodel.ml
    70610bebd0a11ed8787fbbbefeaa20a6 -
    70610bebd0a11ed8787fbbbefeaa20a6 - PASS

14 years ago[whitespace] Conservatively corrects the whitespace for a small number of functions...
Xen hg user [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
[whitespace] Conservatively corrects the whitespace for a small number of functions that invoke VM start, in preparation for further patches that will add parameters to VM start.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Proof that this patch introduces no semantic changes:

camlp4o -printer o -no_comments $file:

ocaml/guest_installer/operations.ml
    398ff818ee6c030d38bc6b76fa7385a5 -
    398ff818ee6c030d38bc6b76fa7385a5 - PASS
ocaml/lvhdrt/tc_8682.ml
    7ed322d06bce9560709e6dbff008b92b -
    7ed322d06bce9560709e6dbff008b92b - PASS
ocaml/multipathrt/iscsi_utils.ml
    a13f2e09112de6bbc4573eb99d97a14e -
    a13f2e09112de6bbc4573eb99d97a14e - PASS
ocaml/perftest/createpool.ml
    c5d540752831a6f4ea90ebab927aebe0 -
    c5d540752831a6f4ea90ebab927aebe0 - PASS
ocaml/perftest/createVM.ml
    9c61c2e5a870bbb23fa4963e16d213f1 -
    9c61c2e5a870bbb23fa4963e16d213f1 - PASS
ocaml/perftest/tests.ml
    3f42d787e9d5453af839f073a203cdf2 -
    3f42d787e9d5453af839f073a203cdf2 - PASS
ocaml/toplevel/testscript.ml
    f5726b371208812719d271db11b175b5 -
    f5726b371208812719d271db11b175b5 - PASS
ocaml/toplevel/vm_start.ml
    0b438921a4e7d383f8227d39916d0a74 -
    0b438921a4e7d383f8227d39916d0a74 - PASS
ocaml/xapi/message_forwarding.ml
    0c15667c3ce05fd5a7b6b9c62c2b30cc -
    0c15667c3ce05fd5a7b6b9c62c2b30cc - PASS
ocaml/xapimon/xapimon.ml
    4ae10b335aac69bd38f2868c68e4daf6 -
    4ae10b335aac69bd38f2868c68e4daf6 - PASS
ocaml/xapi/quicktest_lifecycle.ml
    4cb982e5ef773a0b9e532cf63d113ea4 -
    4cb982e5ef773a0b9e532cf63d113ea4 - PASS
ocaml/xapi/quicktest.ml
    4ae53162b079db97eaafb4b5aeeaaae9 -
    4ae53162b079db97eaafb4b5aeeaaae9 - PASS
ocaml/xapi/xapi_ha_vm_failover.ml
    230ee174e12e54801b332ca06ed7b055 -
    230ee174e12e54801b332ca06ed7b055 - PASS
ocaml/xapi/xapi_vm.ml
    83642a93962b2ae7da82b0aad1389ec7 -
    83642a93962b2ae7da82b0aad1389ec7 - PASS

14 years ago[whitespace] Repairing whitespace within the Features module.
Xen hg user [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
[whitespace] Repairing whitespace within the Features module.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Proof that this patch introduces no semantic changes:

camlp4o -printer o -no_comments $file:

ocaml/license/features.ml
    26a618732a366e603aa87b3788f0e84e -
    26a618732a366e603aa87b3788f0e84e - PASS
ocaml/license/features.mli
    f778551b861102e29dbdbefe8c90329b -
    f778551b861102e29dbdbefe8c90329b - PASS

14 years ago[whitespace] Conservatively corrects whitespace in function "db_gc.single_pass".
Xen hg user [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
[whitespace] Conservatively corrects whitespace in function "db_gc.single_pass".

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Proof that this patch introduces no semantic changes:

camlp4o -printer o -no_comments $file:

ocaml/xapi/db_gc.ml
    4be64da41163f1e65878ec53b9668b12 -
    4be64da41163f1e65878ec53b9668b12 - PASS

14 years ago[whitespace] Targeted whitespace tidying within datamodel.ml for the benefit of subse...
Xen hg user [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
[whitespace] Targeted whitespace tidying within datamodel.ml for the benefit of subsequent patches.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Proof that this patch introduces no semantic changes:

camlp4o -printer o -no_comments $file:

ocaml/idl/datamodel.ml
    70610bebd0a11ed8787fbbbefeaa20a6 -
    70610bebd0a11ed8787fbbbefeaa20a6 - PASS

14 years ago[whitespace] Conservatively repairing indentation with Xapi_vm_helpers.
Xen hg user [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
[whitespace] Conservatively repairing indentation with Xapi_vm_helpers.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Proof that this patch introduces no semantic changes:

camlp4o -printer o -no_comments $file:

ocaml/xapi/xapi_vm_helpers.ml
    ac91cef61e20e5dd5f426d60a6e2e3db -
    ac91cef61e20e5dd5f426d60a6e2e3db - PASS

14 years agoCA-10471: Map attached file VDIs to raw physical, not loopback nodes.
Daniel Stodden [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
CA-10471: Map attached file VDIs to raw physical, not loopback nodes.

Thereby obsoleting the loopback code.

Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
14 years agoCA-50172: Correct the spelling of a VM.import error message
Jonathan Davies [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
CA-50172: Correct the spelling of a VM.import error message

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
14 years agoRemoved a small subset of compiler warnings.
Rok Strnisa [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
Removed a small subset of compiler warnings.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years ago[CA-47369] Enables shadow memory by default for PV domains, with a hard-wired multipl...
Jonathan Knowles [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
[CA-47369] Enables shadow memory by default for PV domains, with a hard-wired multiplier of 1.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Acked-by: Jonathan Ludlam <jonathan.ludlam@eu.citrix.com>
This change enables successful migrations of PV domains away from hosts with no spare memory.

14 years agoSCTX-525: Use fewer RPCs in the VLAN resynchronisation code
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
SCTX-525: Use fewer RPCs in the VLAN resynchronisation code

Pool:
* 5 hosts
* 300 VLANs (none in use)
A full xapi restart is reduced from 100s to 82s.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoSCTX-525: Reduce number of round-trips in the "PIF resynchronisation" logic
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
SCTX-525: Reduce number of round-trips in the "PIF resynchronisation" logic

Pool:
* 5 hosts
* 300 VLANs (none in use)
xapi start time decreased from 129s to 100s.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoSCTX-525: only write the names of interfaces ("current interfaces") into the inventor...
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
SCTX-525: only write the names of interfaces ("current interfaces") into the inventory file and cause them to be ifup'ed on system boot if they actually have an IP address configuration in dom0. This avoids initialising bridges for bonds and VLANs which are only for guests and which can be initialised on demand.

Stats:
* 5 host pool
* 300 VLANs, none used
Pool reboot time drops from 45 mins to 8 mins

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoReplace Xal.wait_release with Xs.monitor_paths, since the former ignores suspended...
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
Replace Xal.wait_release with Xs.monitor_paths, since the former ignores suspended domains (part of the checkpoint implementation)

This removes a constant 5s delay from the migrate downtime.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoCA-48449: remove spurious VM_UNCOOPERATIVE alerts
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
CA-48449: remove spurious VM_UNCOOPERATIVE alerts

1. there are too many false-positive alerts; and
2. there is no obvious action to resolve the problem

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoFix the xapi client library
Jon Ludlam [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
Fix the xapi client library

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoIgnore ocamlspot-generated files
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
Ignore ocamlspot-generated files

14 years agoMove defaults for environment variables PRODUCT_VERSION, PRODUCT_BRAND, BUILD_NUMBER...
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
Move defaults for environment variables PRODUCT_VERSION, PRODUCT_BRAND, BUILD_NUMBER into the OMakefile, to make it easier to use omake directly for building.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoRemove the COMPILE_XENSTUFF environment variable from the Makefile/OMakefile -- we...
David Scott [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
Remove the COMPILE_XENSTUFF environment variable from the Makefile/OMakefile -- we only ever build with the xen libraries present.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoCA-49315: Unhide the IntelliCache field setters so they appear in the SDK
Jonathan Davies [Wed, 26 Jan 2011 17:39:04 +0000 (17:39 +0000)]
CA-49315: Unhide the IntelliCache field setters so they appear in the SDK

This will also cause the functions to appear in the API docs, so add a bit more detail regarding the semantics of the fields.

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
Acked-by: Jonathan Ludlam <jonathan.ludlam@citrix.com>
14 years agoAdd a comment that indicates the extent of the effect of an IDL flag.
Jonathan Davies [Wed, 26 Jan 2011 17:39:03 +0000 (17:39 +0000)]
Add a comment that indicates the extent of the effect of an IDL flag.

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
14 years agoFix indentation of declaration of various fields in the datamodel.
Jonathan Davies [Wed, 26 Jan 2011 17:39:03 +0000 (17:39 +0000)]
Fix indentation of declaration of various fields in the datamodel.

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
14 years agoCA-42914, SCTX-434: Speed up writes of the database to the redo-log
Jonathan Davies [Thu, 28 Oct 2010 16:01:05 +0000 (17:01 +0100)]
CA-42914, SCTX-434: Speed up writes of the database to the redo-log

Anecdotal evidence suggests that the default 1 KiB block size provided by Unixext.read_in_chunks causes write throughput to be very slow on some storage substrates.

Some (not massively scientific) timings of dd from /dev/zero to a block-attached VDI on various SR types agree with this observation. The data below shows that 4 KiB is the minimum block size that should be considered for use: throughput it universally higher above this threshold and often substantially lower below it. We'll default to 16 KiB to be on the safe side.

lvmoiscsi

bs count times throughputs (MB/s)
1024 65536 0m8.461s, 0m7.888s 7.9, 8.5
2048 32768 0m7.986s, 0m8.438s 8.4, 8.0
4096 16384 0m1.529s, 0m1.999s 44.0, 33.6
16384 4096 0m1.289s, 0m1.588s 52.2, 42.3
65536 1024 0m1.550s, 0m1.309s 43.3, 51.3

nfs

bs count times throughputs (MB/s)
1024 65536 0m11.865s, 0m12.232s 5.7, 5.5
2048 32768 0m12.612s, 0m12.758s 5.3, 5.3
4096 16384 2.75591, 3.10301 24.4, 21.6
16384 4096 2.96047, 3.42373 22.7, 19.6
65536 1024 3.23713, 3.24731 20.7, 20.7

lvm

bs count times throughputs (MB/s)
1024 65536 2.16546, 6.35194 31.0, 10.6
2048 32768 6.24928, 6.44344 10.7, 10.4
4096 16384 0.99237, 0.90683 67.6, 74.0
16384 4096 0.912118, 0.88074 73.6, 76.2
65536 1024 0.934838, 0.881285 71.8, 76.1

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
14 years agoCA-42914: Deal with unexpected closure of data socket caused by exception in block_de...
Jonathan Davies [Thu, 28 Oct 2010 16:00:59 +0000 (17:00 +0100)]
CA-42914: Deal with unexpected closure of data socket caused by exception in block_device_io

Previously, the closing of the data socket causes xapi's code that writes database to an fd to raise Sys_error("Connection reset by peer").

Instead, we can safely ignore the unexpected closing of the data socket and wait until we hear what happened over the control socket. Any exception that may be raised during transfer_data_from_sock_to_fd in block_device_io (that causes the data socket to be prematurely closed) gets caught in the exception handlers in action_writedb that call send_failure. So suppress all Sys_error("Connection reset by peer") exceptions that xapi may raise during the writing of the database to the fd because full details should be forthcoming on the control socket.

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
14 years agoCA-42914, SCTX-434: Increase the timeout for writing the database to the redo-log
Jonathan Davies [Thu, 28 Oct 2010 16:00:51 +0000 (17:00 +0100)]
CA-42914, SCTX-434: Increase the timeout for writing the database to the redo-log

Previously, we had a flat timeout of 2 seconds for all redo-log operations. However, this has been shown to be too impatient for writing large databases over slow connections. (This resulted in timeouts firing prematurely, resulting in lots of METADATA_LUN_BROKEN alerts, and the redo-log being entirely useless for large pools as the database would never be successfully written!)

The timeout for each operation can now be specified independently. The new default for database writes is 30 seconds.

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
14 years agoCA-42914: Improve debugging in redo-log code
Jonathan Davies [Thu, 28 Oct 2010 16:00:47 +0000 (17:00 +0100)]
CA-42914: Improve debugging in redo-log code

In particular, highlight the I/O process lifecycle operations.

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
14 years agoCA-42914: Catch other exceptions when reading commands from client in block_device_io
Jonathan Davies [Thu, 28 Oct 2010 16:00:42 +0000 (17:00 +0100)]
CA-42914: Catch other exceptions when reading commands from client in block_device_io

Previously, we only caught End_of_file which Unixext.really_read throws when the client sends EOF. Other exceptions dribbled through to the deeper exception handler, which was supposed to be reserved exclusively for problems opening the block device.

Now, we also catch other exceptions in the same place as the End_of_file exception is handled.

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
14 years agoFix the allowed-operations check for VMs.
Jon Ludlam [Thu, 28 Oct 2010 15:59:54 +0000 (16:59 +0100)]
Fix the allowed-operations check for VMs.

The functions is long and had some non-obvious short-cut termination clauses in the long if...else if ... section. This has now been changed to have an option type containing the current error. Checks should be made in order of 'severity' - ie. power-state first, and e.g. PV driver status later.

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoPass the name of the VDI to the SM backends on VDI.create.
Jon Ludlam [Thu, 28 Oct 2010 15:59:39 +0000 (16:59 +0100)]
Pass the name of the VDI to the SM backends on VDI.create.

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoCA-47256: explicitly pass through the new environment variables PRODUCT_VERSION_TEXT...
David Scott [Thu, 28 Oct 2010 15:56:31 +0000 (16:56 +0100)]
CA-47256: explicitly pass through the new environment variables PRODUCT_VERSION_TEXT{,_SHORT} otherwise omake doesn't see them

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoCA-46955: make code robust to parallel deletions of VBDs
David Scott [Thu, 28 Oct 2010 15:51:04 +0000 (16:51 +0100)]
CA-46955: make code robust to parallel deletions of VBDs

In general we should be very careful in code like this not to expect the configuration of "other VMs" to remain static while we run. In this case a parallel thread deleted a VBD which it "owned" and this cross-talk killed this thread.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoFixes the error introduced by Matthias' fix for CA-35152
Jonathan Ludlam [Thu, 28 Oct 2010 15:50:56 +0000 (16:50 +0100)]
Fixes the error introduced by Matthias' fix for CA-35152

The original fix replaced memory_static_max with memory_dynamic_max in too many places.

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com> and Matthias Goergens <matthias.goergens@citrix.com>
14 years ago[CA-43341] Amends squeezed so that just after transferring a reservation to a domain...
Jonathan Knowles [Thu, 28 Oct 2010 15:48:27 +0000 (16:48 +0100)]
[CA-43341] Amends squeezed so that just after transferring a reservation to a domain, it calls Xc.domain_setmaxmem with <size-of-reservation>.

This fix prevents the subsequent domain build from failing due to an artificially low maxmem.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
Acked-by: Jonathan Ludlam <jonathan.ludlam@eu.citrix.com>
Acked-by: Dave Scott <dave.scott@eu.citrix.com>
14 years ago[CA-47550]: Move the echoing inside the if-statement to avoid
Magnus Therning [Thu, 28 Oct 2010 15:48:07 +0000 (16:48 +0100)]
[CA-47550]: Move the echoing inside the if-statement to avoid
confusion during boot.

Signed-off-by: Magnus Therning <magnus.therning@citrix.com>
14 years agoWhoops, fix embarrasing typo in previous patch
Jonathan Ludlam [Mon, 18 Oct 2010 10:39:54 +0000 (11:39 +0100)]
Whoops, fix embarrasing typo in previous patch

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoRemove license expiry code
Jonathan Ludlam [Mon, 18 Oct 2010 10:25:11 +0000 (11:25 +0100)]
Remove license expiry code

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoCA-35152: memory_dynamic_max for the control domain, when XenServer plans for HA.
Matthias Goergens [Tue, 12 Oct 2010 11:02:18 +0000 (12:02 +0100)]
CA-35152: memory_dynamic_max for the control domain, when XenServer plans for HA.

ocaml/xapi/memory_check.ml and ocaml/xapi/memory_check.mli got a new
constructor memory_dynamic_max for the type accounting policy.

I also fixed the indentation in ocaml/xapi/xapi_ha_vm_failover.ml:compute_restart_plan

Signed-off-by: Matthias Goergens <matthias.goergens@citrix.com>
14 years agoCA-45162: Wrong VM reported to be blocking xe host-enable-local-storage-caching
John Else [Tue, 12 Oct 2010 11:01:49 +0000 (12:01 +0100)]
CA-45162: Wrong VM reported to be blocking xe host-enable-local-storage-caching

Instead of failing with details of the first VM, fail with details
of the first non-dom0 VM.

Signed-off-by: John Else <john.else@citrix.com>
14 years agoCA-46669: xensource.log contains password in cleartext --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 11:00:53 +0000 (12:00 +0100)]
CA-46669: xensource.log contains password in cleartext --- FIXED.

Only added a code line (+ the import):

  let params = List.replace_assoc "password" "null" params in

'params' is only passed to the debug output, so the semantics could not
have changed.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-37034 Lenny install-from-CD warning dialog
Thomas Sanders [Tue, 12 Oct 2010 10:59:58 +0000 (11:59 +0100)]
CA-37034 Lenny install-from-CD warning dialog

The installation template for Debian Lenny now warns that the standard CD/DVD
does not support XenServer, and gives directions to find ISOs that work.
For Debian Squeeze, there is now a warning that a multi-arch image is needed.

Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com>
14 years agoWorked around a race condition in vm-uninstall.
Matthias Goergens [Tue, 12 Oct 2010 10:59:05 +0000 (11:59 +0100)]
Worked around a race condition in vm-uninstall.

VM.hard_shutdown now checks for an exception that signals an invalid
power state, i.e. if the VM is already halted.

See the Jira-ticket CA-44120 for more details.

Signed-off-by: Matthias Goergens <matthias.goergens@citrix.com>
14 years agoImproved backtracing of some of the exceptions thrown within the xml parsing
Jonathan Ludlam [Tue, 12 Oct 2010 10:57:31 +0000 (11:57 +0100)]
Improved backtracing of some of the exceptions thrown within the xml parsing
code.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoAllow the CLI command vdi-create to create sharable VDIs
Jon Ludlam [Tue, 12 Oct 2010 10:56:52 +0000 (11:56 +0100)]
Allow the CLI command vdi-create to create sharable VDIs

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
14 years agoCA-42031: xe snapshot-destroy [no parameters] fails with internal error --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 10:56:21 +0000 (11:56 +0100)]
CA-42031: xe snapshot-destroy [no parameters] fails with internal error --- FIXED.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-44277: xe snapshot-disk-list now fails gracefully.
Matthias Goergens [Tue, 12 Oct 2010 10:55:58 +0000 (11:55 +0100)]
CA-44277: xe snapshot-disk-list now fails gracefully.

Signed-off-by: Matthias Goergens <matthias.goergens@citrix.com>
14 years agoUpdate version number in API documentation PDF
Rob Hoes [Tue, 12 Oct 2010 10:55:29 +0000 (11:55 +0100)]
Update version number in API documentation PDF

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
14 years agoCA-43936: dont try to get auth-user-name under local-session/emergency-mode
Marcus Granado [Tue, 12 Oct 2010 10:55:03 +0000 (11:55 +0100)]
CA-43936: dont try to get auth-user-name under local-session/emergency-mode

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoFixing the indentation in cli_operations.ml
Matthias Goergens [Tue, 12 Oct 2010 10:54:35 +0000 (11:54 +0100)]
Fixing the indentation in cli_operations.ml

While I reviewed Rok's changes to cli_operations.ml, I realized how
aweful that file looks.  I have used our hacked up emacs tuareg-mode
to fix the indentation mechanically and checked whether the result was
sane.

Signed-off-by: Matthias Goergens <matthias.goergens@citrix.com>
14 years agoCP-1876: Create RHEL 6 HVM template
Alex Zeffertt [Tue, 12 Oct 2010 10:54:11 +0000 (11:54 +0100)]
CP-1876: Create RHEL 6 HVM template

Notes:
  * We choosing to enable the "no execute" CPU flag in this guest
  * We are not indicating the presence of viridian to this guest

Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Signed-off-by: Rob Hoes <rob.hoes@gmail.com>
14 years agoRemove the Windows 2000 template
Paul Durrant [Tue, 12 Oct 2010 10:53:38 +0000 (11:53 +0100)]
Remove the Windows 2000 template

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
14 years agoRemove the Windows XP SP2 template
Paul Durrant [Tue, 12 Oct 2010 10:53:30 +0000 (11:53 +0100)]
Remove the Windows XP SP2 template

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
14 years agoRemove trailing whitespace from cli_operations.ml
Matthias Goergens [Tue, 12 Oct 2010 10:10:47 +0000 (11:10 +0100)]
Remove trailing whitespace from cli_operations.ml

Signed-off-by: Matthias Goergens <matthias.goergens@citrix.com>
14 years agoCA-46108: vmpp message must contain body and data
Marcus Granado [Tue, 12 Oct 2010 10:08:46 +0000 (11:08 +0100)]
CA-46108: vmpp message must contain body and data

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoFix an invocation of "/bin/bash " to be "/bin/bash"
Jon Ludlam [Tue, 12 Oct 2010 10:08:16 +0000 (11:08 +0100)]
Fix an invocation of "/bin/bash " to be "/bin/bash"

Signed-off-by: Jon Ludlam <Jonathan.Ludlam@eu.citrix.com>
14 years agoThe VM metadata export handler (/export_metadata) will output the metadata
Ewan Mellor [Tue, 12 Oct 2010 09:58:34 +0000 (10:58 +0100)]
The VM metadata export handler (/export_metadata) will output the metadata
of a VM, all its snapshots, and all their attached VDIs.  However, it doesn't
walk the tree of VDIs defined by the VDI.sm_config["vhd_parent"] field.  For
a full-fidelity representation, having the parent VDIs is very useful.

This patch adds an "include_vhd_parents=(true|false)" option to the the
/export_metadata handler.  With this option on, the entire tree of VDIs is
exported.

This patch does not change the /export URL handler, does not change any
behaviour when include_vhd_parents is false or missing, and copes gracefully
with a missing or malformed vhd_parent entry.

Dave: modified to be robust to vhd parent cycles

Signed-off-by: Ewan Mellor <ewan.mellor@eu.citrix.com>
Signed-off-by: Dave Scott <dave.scott@eu.citrix.com>
14 years agoCA-35084: No tab completion for "xe vm-param-get param-name= "command --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:58:04 +0000 (10:58 +0100)]
CA-35084: No tab completion for "xe vm-param-get param-name= "command --- FIXED.

Fixed this also for vm-param-remove.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-41811: xapi must create /var/patch when downloading patches from master
Marcus Granado [Tue, 12 Oct 2010 09:57:43 +0000 (10:57 +0100)]
CA-41811: xapi must create /var/patch when downloading patches from master

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoCA-45963: fix typo in AD domainjoin error message
Marcus Granado [Tue, 12 Oct 2010 09:56:16 +0000 (10:56 +0100)]
CA-45963: fix typo in AD domainjoin error message

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoCA-45449: update vmpr api messages backup->snapshot
Marcus Granado [Tue, 12 Oct 2010 09:55:31 +0000 (10:55 +0100)]
CA-45449: update vmpr api messages backup->snapshot

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoCA-43645: add applies_to:vm_ref to the vmpp snapshot task other-config
Marcus Granado [Tue, 12 Oct 2010 09:55:04 +0000 (10:55 +0100)]
CA-43645: add applies_to:vm_ref to the vmpp snapshot task other-config

XenCenter uses this key to show the task in the vm_ref's log.

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoCA-41772: copy rbac_static.csv to /opt/xensource/debug in dom0
Marcus Granado [Tue, 12 Oct 2010 09:54:36 +0000 (10:54 +0100)]
CA-41772: copy rbac_static.csv to /opt/xensource/debug in dom0

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoCA-27648: xe does not show the tags fields --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:54:04 +0000 (10:54 +0100)]
CA-27648: xe does not show the tags fields --- FIXED.

Added the ability to read and write tags on pool, host, network, VM, SR, and
VDI through the CLI. For each corresponding function, the patch adds four
lines of the general form:

make_field ~name:"tags"
~get:(fun () -> String.concat ", " (x ()).API.xxx_tags)
~get_set:(fun () -> (x ()).API.xxx_tags)
~add_to_set:(fun tag -> Client.Xxx.add_tags rpc session_id xx tag)
~remove_from_set:(fun tag -> Client.Xxx.remove_tags rpc session_id xx tag) ();

The patch also includes code re-indentation for the functions involved.

It appears as if much of this file could be auto-generated.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoPR-1031: update comment in api-messages
Marcus Granado [Tue, 12 Oct 2010 09:53:23 +0000 (10:53 +0100)]
PR-1031: update comment in api-messages

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoCP-1914: Record some extra build-time information in Host.software_version ("product_...
David Scott [Tue, 12 Oct 2010 09:53:03 +0000 (10:53 +0100)]
CP-1914: Record some extra build-time information in Host.software_version ("product_version_text" and "product_version_text_short" -- useful for UIs to display rather than raw version numbers)

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoCA-43574
Matthias Goergens [Tue, 12 Oct 2010 09:52:34 +0000 (10:52 +0100)]
CA-43574

The build-number that xapi displays for a host now comes from
/etx/xensource-inventory instead of the branded in build-number, when
xapi is build.  The former behaviour lead to discrepancies.

Signed-off-by: Matthias Goergens <matthias.goergens@citrix.com>
14 years agoCA-41317: Error message if a host doesn't power on is poor --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:51:55 +0000 (10:51 +0100)]
CA-41317: Error message if a host doesn't power on is poor --- FIXED.

Changed the error message to something more reasonable, although keeping it
of "internal" type.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-44022: HOST_SYNC_DATA_FAILED message needs to be restored --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:51:05 +0000 (10:51 +0100)]
CA-44022: HOST_SYNC_DATA_FAILED message needs to be restored --- FIXED.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-44714: Semantics of "xe vm-export" with the metadata option is not as documented...
Rok Strnisa [Tue, 12 Oct 2010 09:50:42 +0000 (10:50 +0100)]
CA-44714: Semantics of "xe vm-export" with the metadata option is not as documented --- FIXED.

Consistent requirement for boolean parameters to be specified with true or false.

The patch includes refactoring of cli_operations.ml, which makes consistent
use of two simple functions for extracting information from parameters instead
of the previous 10 complicated ways.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
Review by Matthias: Changes look good.  But indentation in
get_bool_param is as horrible as in the rest of cli_operations.ml.

After-review changes: The horrible indentation (2 spaces) of get_bool_param has
has been corrected (into 1 tab).

14 years agoCA-25812: OEM Dell: Error message should be clearer during pool-join command. --...
Rok Strnisa [Tue, 12 Oct 2010 09:49:32 +0000 (10:49 +0100)]
CA-25812: OEM Dell: Error message should be clearer during pool-join command. --- FIXED.

We now distinguish between "calling pool_join on self" and "calling pool_join
when already in a pool".

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-33568: Perfmon plugin creates unused socket --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:46:36 +0000 (10:46 +0100)]
CA-33568: Perfmon plugin creates unused socket --- FIXED.

Removed a line that is not used anywhere.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-38158: Bogus "SR not shared properly" warning --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:45:49 +0000 (10:45 +0100)]
CA-38158: Bogus "SR not shared properly" warning --- FIXED.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-26863: correct error message when pool connection fails --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:45:03 +0000 (10:45 +0100)]
CA-26863: correct error message when pool connection fails --- FIXED.

I only added these two lines:
 | Stunnel.Stunnel_error msg ->
     internal_error, [ "Connection failed: " ^ (String.lowercase msg) ^ "." ]

The rest is fixing whitespace.

Note that calling "lowercase" on "msg" does not lose information, since all
error messages in Stunnel are fixed strings. It makes the output nicer.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-30239: CLI help command returns non-zero --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:44:20 +0000 (10:44 +0100)]
CA-30239: CLI help command returns non-zero --- FIXED.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoCA-43645: show VMPR snapshots in task list in xencenter
Marcus Granado [Tue, 12 Oct 2010 09:44:04 +0000 (10:44 +0100)]
CA-43645: show VMPR snapshots in task list in xencenter

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoCA-37224: Email Alerts have misleading statements --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:43:33 +0000 (10:43 +0100)]
CA-37224: Email Alerts have misleading statements --- FIXED.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoPR-1031: use 7 as XAPI default for backup retention value
Marcus Granado [Tue, 12 Oct 2010 09:43:02 +0000 (10:43 +0100)]
PR-1031: use 7 as XAPI default for backup retention value

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoCP-1833: fix check for lsu vmpr during snapshot in slaves
Marcus Granado [Tue, 12 Oct 2010 09:41:58 +0000 (10:41 +0100)]
CP-1833: fix check for lsu vmpr during snapshot in slaves

Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com>
14 years agoImproper internal error on setting wrong values for VBD parameters --- FIXED.
Rok Strnisa [Tue, 12 Oct 2010 09:41:37 +0000 (10:41 +0100)]
Improper internal error on setting wrong values for VBD parameters --- FIXED.

Signed-off-by: Rok Strnisa <rok.strnisa@cl.cam.ac.uk>
14 years agoProvides the user with a friendlier message when they are denied access.
Rok Strnisa [Tue, 12 Oct 2010 09:40:48 +0000 (10:40 +0100)]
Provides the user with a friendlier message when they are denied access.

The message now includes which roles *do* have the required permission.

Signed-off-by: Rok Strnisa <rok.strnisa@citrix.com>
14 years agoIncrease the API version number to 1.8
Rob Hoes [Tue, 12 Oct 2010 09:40:21 +0000 (10:40 +0100)]
Increase the API version number to 1.8

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
14 years agoRescues the indendation for several functions within the quicktest module. Splits...
Jonathan Knowles [Tue, 12 Oct 2010 09:40:01 +0000 (10:40 +0100)]
Rescues the indendation for several functions within the quicktest module. Splits an often-modified list of tests into multiple lines, reducing the chance that further patches will conflict with one another.

Signed-off-by: Jonathan Knowles <jonathan.knowles@eu.citrix.com>
14 years agoCA-46079: Remove blktapctrl init.
Daniel Stodden [Tue, 12 Oct 2010 09:39:22 +0000 (10:39 +0100)]
CA-46079: Remove blktapctrl init.

Obsolete with blktap2, and just about to be removed from the build.

Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
14 years ago[PATCH] Rename "xs-vif-mac" external_ids key to "attached-mac", for generality.
Ben Pfaff [Tue, 12 Oct 2010 09:38:38 +0000 (10:38 +0100)]
[PATCH] Rename "xs-vif-mac" external_ids key to "attached-mac", for generality.

From e61070c32030d6d00e2eeae213d219320a7cbd10 Mon Sep 17 00:00:00 2001
Date: Wed, 1 Sep 2010 16:49:19 -0700
This can be useful on systems other than XenServer so there is no reason
to make it looks XenServer-specific.

CC: Jeremy Stribling <strib@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 vswitchd/vswitch.xml                |   15 ++++++++-------
 scripts/vif |    2 +-
 2 files changed, 9 insertions(+), 8 deletions(-)

14 years ago[PATCH] xenserver: Prepend XenServer external ids with "xs-"
Justin Pettit [Tue, 12 Oct 2010 09:37:49 +0000 (10:37 +0100)]
[PATCH] xenserver: Prepend XenServer external ids with "xs-"

From c76fde78c528027fe95d714aba5ccf0f01407d75 Mon Sep 17 00:00:00 2001
Date: Mon, 9 Aug 2010 15:07:32 -0700
Signed-off-by: Justin Pettit <jpettit@nicira.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 tests/interface-reconfigure.at                     |   12 ++++++------
 vswitchd/vswitch.xml                               |    2 +-
 xenserver/README                                   |    4 ++--
 xenserver/automake.mk                              |    2 +-
 scripts/vif                |   12 ++++++------
 xenserver/openvswitch-xen.spec                     |   10 +++++-----
 ...ensource_libexec_InterfaceReconfigureVswitch.py |    4 ++--
 ...share_openvswitch_scripts_refresh-network-uuids |    2 --
 ...re_openvswitch_scripts_refresh-xs-network-uuids |    2 ++
 9 files changed, 25 insertions(+), 25 deletions(-)
 delete mode 100755 xenserver/usr_share_openvswitch_scripts_refresh-network-uuids
 create mode 100755 xenserver/usr_share_openvswitch_scripts_refresh-xs-network-uuids

14 years agoRequire datetime values written to the DB to end with a 'Z'
Rob Hoes [Tue, 12 Oct 2010 09:36:54 +0000 (10:36 +0100)]
Require datetime values written to the DB to end with a 'Z'

All datetime values in the DB need to be UTC dates, and are required to ISO 8601 formatted with a trailing 'Z' to indicate they are UTC. The XenAPI did not have any functions that allow users to write datetimes directly to the DB... until recently (e.g. VMPP.set_archive_last_run_time)! It is therefore now necessary to enforce that the datetime values in the parameters of such 'set' functions have the correct form.

For backwards compatibility, XenAPI functions such as message.get_since still allow dates without 'Z', and will assume these are UTC dates.

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
14 years agoUpdate/fix 'interface-reconfigure --force rewrite'
Rob Hoes [Tue, 12 Oct 2010 09:36:35 +0000 (10:36 +0100)]
Update/fix 'interface-reconfigure --force rewrite'

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
14 years agoHosts in a pool should use the same networking backend
Rob Hoes [Tue, 12 Oct 2010 09:36:09 +0000 (10:36 +0100)]
Hosts in a pool should use the same networking backend

This patch adds the following restrictions in order to prevent (as much as possible) trouble caused by hosts in a pool not having the same network backends (bridge/openvswitch):
1. Block pool join if the network backend of the joining host is not the same as the master's.
2. Block tunnel.create if at least one of the hosts in the pool uses the bridging backend.

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
14 years agoCP-1713: Extend mpathalert deamon to report changing status of multipathed root disk
Rob Hoes [Tue, 12 Oct 2010 09:35:47 +0000 (10:35 +0100)]
CP-1713: Extend mpathalert deamon to report changing status of multipathed root disk

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
14 years agoAdd OCaml API autogenerator and mpathalert to code documentation
Rob Hoes [Tue, 12 Oct 2010 09:35:17 +0000 (10:35 +0100)]
Add OCaml API autogenerator and mpathalert to code documentation

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
14 years agoCP-1591: Synchronise VIF.MTU and PIF.MTU on plug
Rob Hoes [Tue, 12 Oct 2010 09:34:47 +0000 (10:34 +0100)]
CP-1591: Synchronise VIF.MTU and PIF.MTU on plug

The VIF.MTU and PIF.MTU fields are now read-only, and will reflect the current state of the network. When you change the Network.MTU, VIFs and PIFs will have to be replugged to have their MTU changed by the networking subsystem. So when Network.MTU and PIF.MTU are not equal, this is a reminder to replug the PIF (same for VIFs).

Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
14 years agoCA-44731: rewrite RRD marshalling, unmarshalling code to (i) copy the compact binary...
David Scott [Tue, 12 Oct 2010 09:34:27 +0000 (10:34 +0100)]
CA-44731: rewrite RRD marshalling, unmarshalling code to (i) copy the compact binary representation; and then (ii) stream the XML directly to an fd without creating a temporary buffer of some kind.

This should now work properly when the XML data is > 16MiB

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoCA-44731: remove unused file
David Scott [Tue, 12 Oct 2010 09:34:04 +0000 (10:34 +0100)]
CA-44731: remove unused file

This is now out of sync with the other copy and will cause spurious build failures.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoCA-44731: replace uses of read_whole_file_to_string with string_of_file
David Scott [Tue, 12 Oct 2010 09:33:26 +0000 (10:33 +0100)]
CA-44731: replace uses of read_whole_file_to_string with string_of_file

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
14 years agoCA-44731: Fix typo in the Host RRD creation code which restricted the rate of RRD...
Jon Ludlam [Tue, 12 Oct 2010 09:33:09 +0000 (10:33 +0100)]
CA-44731: Fix typo in the Host RRD creation code which restricted the rate of RRD creation to one DS every 5s.

Rather than accumulating all the new RRDs, the fold only kept the last one.

Signed-off-by: Jon Ludlam <jon.ludlam@eu.citrix.com>
Signed-off-by: David Scott <dave.scott@eu.citrix.com>