diff options
author | opensource-tnbt <sridhar.rao@spirent.com> | 2020-11-11 22:55:02 +0530 |
---|---|---|
committer | opensource-tnbt <sridhar.rao@spirent.com> | 2020-11-25 12:27:15 +0530 |
commit | 9ec3918b56f1e8862fe140455928cdcd87a2554b (patch) | |
tree | 8823eb095639dce15a411f645ce32149c870dfd6 /tools/os_deploy_tgen/templates/l2fip.hot | |
parent | 605102bb6a8a3b48f0c66d817614eec0ef42e017 (diff) |
Openstack: Using VSPERF to Test on Openstack.
This patch will support running VSPERF Tests with Openstack.
This patch adds the following:
1. Provide --openstack parameter.
2. New Configuration file for openstack
3. Deploy Trafficgenerator based on configuration provided
4. Run Tests after Trafficgenerator are deployed on openstack
Update-1: Minor bug-fixes and Documentation Added.
Update-2: Add user-config to heat.
Update-3: Update Python Requirements
Update-4: Add dogpile
Update-5: Update decription of the Hot files.
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Change-Id: Iebec356eb893e0e6726cac6a10537b99e41f67f4
Diffstat (limited to 'tools/os_deploy_tgen/templates/l2fip.hot')
-rw-r--r-- | tools/os_deploy_tgen/templates/l2fip.hot | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/tools/os_deploy_tgen/templates/l2fip.hot b/tools/os_deploy_tgen/templates/l2fip.hot new file mode 100644 index 00000000..4d4b52f7 --- /dev/null +++ b/tools/os_deploy_tgen/templates/l2fip.hot @@ -0,0 +1,122 @@ +heat_template_version: 2013-05-23 + +description: + This Heat template creates a new Neutron network, a router to the external + network and plugs instances into this new network. All instances are located + in the same L2 domain. + +parameters: + image: + type: string + description: Name of image to use for servers + flavor: + type: string + description: Flavor to use for servers + external_net: + type: string + description: ID or name of external network +# server_endpoint: +# type: string +# description: Server endpoint address + dns_nameservers: + type: comma_delimited_list + description: DNS nameservers for the subnet + +resources: + user_config: + type: OS::Heat::CloudConfig + properties: + cloud_config: + spirent: + driver: "sockets" + + private_net: + type: OS::Neutron::Net + properties: + name: {{ unique }}_net + port_security_enabled: false + + private_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: private_net } + cidr: 172.172.172.0/24 + dns_nameservers: { get_param: dns_nameservers } + + private_datanet: + type: OS::Neutron::Net + properties: + name: {{ unique }}_datanet + port_security_enabled: false + + private_datasubnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: private_datanet } + cidr: 172.172.168.0/24 + dns_nameservers: { get_param: dns_nameservers } + + router: + type: OS::Neutron::Router + properties: + external_gateway_info: + network: { get_param: external_net } + + router_interface: + type: OS::Neutron::RouterInterface + properties: + router_id: { get_resource: router } + subnet_id: { get_resource: private_subnet } + +{% for agent in agents.values() %} + + {{ agent.id }}: + type: OS::Nova::Server + properties: + name: {{ agent.id }} + image: { get_param: image } + flavor: { get_param: flavor } + availability_zone: "{{ agent.availability_zone }}" + networks: + - port: { get_resource: {{ agent.id }}_port } + - port: { get_resource: {{ agent.id }}_dataport } + + {{ agent.id }}_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: private_net } + port_security_enabled: false + fixed_ips: + - subnet_id: { get_resource: private_subnet } + + {{ agent.id }}_dataport: + type: OS::Neutron::Port + properties: + network_id: { get_resource: private_datanet } + port_security_enabled: false + fixed_ips: + - subnet_id: { get_resource: private_datasubnet } + + {{ agent.id }}_fip_port: + type: OS::Neutron::FloatingIP + depends_on: + - router_interface + properties: + floating_network: { get_param: external_net } + port_id: { get_resource: {{ agent.id }}_port } + + +{% endfor %} + +outputs: +{% for agent in agents.values() %} + {{ agent.id }}_instance_name: + value: { get_attr: [ {{ agent.id }}, instance_name ] } + {{ agent.id }}_ip: + value: { get_attr: [ {{ agent.id }}_dataport, fixed_ips, 0, ip_address ] } + {{ agent.id }}_pip: + value: { get_attr: [ {{ agent.id }}_fip_port, floating_ip_address ] } + {{ agent.id }}_dmac: + value: { get_attr: [ {{ agent.id }}_dataport, mac_address ] } + +{% endfor %} |