Allow overriding the log level for ironicclient

oslo provides a 'default_log_levels' conf variable for overriding
logging levels for certain modules. This could be used to override
ironicclient's default logging level, however it requires re-setting
all of the log levels for oslo's defaults. This is rather inconvenient.

I think it makes sense to allow the ironic virt driver to have an easy
config option for this. When in debug mode, ironicclient logs every
single API call and response. In an environment with a lot of nodes,
it clutters the logs.

This adds a 'client_log_level' config option to the 'ironic' config
section in nova. If it's unset (default), there's no change in behavior.
If it's set, it takes precedence over the 'default_log_levels',
'verbose', and 'debug' settings that one may have in nova.conf

Example usage:
[ironic]
client_log_level=INFO

DocImpact

Closes-bug: 1325663

Change-Id: Id16d5017e1d9ae5d2b15ff3daca177ab36a32869
Prevent updating UUID of Node, Port and Chassis on DB API level

UUID is seen as something similar to pkey and is not expected
to be updated after creation.
This patch makes update_{node,chassis,port} raise InvalidParameterValue,
if 'uuid' field is passed in.

Closes-Bug: #1333683
Change-Id: I7312036a5144cebe3da7f033f73e881e79e8a2ca
Updates Ironic Guide with deployment information

This patch updates
Ironic deployment information
Adds 3 deployment diagrams
Describes deployment process

Change-Id: Idbe973c9a5f9805fe9a186a1db77fc66c044eeaf
Specify rootfstype=ramfs deploy kernel parameter

Specifies that the kernel use initramfs rather than tmpfs to back
the booted deploy ramdisk, eliminating the 1GB min. memory requirement
for Ironic nodes.

Change-Id: Ibbb0b9d4ce75697a7cbf2756cf4cb8323a56b137
Related-bug: #1311987
Merge "Specify rootfstype=ramfs deploy kernel parameter"
ManagementInterface {set, get}_boot_device() to support 'persistent'

It's common for drivers to be able to set the boot device only for the
next boot (that's the default behavior for the IPMITool for example)
but it's also possible to set a boot device as persistent so that the
configuration will persist across multiple boots. This patch is making
the 'persistent' parameter to be part of the method signature of the
set_boot_device() method and also making the get_boot_device() method
to return whether the device is set as persistent or not as part of
the response.

Implements: blueprint new-management-interface
Change-Id: Ia1f9c5449612871a379377d11fb0fe91b0958026
Document 'POST /v1/.../vendor_passthru'

http://docs.openstack.org/developer/ironic/webapi/v1.html does
not contain anything about how to use vendor passthru endpoints.
This adds 'POST /v1/nodes/(node_uuid)/vendor_passthru' and
'POST /v1/drivers/(driver_name)/vendor_passthru' to that
html page.

Change-Id: I6191be759f168c58e80d946530af7a0c4267501c
Closes-Bug: #1331415
Update docstring for api...node.validate

Add the param to the docstring for api.controllers.v1.node.validate.
With this change, the generated webapi page [1] will include this
information. Without it, it shows:
    Validate the driver interfaces. :type node_uuid: uuid

[1] http://docs.openstack.org/developer/ironic/webapi/v1.html

Change-Id: Ia33755b7ef1473aa0d04b22c76f20b7f1a99cd6b
REST API 'limit' parameter to only accept positive values

The REST API 'limit' parameter was accepting 0 as a valid value, but 0
is not a positive value.

Closes-Bug: #1340280
Change-Id: Ib816c6003da6dee740addb25eb5d4bffe2497967
Update webapi doc with link and console

http://docs.openstack.org/developer/ironic/webapi/v1.html is updated
as follows:
- changes the path descriptor of NodeStates to use '(node_uuid)' instead
  of '<uuid>' to be consistent with other paths
- adds [GET/PUT] /v1/nodes/(node_uuid)/states/console to show how to
  access the node's console
- fixes the "Links" section so that Link information is shown

Change-Id: I9d4a32550b81bb5ccf2fa23d8b591d8a945c04cc
Merge "Allow overriding the log level for ironicclient"
Imported Translations from Transifex

Change-Id: Ifc942be6737061041b8c79e77b5382b62d323069
Fix node to chassis and port to node association

This patch is fixing the Ironic API to allow "replace" (or "add" that
acts like a replace on an existing field) the chassis_uuid field from
nodes and the node_uuid field from ports.

Closes-Bug: #1340196
Change-Id: I89533bcd2e4ab0b1d453c4d9424e573b23703827
Clean up nova virt driver test code

Some minor cleanup of the nova.virt.ironic driver test code.

Change-Id: If9e21cc9dc521b65561fdc96c5c5591abc03f72e
Add more INFO logging to ironic/common/service.py

Change-Id: I60b0a33ce98f8b614a00af0c8cc5f27043bf022a
Partial-Bug: #1273856
Merge "Fix node to chassis and port to node association"
Merge "Clean up nova virt driver test code"
Merge "Imported Translations from Transifex"
Merge "Update docstring for api...node.validate"
Merge "REST API 'limit' parameter to only accept positive values"