Make sure NetworkInterfaces and SubnetId updatable

We should make the properties 'NetworkInterfaces' and 'SubnetId'
updatable for AWS::EC2::Instance resource, so we can update the networks
for an instance.

Change-Id: I4a475fee6416696558807c189473a90d7517cfc0
Closes-Bug: #1280151
Fix status reason in events for deployment signals

When a signal is received and processed by a Resource, there could be an
event generated automatically. For such an event, Heat is supposed to
provide some useful message (including status_reason).  But currently,
the resource code can only process ceilometer alarms and watch rules,
for signals sent for a SoftwareDeployment resource, the signal is only
providing an string 'Unknown' as the status change reason.  This is
confusing when a user performs 'heat event-list stack'.

This patch adds an additional check (guess) whether the signal comes
from a SoftwareDeployment.  If that is the case, fill in the status
reason as 'deployment succeeded', or 'deployment failed (n)', where n is
the deploy_status_code that comes with the signal.

Closes-Bug: #1300679
Change-Id: Ic970a5dac923fffdcdd365983df58f4d338de849
Refined schema for VPCZoneIdentifier

The schema now says it is a list of strings. Also upgraded the
description.  Also clarified the name of
test_invalid_vpc_zone_identifier.

Change-Id: I4b17dbd146965df3df3f4205dddafc0b65061294
Closes-Bug: #1294717
Add link to a resource's nested stack

When viewing a resource, it's valuable to know whether the resource is a
nested stack with additional resources attached to it.  This change
provides a new 'nested' link in the links section of a resource, which
points to the nested stack.

Co-Authored-By: Richard Lee <rblee88@gmail.com>
Implements: blueprint nested-stack-link
Change-Id: Ibc8768d2be8f1dae9a60d3818ae9f56c27bbdc9b
Fix delete event error in postgres

An error happens when heat delete events in postgres,
 It seems that JOIN/DELETE is not supported in
"sqlalchemy/orm/".

Let heat delete events in postgres in the common
way.

Closes-Bug: #1301827
Change-Id: Id320abf15c4fd9f58e411ad7de7f044a9b5d1c1e
Validate user_data_format for server with deployment

Validation error will be raised if user_data_format is not set
correctly.

Partial-Bug: #1295536
Change-Id: I0509c9c3a71d09fa8e2113710d561ffd3289d814
Enable lazy translation in unit tests

Change-Id: Ia2aaaaae34f0f234b2493e7c724d7b874035bcfb
Check that all po/pot files are valid

Perform minimal checks on po and pot files so that no broken files can
get imported.

Change-Id: Ib438faddb362eb8e61eaa64a870160196f16c594
Related-Bug: #1299349
Co-Authored-By: Clark Boylan <clark.boylan@gmail.com>
Move API parameter parsing from engine to API

API parameter parsing should be done in the API rather than the engine.

Change-Id: I133f419bbb73964b461572d8cadd300233af9c12
Make Docker property schema similar with others

All existing resources use property schema, where all properties defined
before they will be used. So Docker resource should have same
definition.

Change-Id: Ie18204569a207f6f168f468446fb0151f309ea25
Add a log info message in Stack state_set

Adding info message in Stack state_set method.
This message would help in searching log files for stack
operations.

Change-Id: Idf462286530f235b954c2bf7fda134a8e02b0bd2
Optional data for resource_data_get_all

resource_data_get_all queries the database for the data, and
transforms the results to a decrypted dict.

If the data is already loaded then it is unnecessary to do the
database query again.

This change allows data to be passed in as an optional argument.
If the passed data is not None then no database call will be made
and the dict transformation will occur on passed data.

Change-Id: I579225d9a3f3b038e0ca41a5900c58413d6e25ac
Related-Bug: #1306743
Catch NotFound for keystone delete operations

If heat-engine is terminated mid-delete, a stack could become
undeletable because of NotFound exceptions being raised on keystone
delete stack domain operations.

This change wraps all keystone delete calls and ignores any NotFound
exceptions raised.

Change-Id: I032b04b1391590a6f9493b65bddff331b07722f0
Closes-Bug: #1308812
Adding attribute schema class for attributes

This patch introduces simple schema class for attributes.
There are two options avaliable for this schema:
 - description
 - support status
It gives ability for adding support status for each attribute.

Change-Id: I46cbf776f315cbe6414005cbee65da1cefdc5f7d
Closes-Bug: #1305584
Document the availability of OS::stack_name and OS::stack_id

Add documentation about the availablility of HOT pseudo parameters
and how to access them.

Implements: blueprint make-stack-name-available-in-template
Change-Id: Iee07aba5cf1b24321191f04282eb0c89a54382cb
Merge "Add a log info message in Stack state_set"
Merge "Optional data for resource_data_get_all"
Change volume size property type to integer

Before it was possible to provide a rational number for SIZE, but cinder
would silently round it down, which leads to inconsistency between
stored resource state and actual cinder volume.

Closes-Bug: #1311707
Change-Id: I97b110f9797e2046bd5d2ae7da227b8dfc19059a
Merge "Adding attribute schema class for attributes"
Merge "Make Docker property schema similar with others"