Includes sec group quota details in limits API response

Added the security groups quota details to
the limit API response so that these details
also get displayed to the user.

Fixes bug 1049578
Change-Id: I45c345141747f99359c8948e959030f8cb99e866
Make compute/manager.py use self.host instead of FLAGS.host

This prevents the instances returned from getting a different
instance['host'] than was supplied to the manager. This shows up
during integrated testing of 'resize'.

Change-Id: Ifa4316bf7099dc2c60c4e87cfaafa93a4bc2e5b1
Add README for doc folder

In preparation for more more man pages

Change-Id: I55a9d332e5cbba90ff1e2a2cb0c0d24ae35fba5b
Clean up handling of project_only in network_get

There was some funky logic for getting networks to work around
the project only decorator. This changes the code to match what
we actually want which is:

In Flat and FlatDHCP mode non-admins should be able to access
networks that belong to their project or networks that have no
project_id assigned.

In VlanManager, project_id=None projects should not be accessible
as this means the project hasn't been assigned yet. The assignment
is done with an elevated context.

This patch adds some logic to model_query to allow None in the
project_only filter and makes network_get_all_by_uuids and
network_get use it.

fixes bug 1048869

Change-Id: I5377cea87dec8e9d0d9cec84e07128c5c6e8dca3
Fix XML deserialization of rebuild parameters

This picks up the following attributes which are currently ignored
when poking this via XML:
 - accessIPv4
 - accessIPv6
 - adminPass

Change-Id: I947aa2f942022d839919ae7516759955e5b06668
Add api_samples tests for servers actions

Change-Id: I67446ccd53c83b5fcfc3a1857a10e160263834dd
Add admin actions extension

The optional os-admin-actions extension adds new wsgi_actions to the
volumes/action resource and a new snapshots/action endpoint.

With this extension both controllers will support an os-reset_status
action to force a database update of a volume or snapshot that is stuck
in a failed/incorrect status. The os-reset_status action works
similarly to the compute api's os-reset_state action for instances.

The os-force_delete action behaves similarly to the "cinder-manage
volume delete" command and allows operators/admins to retry the delete
operation after it has gone into an error_deleting status with an admin
api call.

The os-admin-actions extension is enabled by default, but limited to the
admin api by the default policy.json rules. Individual admin actions
can be disabled with policy rules as well.

Example of os-reset_status action on a volume:

curl http://localhost:8776/v1/${PROJECT_ID}/volumes/${VOLUME_ID}/action \
    -H "x-auth-token: ${ADMIN_AUTH_TOKEN}" \
    -H 'content-type: application/json' \
    -d '{"os-reset_status": {"status": "error"}}'

The new admin only api can assist deployers who encounter bugs or
operational issues that result in failed actions.

It can also be used by future storage backends to support async callback
style status updates from long running actions or operations which have
encountered an error will be retried.

Also updates the api.openstack.wsgi.ControllerMetaclass to support
sub-classing wsgi.Controllers that define wsgi_actions.

Partial fix for bug #1039706

Change-Id: If795599d5150dea362279d75a75276f3166d0149
Include Schedule Hints deserialization to XML API

So far the xml format to schedule hints were not defined.
Once defined (in ML), this patch add support to its deserialization.

This patch also includes a xml deserialization method to get the Elements
between the childs of a node.

Partially fixes bug 1050997

Change-Id: I2a34dbbd6200755818d7eaa7330a96d61a043614
Add api samples to Scheduler hints extension

Change-Id: Ic324d796dac0cfc7b36c47a181b55e09cb1503e2
Deserialize user_data in xml servers request

Also adds better validation for b64 encoded data since python
will happily ignore illegal bytes in the base64 encoded data.

Fixes bug 1050797

Change-Id: I4f380d029ec2d51f130a6dbd581410873e414216
Merge "Make compute/manager.py use self.host instead of FLAGS.host"
Merge "Fix XML deserialization of rebuild parameters"
Merge "Add api_samples tests for servers actions"
Merge "Add README for doc folder"
Merge "Clean up handling of project_only in network_get"
Merge "Deserialize user_data in xml servers request"
Add man pages

Add partially written manpages for:
* nova-all
* nova-api-ec2
* nova-api-metadata
* nova-api-os-compute
* nova-api-os-volume
* nova-api
* nova-cert
* nova-compute
* nova-console
* nova-consoleauth
* nova-dhcpbridge
* nova-network
* nova-novncproxy
* nova-objectstore
* nova-rootwrap
* nova-rpc-zmq-receiver
* nova-scheduler
* nova-volume-usage-audit
* nova-volume
* nova-xvpvncproxy

Change-Id: I3734831ce2f6b5d765e98b3f50fe8c1ad7965685
Improve entity validation in volumes APIs

Fixes bug #1048565

Use the new Controller.is_valid_body() helper to validate the entity
body in various volumes related POST/PUT handlers and return 422
as appropriate.

(Cherry picks commit dcecb586 from Cinder and adds similar fixes for
the volumes bits in the compute API)

Change-Id: I04127972981522c1ed81903893396c4f9665bcd3
Allows waiting timers in libvirt to raise NotFound

There are cases where an operation will fail when communicating with
libvirt. We were eating the exception even though the operation
failed, which has the potential to put the instance into an
unrecoverable state.

This patch allows NotFound exceptions to propogate up so that they
are caught by the state handling code and the task state can be
set to error.

Fixes bug 1002814

Change-Id: Iddc319b24aee0b7132155f50b9d3b0eee9bb3fa8
Reset the task state after backup done.

The compute manager needs to reset the task state after a backup
is complete. However it was only correctly reseting after a
snapshot due to the current expected state being hardcoded.
Now looks for the correct expected state depending on whether a
backup or snapshot was being executed.

Fixes bug 1051069

Change-Id: Ie91f7745b98232370be6c99d318a8033a93cc50c