Report out-of-space, not patch-invalid

If there isn't enough space on the filesystem to upload a patch (which can take
2-3 times the size of the patch, because of multiple copies and gpg signature
checking), we should fail with an Out_of_space exception. Before, if the gpg
check failed because there wasn't enough space to write the unsigned cleartext,
we would erroneously report patch_invalid. Now we check that there is enough
free space to signature check the patch (we make a guess of 2 * size of the
patch), and catch Unix.ENOSPC exceptions and handle them accordingly.

CA-124008

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
Whitespace fix for get_patch_to_local

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
assert_space_available takes optional multiplier arg

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
get_patch_to_local checks filesystem space on slave

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
mkdir -p /var/patch, which might not be there

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
whitespace: spaces to tabs

Signed-off-by: Mike McClurg <mike.mcclurg@citrix.com>
Make /etc/xcp if necessary

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
Make xapi more resiliant to missing config files

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
Avoid calling the mail-alarm script if it doesn't exist.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Remove assert()s which are supposed to trigger and are ignored; actually log when an error occurs.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Log a sensible error message if the pool.conf can't be read.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Fix value in warning of space too small to unpack hotfix patch.
Previously the multiplier was not taken into account when reporting
details in the warning message.

Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com>
CA-129192: restore metadata for all SR

CA-129192/SCTX-1728: revise restore-sr-metadata.py so that it could restore
metadata for all SR with command line:
   ./restore-sr-metadata.py -f <input file> -u all
or just omit the sr-uuid:
   ./restore-sr-metadata.py -f <input file>

xe-restore-metadata is modified accordingly.

Signed-off-by: Kaifeng Zhu <kaifeng.zhu@citrix.com>
Use mock pci.ids databse for testing

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Imported-by: John Else <john.else@citrix.com>

Conflicts:
	ocaml/test/test_pci_helpers.ml
Merge pull request #1694 from johnelse/mock-pcidb-tests-master

Use mock pci.ids for testing (from ocaml-pci-db)
CA-129239: Fix config file syncing

Signed-off-by: Jon Ludlam <jonathan.ludlam@citrix.com>
Merge pull request #1695 from jonludlam/CA-129239

CA-129239: Fix config file syncing
Merge pull request #1678 from thomassa/ca124008-patch-upload-enospc

Report out-of-space, not patch-invalid
CA-130011:Prevent xapi from filling it's buffer and running out of memory while reading from an invalid device file

Signed-off-by: Akshay <akshay.ramani@citrix.com>
Merge pull request #1706 from johnelse/ca-130011

CA-130011:Prevent xapi from filling it's buffer and running out of memory while reading from an invalid device file