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
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
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
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
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
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
Don't manipulate LoadBalancer template in-place

When autoscaling reloads a LoadBalancer, it adjusts the configuration by
manipulating the LoadBalancer's json_snippet in-place, which is a very bad
policy.

Instead, make a copy of the LoadBalancer resource's template, and use that
that to perform an update.

Change-Id: I0141c3ebc41462f797eb19182a949da0bb4b76a9
Don't manipulate template during abandon

When deleting a stack during an abandon we want to refrain from deleting
the underlying resources, but there is no need to modify their templates to
do so. In fact, that is highly undesirable because it leaves the system in
an incoherent state, and causes problems for moving away from
templates-as-dictionaries to having an internal template API.

Change-Id: Iddbb3c53342da66f0edadb1e7a314c29a3eff75b
Merge "Add link to a resource's nested stack"
Fix validate failed with an image_name in uuid format

We should support to get the image_id by an image_name which is in uuid
format.

Change-Id: I471ee57ea55f990f852398a43762899dbc3d8692
Closes-Bug: #1312523
Remove unused logger

There are a lot of files contain import logging which is used for
creating logger object. However in some files we only have definition of
logger without using him. In this patch all unused loggers and imports
are deleted.

Change-Id: Iedba6d40850cb050c5c25d9b8a6a1d7128fd4bee
Update openstack-common in prep for graceful stop

Now at oslo-incubator version 95c7598917c7cd16f68a253a2048c21b3df9dfda

Change-Id: I2655ba2b9a0fb5048576f2b738d2af52c76c1d05
Partial-Bug: #1304244
Merge "Don't manipulate LoadBalancer template in-place"
Merge "Don't manipulate template during abandon"
Fix many typos

Change-Id: I2c4b04945dd44cec6d3b245ac00345da7e9ba1bf
Make events return by insertion order

We fixed the table by having the ID available, but the query uses an
index, so MySQL will return the rows in index order, which is not
necessarily primary key order. We need to explicitly ask that it be
returned in primary key order. This should be a free operation on MySQL.

Change-Id: I48d6260e01736fc7475c13cf736968dbf8eda206