# associate the servers with the networks # # HEAT Template by Freddy Wissing to spin up reproducer instances # # July 13, 2017 # # heat_template_version: 2013-05-23 description: > HOT template to create default set of version servers for troubleshooting and issue reproducers and attach floating IP's to all of the servers. parameters: key_name: type: string description: Name of keypair to assign to servers default: housekeys-fw image: type: string description: Name of image to use for servers default: rhel-guest-image-7.3-35 flavor: type: string description: Flavor to use for servers default: smallOS public_net: type: string description: > ID or name of public network for which floating IP addresses will be allocated default: public ####################### windows_net_name: type: string description: Name of windows network to be created default: WINDOWS_NETWORK windows_net_cidr: type: string description: Private network address (CIDR notation) default: 10.0.1.0/24 windows_net_gateway: type: string description: Private network gateway address default: 10.0.1.1 windows_net_pool_start: type: string description: Start of windows network IP address allocation pool default: 10.0.1.4 windows_net_pool_end: type: string description: End of windows network IP address allocation pool default: 10.0.1.244 ######################## utility_net_name: type: string description: Name of utility network to be created default: UTILITY_NETWORK utility_net_cidr: type: string description: Private network address (CIDR notation) default: 10.0.2.0/24 utility_net_gateway: type: string description: Private network gateway address default: 10.0.2.1 utility_net_pool_start: type: string description: Start of utility network IP address allocation pool default: 10.0.2.4 utility_net_pool_end: type: string description: End of utility network IP address allocation pool default: 10.0.2.244 ######################## reproducer_net_name: type: string description: Name of reproducer network to be created default: REPRODUCER_NETWORK reproducer_net_cidr: type: string description: Private network address (CIDR notation) default: 10.0.3.0/24 reproducer_net_gateway: type: string description: Private network gateway address default: 10.0.3.1 reproducer_net_pool_start: type: string description: Start of reproducer network IP address allocation pool default: 10.0.3.4 reproducer_net_pool_end: type: string description: End of reproducer network IP address allocation pool default: 10.0.3.244 resources: ###################################################### windows_net: type: OS::Neutron::Net properties: name: { get_param: windows_net_name } windows_subnet: type: OS::Neutron::Subnet properties: dns_nameservers: [ 192.168.111.254, 192.168.11.1 ] network_id: { get_resource: windows_net } cidr: { get_param: windows_net_cidr } gateway_ip: { get_param: windows_net_gateway } allocation_pools: - start: { get_param: windows_net_pool_start } end: { get_param: windows_net_pool_end } windows_router: type: OS::Neutron::Router properties: external_gateway_info: network: { get_param: public_net } windows_router_interface: type: OS::Neutron::RouterInterface properties: router_id: { get_resource: windows_router } subnet_id: { get_resource: windows_subnet } ####################################################### utility_net: type: OS::Neutron::Net properties: name: { get_param: utility_net_name } utility_subnet: type: OS::Neutron::Subnet properties: dns_nameservers: [ 192.168.111.254, 192.168.11.1 ] network_id: { get_resource: utility_net } cidr: { get_param: utility_net_cidr } gateway_ip: { get_param: utility_net_gateway } allocation_pools: - start: { get_param: utility_net_pool_start } end: { get_param: utility_net_pool_end } utility_router: type: OS::Neutron::Router properties: external_gateway_info: network: { get_param: public_net } utility_router_interface: type: OS::Neutron::RouterInterface properties: router_id: { get_resource: utility_router } subnet_id: { get_resource: utility_subnet } ####################################################### reproducer_net: type: OS::Neutron::Net properties: name: { get_param: reproducer_net_name } reproducer_subnet: type: OS::Neutron::Subnet properties: dns_nameservers: [ 192.168.111.254, 192.168.11.1 ] network_id: { get_resource: reproducer_net } cidr: { get_param: reproducer_net_cidr } gateway_ip: { get_param: reproducer_net_gateway } allocation_pools: - start: { get_param: reproducer_net_pool_start } end: { get_param: reproducer_net_pool_end } reproducer_router: type: OS::Neutron::Router properties: external_gateway_info: network: { get_param: public_net } reproducer_router_interface: type: OS::Neutron::RouterInterface properties: router_id: { get_resource: reproducer_router } subnet_id: { get_resource: reproducer_subnet } ####################################################### server1: type: OS::Nova::Server properties: name: RHEL-6-2-1 image: rhel6.2.1 flavor: smallOS key_name: { get_param: key_name } networks: - port: { get_resource: server1_port } user_data: get_file: /home/stack/user_data.txt server1_port: type: OS::Neutron::Port properties: network_id: { get_resource: reproducer_net } fixed_ips: - subnet_id: { get_resource: reproducer_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: RHEL-5-11 image: RHEL-511-LATEST flavor: RHEL5-11 key_name: { get_param: key_name } networks: - port: { get_resource: server2_port } user_data: get_file: /home/stack/user_data.txt server2_port: type: OS::Neutron::Port properties: network_id: { get_resource: reproducer_net } fixed_ips: - subnet_id: { get_resource: reproducer_subnet } server2_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: public_net } port_id: { get_resource: server2_port } server3: type: OS::Nova::Server properties: name: RHEL6-RECOVERED-NOAPPDATA image: RHEL6-RECOVERED-NOAPPDATA flavor: standardOS key_name: { get_param: key_name } networks: - port: { get_resource: server3_port } user_data: get_file: /home/stack/user_data.txt server3_port: type: OS::Neutron::Port properties: network_id: { get_resource: reproducer_net } fixed_ips: - subnet_id: { get_resource: reproducer_subnet } server3_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: public_net } port_id: { get_resource: server3_port } server4: type: OS::Nova::Server properties: name: Fedora-Cloud-Base-25-1.3 image: Fedora-Cloud-Base-25-1.3 flavor: smallOS key_name: { get_param: key_name } networks: - port: { get_resource: server4_port } user_data: get_file: /home/stack/user_data.txt server4_port: type: OS::Neutron::Port properties: network_id: { get_resource: utility_net } fixed_ips: - subnet_id: { get_resource: utility_subnet } server4_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: public_net } port_id: { get_resource: server4_port } server5: type: OS::Nova::Server properties: name: rhel-guest-image-7.3-35 image: rhel-guest-image-7.3-35 flavor: smallOS key_name: { get_param: key_name } networks: - port: { get_resource: server5_port } user_data: get_file: /home/stack/user_data.txt server5_port: type: OS::Neutron::Port properties: network_id: { get_resource: reproducer_net } fixed_ips: - subnet_id: { get_resource: reproducer_subnet } server5_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: public_net } port_id: { get_resource: server5_port } server6: type: OS::Nova::Server properties: name: WINDOWS-2012-R2-DEC-28-2016-G2G image: WINDOWS-2012-R2-DEC-28-2016-G2G flavor: WindowsOS key_name: { get_param: key_name } networks: - port: { get_resource: server6_port } #user_data: # get_file: /home/stack/user_data.txt server6_port: type: OS::Neutron::Port properties: network_id: { get_resource: windows_net } fixed_ips: - subnet_id: { get_resource: windows_subnet } server6_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: public_net } port_id: { get_resource: server6_port } server7: type: OS::Nova::Server properties: name: ANSIBLE-002-export image: ANSIBLE-002-export flavor: TowerOS key_name: { get_param: key_name } networks: - port: { get_resource: server7_port } user_data: get_file: /home/stack/user_data.txt server7_port: type: OS::Neutron::Port properties: network_id: { get_resource: utility_net } fixed_ips: - subnet_id: { get_resource: utility_subnet } server7_floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: public_net } port_id: { get_resource: server7_port }