Added links to missing integration information

Change-Id: Id9edfb939554e1afcd2677af4ee6ed36c9a1e02e
Closes-Bug: #1332913
Fix the section name in CONTRIBUTING.rst

The name of the section 'If you'are developer, start here'
has changed in the wiki. This commit updates it to correctly
refer to the good section.

Change-Id: Ief8c1e3dfa75baea945b8c094f17e20183e7f44b
Closes-bug: #1332915
Fixed the reference to 'Creating Unit Tests' in HACKING.rst

Change-Id: Ie9778aceabb4239058468cf64009792253995ec2
Closes-bug: #1332920
Add a OS::Nova::ServerGroup resource.

Change-Id: Ia6dc596b3ddcfb29dfe8f712794584fb2f6954ca
Implements: blueprint vm-instance-group-support
Document get_file get_param incompatibility

Adds a doc note that get_file only accepts static
arguments.

Change-Id: I3386a6f70c3ca2a8d32b7d0d56f6eb5c0bf56774
Guaranteed password complexity using OS::Heat::RandomString

This will allow users to generate passwords for applications that have
specific password strength requirements.

blueprint random-string-complexity

Change-Id: I801b4b46e1b9a872a02695176f6b7ab6b9a5f19d
Pass the context when updating raw_templates

Without a context, the raw_template was being stored using a different DB
session, with the result that changes did not end up in the database.

Also, don't use the same raw_template DB entry for the backup stack, since
that causes competing modifications to the DB that break rollback.

Change-Id: I6c71c19acac0b87943f36c57c2300cf2b0478aa3
Closes-Bug: #1331872
Related-Bug: #1291905
Related-Bug: #1206702
Related-Bug: #1328342
Merge "Added links to missing integration information"
Fix pagination of stack-list

This was broken by the refactor in dde5a81e8060b373982f165856071a80be1d40bb
because the arguments to the DB call are in a different order to the ones
in the API, presumably for historical reasons.

Change-Id: I7503feb62089b252766a510281e0e4513945ad63
Closes-Bug: #1332611
Merge "Document get_file get_param incompatibility"
Merge "Fixed the reference to 'Creating Unit Tests' in HACKING.rst"
Merge "Fix the section name in CONTRIBUTING.rst"
Only do property validation in validate()

This patch changes resource property validation to only validate
properties in the Properties.validate() method.

So far, validation was done for each access to a property's value
in the __getitem__ method of the Properties class. This causes a
lot of un-necessary revalidation and especially with custom
constraints for flavors, images etc. this can become very expensive.

Doing validation in the validate() method should be sufficient since
this invoked as part of the pre-processing of resource actions that
receive new or updated properties (CREATE, UPDATE).

As part of the change in properties.py the validate_data method of
Property was also renamed to get_value with an optional validate
flag, since to the most part this method is really used to get a
sanitized representation of a property's value with only basic
data type checking.

Partial-Bug: #1324102

Change-Id: Ibe0aefbe8fa554c0cf227f16f971baedaa52cd8d
Deprecate direct access to clients methods

This change deprecates access to methods like clients.nova()
replacing them with calls to clients.client('nova')

This allows the memoization to be done in one place (the client()
method) and also establishes the preferred API for accessing clients
that are contributed by plugins.

All calls should now be going through the new client() method.
Any calls to the old methods will result in a deprecated log
warning.

Change-Id: I3dc45aaed2655536ed1558e03f468b0733527815
Make heat.engine.clients a package

As blueprint client-plugins progresses, the code in __init__.py
will move into plugin modules, until the only package initialising
code remaining will be the following:
- plugin initialise
- Clients class which memoizes client plugins for a given context
- deprecated clients methods (until deleted later)

Partial-Blueprint: client-plugins
Change-Id: Ic8f67e3519b10c0d3d204e15e5ad72376c50a1dd
Fix pass incorrect volume_size while building bdm

If specify device_name, snapshot_id, delete_on_termination=True
and not specify volume_size for bdm while create a server,
heat will pass the bdm such as {'vdd': '1234:snap:0:True'} to
novaclient, the volume_size is incorrect,
nova won't create a volume from the snapshot because the
volume_size=0. If not specify volume_size, just to pass ''.

Change-Id: Ic1407671cc7bc6695bcf8e0c9f86fbdbaf245658
Closes-Bug: #1335728
use register_cli_opts instead of register_opts

oslo.config provides api register_cli_opts
to register multiple opts at once and same
is used in this patch to replace the
register_opts

Change-Id: I80b9bf37308c9e7085947200bc7c393c15e5e29d
Closes-bug: #1336224
Merge "Fix pagination of stack-list"
Catch NotFound for every stack delete db operation

A stack delete can be interrupted by another delete request
at any stage, so a stack may be in any state of partial deletion.

This change ensures that every db operation in a stack delete
will catch NotFound exceptions so that the delete process can
continue.

Change-Id: I3b665acbc7979147f24793a314da37150d4efeb8
Partial-Bug: 1328983
Merge "Fix pass incorrect volume_size while building bdm"