Sync gettextutils from oslo

Some Messages, like those from Invalid exceptions, use a Message within
a Message, and we were only translating the base Message but not the
Message substitution within.

Fixes bug: #1221808

Change-Id: Ic3119df23a090cfaa160c1461e955f0af55fe1cf
Document swift properties and attributes

Change-Id: I4fdc87162ccf07241af6432bf000818a8a276f16
Closes-Bug: #1224153
Document neutron health monitor and pool properties

This adds descriptions to the properties of OS::Neutron::HealthMonitor
and OS::Neutron::Pool, as well as gettext wrapping for the attributes
description

Closes-Bug: #1224172
Change-Id: I1b7a974b8e8b557bd0ed56f3c08c43f385106738
Allow access to attributes of resumed resources

RESUME COMPLETE|IN_PROGRESS were not treated as valid states while resolving
attribute, thus causing Fn::GetAtt to fail after a stack is resumed.

Fixes bug #1227025

Change-Id: I37b900c61b7d3017afe75fa726597f458be95d93
Allow resource_by_refid returning resumed resources

Resumed resources aren't returned by resource_by_refid, which causes problem
after a stack is resumed.

Fixes bug #1227032

Change-Id: I87893a04bb267e1b42b55f3c60c22a6268ae4464
Add the shared property to neutron Net

shared has been added since this resource was written.

Change-Id: I73cbb6e3268d6cd93a94a98874f44aa075e504a2
Closes-Bug: #1227282
Consider downloading a valid status for CinderVolume

"downloading" should be considered a in-progress state while creating a volume
from an image. Because Cinder will first create a volume with specified size
and set its status to downloading, then start fetching the image from glance
and copying it to the volume.

Fixes bug #1222676

Change-Id: I573440f3184c3d47df0d7e78146b0ed030606d86
Merge "Document swift properties and attributes"
Merge "Document neutron health monitor and pool properties"
Merge "Allow access to attributes of resumed resources"
Merge "Allow resource_by_refid returning resumed resources"
Document internet gateway properties:

AWS::EC2::VPCGatewayAttachment

Fixes bug #1224143

Change-Id: Ia896369f4cfcd5d13d66a2defb120b1c05d71fb6
HOT str_replace to use string.replace, not string.Template

str_replace uses python templates, whereas Fn::Replace uses python
string.replace.

During the original review for Fn::Replace, python templates were
decided against because $ would often need double-escaping in shell scripts.
https://review.openstack.org/#/c/31736/

Having different behaviours between Fn::Replace and str_replace will
add complication for users migrating existing templates to HOT.

Another advantage of using straight string replacement is seen when
the template generates a executable script. In this case it is generally
possible to write a template that can also be executed directly in a
dev/test environment. This would often not be possible if the template
format required placeholders to be prefixed with a $.

Whatever behaviour exists when Havana is release will have to be
supported indefinitely so now is the time to decide if this is going
to be fixed.

Closes-Bug: #1228640
Change-Id: I72879b374a3c61dfe0e4004251ab709d914f2e25
Replace first_public_address/first_private_address

OS::Nova::Server attributes first_public_address and first_private_address
will not work with neutron, which allows any network name to be assigned
not just 'public' and 'private'.

This change replaces these attributes with a 'first_address'
attribute which uses the same nova_utils.server_to_ipaddress method
that AWS::EC2::Instance uses to populate all of its IP address
attributes.

This needs to be fixed before the Havana release to avoid these
broken attributes needing to be supported.

Change-Id: I0b4dc009d665e4d7b4cbc32d484a2efc6068320a
Closes-Bug: #1228929
StackResource set requires_deferred_auth=True

The dynamic evaluation of requires_deferred_auth will not work
as the nested stack has not been created when requires_deferred_auth
is evaluated.

In some cases subclasses of StackResource could implement dynamic
evaluation but for now it is safer to assume any template with a
nested stack needs requires_deferred_auth=True

Change-Id: I4ca3804ede5c7aa2167931279e5bed84480ac454
Closes-Bug: #1229412
Format error on urlfetch.get fail

The error messages for fetch failures of nested stacks have too much
detail. This change formats fetch fail errors in the same way
that TemplateResource does.

Change-Id: Ib8afa281a53f895086ce8890c828fe4a8bb469ae
Closes-Bug: #1214227
Use name property in OS::Nova::Server if set

Currently the name property is ignored if specified; the intention
was to use the name as the nova server name if specified.

This is implemented by overriding physical_resource_name
in the same way as SwiftContainer.

Change-Id: I06a6f3d69119fb470eb54930c2bd7b329cabd6c7
Closes-Bug: #1229244
Merge "Sync gettextutils from oslo"
Merge "Consider downloading a valid status for CinderVolume"
Stop nested stack updates exceeding resource limit

This is the final way for a user to exceed the max_resources_per_stack
configuration value.

Fixes bug #1215100

Change-Id: I5e0f86c1ad6d74c2fcb3aa2de1028ec93b3e2dd6