diff options
Diffstat (limited to 'contrib/demos/heat')
| -rw-r--r-- | contrib/demos/heat/README.rst | 15 | ||||
| -rwxr-xr-x | contrib/demos/heat/launch | 11 | ||||
| -rw-r--r-- | contrib/demos/heat/steak-rg.yaml | 43 | ||||
| -rw-r--r-- | contrib/demos/heat/steak.yaml | 54 |
4 files changed, 123 insertions, 0 deletions
diff --git a/contrib/demos/heat/README.rst b/contrib/demos/heat/README.rst new file mode 100644 index 000000000..b634febd8 --- /dev/null +++ b/contrib/demos/heat/README.rst @@ -0,0 +1,15 @@ +A Kolla Demo using Heat +======================= + +By default, the launch script will spawn 3 Nova instances on a Neutron +network created from the tools/init-runonce script. Edit the VM\_COUNT +parameter in the launch script if you would like to spawn a different +amount of Nova instances. Edit the IMAGE\_FLAVOR if you would like to +launch images using a flavor other than m1.tiny. + +Then run the script: + +:: + + $ ./launch + diff --git a/contrib/demos/heat/launch b/contrib/demos/heat/launch new file mode 100755 index 000000000..768b69eb0 --- /dev/null +++ b/contrib/demos/heat/launch @@ -0,0 +1,11 @@ +VM_COUNT=3 +IMAGE_FLAVOR=m1.small +PUBLIC_NET_ID=$(neutron net-list | grep public | awk '{print $2}') +DEMO_NET_ID=$(neutron net-list | grep demo | awk '{print $2}') +DEMO_SUBNET_ID=$(neutron net-list | grep demo | awk '{print $6}') + +echo Public net id is $PUBLIC_NET_ID +echo Demo net id is $DEMO_NET_ID +echo Demo subnet id is $DEMO_SUBNET_ID + +heat stack-create steak --template-file steak-rg.yaml --parameters="vm_count=$VM_COUNT;image_flavor=$IMAGE_FLAVOR;public_net_id=$PUBLIC_NET_ID;demo_net_id=$DEMO_NET_ID;demo_subnet_id=$DEMO_SUBNET_ID" diff --git a/contrib/demos/heat/steak-rg.yaml b/contrib/demos/heat/steak-rg.yaml new file mode 100644 index 000000000..4c0a1db93 --- /dev/null +++ b/contrib/demos/heat/steak-rg.yaml @@ -0,0 +1,43 @@ +heat_template_version: 2013-05-23 + +parameters: + public_net_id: + type: string + description: uuid of a network to use for floating ip addresses + + demo_net_id: + type: string + description: uuid of a subnet on the fixed network to use for creating ports + + demo_subnet_id: + type: string + description: uuid of a subnet on the fixed network to use for creating ports + + vm_count: + type: string + description: Number of VMs to launch + + image_flavor: + type: string + description: Image flavor to use when launching VMs + +resources: + steak: + type: OS::Heat::ResourceGroup + properties: + count: + get_param: vm_count + resource_def: + type: steak.yaml + properties: + image_flavor: {get_param: image_flavor} + public_net_id: {get_param: public_net_id} + demo_net_id: {get_param: demo_net_id} + demo_subnet_id: {get_param: demo_subnet_id} + +outputs: + eth0: + value: {get_attr: [steak, eth0]} + + float: + value: {get_attr: [steak, float]} diff --git a/contrib/demos/heat/steak.yaml b/contrib/demos/heat/steak.yaml new file mode 100644 index 000000000..9b9bd9fc7 --- /dev/null +++ b/contrib/demos/heat/steak.yaml @@ -0,0 +1,54 @@ +heat_template_version: 2013-05-23 + +parameters: + public_net_id: + type: string + description: uuid of a network to use for floating ip addresses + + demo_net_id: + type: string + description: uuid of a subnet on the fixed network to use for creating ports + + demo_subnet_id: + type: string + description: uuid of a subnet on the fixed network to use for creating ports + + image_flavor: + type: string + description: Number of VMs to launch + +resources: + steak_node: + type: "OS::Nova::Server" + properties: + key_name: mykey + image: cirros + flavor: + get_param: image_flavor + networks: + - port: + get_resource: steak_node_eth0 + + steak_node_eth0: + type: "OS::Neutron::Port" + properties: + network_id: + get_param: demo_net_id + fixed_ips: + - subnet_id: + get_param: demo_subnet_id + + steak_node_floating: + type: "OS::Neutron::FloatingIP" + properties: + floating_network_id: + get_param: public_net_id + port_id: + get_resource: steak_node_eth0 + +outputs: + eth0: + value: {get_attr: [steak_node_eth0, fixed_ips, 0, ip_address]} + + float: + value: {get_attr: [steak_node_floating, floating_ip_address]} |
