Skip to content

Instantly share code, notes, and snippets.

@toabctl
Last active December 12, 2017 10:36
Show Gist options
  • Save toabctl/694d8b2a7a80be1a4b76b280245a5524 to your computer and use it in GitHub Desktop.
Save toabctl/694d8b2a7a80be1a4b76b280245a5524 to your computer and use it in GitHub Desktop.
heat_template_version: 2016-10-14
description: >
Template for deploying Ardana in a multinode setup
parameters:
key_name:
type: string
label: Key Name
description: Name of key-pair to be used for compute instance
default: tbechtold
image_id:
type: string
label: Image ID
description: Image to be used for compute instance
default: cleanvm-jeos-SLE12SP3
instance_type_controller:
type: string
label: Instance Type
description: Type of instance (flavor) to be used for the controller
default: m1.xlarge
instance_type_compute:
type: string
label: Instance Type
description: Type of instance (flavor) to be used for compute nodes
default: m1.large
resources:
# security groups
security-group-base:
type: OS::Neutron::SecurityGroup
properties:
description: Allow ICMP and ssh
rules:
- protocol: icmp
- protocol: tcp
port_range_min: 22
port_range_max: 22
# networks
network_mgmt:
type: OS::Neutron::Net
network_ardana:
type: OS::Neutron::Net
# subnet
subnet_mgmt:
type: OS::Neutron::Subnet
properties:
network_id: { get_resource: network_mgmt }
cidr: "192.168.100.0/24"
ip_version: 4
subnet_ardana:
type: OS::Neutron::Subnet
properties:
network_id: { get_resource: network_ardana }
cidr: "192.168.200.0/24"
ip_version: 4
deployer-controller-floatingip:
type: OS::Neutron::FloatingIP
properties:
floating_network: floating
deployer-controller:
type: OS::Nova::Server
properties:
key_name: { get_param: key_name }
image: { get_param: image_id }
flavor: { get_param: instance_type_controller }
security_groups:
- { get_resource: security-group-base }
networks:
- network: fixed
- network: { get_resource: network_mgmt }
- network: { get_resource: network_ardana }
compute1:
type: OS::Nova::Server
properties:
key_name: { get_param: key_name }
image: { get_param: image_id }
flavor: { get_param: instance_type_compute }
security_groups:
- { get_resource: security-group-base }
networks:
- network: { get_resource: network_mgmt }
- network: { get_resource: network_ardana }
compute2:
type: OS::Nova::Server
properties:
key_name: { get_param: key_name }
image: { get_param: image_id }
flavor: { get_param: instance_type_compute }
security_groups:
- { get_resource: security-group-base }
networks:
- network: { get_resource: network_mgmt }
- network: { get_resource: network_ardana }
deployer-controller-floating-assignment:
type: OS::Neutron::FloatingIPAssociation
properties:
floatingip_id: { get_resource: deployer-controller-floatingip }
port_id: {get_attr: [deployer-controller, addresses, fixed, 0, port]}
outputs:
deployer-controller-floatingip:
description: IP address of the deployer-controller node
value: { get_attr: [deployer-controller-floatingip, floating_ip_address] }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment