browbeat/rally/rally-plugins/netcreate-boot/provider_netcreate_nova_boot_ping.yml
venkata anil e01e264ff4 provider network ping simulation
This workload creates a provider vlan network, boots a VM on this
network and then pings this VM.

Asumming this workload runs on undercloud and both undercloud
and compute node use same interface for vlan provider network,
for example, ens7f0 in both undercloud and compute nodes (through
bridge-mappings) is used for vlan provider network.

Ideally for each provider network rally is creating, one vlan
interface on top of ens7f0 should be created on undercloud, so
that undercloud can ping the VM which is on same provider vlan

ip link add link ens7f0 name ens7f0.1 type vlan id 1
ip a a <ipadress_on_provider_net> dev ens7f0.1

However when we want to scale test vlan provider network, we
can't create those many vlan interfaces on undercloud.

This workload uses scapy to build the vlan packet with all
the required content and sends (and receives) icmp packet on the
undercloud's interface (i.e ens7f0 in this example) used for
provider network. It also sends GARP reply so that VM should
be able to resolve the ARP for provider network gateway.

As scapy has to be run as a root user, we need to move scapy
code to a separate python program.
scapy_icmp.py will send the vlan ICMP packet using scapy library
as a root user. Main workload will call this python program
with required arguments.

Change-Id: I2290b06e899b96a2a3f060ea6fedd3323978ebf3
2021-08-04 13:12:19 +05:30

47 lines
1.2 KiB
YAML

{% set image_name = image_name or 'cirros' %}
{% set flavor_name = flavor_name or 'm1.xtiny' %}
{% set num_vms = num_vms or 1 %}
{% set sla_max_avg_duration = sla_max_avg_duration or 60 %}
{% set sla_max_failure = sla_max_failure or 0 %}
{% set sla_max_seconds = sla_max_seconds or 60 %}
---
BrowbeatPlugin.create_provider_net_nova_boot_ping:
-
args:
floating: True
flavor:
name: '{{flavor_name}}'
image:
name: '{{image_name}}'
num_vms: {{num_vms}}
provider_phys_net: '{{provider_phys_net}}'
iface_name: '{{iface_name}}'
iface_mac: '{{iface_mac}}'
network_create_args: {}
router_create_args: {}
subnet_create_args: {}
runner:
concurrency: {{concurrency}}
times: {{times}}
type: "constant"
context:
users:
tenants: 1
users_per_tenant: 1
quotas:
neutron:
network: -1
port: -1
router: -1
subnet: -1
floatingip: -1
nova:
instances: -1
cores: -1
ram: -1
sla:
max_avg_duration: {{sla_max_avg_duration}}
max_seconds_per_iteration: {{sla_max_seconds}}
failure_rate:
max: {{sla_max_failure}}