diff options
Diffstat (limited to 'heat')
-rw-r--r-- | heat/HeatTemplate.yaml | 120 | ||||
-rw-r--r-- | heat/SampleHeat.yaml | 42 | ||||
-rw-r--r-- | heat/TEST.yaml | 133 | ||||
-rw-r--r-- | heat/WorkingTemplate.yaml | 70 | ||||
-rw-r--r-- | heat/heat.yaml | 91 |
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] } + + + + |