scottslowe-learning-tools/openstack/swarm-consul/coreos-cluster.yml
Scott Lowe 43ab5524a2
Reorganize repository contents
Move contents into new folder structure based on primary technology

Signed-off-by: Scott Lowe <scott.lowe@scottlowe.org>
2017-02-23 16:12:37 -07:00

143 lines
3.9 KiB
YAML

heat_template_version: 2013-05-23
description: >
A simple Heat template to deploy a new CoreOS cluster.
parameters:
network_id:
type: string
label: Network ID
description: ID of existing Neutron network to use ("infra-net")
default: e6da808c-f832-4a70-81a7-8c090824e494
image_id:
type: string
label: Glance Image ID
description: ID of existing Glance image to use ("CoreOS 522.6.0 Stable")
default: f9cc4dfc-2864-4ddb-a27c-3095d1dd0e09
secgroup_id:
type: string
label: Security group ID
description: ID of existing security group ("all")
default: 74518432-12ba-4bdb-8d22-09c616b158b0
resources:
coreos_init:
type: OS::Heat::CloudConfig
properties:
cloud_config:
coreos:
etcd:
discovery: https://discovery.etcd.io/bf3853e90678038d4f6e26d3788729d1
addr: $private_ipv4:4001
peer-addr: $private_ipv4:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: docker-tcp.socket
command: start
enable: true
content: |
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=2375
BindIPv6Only=both
Service=docker.service
[Install]
WantedBy=sockets.target
instance0_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance1_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance2_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance3_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance4_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance0:
type: OS::Nova::Server
properties:
name: coreos-node-01
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance0_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init
instance1:
type: OS::Nova::Server
properties:
name: coreos-node-02
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance1_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init
instance2:
type: OS::Nova::Server
properties:
name: coreos-node-03
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance2_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init
instance3:
type: OS::Nova::Server
properties:
name: coreos-node-04
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance3_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init
instance4:
type: OS::Nova::Server
properties:
name: coreos-node-05
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance4_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init