Update sqlite to use PoolEvents for regexp.

Use PoolEvents instead of PoolListener for adding regexp function.

Fixes bug 1037219

Change-Id: I205ecce133f628e995f38dea5ce89ddf36b01a9b
Adds support for serial to libvirt config disks.

In order for users to find a volume that they have attached to
a vm, it is valuable to be able to find it in a consistent
location. A following patch wil accomplish this by setting
the serial number of the device to the uuid of the volume.

This patch prepares for that change by allowing serial numbers
to be set in the libvirt config disk object.

Prepares to fix bug 1004328

Change-Id: Iecdfc17b45e1c38df50f844f127c0e95558ab22c
Allows libvirt to set a serial number for a volume

The serial number defaults to the volume_id of the volume being
attached. We may expose a method in the future to set a different
serial number when creating or attaching a volume.

The purpose of this change is to give users a consistent place
they can find their volume. It should show up now in most flavors
of linux under /disk/by-id/virtio-<volume_uuid>

Fixes bug 1004328

Change-Id: Id1c56b5b23d799deb7da2d39ae57ecb48965c55f
Ignoring *.sw[op] files

Change-Id: I3a059106a32f36374da787bc36a3721463189e6d
Introduce ImagePropertiesFilter scheduler filter

Commit d39137fa added functionality to the ComputeFilter to filter on
architecture, hypervisor_type, and vm_mode. The existing ArchFilter
already filtered on architecture. This patch merges the ComputeFilter
functionality introduced in d39137fa with the ArchFilter to create the
ImagePropertiesFilter.  The ImagePropertiesFilter uses image properties
specified in the request_spec to filter hosts.

This patch also adds the ImagePropertiesFilter to the list of default
filters specified by the scheduler_default_filters FLAG.

Fixes LP Bug #1037339

DocImpact

Change-Id: Ifa6fccf2db266b0fe3457d58fc81fdb50ffcbc0f
xenapi: Tag nova volumes during attach_volume

1. Set other_config:'osvol':'True' on VBD during attach.
2. Use this (instead of nodestroys list) to determine which volumes
should not be destroyed on instance terminate.
3. Ensure that the SRs for the attached volumes are forgotten when
instance is terminated.

In the virt/xenapi layer, there is no way to determine which of the
VDIs are nova volumes. This information is required when terminating
and instance, to ensure the volumes are kept intact, as well as other
operations like migrate.

Fixes bug 1030143.

Change-Id: Id1717e64bc29092ce9ffe13b7c254a3867fe8342
Fix typo in call in cinder.API unreserve_volume

Fixes bug #1038599

def unreserve_volume(self, context, volume):
-    cinderclient(context).volumes.reserve(volume['id'])
+    cinderclient(context).volumes.unreserve(volume['id'])

Change-Id: Ida96b01d93f2e82fe842fa93c1a8edbc27434279
Debugged extra_specs_ops.py

The current extra_specs_ops.py under nova/scheduler/filters has a bug:
it crahses if <or> is not followed by a word. For example, if
"<or> gpu <or>" is given in extra_specs, current code tries to pop a
word after the second <or> that causes a crash. This patch lets it
ignore the "<or>" keyword if no word follows the second "<or>" keyword.

Debugged bug 1038979

Change-Id: I80a6eafd7ee57a2f3ccbf2fb869655ab84e92cf2
Implement network creation in compute API

Implements blueprint os-api-network-create

The ability to create new networks is currently only exposed by the
nova-manage CLI. Here we add support for network creation in the
os-networks API extension.

With the exception of num_networks and network_size, all the parameters
supported by 'nova-manage network create' are supported. Only a single
network may be created by each API call.

To avoid code duplication, the nova-manage code is refactored and moved
into NetworkManager so that it can be re-used by the API.

DocImpact
Change-Id: I682d498ab35ea43b553b64e13e677fe9eeb8e08b
Code clean up

Some code clean up in the file doc/source/conf.py
to make the code more pretty.

Change-Id: Icb25428739725c530977a011bf28f17fda1c29fb
add availability_zone to openstack metadata

This adds the key 'availability_zone' to the metadata for openstack.

'availability-zone' in EC2 is very useful to the instance to figure out
where it is.  For example, Ubuntu uses this information to determine
mirror location on EC2.

Fixes bug 1039579.

Change-Id: I212d3854b75e08a67138b5cd0bea178c47840e11
XCP-XAPI version fix

Fixes bug 1033933.

On an Kronos installation (Ubuntu + XCP-XAPI), the reported
software_version dictionary did not contain both product_version and
product_brand. This caused a KeyError. With this fix, the session's
product_version and product_brand will default to None in such cases.
The resize operation's name in these cases will default to VDI.resize.

Change-Id: Ic0db4128a7b27c08c24461562423bcecd1373e58
Have compute_node_get() join 'service'

Fixes bug 1039633

compute_node_get() is used by hypervisors extension and it accesses
compute_node['service'].  Lazy joins fail now and then..

Also fixes line continuation indents with other compute_node calls in
sqlalchemy/api.py

Change-Id: I3ac02aad739e96a4866a64cabe859cf484341784
Add deprecated warning to SimpleScheduler

Fixes bug 1037829

Change-Id: I83abd3b58bc7d253616ad355458214859bb4112d
Cleanup pip dependencies

Fix bug 1039745

* move feedparser to tools/test-requires
* remove python-daemon

Change-Id: I8da6ee6854e2064b44f3161b84f28d0bfc7f438d
Remove unused exceptions from nova/exception.py

Removed exceptions:

ImagePaginationFailed
MelangeConnectionFailed
InvalidSignature
InvalidInstanceType
InstanceNotSuspended
DestinationHostUnavailable
SourceHostUnavailable
VolumeNotFoundForInstance
NoVolumeTypesFound
ListingImageRefsNotSupported
KernelNotFoundForImage
ProjectMembershipNotFound
UserRoleNotFound
NetworkBusy
NetworkIsDuplicated
FixedIpNotFoundForHost
AuthTokenNotFound
AccessKeyNotFound
NoInstanceTypesFound
LDAPUserNotFound
LDAPGroupNotFound
LDAPGroupMembershipNotFound
GlobalRoleNotAllowed
LDAPUserExists
LDAPGroupExists
LDAPMembershipExists
ProjectExists
ZoneRequestError
SolidFireAPIStatusException
LDAPObjectNotFound
UserExists
UserNotFound

Change-Id: I8a3caaebdeed82f19733893e62f57648bdfc45bd
Add nosehtmloutput as a test dependency.

Adding nosehtmloutput as a test dependency allows nose to output its
results to an html file. This will be used by Jenkins to save logs on
a different server.

Change-Id: I45191e872a41eed8e6a9e14757675ee7a28b3836
Merge "Cleanup pip dependencies"
Merge "Have compute_node_get() join 'service'"
Merge "Add deprecated warning to SimpleScheduler"