Create common stack_create functional test helper

The same pattern for creating a stack, defaulting arguments,
setting cleanup, and waiting for status is repeated in all
tests, so move that logic to a common base-class helper.

Change-Id: Ibf4c2f61d1f1936816245178fd8cf794e347de8b
Fill test database from models description

Now Heat models are the same as the tables state in DB after migrations,
so we can use metadata.create_all() to fill a test database.
This will speed-up test database creation and reduce a necessity in DB
migrations on SQLite

Change-Id: Ib7b6ab2591c01e91d7a55f3384dae505fe1485a7
Consider invalid keywords a template validation error

This commit changes the exception type raised when an invalid
keyword is found in the resources and outputs sections of hot
templates from a KeyError to a StackValidationFailed. The
latter is better suited to be sent to heat-api to return to
clients, as oslo.messaging deserializes it to a more compact
exception that does not include the stack trace in the message
string.

Change-Id: I7c2da96fa07503b947c6c2c4a5f8ed3231dec9db
Closes-Bug: 1393831
Populate _template_classes global on first use

This change ensures that the _template_classes global variable is always
initialized when the first template is created. This was done when
instantiating the Template base class, but it was missed when creating an
instance of any of its subclasses.

Change-Id: I5edc9f06d6b48bb04e8ed41365823021ef133909
Closes-Bug: 1397468
Add OS::Cinder::VolumeType resource

Add OS::Cinder::VolumeType resource, implement its
basic actions: creation, deletion, updation.

Change-Id: Id37f4a0b1c558caa83dbecf7b64f87241ea89cdd
Implements: blueprint cinder-volume-type
Expose resource attributes in the API

This adds the necessary API changes to allow the user to view
resource's attributes when making calls to resource show.

Implements: blueprint detailed-resource-show
Change-Id: Id203478dbd067743d36623e99332ac32c6f96d42
Reduce Stack complexity to below 20

This patch reduces the complexity of Stack module to be below 20 by
further splitting the handle_update method.
Since this is a pure code refactor work, no test case modification is
needed.

Change-Id: I92e58d749dedd32c73b9ea1d5b2e54be84f69003
Fix formatting in integration tests README

Split lines in code sample and capitalize DevStack according to official
wiki.

Change-Id: Ia064b13e699ee0c8d9c19150c85407c49d96400b
Make 'admin_pass' updatable for nova server

We can't update the adminPass for nova server now, although
the property is updatable.

Change-Id: I16af5c4350bf9b27cfb05bd8287e5e8d1b7160b0
Closes-Bug: #1397198
Convert unicode to six.text_type in heat/tests

This patch converts unicode to six.text_type in heat/tests
for python 3.x compatibility.

Change-Id: I2e7553ee3486e03c6a9bc0c2a022f99d6298257b
Convert unicode to six.text_type in heat/api

This patch convert unicode to six.text_type in
heat/api for python 3.x compatibility.

Change-Id: I8a1f88ebaac64daa2ba074407fa682dff00f2371
Convert unicode to six in heat/engine/resources

This patch converts unicode to six.text_type in
heat/engine/resources for python 3.x compatibility.

Change-Id: I967e70b9e9fa017479461b7f1c2baf7c2870c70c
Merge "Fill test database from models description"
Merge "Populate _template_classes global on first use"
Merge "Create common stack_create functional test helper"
Merge "Make 'admin_pass' updatable for nova server"
Merge "Fix formatting in integration tests README"
Deprecate Rackspace::Cloud::Server

In favor of OS::Nova::Server

Change-Id: I40249bde30d6c90a435614ab57ce6cfff026b3fc
Do static template validation for nested stacks

Currently we don't fail fast, even if there is an error
in the nested template which should fail validation.
This change to recurse and do static template validation
for nested stack resources.

Change-Id: I572ded640582419e0888e4b9f8eed3a3432d6121
Closes-Bug: #1388140
Closes-Bug: #1389104
Merge "Convert unicode to six.text_type in heat/tests"