HAProxy example had incorrect descriptions

Change-Id: Ibc14297159e6e0c0b159d214539a5030d4af573e
Add packages and versions in response to grizzly-1

- Paste is now PasteDeploy
- boto is now an explicit requirement
- python-glanceclient replaces removed glance client
- added PyYAML for new YAML format

Change-Id: I59e11a45f7cc77007e259e5dd1b216e691c5f116
Module for converting JSON to YAML, and parsing both

convert_json_to_yaml is a utility function used for tests and file conversion
utilities.

parse_to_template will take any string, infer the format, and parse to a
python structure. Currently it assumes the file is JSON if it starts with '{'
otherwise it attempts to parse it as YAML.

Change-Id: If15ccdaf912693f76b74bb1fe879145af1cb36b1
Parse all templates with format.parse_to_template

It can no longer be assumed that a template string is in JSON format.

Change-Id: Id43b82a25e62f7c7868c1c51556c5bde94e7b132
For tests, Parse all templates with parse_to_template

Change-Id: Iedb6929f46dddbb888a7248034864855b5cd0205
Utility to convert JSON template files to YAML

Accepts a directory or file path.

Change-Id: Icd51db5484283372a2b5fb8c681b0e88c7a9c1d5
pip-requires fix boto version

Boto version added to pip-requires is wrong - we need a version containing
the commit discussed under https://github.com/boto/boto/pull/742, which is
only included in boto>=2.4.0

Change-Id: Iaaa61f306d4035e63ca3f7a0eafe2d5715585f16
Signed-off-by: Steven Hardy <shardy@redhat.com>
cfn-json2yaml file-mode bugfix

file-mode wasn't working, also add missing header

Change-Id: I75d15fd73de4ab3ce679ae3a274ec1c402802267
Signed-off-by: Steven Hardy <shardy@redhat.com>
Merge "pip-requires fix boto version"
Don't assume parsed JSON in REST API.

This checks to see if the 'template' attribute is a dict.

If not it uses format.parse_to_template to parse it.
Change-Id: Ic9b9ef3e88a33a93d5896277cc3d4da4fd55fc25
Set default empty dicts for missing sections

So that the YAML format can be more terse, make empty version and
sections imply the lastest version and an empty dict for the
section content.

Change-Id: Ic8b86065534930852fff1488849dbbbbb6b85243
For Fn::Join join strings in resolve_static_data

Fn::Join now has some preprocessing in resolve_static_data
where contiguous strings are joined into a single string.

This will allow equivalence tests to pass when comparing
JSON templates to hand-tidied YAML

Change-Id: I49fb2456388b3fd554ccec00920d7e84f6998183
Convert some existing templates to YAML format.

This is the result of running:
python tools/cfn-json2yaml templates/
and then cleaning up by hand to be more consistant, readable and
maintainable.

The following templates are enforced to parse to identical stacks
in the unit tests so any fundamental change to one must be made
to the other.

Quantum.template
Quantum.yaml

WordPress_Single_Instance.template
WordPress_Single_Instance.yaml

Change-Id: Ibe05a5c5a7a5bb1861c5f84a3dc41e2d632852fd
Use pkgutil to load cloudinit data

Unlike reading from the filesystem, this will allow the data to be read
even if the package is installed as a gzipped tarball.
Move the resource module out of the resources package

Leave only the actual resource implementations in the heat.engine.resources
package. This is the first step to implementing a plugin-style architecture
for resources.
Distribute resource mapping to individual modules

Define the mapping from resource names to classes locally in each module
and then aggregate them. This moves the mappings near the definitions, and
provides the format for an eventual plug-in resource architecture.
Add a module for dynamically loading plugins
Load resources dynamically

Automatically load all resources as "plugins" when importing the package
heat.engine.resources, instead of having to list them explicitly.
Refactor autoscaling Instance creation
Lookup the class for an Instance in Autoscaling

Instead of hardcoding the class for handline instances in autoscaling,
look up the class for the AWS::EC2::Instance resource type using the same
mechanism used for creating resources normally.