Add Resource describing cloud-init config

Registered by Steven Hardy on 2013-10-21

When the raw user-data patch lands ref blueprint raw-user-data, we can implement a resource which encapsulates the various options to cloud-init/cloud-config, whose Ref provides the user-data string which can be consumed by the OS::Nova::Server resource

Blueprint information

Steve Baker
Steve Baker
Steve Baker
Series goal:
Accepted for icehouse
Milestone target:
milestone icon 2014.1
Started by
Steve Baker on 2013-11-27
Completed by
Steve Baker on 2014-03-05

Related branches



(stevebaker) I started on some resources, but it is turning out to be just string manipulation, so I'm now looking at doing most of this as intrinsic functions, specifically:

mime_multi_part: takes a list of strings (with optional content types) and formats them as a MIMEMultipart string.
as_yaml_str: takes a dict/list/whatever and writes it as a yaml formatted string. Useful for writing cloud-config with template structures rather than a block string

With these and raw-user-data it should be possible to make the most of cloud-init

Gerrit topic:,topic:bp/cloud-init-resource,n,z

Addressed by:
    Implement as_yaml_str hot intrinisic function

Addressed by:
    Allow intrinsic functions to be called in any order

Addressed by:
    Implement multi_part_mime hot intrinisic function

(stevebaker) Depending on hot-software-config, since the current approach is to implement a cloud-config resource and a multipart-mime resource which both subclass the SoftwareConfig resource.

Addressed by:
    A cloud-config resource based on SoftwareConfig

Addressed by:
    A multipart cloud-init resource based on SoftwareConfig

Addressed by:
    OS::Nova::Server support for software config

Addressed by:
    REST API for software config/deployment

Addressed by:
    Resource types for software config/deployment

Addressed by:
    Database model for software config/deployment

Addressed by:
    RPC service for software config/deployment

Addressed by:
    Resource type for software configuration

Addressed by:
    Nova server to ref cloud-config resources in user_data

Gerrit topic:,topic:bp/hot-software-config,n,z


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.