Get hypervisor uptime.

Adds a call to retrieve the current uptime on a specific hypervisor.
This version of the patch only adds the XenAPI variant; other virt
drivers will raise a NotImplementedError until they implement the
get_host_uptime() method.

Change-Id: Ie259589757a460fcd91a49a8dd8099e4d91524e7
Make metadata content match the requested version of the metadata API.

Currently the same metadata is returned no matter what metadata
version is requested. Metadata is currently implemented to version
2009-04-04 (apart from existing TODOs) as defined here:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html

This change adds version checking conditionals throughout
get_ec2_metadata and only includes the metadata if the requested version
should contain it.

When there is a difference between Amazon API implementation and documentation
I've gone with replicating the implementation. So far differences include:
- undocumented hostname introduced in 1.0, deprecated in favour of
  local-hostname
- kernel-id and ramdisk-id seem have to been implemented in 2007-12-15,
  not 2008-02-01 as documented

get_ec2_metadata has also been reordered so that data is added oldest to
newest by API version. In a future change I may attempt to add
unimplemented API versions (2011-01-01, 2012-06-01).

Change-Id: Ibf6e6e3b9807f29dccd31006515df550bf9bf57b
Pass vdi_ref to fake.create_vbd() not a string

This would not cause a problem since vdi_ref wasn't used internally in
the fake xenapi module. At least not yet...

Change-Id: I2fe094b9c3a7d478fe20149a368af132f3258bda
Make possible to store snapshots not in /tmp directory

Add option libvirt_snapshots_directory which specifies path
where snapshots will be stored before libvirt driver uploads
them to the image service.

VM disk snapshot can be quite large,
so keeping them in /tmp is not desirable. Fedora 18 will move /tmp
to tmpfs in RAM, so snapshot functionality will become unusable with
current nova behavior.

Default path for snapshots directory is set to $instances_path/snapshots
in this patch. In case, when shared filesystem is used to hold instances,
option value can be adjusted to improve performance.

Change-Id: I9458a2a26a619a01fa1ddb6955c0220ca747e64d
Drop xenapi session.get_imported_xenapi()

Historically it was used to allow the xenapi fake module to be inserted
in place of the real XenAPI module. However, it was used inconsistently
and is unnecessary now that the session carries that information as well.

Remove it by using the session.XenAPI attribute consistently, and then
removing the stubs and ensuring that the fake module gets inserted
directly into sys.modules.

Change-Id: Id058e19eb7d932abf7b07a1e4324637a8d4b2ea6
Distinguish over-quota for volume size and number.

Fixes LP 1020634

Ensure that exceeding the allowed number of volumes is not
mis-represented in log messages and exception handling as
excessive space usage.

Change-Id: I71ec995c77bc447bfc9221084b057bd8d69a4513
Don't catch & ignore exceptions when setting up LXC container filesystems

The 'setup_container' method in nova/disk/api.py may well raise an
exception if something goes wrong when setting up the LXC container's
root filesystem. Currently it just catches & logs any exception.
The caller thus always thinks everything worked & goes onto boot
the container despite there being no root filesystem available
for it.

The fix is to simply remove the bogus exception catching completely

Change-Id: I2691713f11cced1561f347819875f490b8aaafef
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Finish AUTHORS transition.

The code to generate the authors file from the git changelog has been in the
tree and running for a few weeks now. Somehow the removal of the authors
test and and the MANIFEST.in file were wrong though. This should clean that
up.

Fixes bug 920757.

Change-Id: I66c388c1c81804f8dabc52b5ee25c7f394921e11
Remove unnecessary setUp() method in xenapi driver tests

It creates a fake instance but then never uses it.

Change-Id: Ic98dfb0f2eb31cc0da767743dd97463deed42ca4
Remove unnecessary target_host flag in xenapi driver tests

This appears to be the result of some copy/paste of code. Setting
target_host is unnecessary for the tests and just adds clutter.

Change-Id: Iaf2abbd51af541311a2e2a4b178d7cdc4f00e116
Remove auth-related nova-manage commands

Drop support for management of deprecated auth by deleting
the following nova-manage commands:
* role *
* export *
* project/account * (except scrub and quota)
* shell export
* user *

Additionally, delete relevant documentation and tests.

Related to bp remove-deprecated-auth.

Change-Id: Iad9787f696cb55d4673d68fc60851c7f5bd25805
Correct typo in tools/hacking.py l18n -> i18n

i18n stands for internationalization, while l10n stands for
localization. l18n stands for nothing.

Change-Id: Iebfe2dcbc12919875c0ecee8aa9223dc107239d7
Merge "Finish AUTHORS transition."
Merge "Correct typo in tools/hacking.py l18n -> i18n"
Merge "Pass vdi_ref to fake.create_vbd() not a string"
Add checks for retrieving deleted instance metadata for notification events.

This enables metadata for a deleted instance to be reported in usage
notifications. However, deleted metadata for a nondeleted instance will
not be shown.

Fixes bug 1021430.

Change-Id: I7ce5c720c7705be34724679bb4ff99fb8ba37a27
Merge "Drop xenapi session.get_imported_xenapi()"
Merge "Remove unnecessary setUp() method in xenapi driver tests"
Merge "Remove unnecessary target_host flag in xenapi driver tests"
ignore project files for eclipse/pydev

eclipse is far too commit happy to keep adding these files into the
tree making it a manual process to remove them before submit. This
should make life a little simpler for people using pydev.

Change-Id: Icd0ceea53daa76e6c36933ced174a235e070c394