Fix docker volumes binds issue

Without the fix, the volumes will not be attached after the container
started.

Closes-Bug: #1322205

Change-Id: Ie8eff402e8714f3c5d478dbc9fc02b43a377dccd
Set rollback status early in update if triggered

Before when rollback was triggered during stack update, the stack continued to
have status UPDATE_IN_PROGRESS, and only at the very end flipped to
ROLLBACK_COMPLETE.
This patch sets the stack state to ROLLBACK as soon as
rollback is started to notify the user properly on the action being
performed.

Change-Id: Idbd78a3a2a8d0c32fb26c7d0c38c87857d1565d8
Closes-Bug: #1316558
Support of regional endpoinds using Keystone v2

Handles the configuration region_name_for_services
with the keystone V2 authentication.

Change-Id: Ibba4d617937da8ba6018471e9614259e90409a47
Heat and Openstack incomplete documentation

Improve documentation running a heat template with devstack

Change-Id: Ifb6abd30a882d4c5197090c87498781702488b9c
Closes-Bug: #1326089
Removed 'message' keyword when raising Error

The exception handler for listing nova images (now glance images)
was raising an unexpected argument exception because Error() was
getting called with a 'message' keyword. Removed the keyword in
line with elsewhere.

Change-Id: If928aec0bb807495a00b8447a69c4e3dea43fb3b
Closes-Bug: 1315456
Add boolean type parameter process for template resource

When template resource generates properties from parameters, boolean
type parameter process is missed.

Change-Id: I893471776eafcbca57aae1556d9b6bf1d4b5bf53
Closes-Bug: #1329221
ec2token tolerate fully-qualified ec2authtoken auth_uri

If (as is currently done by the puppet-heat manifiests) the ec2authtoken
auth_uri is specified, and it looks like http://127.0.0.1:5000/v2.0/ec2tokens
ec2token authentication will fail, because we always append "ec2tokens" to
the auth_uri.  Instead, only add it when needed.

This probably needs to be combined with a change to the puppet manifiests so
we don't set the ec2authtoken auth_uri, as it's an optional section - we can
derive the correct path with only the auth_uri from the keystone_authtoken
section.

Change-Id: I8c89772b40523b30f1c46b2ca8b68f9e20d5c213
Closes-Bug: #1318599
Patch 033 migration to work w/ MySQL 5.6

With MySQL 5.6 setup to use UTF-8 for everything, the 033 migration
will fail. This is because a VARCHAR(256) cannot be indexed in UTF-8
databases. In versions of MySQL before 5.6, this produced a warning and
a truncated, less-useful index. In 5.6 it was changed to an error.

We will reduce these columns further to 64 bytes in the model in a
subsequent fix. For now, we will just create the table with 64 character
columns on new systems, which will allow this migration to work properly
on mysql-5.6. There is no danger of overflow, as 64 chars is what Keystone
uses for them anyway.

Change-Id: I27b9c61828301ba8c392b3d316f656641af753bc
Closes-Bug: #1316646
Fix property-parameter mapping for boolean property

resource-template returns wrong parameter type "string" for
boolean property, which is wrong after boolean-parameter-type
(commit:6984a7793883164af0e28c3e707048e989670e9d) was merged.
boolean property should be mapped to parameters.Schema.BOOLEAN

Change-Id: I9841545a8e740ecf5ba1806e807bbe15feede69f
Closes-Bug: #1328022
Deprecate old schema definition in dbinstance

using new schema definition for dbinstance in test_dbinstance.py,
the old definition is deprecated.

Change-Id: I648074ff9c7d84af5dc5b3765642244fcf7a870f
Respect schema data type in constraint validation

This patch makes Constraint objects aware of the data type of the
owning Schema object so constraint validation can apply potential
type casts based on the data type.
This is especially useful and necessary for an AllowedValues
constraint and numeric values, where items may be defined as
strings or numbers and cause comparison issues with user values
at runtime.

Change-Id: Id1884b4968993fc9356e7ba4ad03dced4cd00d4e
Closes-Bug: #1321540
Add AllowedValues constraint to Rackspace::Cloud::LoadBalancer

The Rackspace Cloud Load Balancer service only allows certain
values for the algorithm property. This patch adds constraints
so that users get validation feedback prior to creating the
resource.

Closes-Bug: #1328654
Change-Id: Id24b426b1d3e49b09b3e468ea9e9675c05eaa160
Use ResourceDefinition when updating Load Balancer

Use a ResourceDefinition object to define the Load Balancer configuration
when Autoscaling updates it. This makes it consistent with the regular
stack update code, which now passes a ResourceDefinition instead of a
template snippet.

Change-Id: I717559257b01bd0eaf0f3da48fb64bf60dcb2f8d
Handle missing user_creds in stack.delete

In some cases concurrent or interrupted and resumed stack delete
operations will result in missing user_creds records referenced in a
stack. This may be the cause of race conditions between deletes
resulting in unexpected behavior and spurious failures.

Change-Id: I76f3f8803a4f9171223783a9c6eea0fc20280010
Related-Bug: #1306029
Revert "Use auth_token_info to initialize heat_keystoneclient sessions"

It looks like this change has revealed an unrelated race with locking
during delete. While this issue is investigated then this change
needs to be reverted to fix the gate.

Related-Bug: #1306029

This reverts commit 535dd4e77e2c439a8611f27e5e9fa821cc8d7589.

Change-Id: I06be473d7c6961e399c4fd6128f374d24b9b0510
Merge "Revert "Use auth_token_info to initialize heat_keystoneclient sessions""
Add parameter type validation before stack-create

If a number parameter accept a string that can't convert to number,
it will break heat functions and heat cli can't get any stack
information but a ValuerError message.
Add Number and Boolean parameter type validation before stack
create, so we can avoid above situation.

Change-Id: I25a41543027f929201a9b053d123d8e2b16e2725
Closes-Bug: #1329152
Implement NovaFloatingIpAssociation res updatable

Implement handle_update for NovaFloatingIPAssociation
resource, allows to update NovaFloatingIpAssociation with
new server_id and new floatingip_id.

Change-Id: I75d361e2f0381f50ab83b54d752ffc080fe337fa
Implements: blueprint handle-update-for-floatingip
Merge "Use ResourceDefinition when updating Load Balancer"
parser.Stack add stored_context

Adds a new stored_context method, which may allow for some cleanup
in service.py, and also enable switching from the request context
to the stored context when needed, e.g when the current context
auth_token is about to expire.

Change-Id: I7b797719036238c424905a5d2555dc00e40f4e89
Partial-Bug: #1306294