Use ScaledResource as type for InstanceGroup members

Use the placeholder type OS::Heat::ScaledResource as the nominal resource
type for resources in an instance group. Use the environment to select the
actual underlying resource type (current AWS::EC2::Instance).

Change-Id: I52252c596fa48e57d927eb78e9d5b7c8261adb3e
Add load balancer PoolMember resource

This adds a new resource to manage the relationship between a load
balancing pool and an address, allowing more options like setting the
weight of the member.

Change-Id: Ic8a55ff8b8b00c7a4e3184b3028d5bf0cdd5c916
Implements: blueprint loadbalancer-pool-members
Update tox.ini to use new features

tox 1.6 allows us to skip the sdist step, which is slow. This does that.
It also allows us to override the install line. In this case, it's
important as it allows us to stop getting pre-release software we
weren't asking for.

Original patch by Monty Taylor, talked about here:
http://lists.openstack.org/pipermail/openstack-dev/2013-September/015495.html

Change-Id: I9fe8a6cff149b3b79d434dc955c77a358c43031d
Remove unused dumps validation in JsonParam value

If the passed parameter is not a valid Json object, a ValueError
exception will be raised in JsonParam parse(). So no need this dumps
validation in value().

Change-Id: Ie450d3923a905b7de3dcbece351aec937ebe7a61
Add OS::Neutron::NetDHCPAgent for neutron/net.py

This resource supports part of "agent management and scheduler
extensions" in Neutron.  It associates network with dhcp-agent.

I think, it may be needed by administrators who want to decide agents to
work. (e.g. to use HA functionality)

Closes-bug: #1245366
Change-Id: I3dc663c4c51824bd3e69c74ff1d9b50a8ce598c9
Database changes for multi-engine support

Add a stack_lock database table to use as a distributed stack lock to
avoid race conditions when multiple engines are deployed.

Blueprint multiple-engines

Change-Id: I0b8e244a73295dca307cb09ea5da2ebe709134b1
Sync oslo threadgroup.py to fix wait & stop methods

Sync oslo threadgroup.py to 25ff65e955b7ef1091722224f7c71f14fc971354 so
we include the fix for bug #1196525, which resolves a problem where the
wait and stop methods would not actually wait for/stop all threads in
the thread group.

Change-Id: Ia49d7096180b2942cf49b1f0dacde3c5e933337c
Allow docker plugin to run w/o deps

The docker plugin tests would not run without the docker lib being
installed even though the client was mocked in the tests. This
patch adds conditional import of the client and registration of
the plugin so that the contrib tests can be run in the gates
without having to hack requirements or add more third party
libs.

Change-Id: Ia114f8ebc0cf0b72af8e6e5d2c3264fb7952d7f9
Partial-Bug: #1251380
heat-manage man page not generated in doc build

Was missing entry in the build configuration file.

Change-Id: I38a28a39936381303f87c676baa7075d5aa87440
Closes-bug: #1259674
Implement stack-locking for multi-engine support

Implements a distributed stack lock using the database to avoid race
conditions when multiple engines are deployed.

Blueprint multiple-engines

Change-Id: If3c47dafcc5bc1b2188b7737205291bbab8bc231
Implement engine listener service for multi-engine support

The engine listener service provides a way for engines to confirm that
other engines are still alive.  For example, during acquisition of a
stack lock, if an existing stack lock is found the engine will attempt
to communicate with the engine who owns that lock.  If the engine
responds affirmatively, the lock will be considered active.

Blueprint multiple-engines

Change-Id: I6d8f1305953212408f19688a1e0af81c44e5e5b4
Utilize stack-lock for multi-engine support

Utilize a distributed stack lock to avoid race conditions when multiple
engines are deployed.

Blueprint multiple-engines

Change-Id: I2278c7922557b6234cd7ff162cea92af83e9fb8b
oslo: add the test module needed by test_migrations

Change-Id: I99fbae289c29f03b1a8ef391e3c9bf1bf0f4556d
oslo: update the remainder of the modules

Change-Id: I83796c1e1f2f69d2ce27e7180c4004a5f345f063
Sync global requirements to pin sphinx to sphinx>=1.1.2,<1.2

Sync the global requirements to pin sphinx.  This addresses an issue
where Sphinx 1.2 is not building documents correctly and causing
check/gate to fail.

Change-Id: Id4a54ec708102e35602e87ee9773ca119ce5b4f6
Remove unused variable badkeys

Since it's never used and consumed a set subtraction.

Change-Id: Ic2231ad5e491527c7f746172d9a3e07a6623b823
Merge "Add OS::Neutron::NetDHCPAgent for neutron/net.py"
Merge "Add load balancer PoolMember resource"
Merge "oslo: add the test module needed by test_migrations"
Don't replace (and log) the same resource entry

Resources may be registered multiple times. This
ensures that logs are only emitted the first time
a resource is registered.

Change-Id: Iedd12d55007ee24ea6ecbe4fe7152ff65ea665b0