use postgresql INET datatype for storing IPs

Change-Id: I9a61ffbececc6534b1a9c52e1fa29370db0e12ca
enables admin to view instance fault "details"

Change-Id: Ia29d265f9f73c2a6dcf36decc635383cc94bec35
Fixes: bug #1096278
Pull NovaWebSocketProxy class out of nova-novncproxy binary

To allow sharing of proxy code between nova-novncproxy and
nova-spicehtml5proxy, pull the NovaWebSocketProxy class
out of nova-novncproxy into a new nova/console/websocketproxy.py
file

Adds previously missing websockify dep to pip-requires.

Blueprint: libvirt-spice
Change-Id: If1334256680e7075598f00ce153cf6f021cc720f
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Add nova-spicehtml5proxy helper

Add nova-spicehtml5proxy which provides a websockets proxy,
equivalent to nova-novncproxy

Blueprint: libvirt-spice
Change-Id: I48be78c97bb7dd6635fd4bba476ef22701418ba1
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Add a get_spice_console method to nova.virt.ComputeDriver API

To mirror the existing get_vnc_console method, add a new
get_spice_console method to nova.virt.ComputeDriver API.

No attempt is made to wire this up to the RPC API, since at
this time there is no equivalent of novnc or xvpvncproxy to
use with SPICE.

Blueprint: libvirt-spice
Change-Id: I4cf12074b240d6882e46a81783cf20a3d97d4b2a
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Expose a get_spice_console RPC API method

To mirror the existing get_vnc_console RPC API method, expose a
new get_spice_console RPC API method. The only console type
supported currently is 'spice-html5' which is equivalent to
'novnc'

Blueprint: libvirt-spice
Change-Id: Iab9d3dfc3564a122a8cd2b53d34fdcc725bfa29b
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Make resource tracker use conductor for listing instances

This patch extends the conductor manager's get_all_by_host() method
to take an optional node parameter, which will cause the additional
filtering, if present. It also makes resource tracker use the
conductor for getting instances on the current host/node.

Related to blueprint no-db-compute

Change-Id: I407757d356b4162f32da29924175175a40f88f13
Add encryption method using an ssh public key.

This is a prerequisite for adding support to xenapi with
a guest agent to support the get-password command.

Related to blueprint get-password

Change-Id: I226ea5ee4fd6e326ccbb39cdf9098925d3f45312
Merge "Make resource tracker use conductor for listing instances"
Move compute node operations to conductor

This adds the following operations to conductor:

  compute_node_create()
  compute_node_update()

It also makes resource_tracker use them instead of making direct
calls to the database.

Further, it introduces a convert_datetimes() helper to the db api,
which can be used internally to convert ISO time strings back to
datetimes, so that we're getting them over the RPC wire. This
should be used in other places in the future to fix similar
situations and avoid one-off conversions in random places.

This removes the last direct database call from resource tracker,
and thus the db import.

Related to blueprint no-db-compute

Change-Id: I49c0bb30e7dd46d6f68550ebb644381961a0867f
Fix fallback when Quantum doesn't provide a 'vif_type'

In

  commit 4babf7d7e12f35c137148727842f7af28312e858
  Author: Daniel P. Berrange <berrange@redhat.com>
  Date:   Fri Jan 4 12:22:20 2013 +0000

    Make Quantum plugin fill in the 'bridge' name

We changed libvirt VIF driver to pull 'bridge' out of the
VIF model. This only worked for new Quantum drivers that
provide the 'vif_type' portbinding metadata though. This
patch effectively reverts part of that patch, so we have
a combination of the new & old method for determining
bridge names. The libvirt VIF driver will look at the
network['bridge'] field first, and if missing will fallback
to its previous logic which hardcoded bridge names.

Bug: 1100199
Change-Id: I5fd66b0303159c42bd227e97ddab381b2b67670c
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Merge "enables admin to view instance fault "details""
Better instance fault message when rescheduling.

The old code would use exc_info[0] which is the type of exception, not
the exception itself. This would result in the `message` attribute
always being 'type' and the first-line of details being useless.

The solution is to pass the actual exception object so that `message`
becomes the class-name and the first-line of details becomes the `repr`
of the exception object.

Fixes bug 1100559

Change-Id: Ibaeb5dc5af419de6c98b44aec07bff225b2f9956
Merge "use postgresql INET datatype for storing IPs"
Merge "Fix fallback when Quantum doesn't provide a 'vif_type'"
Merge "Pull NovaWebSocketProxy class out of nova-novncproxy binary"
Merge "Add nova-spicehtml5proxy helper"
Merge "Add a get_spice_console method to nova.virt.ComputeDriver API"
Merge "Expose a get_spice_console RPC API method"
Merge "Better instance fault message when rescheduling."