[openstack-dev] [Heat] OpenStack Heat template and CoreOS...
Steve Chien
stvchien at gmail.com
Thu Oct 2 18:46:27 UTC 2014
Currently, within our Icehouse Openstack environment, we are trying to see if we can 1) setup a cluster of CoreOS VMs by using the Heat template 2) invoking the fleetctl command to deploy the Docker containers to the newly setup CoreOS cluster by placing some instructions in the Heat template.
Achieving the goal 1) is not tough and we can see some samples over the net too. For example, we can use the following template to setup a CoreOS-based VM successfully.
heat_template_version: 2013-05-23
description: >
A simple Heat template to deploy CoreOS into an existing cluster.
parameters:
network_id:
type: string
label: Network ID
description: ID of existing Neutron network to use
default: 632e1048-0164-41bd-9332-01c664eb475f
image_id:
type: string
label: Glance Image ID
description: ID of existing Glance image to use
default: dfdd6317-5156-4e7d-96a1-f7ce76a43687
resources:
instance0_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- 435c19ea-64d0-47f9-97e6-bc04b98361eb
instance0:
type: OS::Nova::Server
properties:
name: coreos-test
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance0_port0 }
key_name: mykey
user_data_format: RAW
user_data: |
#cloud-config
coreos:
etcd:
discovery: https://discovery.etcd.io/249d48e8dff562bdd8381177020ee405
addr: $private_ipv4:4001
peer-addr: $private_ipv4:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
Initially, we tried to achieve goal 2) by testing if we can send mime multi part user_data (the second part of the user_data will be a shell script that uses fleetctl command to deploy containers; if there is any synchronization / wait condition needs to be done, we can handle it there somehow too) to CoreOS cloud-init service. However, it seems like that CoreOS (at least Stable 410.1.0) cloud-init does not support mime multi part yet.
Any other good way to achieve both goals 1) & 2)?
Thanks!
More information about the OpenStack-dev
mailing list