Resources for Rackspace Auto Scale

This introduces Rackspace::AutoScale::Group, ScalingPolicy,
and WebHook resources, to support the Rackspace Auto Scale
product.

Change-Id: I38b8f368d833b7475f260b8eb7afcc3a2a3770e7
Send usage notifications on major stack events

These notifications can then be used for usage/billing/alarming purposes.

Some of the base fields are based on the existing nova fields:
https://wiki.openstack.org/wiki/SystemUsageData

This patch just has the minimum fields needed we can add more as users
ask.

We can also add more notifications as we need:
- automated actions (autoscaling, restart)
- time based .exists notifications

implements blueprint send-notification
Change-Id: I63ad5402037799842643eb642af15b54ef8d7483
Check that the epel repo exists before adding it

The epel repo that contains cloud-init and other packages needed for the
rackspace resource does not always exists. The setup script will fail if
you try to import the repo when it exists because of running the script
with set -e.

Change-Id: If1f912c2e7cbe3ccd58e10d0ea2e1e07b2114b48
RackConnect compatibility for Cloud Servers

Make the Cloud Servers resource aware of the RackConnect automation.
The Cloud Servers resource should wait for the RackConnect automation to
complete before proceeding with the server configuration.  Additionally,
the server's public IP will have changed, so any previously-fetched
public IP needs to be forgotten.

Blueprint rackconnect

Change-Id: I61676ac821695431cdba0d9a7d3b2e009f6ca3e4
Create a guide for scaling out Heat API's

This documentation describes a guide for scaling out the ReST and
CFN API's based on a devstack installation. HAProxy is used as a load
balancer, redirecting calls from CLI to the several API's instances.

Change-Id: I6efe988ce970f2a3aa08f39050f85dc1621e6774
Closes-bug: #1072958
Imported Translations from Transifex

Change-Id: I136e18c33fa05a83fc8098d944eba4a4aa6c72b9
Merge "Check that the epel repo exists before adding it"
Merge "Send usage notifications on major stack events"
Implement update for neutron network resources

This change allows any updatable properties to be updated
on an existing network without replacement. Documentation
is limited on what properties are updatable, so discovery
was manual.

The method prepare_update_properties can be used by other
neutron resources to implement their updates.

Change-Id: Ib128123544c4a62b4ba672203c1a81cf082a8847
Implement OS::Neutron::SecurityGroup

Some notes on the implementation:
* There is a single list of rules, with the 'direction'
  attribute denoting whether ingress or egress (ingress is the default)
* All attributes are updatable without resource replacement using
  prepare_update_properties.
* Rules update is implemented by:
  * deleting all rules
  * restoring default egress rules which allow all egress
  * adding new rules
* The remote_mode attribute allows switching from remote_ip_prefix
  to remote_group_id based associations
* As documented in the remote_group_id property, a rule can establish
  a self-reference to its own security group by specifying
  remote_mode: remote_group_id and not specifying any value for
  remote_group_id

Implements blueprint native-neutron-securitygroup
Partial-Bug: #1206313
Partial-Bug: #1243686

Change-Id: Id240fe02b5b85d7b11f48411a58e98d2d575c9a0
Implement update for neutron subnet resources

This change allows any updatable properties to be updated
on an existing subnet without replacement. Documentation
is limited on what properties are updatable, so discovery
was manual.

Change-Id: Ia585d1b7d24900f2789f2127a76dd272aa7fb850
Set the waitcondition maxvalue to 12 hours as AWS specifies.

This is just setting an upper bound on the waitcondition of 12 hours.

Change-Id: I6fe25d1465007e5bb164c1a004dcc6b12aa48184
Add property documentation for the waitcondition

Change-Id: I9d194b8f0f92e1958e8b6388937dfe0c78c933ff
Closes-bug: #1224161
Merge "Create a guide for scaling out Heat API's"
Merge "RackConnect compatibility for Cloud Servers"
Imported Translations from Transifex

Change-Id: Ica683a71b00d1adf8a73f8bef56e2078ef1d50ce
Fix "members" property check

According to https://bugs.launchpad.net/heat/+bug/1247638/comments/3

Closes-Bug: #1248571
Closes-Bug: #1247638
Change-Id: I4a61963d730250d8c3714b20c9cc7bb3717d85af
Refactor tests to use mock

Refactor some of the tests to slowly move towards using mock
instead of mox

Change-Id: I0f8039b0ccd07c9a1737b229b520f9225484d4b9
Merge "Implement update for neutron network resources"
Merge "Implement OS::Neutron::SecurityGroup"