Add migration method to test sqldump files

This is very useful for testing real migration issues from a mysqldump.
You use it like this:

    def _pre_upgrade_031(self, engine):
       _load_mysql_dump_file(engine, 'dump.sql')

Change-Id: I0d5680d42d608bdc1cb70ccdf19a4c867b372351
Update oslo db

This is to get the schema check that was added.

Note:
- updated to commit: 8dee4b6f04523d71d2011243875865ebb1508eb6
- but this excludes the following commit:
https://github.com/openstack/oslo-incubator/commit/6603e8fe90da226af579b27ee364aa4bd89d57da

Change-Id: Ia8e2faaac53f41ab12b51334a8564f7eed72f8e4
Showing member list for nested resources

New section 'members' was added for nested resource description. This section
contain physical_resource_id of nested stack resources.

Closes-bug: #1249484
Change-Id: Iff5647b92abcd9d6fc3b6e3f3e7379c3f5f95e79
Refactor software config db model to use LongText

Reuse the types defined in heat.db.sqlalchemy.types in software config
db model and versions migration to make code clean and consistent.

Change-Id: Iae7d5ec34413aedf8a38a3e22d22cacf4e031c24
Global environment ignores files starting with dot

The _list_environment_files() method was modified to ignore all the
files, in the heat.common.config.environment_dir, with names that starts
with a dot. This method uses glob.glob instead of os.listdir.

Change-Id: Ida84472adef771a7310277fdb549d358877fe739
Closes-Bug: #1272114
Add heat.sqlite in git ignore list

SQLite file "heat.sqlite" will be generated during test cases
running. So it should be in git ignore list.

Change-Id: I31217e3de69a016fb4daa7e353161d58c71df98b
Add qpid-python to requirements

Qpid is a supported messaging library, and without this it is
necessary to install it manually in order to use Qpid in some
environments, notably the one used by TripleO.

Change-Id: I398c1d35295223cbc6969b386129c6fc9acbefc7
Closes-Bug: #1225191
fix some flaws in heat documents

Change-Id: If417c72578c49ce2780f7fd2b2911a341b69bcc1
Fix handle_create of NetDHCPAgent for updating

When NetDHCPAgent is updated with new network_id which is already
associated with the dhcp_agent_id, UPDATE_FAILED occurs in Heat. Fix
handle_create to check associating information to avoid this situation.

Closes-bug: #1272258
Change-Id: Ic827295e773d893d9af6d7cf1c687aee69e98298
Enabled source code coverage for contrib directory

So we can check the source code coverage status of contrib
directory. It's obvious to adjust omit and source properties in
.coveragerc. The tricky code in .testr.conf is caused by the behavior
of setuptools.

When running coverage, setuptools set environment variable PYTHON to
'coverage run --source package --parallel-mode' and call testr to run
the tests. The value specified via command line option --source will
overwrite the source value in .coveragerc. So contrib directory is
excluded from coverage run.

The change in .testr.conf removed the '--source heat' specified by
setuptools. So the source value specified in .coveragerc will be used
by coverage.

Change-Id: I92f6b058067ace3b3370a3670856ab3dc073b52f
Don't run pep8 tests with -P

Sync the -P option from other project to don't run PEP8 when running it.

Change-Id: I45ab69985f24d5c1bc387e927dca0640d3a84174
Partial-Bug: #1273598
Fix AWS::StackId pseudo-parameter during stack update

Parameters, including pseudo-parameters, are resolved at the time that
resources are created, which is as soon as they are first accessed (in the
case of a stack update, this means during the validation of the new
template). As a result, by the time we set the AWS::StackId
pseudo-parameter in the process of doing an update it is already too late
for resources in the new stack to resolve them correctly. This was leading
to spurious differences being detected on stack update.

This patch fixes the issue by setting the pseudo-parameter before any
resources in the new stack are created.

Fixes bug 1260282

Change-Id: I908879827d6460ecbef30e9db98ac5597dc323cd
Merge "Update oslo db"
API tolerate None environment string

If an API request has a None environment argument, we should not
reject the request, but treat it the same as an empty environment.

Change-Id: I812f308ef38833e89dfa2ce01263a297032f563a
Closes-Bug: #1273993
heat_keystoneclient convert get_ec2_keypair to v3 API

Convert get_ec2_keypair to use v3/credentials interface, with
backwards compatible support for getting credentials stored via
the ec2tokens API (where we'll only have the access ID stored)

NOTE: requires the fix for keystone bug #1269637 (now in keystone
master).

Change-Id: I55515129b75566335bea24b7ed5246a34a15a747
blueprint: keystone-v3-only
heat_keystoneclient convert delete_ec2_keypair to v3 API

Convert delete_ec2_keypair to v3/credentials API, with code to
handle backwards compatibility where existing resources have only
the access ID stored in the DB.

Change-Id: Ib1cad738674fa9441410af0927ce8f2fc204225e
blueprint: keystone-v3-only
Fix user and signal responder exception import

Both user and signal_responder indirectly import keystoneclient
exceptions via heat_keystoneclient.  Instead we should directly
import from keystoneclient, otherwise this relies on the internal
import naming in heat_keystoneclient.

Change-Id: Iff6570f890024a04295b234255c63e2ba1433cb4
Purge remaining heat_keystoneclient v2 code

Removes the remaining v2 specific code, and converts the trust
handling code to use only the v3 client.

This completes the keystone-v3-only blueprint.

blueprint: keystone-v3-only
Change-Id: Iac5b7dd73f5827cc5247a3b71d63a0f5ea266628
Merge "fix some flaws in heat documents"
Merge "Don't run pep8 tests with -P"