aboutsummaryrefslogtreecommitdiffstats
path: root/heat
diff options
context:
space:
mode:
Diffstat (limited to 'heat')
-rw-r--r--heat/HeatTemplate.yaml120
-rw-r--r--heat/SampleHeat.yaml42
-rw-r--r--heat/TEST.yaml133
-rw-r--r--heat/WorkingTemplate.yaml70
-rw-r--r--heat/heat.yaml91
5 files changed, 456 insertions, 0 deletions
diff --git a/heat/HeatTemplate.yaml b/heat/HeatTemplate.yaml
new file mode 100644
index 00000000..4b0aa7aa
--- /dev/null
+++ b/heat/HeatTemplate.yaml
@@ -0,0 +1,120 @@
+heat_template_version: 2014-10-16
+outputs:
+ description: this
+ instance_ip_1:
+ description: IP address of the instance
+ value:
+ get_attr:
+ - floating_ip_1
+ - floating_ip_address
+ instance_ip_2:
+ description: IP address of the instance
+ value:
+ get_attr:
+ - floating_ip_2
+ - floating_ip_address
+parameters:
+ availability_zone:
+ default: compute1
+ description: The AvailZone.
+ type: string
+ private_net_name:
+ default: private_network
+ type: string
+ public_network:
+ default: provider_network
+ description: Public
+ label: Publi_N_ID
+ type: string
+resources:
+ demo1_security_Group:
+ properties:
+ name: demo1_security_Group
+ rules:
+ - port_range_max: 22
+ port_range_min: 22
+ protocol: tcp
+ - protocol: icmp
+ type: OS::Neutron::SecurityGroup
+ floating_ip_1:
+ properties:
+ floating_network:
+ get_param: public_network
+ type: OS::Neutron::FloatingIP
+ floating_ip_2:
+ properties:
+ floating_network:
+ get_param: public_network
+ type: OS::Neutron::FloatingIP
+ floating_ip_assoc_1:
+ properties:
+ floatingip_id:
+ get_resource: floating_ip_1
+ port_id:
+ get_resource: public_port_1
+ type: OS::Neutron::FloatingIPAssociation
+ floating_ip_assoc_2:
+ properties:
+ floatingip_id:
+ get_resource: floating_ip_2
+ port_id:
+ get_resource: public_port_2
+ type: OS::Neutron::FloatingIPAssociation
+ my_instance_1:
+ properties:
+ availability_zone: nova
+ flavor: m1.small
+ image: Cirros
+ networks:
+ - port:
+ get_resource: public_port_1
+ type: OS::Nova::Server
+ my_instance_2:
+ properties:
+ availability_zone: nova
+ flavor: m1.small
+ image: Cirros
+ networks:
+ - port:
+ get_resource: public_port_2
+ type: OS::Nova::Server
+ private_network:
+ type: OS::Neutron::Net
+ private_subnet:
+ properties:
+ cidr: 10.10.17.0/24
+ dns_nameservers: [ "8.8.8.8" ]
+ network_id: { get_resource: private_network }
+ type: OS::Neutron::Subnet
+ public_port_1:
+ properties:
+ fixed_ips:
+ - subnet_id:
+ get_resource: private_subnet
+ network:
+ get_resource: private_network
+ security_groups:
+ - get_resource: demo1_security_Group
+ type: OS::Neutron::Port
+ public_port_2:
+ properties:
+ fixed_ips:
+ - subnet_id:
+ get_resource: private_subnet
+ network:
+ get_resource: private_network
+ security_groups:
+ - get_resource: demo1_security_Group
+ type: OS::Neutron::Port
+ router_1:
+ properties:
+ external_gateway_info:
+ network: { get_param: public_network }
+ type: OS::Neutron::Router
+ router_interface:
+ properties:
+ router_id: { get_resource: router_1 }
+ subnet: { get_resource: private_subnet }
+ type: OS::Neutron::RouterInterface
+outputs:
+ description: 'none'
diff --git a/heat/SampleHeat.yaml b/heat/SampleHeat.yaml
new file mode 100644
index 00000000..28c37b97
--- /dev/null
+++ b/heat/SampleHeat.yaml
@@ -0,0 +1,42 @@
+heat_template_version: 2014-10-16
+parameters:
+
+ public_network:
+ type: string
+ label: Publi_N_ID
+ description: Public
+ default: 'provider_network'
+
+ private_net_name:
+ type: string
+ default: 'private_network'
+
+ availability_zone:
+ type: string
+ description: The AvailZone.
+ default: compute1
+
+resources:
+
+ private_network:
+ type: OS::Neutron::Net
+ private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: private_network }
+ cidr: '10.10.17.0/24'
+ dns_nameservers: [ '8.8.8.8' ]
+ gateway_ip: '10.10.17.1'
+ allocation_pools: [ {"start":'10.10.17.2', "end": '10.10.17.200'} ]
+ router_1:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: { get_param: public_network }
+ router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: router_1 }
+ subnet: { get_resource: private_subnet }
+outputs:
+ description: 'none'
diff --git a/heat/TEST.yaml b/heat/TEST.yaml
new file mode 100644
index 00000000..17ba9cc8
--- /dev/null
+++ b/heat/TEST.yaml
@@ -0,0 +1,133 @@
+heat_template_version: 2013-05-23
+
+description: >
+ HOT template to create a new neutron network plus a router to the public
+ network, and for deploying two servers into the new network. The template also
+ assigns floating IP addresses to each server so they are routable from the
+ public network.
+parameters:
+ key_name:
+ type: string
+ description: Name of keypair to assign to servers
+ default: 'key'
+ image:
+ type: string
+ description: Name of image to use for servers
+ default: 'QTIP_CentOS'
+ flavor:
+ type: string
+ description: Flavor to use for servers
+ default: 'm1.large'
+ public_net:
+ type: string
+ description: >
+ ID or name of public network for which floating IP addresses will be allocated
+ default: 'provider_network'
+ private_net_name:
+ type: string
+ description: Name of private network to be created
+ default: 'private_network'
+ private_net_cidr:
+ type: string
+ description: Private network address (CIDR notation)
+ default: '10.10.17.0/24'
+ private_net_gateway:
+ type: string
+ description: Private network gateway address
+ default: '10.10.17.1'
+ private_net_pool_start:
+ type: string
+ description: Start of private network IP address allocation pool
+ default: '10.10.17.2'
+ private_net_pool_end:
+ type: string
+ description: End of private network IP address allocation pool
+ default: '10.10.17.200'
+
+resources:
+ private_net:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: private_net_name }
+
+ private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: private_net }
+ cidr: { get_param: private_net_cidr }
+ gateway_ip: { get_param: private_net_gateway }
+ allocation_pools:
+ - start: { get_param: private_net_pool_start }
+ end: { get_param: private_net_pool_end }
+
+ router:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: { get_param: public_net }
+
+ router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: router }
+ subnet_id: { get_resource: private_subnet }
+
+ server1:
+ type: OS::Nova::Server
+ properties:
+ name: Server1
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+
+ networks:
+ - port: { get_resource: server1_port }
+
+ server1_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+
+ server1_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network: { get_param: public_net }
+ port_id: { get_resource: server1_port }
+
+ server2:
+ type: OS::Nova::Server
+ properties:
+ name: Server2
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+
+ networks:
+ - port: { get_resource: server2_port }
+
+ server2_port:
+ type: OS::Neutron::Port
+ properties:
+ network_id: { get_resource: private_net }
+ fixed_ips:
+ - subnet_id: { get_resource: private_subnet }
+
+ server2_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network: { get_param: public_net }
+ port_id: { get_resource: server2_port }
+
+outputs:
+ server1_private_ip:
+ description: IP address of server1 in private network
+ value: { get_attr: [ server1, first_address ] }
+ server1_public_ip:
+ description: Floating IP address of server1 in public network
+ value: { get_attr: [ server1_floating_ip, floating_ip_address ] }
+ server2_private_ip:
+ description: IP address of server2 in private network
+ value: { get_attr: [ server2, first_address ] }
+ server2_public_ip:
+ description: Floating IP address of server2 in public network
+ value: { get_attr: [ server2_floating_ip, floating_ip_address ] }
diff --git a/heat/WorkingTemplate.yaml b/heat/WorkingTemplate.yaml
new file mode 100644
index 00000000..299962d4
--- /dev/null
+++ b/heat/WorkingTemplate.yaml
@@ -0,0 +1,70 @@
+heat_template_version: 2014-10-16
+outputs:
+
+ instance_ip_1:
+ description: IP address of the instance
+ value: {get_attr: [floating_ip_1, floating_ip_address]}
+parameters:
+ availability_zone:
+ default: compute1
+ description: The AvailZone.
+ type: string
+ private_net_name:
+ default: private_network
+ type: string
+ public_network:
+ default: provider_network
+ description: Public
+ label: Publi_N_ID
+ type: string
+resources:
+ demo1_security_Group:
+ properties:
+ name: demo1_security_Group
+ rules:
+ - port_range_max: 22
+ port_range_min: 22
+ protocol: tcp
+ - protocol: icmp
+ type: OS::Neutron::SecurityGroup
+ floating_ip_1:
+ properties:
+ floating_network: {get_param: public_network}
+ type: OS::Neutron::FloatingIP
+ floating_ip_assoc_1:
+ properties:
+ floatingip_id: {get_resource: floating_ip_1}
+ port_id: {get_resource: public_port_1}
+ type: OS::Neutron::FloatingIPAssociation
+ my_instance_1:
+ properties:
+ availability_zone: nova
+ flavor: m1.small
+ image: Cirros
+ networks:
+ - port: {get_resource: public_port_1}
+ type: OS::Nova::Server
+ private_network:
+ type: OS::Neutron::Net
+ private_subnet:
+ properties:
+ cidr: 10.10.17.0/24
+ dns_nameservers:
+ - 8.8.8.8
+ network_id: { get_resource: private_network }
+ type: OS::Neutron::Subnet
+ public_port_1:
+ properties:
+ network: {get_resource: private_network}
+ security_groups: [{get_resource: demo1_security_Group}]
+ type: OS::Neutron::Port
+ router_1:
+ properties:
+ external_gateway_info:
+ network: { get_param: public_network }
+ type: OS::Neutron::Router
+ router_interface:
+ properties:
+ router_id: { get_resource: router_1 }
+ subnet: { get_resource: private_subnet }
+ type: OS::Neutron::RouterInterface
diff --git a/heat/heat.yaml b/heat/heat.yaml
new file mode 100644
index 00000000..2ed45429
--- /dev/null
+++ b/heat/heat.yaml
@@ -0,0 +1,91 @@
+ heat_template_version: 2014-10-16
+
+ description: Test10
+
+ parameters:
+
+ public_network:
+ type: string
+ label: Public Network name or ID
+ description: Public network with floating IPs
+ default: "provider_network"
+
+ private_net_name:
+ type: string
+ default: "private_network"
+
+ flavor:
+ type: string
+ label: Flavor
+ default: m1.large
+
+ image:
+ type: string
+ label: Image name
+ default: CentOS
+
+ availability_zone:
+ type: string
+ description: The Availability Zone to launch the instance.
+ default: compute1
+
+ resources:
+
+ private_network:
+ type: OS::Neutron::Net
+
+
+ private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: private_network }
+ cidr: 10.10.17.0/24
+ dns_nameservers:
+ - 8.8.8.8
+
+ router_1:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: { get_param: public_network }
+
+ router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: router_1 }
+ subnet: { get_resource: private_subnet }
+
+ public_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: private_network }
+ security_groups: [{ get_resource: demo1_security_Group }]
+
+ floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network: { get_param: public_network }
+
+ floating_ip_assoc:
+ type: OS::Neutron::FloatingIPAssociation
+ properties:
+ floatingip_id: { get_resource: floating_ip }
+ port_id: { get_resource: public_port }
+
+ demo1_security_Group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ name: demo1_security_Group
+ rules:
+ - protocol: tcp
+ port_range_min: 22
+ port_range_max: 22
+ - protocol: icmp
+ outputs:
+ instance_ip:
+ description: IP address of the instance
+ value: { get_attr: [floating_ip, floating_ip_address] }
+
+
+
+