X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=utils%2Finfra_setup%2Fheat_template%2Fvstf_heat_template%2Fbottleneck_vstf.yaml;fp=utils%2Finfra_setup%2Fheat_template%2Fvstf_heat_template%2Fbottleneck_vstf.yaml;h=70bc6b31252cb2892c713c35b6d4e5066dc268a9;hb=b8eeff7c6fdbfa5fe308e37a09853a6bc1f20d60;hp=0000000000000000000000000000000000000000;hpb=27a84e7905e66c005b02706ea3489576b5873c32;p=bottlenecks.git diff --git a/utils/infra_setup/heat_template/vstf_heat_template/bottleneck_vstf.yaml b/utils/infra_setup/heat_template/vstf_heat_template/bottleneck_vstf.yaml new file mode 100644 index 00000000..70bc6b31 --- /dev/null +++ b/utils/infra_setup/heat_template/vstf_heat_template/bottleneck_vstf.yaml @@ -0,0 +1,248 @@ +heat_template_version: 2013-05-23 +description: > + This template is used for creating a new environment on the Openstack Release L , + and the deployment will create three virtual machine on the compute node, one manager + and two agent vm included. Each vm will has a nic on the controlplane switch and two + agent vms will has a additional nic on the dataplane. +parameters: + #nova keypair-list to query available key pair + key_name: + type: string + description: Name of keypair to assign to servers + default: vstf-key + #nova image-list to query available images + image: + type: string + description: Name of image to use for servers + default: bottlenecks-trusty-server + #new addition image for the actual deployment + image_vstf_manager: + type: string + description: Name of image to use for servers + default: vstf-manager + image_vstf_agent: + type: string + description: Name of image to use for servers + default: vstf-agent + #nova flavor-list to query available flavors + flavor: + type: string + description: Flavor to use for servers + default: m1.large + #nova net-list to query available + public_net: + type: string + description: > + ID or name of public network for which floating IP addresses will be allocated + default: net04_ext + + #private controlplane + private_net_name: + type: string + description: Name of private network to be created + default: vstf-private + private_net_cidr: + type: string + description: Private network address (CIDR notation) + default: "10.0.11.0/24" + private_net_gateway: + type: string + description: Private network gateway address + default: "10.0.11.1" + private_net_pool_start: + type: string + description: Start of private network IP address allocation pool + default: "10.0.11.2" + private_net_pool_end: + type: string + description: End of private network IP address allocation pool + default: "10.0.11.199" + + #testing dataplane + testing_net_name: + type: string + description: Name of private network to be created + default: bottlenecks-testing + testing_net_cidr: + type: string + description: Private network address (CIDR notation) + default: "10.0.20.0/24" + testing_net_gateway: + type: string + description: Private network gateway address + default: "10.0.20.1" + testing_net_pool_start: + type: string + description: Start of private network IP address allocation pool + default: "10.0.20.2" + testing_net_pool_end: + type: string + description: End of private network IP address allocation pool + default: "10.0.20.199" + + +resources: + #control plane + 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 } + + #dataplane + testing_net: + type: OS::Neutron::Net + properties: + name: { get_param: testing_net_name } + testing_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: testing_net } + cidr: { get_param: testing_net_cidr } + gateway_ip: { get_param: testing_net_gateway } + allocation_pools: + - start: { get_param: testing_net_pool_start } + end: { get_param: testing_net_pool_end } + + #router info + 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 } + + #security_group + server_security_group: + type: OS::Neutron::SecurityGroup + properties: + description: vstf group for servers access. + name: vstf-security-group + rules: [ + {remote_ip_prefix: 0.0.0.0/0, + protocol: tcp, + port_range_min: 1, + port_range_max: 65535}, + {remote_ip_prefix: 0.0.0.0/0, + protocol: udp, + port_range_min: 1, + port_range_max: 65535}, + {remote_ip_prefix: 0.0.0.0/0, + protocol: icmp}] + + #nova server vstf manager definition info + vstf-manager: + type: OS::Nova::Server + properties: + name: vstf-manager + image: { get_param: image_vstf_manager } + flavor: { get_param: flavor } + key_name: { get_param: key_name } + networks: + - port: { get_resource: manager_control_port } + manager_control_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: private_net } + fixed_ips: + - subnet_id: { get_resource: private_subnet } + security_groups: [{ get_resource: server_security_group }] + manager_control_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network: { get_param: public_net } + port_id: { get_resource: manager_control_port } + + #nova server vstf target definition info + vstf-target: + type: OS::Nova::Server + properties: + name: vstf-target + image: { get_param: image_vstf_agent } + flavor: { get_param: flavor } + key_name: { get_param: key_name } + networks: + - port: { get_resource: target_control_port } + - port: { get_resource: target_testing_port } + target_control_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: private_net } + fixed_ips: + - subnet_id: { get_resource: private_subnet } + security_groups: [{ get_resource: server_security_group }] + target_testing_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: testing_net } + fixed_ips: + - subnet_id: { get_resource: testing_subnet } + security_groups: [{ get_resource: server_security_group }] + target_control_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network: { get_param: public_net } + port_id: { get_resource: target_control_port } + + #nova server vstf tester definition info + vstf-tester: + type: OS::Nova::Server + properties: + name: vstf-tester + image: { get_param: image_vstf_agent } + flavor: { get_param: flavor } + key_name: { get_param: key_name } + networks: + - port: { get_resource: tester_control_port } + - port: { get_resource: tester_testing_port } + tester_control_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: private_net } + fixed_ips: + - subnet_id: { get_resource: private_subnet } + security_groups: [{ get_resource: server_security_group }] + tester_testing_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: testing_net } + fixed_ips: + - subnet_id: { get_resource: testing_subnet } + security_groups: [{ get_resource: server_security_group }] + tester_control_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network: { get_param: public_net } + port_id: { get_resource: tester_control_port } + +outputs: + manager_control_private_ip: + description: IP address of manager_control in private network + value: { get_attr: [ vstf-manager, first_address ] } + manager_control_public_ip: + description: Floating IP address of manager_control in public network + value: { get_attr: [ manager_control_floating_ip, floating_ip_address ] } + target_control_private_ip: + description: IP address of manager_control in private network + value: { get_attr: [ vstf-target, first_address ] } + target_control_public_ip: + description: Floating IP address of manager_control in public network + value: { get_attr: [ target_control_floating_ip, floating_ip_address ] } + tester_control_private_ip: + description: IP address of manager_control in private network + value: { get_attr: [ vstf-tester, first_address ] } + tester_control_public_ip: + description: Floating IP address of manager_control in public network + value: { get_attr: [ tester_control_floating_ip, floating_ip_address ] }