Import the stack module directly

Note: the patch imports "stack as parser" in some places to maintain
API (service.py and event.py).

Change-Id: I0409a04789f0ca362cb9ab0b612d47226d785334
Hard delete backup stack after successful update.

After successful update of a stack, the backup stack and it's associated
template, resources and events should be permanently deleted.

Closes-Bug: #1332300

Change-Id: I3a462690b5f6bfadfbcf16eeb6bdec7c5ece2e83
Use host information passed while starting service

While starting the heat engine service, the host parameter value
being passed to EngineService should be used instead of referring
the conf.
Similarly in the case of EngineListener.

Change-Id: I365f7e21637776d2e7da7685790758f3dcd06989
doc: Improve use of the support_status attribute

This patch adds admonitions to the template_guide to indicate support
status of resources to the reader. Deprecated resources will be clearly
indicated, as well as the version in which a resource appeared.

This patch also rework the generated markup to use paragraph nodes
instead of inline nodes inside notes.

Closes-Bug: #1360561
Change-Id: I5ee9fd47f0aa9627beb842dc46aa3bac10060e13
Support classes for heat integration tests

These support classes started as a forklift of the classes needed
to run tempest scenario orchestration tests.

The original tempest code has been pared back to provide the
small subset required by heat integration tests. From this point on
these support classes can evolve to the specific needs of the
integration tests.

There is some unused code (especially in remote_client) which has
been left in as it may become useful in the future, and is already
extremely well reviewed and tested from being developed for tempest.

The script heat_integrationtests/generate_sample.sh will generate
an up-to-date heat_integrationtests/heat_integrationtests.conf.sample
file which can be copied to
heat_integrationtests/heat_integrationtests.conf
to override default configuration values. A local ConfigOpts is created
for each test to avoid any potential interaction with heat's
global CONF. Configuration options for credentials default to
being sourced from the environment.

The default tox testenv now excludes tests in heat_integrationtests.
A new testenv called "integration" will only run tests in
heat_integrationtests.

Integration tests will fail if preconditions are not met, including
a keystone endpoint, credentials and glance containing the expected
named image.

Devstack gate hooks have been moved to heat_integrationtests now that
the name of the package has been decided.

Change-Id: I174429c16bb606c5c325ee8b62c6e600ea77a6e6
Partial-Blueprint: functional-tests
Add two attributes for cinder volume

Add 'encrypted' and 'attachments' attributes for cinder
volume resource.

Change-Id: I920f97d196e5f4bed7bc8186b7d12157ee25edea
Add tests for list_stacks and count_stacks params

There are no tests for show_deleted and show_nested
params in list_stacks and no test for show_deleted
param in count_stacks. Methods' return depends on
these params, so this patch test correct using of
these params.

Change-Id: I08a68ac7c1b1f5abeeadf8563a6b347ecee6e369
Access Template class through template module

Fix tests in test_engine_service to refer Template class
directly (through template module).

Change-Id: Icc3a7dbd47b230fce6e646cadd5ba2a2a66c6259
Closes-bug: #1375309
Switch to oslo.serialization

Change-Id: I09920ffdf120520112ffe1d7d7e9a3b94028019c
Updated from global requirements

Change-Id: I225661c4e2864a52409281c0f216d3aa4c75645a
Fix cloud-init Python syntax for Python < 2.6

The loguserdata.py file gets uploaded to the servers created by Heat to run
under cloud-init. Since the default versions of Python installed on the
user's server may be very old (e.g. RHEL 5 defaults to Python 2.4), avoid
using the octal syntax introduced for Python 3.0 and backported only as far
as Python 2.6. (Also avoid the old syntax, which will break on Python 3.x.)

Also remove use of the "with" statement from loguserdata.py and
part-handler.py. This statement is only available from Python 2.6 on (or in
Python 2.5 via "from __future__ import with_statement").

Finally, remove use of the "except ExceptionType as value" syntax for
catching exceptions. Again, this was only backported to Python 2.6.

Change-Id: I89e86d00993d51e2514b1e589503c6d966909403
Partial-Bug: #1375864
Add current_size attribute for OS::Heat::AutoScalingGroup

User can use this output attribute to get the current size
of AutoscalingResourceGroup.

Change-Id: I6756e85aa3435a822aa72139cac7aabd8254079d
Merge "Add tests for list_stacks and count_stacks params"
Merge "Switch to oslo.serialization"
Merge "Access Template class through template module"
Merge "Add two attributes for cinder volume"
Merge "doc: Improve use of the support_status attribute"
Merge "Updated from global requirements"
Remove cinder-keystone-setup script

This is a legacy script from the tools/openstack days, so we don't
need it now as that script no longer exists.

Change-Id: Iddcd76739447e65fcbf4f4bac517cf4fd919fac9
Closes-Bug: #1376712
Provide support status info for some resources

Define the support_status attribute for resources added during the
icehouse and juno cycles. The `version` provided is the tag of the
stable release.

Implements: blueprint heat-templates
Change-Id: Ic1b14bfa338cddc91ae235ccec47241cc97d26ef