Document network interface properties

AWS::EC2::NetworkInterface

Change-Id: I7c74096c68df319cc3d2e3d918c8e9d0e458e2c1
Closes-bug: #1224146
Document security group properties

AWS::EC2::SecurityGroup

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

Change-Id: Iee8b257726188973e9b7df6c7ae7c402bfdb2877
Merge "Document network interface properties"
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"
Imported Translations from Transifex

Change-Id: I7b20f835a178827847b5cf338d67bf2348e3c876
Merge "Updated from global requirements"
change assertEquals to assertEqual

According to http://docs.python.org/2/library/unittest.html
assertEquals is a deprecated alias of assertEqual.

Change-Id: Ic65fb8fad923adc04d90ea9622b23a2ae8290a3a
Use resource_id_set to clear resource ID's

self.resource_id = None is used in several resources, which is wrong,
we should be explicitly updating the resource_id in the DB via the
resource_id_set function.

Change-Id: I41e1326fe7e1da364c8e6dd68f572df484beffb3
Prove that a user can't remove global resources

This is obvious looking at the code, but if someone ever
reworks it, then we will need this test case.

part of blueprint exclude-resources-option
Change-Id: Ic04b09597ca5d401fcd40ce9241f12c2f7fca04c