Document security group properties

AWS::EC2::SecurityGroup

Change-Id: I92e602159efc3e877d084827ab5cbf9cdd4cabdf
Closes-bug: #1224149
Updated from global requirements

Change-Id: Iee8b257726188973e9b7df6c7ae7c402bfdb2877
Allow plugins to be specified as a cloud_backend

Currently, the cloud_backend configuration option can only use modules
imported in-tree before clients.py is imported. This does not work for
plugins because they are dynamically imported in
heat/engine/resources/__init__.py after clients.py is imported. Change
the cloud_backend module to be specified when the client class needs
to be initialized rather than when clients.py is imported. This change
requires a class to be specified for the cloud_backend rather than a
module name.

Change-Id: I8f2b93bfb6a9585d1e7dc52d70092105b6e1bfaa
Closes-Bug: 1242870
Repeat Ceilometer alarm actions by default

The policy actions assume repeat_actions=true.

For the situation when cpu is high even when a new server is added.
Here we would expect yet-another server to be added but what currently
happens is the alarm will be stuck in the alarm state, but with no
further actions.

We need a default that it sane.

Closes-bug: #1242168
Related-bug: #1223347
Change-Id: I4c6a084076a0cc01ebd0d7431d3fac559161e947
Refactor Nova server resizing to be self contained

The split between calling server.resize() and check_resize() makes
it more complicated to add other tasks that can be done in parallel
with other servers' tasks. By making a resize method which is self
contained we simplify the addition of rebuild in a subsequent patch.

Change-Id: I0490476dbef30571e90b88163fc8ca0670458682
Add rebuild to OS::Nova::Server

Nova has support to rebuild an instance so that it keeps the same
instance id and address. This is particularly useful for doing image
based updates to servers without incurring additional cost to create new
servers and then delete the old ones.

We still default to replacing, and add a new policy called 'REBUILD' for
the times where we want a resource to be rebuilt on image updates rather
than replaced.

blueprint nova-server-rebuild

Change-Id: If0033f52912e939048b5ebc1ee2e30f67d225f34
Allow user_data to be passed without modification

Although heat's agent tooling is heavily dependent on cloud-init, some
users will want to orchestrate servers that are not cloud-init enabled.
They may use their own agent, or a user_data which is executed as a
script on boot. Possibly the user will also want to specify #cloud-config
user_data explicitly.

This change adds the property 'user_data_format' to OS::Nova::Server
with the available options 'HEAT_CFNTOOLS' or 'RAW'.

The following OS::Nova::Server resource snippet was successfully
executed on a cirros image (which does not support cloud-init)
      user_data_format: RAW
      user_data: |
        #!/bin/sh -v
        echo foo > /tmp/bar

This change is completely unrelated to any software configuration
related blueprints, however the property user_data_format has the
potential of supporting more values in the future.

Implements blueprint raw-user-data

Change-Id: I27571620b4fc74a9f82d12a2f754037c00ad81ff
Merge "Document security group properties"
Merge "Allow user_data to be passed without modification"
Merge "Refactor Nova server resizing to be self contained"
Merge "Add rebuild to OS::Nova::Server"
Merge "Allow plugins to be specified as a cloud_backend"
Merge "Repeat Ceilometer alarm actions by default"
Merge "Updated from global requirements"