Force textmode consoles on baremetal

Physical hardware often has console interception hardware for OOB
monitoring/management. Prevent the kernel from switching into a
graphical console mode so the hardware can do its job.

Change-Id: I3a5b17ab194238ada34fee1c834de22fbdcd7430
Related-Bug: #1178112
Add flag to make baremetal.pxe file injection optional

File injection is slow and risky, So make it optional. File injection
was used for getting networking configuration into the baremetal nodes,
but neutron can do this now. File injection is also used for general
file injection and password injection, but those should be optional as
well.

Change-Id: If59641952255e5aaf3767524e2b3c566eefe2b74
Related-Bug: #1178103
Send notification for any updates to instance objects

Before objects, a notification would be sent for any change to an
instance and the notifications.send_update method would handle any
filtering that needed to be done prior to sending the event.

Currently, the instance objects code is pre-filtering the notification
by only checking if vm_state or task_state changed which is a
regression.

This patch removes the filter in the instance objects code so that
notifications are again sent for any changes to the instance and lets
the notifications.send_update method handle the event as it did before.

Closes-Bug: #1220186

Change-Id: Ib6ceedfe55b021be0fe7fa910e97d46c0cd8f0cd
Merge "Retry on deadlock in instance_metadata_delete"
Replace OpenStack LLC with OpenStack Foundation

Change-Id: I5203554989bc7244cff2899d52c5764360bba60c
Fixes-Bug: #1214176
Merge "Send notification for any updates to instance objects"
XenAPI raise InstanceNotFound in _get_vm_opaque_ref

If _get_vm_opaque_ref doesn't find an instance it should raise a
specific InstanceNotFound exception rather than the general NotFound
exception.  Callers of this method may try to catch InstanceNotFound or
NotFound and now both will work.

This fix will prevent a traceback during the _sync_power_states periodic
task which is expecting an InstanceNotFound exception.

Change-Id: Ia28fe33d69520806dab878c843fe435e018a20de
Closes-Bug: 1226756
Merge "Wrong arguments when calling safe_utils.getcallargs()"
Merge "Enable fake driver can live migration"
Merge "MultiprocessWSGITest wait for workers to die bug"
Merge "Typo: certicates=>certificates in nova.conf"
Merge "Convert TestCases to NoDBTestCase"
Merge "xenapi: move kernel/ramdisk methods to vm_utils"
Merge "xenapi: tidy ups to some spawn related methods"
Merge "Remove _assert_compute_node_has_enough_memory from filter_scheduler.py"
Merge "pci passthrough bug fix:hasattr dones not work for dict"
Change service id to compute for compute/api.py

Now the default service id for nova api notification is aggregate,
this is not accurate, we should change it to compute.

Fix bug 1225579

Change-Id: Ife558024c57d9fd035cd1a618063c656e03c52a3
Remove unused _instance_update() method in compute api

The _instance_update() method was previously used in lock/unlock
but that changed when they were converted to use instance objects.

Change-Id: I1f1e00b31792fd13a5b72a15c0cb11cfde75f794
VMwareVCDriver Fix sparse disk copy error on spawn

The same approach of calling VirtualDiskManager.CopyVirtualDisk
without destination disk spec in the cluster driver for fixing 1184807
turns out to work for copying a sparse disk as well because vCenter's behavior
for specless copy is to do the reasonable thing of converting a sparse disk to
thin-provisioned, and a flat disk to preallocated.

Tests done:

Verified using tempest that sparse/thin/preallocated image types deploys
properly through the cluster driver. Tempest output to be included in
the review comments.

Fixes bug 1171226

Change-Id: I6c48866e06c2aa656c89848564f3262fb7b79039
Correct deleted_at value in notification messages

The deleted_at value in notification messages is currently
set from the terminated_at value in the instance record.

A comment in the code says this is to avoid confusion between
terminated_at and deleted_at,  but swapping the names doesn't
seem to be a great way to address that.

In practice "terminated and not deleted" is a transient state
unless an error occurs, and the time gap is very short.  But
deleted_at is always set when the entry is deleted in the DB,
whereas terminated_at can be left unset in some error cases.

Rather than present terminated_at as the deleted_at value in
the message we include both and let the recipient decide which
they want to use.

Fixes bug: 1227080

Change-Id: Ic67f66b6c64be1a8f43f4fdd5b1fac25f1414247