Fix install.sh calling setup.py

a25d888c914b417b2e7fba9bd497088b22a46309 broke install.sh due
to making the setup.py 644

Change-Id: I18e0340e4ae191eea68516b54483db72d93a7b2c
Use system locale when Accept-Language header is not provided

Remove en_US as the default language when no header is provided, and use
None instead. Upon translation None will be defaulted to system as it
was before the translation changes.

Fixes bug: #1214476

Change-Id: I0fe22c526710e69ae0731e7d0b42170e6f3a8523
Convert heat.common.template_format to use C yaml

Will fall back to pyyaml if CSafeLoader/CSafeDumper are not available.
This should increase template parsing performance by a factor of 9 and
reduce memory usage by an order of magnitude.

We also convert the one test that was directly calling yaml to use the
template_format.parse function, so that the same parsing is used
everywhere.

Change-Id: I0d14be2ef7fb2dccac43fc41b1d2d9e4395c6f77
Fixes bug #1214580
Fix incorrect use of ServerError

ServerError is being incorrectly used to report an internal error
leading to an error formatting the response, as there's no body
specified to the format string.  Use exception.Error instead and
adjust the message to make the user-visible response clearer.

Fixes bug #1214457

Change-Id: I83435686170c4f40658968a35f1faa303f50f4a4
Handling re-delete in rackspace db resource

Current implementation of db resource throws exception if the
resource was already deleted(All the other resources are not
throwing). This fix is to make db resource behavior similar to
other resources.

Fixes Bug #1197077

Change-Id: I4537180115400e6f6183e72a74bdd3ada220a3fa
Use Template to instantiate TemplateResource

Use the Template class, rather than the raw template data, to obtain the
information required to create the schema of a TemplateResource facade.
This will allow this feature to work with multiple template formats (e.g.
HOT vs. CloudFormation).

Change-Id: Ifde739b081e95ed9f14567f35a0a1680c5e9b631
Generate property Schema objects directly from parameters

Use Schema.from_parameter() instead of Property.schema_from_param() to
generate a property schema from a parameter schema.

Change-Id: I1049822057d954ddbb47027aad136f7b45541943
Remove the Property.schema_from_param() method

This is now unused.

Change-Id: I5da20effe72a791d6dd8e9cc99ec9e43dea2da07
Process request exceptions while fetching template

requests raises subclass of requests.exception.RequestException, not
IOError. And the code explicitly calls raise_for_status to avoid HTTP
errors being silently ignored.

Fixes bug #1214429

Change-Id: Ib3ea7e4fea459a231f0bb7f113e3d66983b006c2
Add UpdatePolicy attribute to Instance/AutoScalingGroup

This is the second part of a series to implement support
for AutoScaling UpdatePolicy.

Defined new update_policy attribute for InstanceGroup
and AutoScalingGroup, and modified init of InstanceGroup and
AutoScalingGroup to parse UpdatePolicy from the template.
Currently, only InstanceGroup and AutoScalingGroup manages
update using UpdatePolicy and so this is not implemented in the
Resource class. This can be revisited when UpdatePolicy is
applicable to other resource types. The resource validation
method is also overridden here to validate the UpdatePolicy.
Included tests to validate various uses cases of templates
with, with bad, without, and removal of UpdatePolicy. This
patch does not address handling of instances update with
UpdatePolicy yet. The next patch will address that.

Change-Id: I1faf1a8a3ba1faf063b6687b34b57b2a96c6bfa8
blueprint: as-update-policy
Always validate auth_uri with allowed_auth_uris

The original intention was to allow heat to orchestrate
on any requested cloud when allowed_auth_uris is configured
with an empty list.

This change makes all requests be validated against
allowed_auth_uris for the following reasons:
- there is a potential security issue with requests
  being authorised by a fake keystone, allowing an exploit in
  heat to be executed without any valid authentication factors
  first being presented.
- ec2token middleware will also need to be made multi-cloud aware
  however as a compatible API it is not possible to specify the desired
  auth_uri with each request. Instead ec2token will need a list of
  configured endpoints so that it can try each one until a request
  is authenticated.

Change-Id: I3d6b7edf381a66b87b6e1fae07bc5dbe9db024bc
Replace httplib with requests for ec2tokens auth

This vastly simplifies the implementation and test mocking.

ec2token middleware is the last piece of code in the heat
repository to be making direct httplib calls.

Change-Id: I3807b27a7699ff19eb46e2721aaa5afd9d6c8ff9
Improve update debugging messages

Change-Id: I231275c1ce7dcba441a57d2ac29d2ad59e993e98
Pass the previous stack to StackUpdate

This starts out like the existing stack, but is not stored in the database
or updated as the stack update proceeds. This allows the StackUpdate object
to store any information that might be relevant to a future rollback.

Change-Id: I94f0dd69b5e7818f811c8c0d50566a79b81acba7
Make the API for getting dependency graph edges public

This will allow us to build new dependency graphs from combinations of
existing graphs.

Change-Id: I6da62607fa1e361d4d2e1581fd286c62f0d9470a
Merge "Add UpdatePolicy attribute to Instance/AutoScalingGroup"
Limit maximum size of all templates

Templates of an extremely large size can eat up tons of CPU time,
memory and storage. By refusing to parse any template over a certain
size, we can prevent users from abusing the service.

Fixes bug #1214234

Change-Id: I2f731c8e2fc9e1f497199e310de81fa48c9582af
Add a script show all possible state transitions

The output of this script will be useful in documenting all possible
state transitions.

Change-Id: I24e442ce20fe7730c915a77b85014f44075e03fd
Merge "Improve update debugging messages"
Do not assume nova provides a fault on ERROR

A nova server object in an ERROR state does not
always provide a fault attribute to get the error
reason from.

Fixes bug: #1213285

Change-Id: I861951207cf8fd526a65f768154c76afd0be9081