From: Ondrej Lichtner olichtne@redhat.com
This adds .README files for the recently added vxlan recipes.
Signed-off-by: Ondrej Lichtner olichtne@redhat.com --- .../phase3/2_virt_ovs_vxlan.README | 129 +++++++++++++++++++++ .../phase3/novirt_ovs_vxlan.README | 93 +++++++++++++++ .../regression_tests/phase3/vxlan_multicast.README | 86 ++++++++++++++ .../regression_tests/phase3/vxlan_remote.README | 86 ++++++++++++++ 4 files changed, 394 insertions(+) create mode 100644 recipes/regression_tests/phase3/2_virt_ovs_vxlan.README create mode 100644 recipes/regression_tests/phase3/novirt_ovs_vxlan.README create mode 100644 recipes/regression_tests/phase3/vxlan_multicast.README create mode 100644 recipes/regression_tests/phase3/vxlan_remote.README
diff --git a/recipes/regression_tests/phase3/2_virt_ovs_vxlan.README b/recipes/regression_tests/phase3/2_virt_ovs_vxlan.README new file mode 100644 index 0000000..e7c8c90 --- /dev/null +++ b/recipes/regression_tests/phase3/2_virt_ovs_vxlan.README @@ -0,0 +1,129 @@ +Topology: + + switch + +--------+ + | | + +--------------------+ +----------------------+ + | | | | + | | | | + | | | | + | +--------+ | + | | + | | + +--+--+ +--+--+ ++---------| eth |--------+ +---------| eth |--------+ +| +-----+ | | +-----+ | +| | | | +| +----------------------------------------------------+ | +| | | | | | +| +----------+---------+ | | +----------+---------+ | +| | vxlan | | | | vxlan | | +| | | | | | | | +| | ovs_bridge | | | | ovs_bridge | | +| |tun_id tun_id| | | |tun_id tun_id| | +| | 100 200 | | | | 100 200 | | +| +--+--------------+--+ | | +--+--------------+--+ | +| | host1 | | | | host2 | | +| | | | | | | | +| | | | | | | | +| +-+-+ +-+-+ | | +-+-+ +-+-+ | ++--+tap+----------+tap+--+ +--+tap+----------+tap+--+ + +-+-+ +-+-+ +-+-+ +-+-+ + | | | | + +-+-+ +-+-+ +-+-+ +-+-+ ++--+eth+--+ +--+eth+--+ +--+eth+--+ +--+eth+--+ +| +---+ | | +---+ | | +---+ | | +---+ | +| | | | | | | | +| guest1 | | guest2 | | guest3 | | guest4 | +| | | | | | | | +| | | | | | | | ++---------+ +---------+ +---------+ +---------+ + +Number of hosts: 6 +Host #1 description: + One ethernet device configured with {$net}.1/24 ip address + Two tap devices + One Open vSwitch bridge that separates the guests into two distinct VXLANs + with tun_id=100 and tun_id=200. The vxlan port remote_ip points to the + ethernet interface of Host #2. + Host for guest1 and guest2 virtual machines +Host #2 description: + One ethernet device configured with {$net}.2/24 ip address + Two tap devices + One Open vSwitch bridge that separates the guests into two distinct VXLANs + with tun_id=100 and tun_id=200. The vxlan port remote_ip points to the + ethernet interface of Host #1. + Host for guest3 and guest4 virtual machines +Guest #1 description: + One ethernet device configured with ip addresses: + {$vxlan_net}.1/24 + {$vxlan_net6}::1/64 +Guest #2 description: + One ethernet device configured with ip addresses: + {$vxlan_net}.2/24 + {$vxlan_net6}::2/64 +Guest #3 description: + One ethernet device configured with ip addresses: + {$vxlan_net}.3/24 + {$vxlan_net6}::3/64 +Guest #4 description: + One ethernet device configured with ip addresses: + {$vxlan_net}.4/24 + {$vxlan_net6}::4/64 +Test name: + 2_virt_ovs_vxlan.py +Test description: + Ping: + + count: 100 + + interval: 0.1s + + guest1 -> guest2 expecting FAIL + + guest1 -> guest3 expecting PASS + + guest1 -> guest4 expecting FAIL + + guest2 -> guest3 expecting FAIL + + guest2 -> guest4 expecting PASS + + guest3 -> guest4 expecting FAIL + Ping6: + + count: 100 + + interval: 0.1s + + guest1 -> guest2 expecting FAIL + + guest1 -> guest3 expecting PASS + + guest1 -> guest4 expecting FAIL + + guest2 -> guest3 expecting FAIL + + guest2 -> guest4 expecting PASS + + guest3 -> guest4 expecting FAIL + Netperf: + + duration: 60s, repeated 5 times to calculate confidence + + guest1 -> guest3 TCP_STREAM ipv4 + + guest1 -> guest3 UDP_STREAM ipv4 + + guest1 -> guest3 TCP_STREAM ipv6 + + guest1 -> guest3 UDP_STREAM ipv6 + +PerfRepo integration: + First, preparation in PerfRepo is required - you need to create Test objects + through the web interface that properly describe the individual Netperf + tests that this recipe runs. Don't forget to also add appropriate metrics. + For these Netperf tests it's always: + * throughput + * throughput_min + * throughput_max + * throughput_deviation + + After that, to enable support for PerfRepo you need to create the file + 2_virt_ovs_vxlan.mapping and define the following id mappings: + tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + + To enable result comparison agains baselines you need to create a Report in + PerfRepo that will store the baseline. Set up the Report to only contain results + with the same hash tag and then add a new mapping to the mapping file, with + this format: + <some_hash> = <report_id> + + The hash value is automatically generated during test execution and added + to each result stored in PerfRepo. To get the Report id you need to open + that report in our browser and find if in the URL. + + When running this recipe you should also define the 'product_name' alias + (e.g. RHEL7) in order to tag the result object in PerfRepo. diff --git a/recipes/regression_tests/phase3/novirt_ovs_vxlan.README b/recipes/regression_tests/phase3/novirt_ovs_vxlan.README new file mode 100644 index 0000000..8570ebd --- /dev/null +++ b/recipes/regression_tests/phase3/novirt_ovs_vxlan.README @@ -0,0 +1,93 @@ +Topology: + + switch + +--------+ + | | + +--------------------+ +----------------------+ + | | | | + | | | | + | | | | + | +--------+ | + | | + | | + +--+--+ +--+--+ ++---------| eth |--------+ +---------| eth |--------+ +| +-----+ | | +-----+ | +| | | | +| +----------------------------------------------------+ | +| | | | | | +| +----------+---------+ | | +----------+---------+ | +| | vxlan | | | | vxlan | | +| | | | | | | | +| | ovs_bridge | | | | ovs_bridge | | +| | | | | | | | +| | +----+ | | | | +----+ | | +| +-------|int0|-------+ | | +-------|int0|-------+ | +| +----+ | | +----+ | +| | | | +| host1 | | host2 | +| | | | ++------------------------+ +------------------------+ + +Number of hosts: 6 +Host #1 description: + One ethernet device configured with {$net}.1/24 ip address + One Open vSwitch bridge configured with: + * a VXLAN tunnel with remote_ip set to the ethernet interface of Host #2. + * an 'internal' port tagged with tun_id=100 and ip addresses: + {$vxlan_net}.1/24 + {$vxlan_net6}::1/64 +Host #2 description: + One ethernet device configured with {$net}.2/24 ip address + One Open vSwitch bridge configured with: + * a VXLAN tunnel with remote_ip set to the ethernet interface of Host #1. + * an 'internal' port tagged with tun_id=100 and ip addresses: + {$vxlan_net}.2/24 + {$vxlan_net6}::2/64 +Test name: + novirt_ovs_vxlan.py +Test description: + Ping: + + count: 100 + + interval: 0.1s + + host1.int0 -> host2.int0 expecting PASS + Ping6: + + count: 100 + + interval: 0.1s + + host1.int0 -> host2.int0 expecting PASS + Netperf: + + duration: 60s, repeated 5 times to calculate confidence + + host1.int0 -> host2.int0 TCP_STREAM ipv4 + + host1.int0 -> host2.int0 UDP_STREAM ipv4 + + host1.int0 -> host2.int0 TCP_STREAM ipv6 + + host1.int0 -> host2.int0 UDP_STREAM ipv6 + +PerfRepo integration: + First, preparation in PerfRepo is required - you need to create Test objects + through the web interface that properly describe the individual Netperf + tests that this recipe runs. Don't forget to also add appropriate metrics. + For these Netperf tests it's always: + * throughput + * throughput_min + * throughput_max + * throughput_deviation + + After that, to enable support for PerfRepo you need to create the file + novirt_ovs_vxlan.mapping and define the following id mappings: + tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + + To enable result comparison agains baselines you need to create a Report in + PerfRepo that will store the baseline. Set up the Report to only contain results + with the same hash tag and then add a new mapping to the mapping file, with + this format: + <some_hash> = <report_id> + + The hash value is automatically generated during test execution and added + to each result stored in PerfRepo. To get the Report id you need to open + that report in our browser and find if in the URL. + + When running this recipe you should also define the 'product_name' alias + (e.g. RHEL7) in order to tag the result object in PerfRepo. diff --git a/recipes/regression_tests/phase3/vxlan_multicast.README b/recipes/regression_tests/phase3/vxlan_multicast.README new file mode 100644 index 0000000..cc082da --- /dev/null +++ b/recipes/regression_tests/phase3/vxlan_multicast.README @@ -0,0 +1,86 @@ +Topology: + + switch + +------+ + | | + | | + +-------------+ +-------------+ + | | | | + | | | | + | +------+ | + | | + | | + +-+--+ +-+--+ ++-------|eth1|------+ +-------|eth1|------+ +| +-+--+ | | +-+--+ | +| | | | | | +| +-----+ | | +-----+ | +| |vxlan| | | |vxlan| | +| +-----+ | | +-----+ | +| | | | +| host1 | | host2 | +| | | | +| | | | +| | | | ++-------------------+ +-------------------+ + +Number of hosts: 2 +Host #1 description: + One ethernet device configured with ip address {$net}.1/24 + VXLAN interface on top of the ethernet interface using group_ip 239.1.1.1 + configured with ip addresses: + {$vxlan_net}.1/24 + {$vxlan_net6}::1/64 +Host #2 description: + One ethernet device configured with ip address {$net}.2/24 + VXLAN interface on top of the ethernet interface using group_ip 239.1.1.1 + configured with ip addresses: + {$vxlan_net}.2/24 + {$vxlan_net6}::2/64 +Test name: + vxlan_test.py +Test description: + Ping: + + count: 100 + + interval: 0.1s + + host1.vxlan -> host2.vxlan expecting PASS + Ping6: + + count: 100 + + interval: 0.1s + + host1.vxlan -> host2.vxlan expecting PASS + Netperf: + + duration: 60s, repeated 5 times to calculate confidence + + host1.vxlan -> host2.vxlan TCP_STREAM ipv4 + + host1.vxlan -> host2.vxlan UDP_STREAM ipv4 + + host1.vxlan -> host2.vxlan TCP_STREAM ipv6 + + host1.vxlan -> host2.vxlan UDP_STREAM ipv6 + +PerfRepo integration: + First, preparation in PerfRepo is required - you need to create Test objects + through the web interface that properly describe the individual Netperf + tests that this recipe runs. Don't forget to also add appropriate metrics. + For these Netperf tests it's always: + * throughput + * throughput_min + * throughput_max + * throughput_deviation + + After that, to enable support for PerfRepo you need to create the file + vxlan_multicast.mapping and define the following id mappings: + tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + + To enable result comparison agains baselines you need to create a Report in + PerfRepo that will store the baseline. Set up the Report to only contain results + with the same hash tag and then add a new mapping to the mapping file, with + this format: + <some_hash> = <report_id> + + The hash value is automatically generated during test execution and added + to each result stored in PerfRepo. To get the Report id you need to open + that report in our browser and find if in the URL. + + When running this recipe you should also define the 'product_name' alias + (e.g. RHEL7) in order to tag the result object in PerfRepo. diff --git a/recipes/regression_tests/phase3/vxlan_remote.README b/recipes/regression_tests/phase3/vxlan_remote.README new file mode 100644 index 0000000..08fc8ef --- /dev/null +++ b/recipes/regression_tests/phase3/vxlan_remote.README @@ -0,0 +1,86 @@ +Topology: + + switch + +------+ + | | + | | + +-------------+ +-------------+ + | | | | + | | | | + | +------+ | + | | + | | + +-+--+ +-+--+ ++-------|eth1|------+ +-------|eth1|------+ +| +-+--+ | | +-+--+ | +| | | | | | +| +-----+ | | +-----+ | +| |vxlan| | | |vxlan| | +| +-----+ | | +-----+ | +| | | | +| host1 | | host2 | +| | | | +| | | | +| | | | ++-------------------+ +-------------------+ + +Number of hosts: 2 +Host #1 description: + One ethernet device configured with ip address {$net}.1/24 + VXLAN interface on top of the ethernet interface using remote_ip {$net}.2 + configured with ip addresses: + {$vxlan_net}.1/24 + {$vxlan_net6}::1/64 +Host #2 description: + One ethernet device configured with ip address {$net}.2/24 + VXLAN interface on top of the ethernet interface using remote_ip {$net}.1 + configured with ip addresses: + {$vxlan_net}.2/24 + {$vxlan_net6}::2/64 +Test name: + vxlan_test.py +Test description: + Ping: + + count: 100 + + interval: 0.1s + + host1.vxlan -> host2.vxlan expecting PASS + Ping6: + + count: 100 + + interval: 0.1s + + host1.vxlan -> host2.vxlan expecting PASS + Netperf: + + duration: 60s, repeated 5 times to calculate confidence + + host1.vxlan -> host2.vxlan TCP_STREAM ipv4 + + host1.vxlan -> host2.vxlan UDP_STREAM ipv4 + + host1.vxlan -> host2.vxlan TCP_STREAM ipv6 + + host1.vxlan -> host2.vxlan UDP_STREAM ipv6 + +PerfRepo integration: + First, preparation in PerfRepo is required - you need to create Test objects + through the web interface that properly describe the individual Netperf + tests that this recipe runs. Don't forget to also add appropriate metrics. + For these Netperf tests it's always: + * throughput + * throughput_min + * throughput_max + * throughput_deviation + + After that, to enable support for PerfRepo you need to create the file + vxlan_remote.mapping and define the following id mappings: + tcp_ipv4_id -> to store ipv4 TCP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + tcp_ipv6_id -> to store ipv6 TCP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + udp_ipv4_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + udp_ipv6_id -> to store ipv4 UDP_STREAM Netperf test results, maps to TestUid of a PerfRepo Test object + + To enable result comparison agains baselines you need to create a Report in + PerfRepo that will store the baseline. Set up the Report to only contain results + with the same hash tag and then add a new mapping to the mapping file, with + this format: + <some_hash> = <report_id> + + The hash value is automatically generated during test execution and added + to each result stored in PerfRepo. To get the Report id you need to open + that report in our browser and find if in the URL. + + When running this recipe you should also define the 'product_name' alias + (e.g. RHEL7) in order to tag the result object in PerfRepo.