[PATCH] docs.ipsec_esp_aead_recipe: add ipsec recipe documentation
by jurbanov@redhat.com
From: Jozef Urbanovsky <jurbanov(a)redhat.com>
Small patch, adding the sphinx documentation for the ipsec recipe
Signed-off-by: Jozef Urbanovsky <jurbanov(a)redhat.com>
---
docs/source/ipsec_esp_aead_recipe.rst | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 docs/source/ipsec_esp_aead_recipe.rst
diff --git a/docs/source/ipsec_esp_aead_recipe.rst b/docs/source/ipsec_esp_aead_recipe.rst
new file mode 100644
index 0000000..a5b958b
--- /dev/null
+++ b/docs/source/ipsec_esp_aead_recipe.rst
@@ -0,0 +1,6 @@
+IpsecEspAeadRecipe
+^^^^^^^^^^^^^^^^^^^
+
+.. autoclass:: lnst.Recipes.ENRT.IpsecEspAeadRecipe.IpsecEspAeadRecipe
+ :members:
+ :show-inheritance:
--
2.25.4
3 years, 7 months
[PATCH] TeamRecipe.py: Add docs
by pgagne@redhat.com
From: Perry Gagne <pgagne(a)redhat.com>
Added docstrings and sphinx configs.
Signed-off-by: Perry Gagne <pgagne(a)redhat.com>
---
docs/source/specific_scenarios.rst | 1 +
docs/source/team_recipe.rst | 6 ++
lnst/Recipes/ENRT/TeamRecipe.py | 125 +++++++++++++++++++++++++++++
3 files changed, 132 insertions(+)
create mode 100644 docs/source/team_recipe.rst
diff --git a/docs/source/specific_scenarios.rst b/docs/source/specific_scenarios.rst
index c3d8190..b78577c 100644
--- a/docs/source/specific_scenarios.rst
+++ b/docs/source/specific_scenarios.rst
@@ -3,5 +3,6 @@ Specific ENRT scenarios
.. toctree::
simple_network_recipe
+ team_recipe
vlans_recipe
vlans_over_bond_recipe
diff --git a/docs/source/team_recipe.rst b/docs/source/team_recipe.rst
new file mode 100644
index 0000000..b45df44
--- /dev/null
+++ b/docs/source/team_recipe.rst
@@ -0,0 +1,6 @@
+TeamRecipe
+^^^^^^^^^^^^^^^^^^^
+
+.. autoclass:: lnst.Recipes.ENRT.TeamRecipe.TeamRecipe
+ :members:
+ :show-inheritance:
diff --git a/lnst/Recipes/ENRT/TeamRecipe.py b/lnst/Recipes/ENRT/TeamRecipe.py
index b8233c8..932e75f 100644
--- a/lnst/Recipes/ENRT/TeamRecipe.py
+++ b/lnst/Recipes/ENRT/TeamRecipe.py
@@ -14,6 +14,38 @@ from lnst.Devices import TeamDevice
class TeamRecipe(PerfReversibleFlowMixin, CommonHWSubConfigMixin, OffloadSubConfigMixin,
BaseEnrtRecipe):
+ """
+ This recipe implements Enrt testing for a network scenario that looks
+ as follows
+
+ .. code-block:: none
+
+ .--------.
+ .----------------+ |
+ | .-------+ switch +-------.
+ | | '--------' |
+ .-------------------. |
+ | | team0 | | |
+ | .---'--. .---'--. | .---'--.
+ .----|-| eth0 |-| eth1 |-|----. .----| eth0 |----.
+ | | '------' '------' | | | '------' |
+ | '-------------------' | | |
+ | | | |
+ | host1 | | host2 |
+ '-----------------------------' '----------------'
+
+
+ The recipe provides additional recipe parameters to configure the teaming
+ device.
+
+ :param runner_name:
+ (mandatory test parameter) the teamd runner to be use on
+ the team0 device (ex. `activebackup`, `roundrobin`, etc)
+
+ All sub configurations are included via Mixin classes.
+
+ The actual test machinery is implemented in the :any:`BaseEnrtRecipe` class.
+ """
host1 = HostReq()
host1.eth0 = DeviceReq(label="tnet", driver=RecipeParam("driver"))
host1.eth1 = DeviceReq(label="tnet", driver=RecipeParam("driver"))
@@ -30,6 +62,16 @@ class TeamRecipe(PerfReversibleFlowMixin, CommonHWSubConfigMixin, OffloadSubConf
runner_name = StrParam(mandatory=True)
def test_wide_configuration(self):
+ """
+ Test wide configuration for this recipe involves creating a team
+ device using the two matched physical devices as ports on host1.
+ The `teamd` daemon is configured with the `runner_name` according
+ to the recipe parameters. IPv4 and IPv6 addresses are added to
+ the teaming device and to the matched ethernet device on host2.
+
+ | host1.team0 = 192.168.10.1/24 and fc00:0:0:1::1/64
+ | host2.eth0 = 192.168.10.2/24 and fc00:0:0:1::2/64
+ """
host1, host2 = self.matched.host1, self.matched.host2
teamd_config = {'runner': {'name': self.params.runner_name}}
@@ -56,6 +98,10 @@ class TeamRecipe(PerfReversibleFlowMixin, CommonHWSubConfigMixin, OffloadSubConf
return configuration
def generate_test_wide_description(self, config):
+ """
+ Test wide description is extended with the configured IP addresses, the
+ configured team device ports, and runner name.
+ """
host1, host2 = self.matched.host1, self.matched.host2
desc = super().generate_test_wide_description(config)
desc += [
@@ -83,33 +129,112 @@ class TeamRecipe(PerfReversibleFlowMixin, CommonHWSubConfigMixin, OffloadSubConf
super().test_wide_deconfiguration(config)
def generate_ping_endpoints(self, config):
+ """
+ The ping endpoints for this recipe are the configured team device on
+ host1 and the matched ethernet device on host2.
+
+ Returned as::
+
+ [PingEndpoints(self.matched.host1.team0, self.matched.host2.eth0),
+ PingEndpoints(self.matched.host2.eth0, self.matched.host1.team0)]
+ """
return [
PingEndpoints(self.matched.host1.team0, self.matched.host2.eth0),
PingEndpoints(self.matched.host2.eth0, self.matched.host1.team0)
]
def generate_perf_endpoints(self, config):
+ """
+ The perf endpoints for this recipe are the configured team device on
+ host1 and the matched ethernet device on host2. The traffic egresses
+ the team device.
+
+ | host1.team0
+ | host2.eth0
+
+ Returned as::
+
+ [(self.matched.host1.team0, self.matched.host2.eth0)]
+
+ """
return [(self.matched.host1.team0, self.matched.host2.eth0)]
@property
def offload_nics(self):
+ """
+ The `offload_nics` property value for this scenario is a list containing
+ the configured team device on host1 and the matched ethernet device
+ on host2.
+
+ | host1.team0
+ | host2.eth0
+
+ For detailed explanation of this property see :any:`OffloadSubConfigMixin`
+ class and :any:`OffloadSubConfigMixin.offload_nics`.
+ """
return [self.matched.host1.team0, self.matched.host2.eth0]
@property
def mtu_hw_config_dev_list(self):
+ """
+ The `mtu_hw_config_dev_list` property value for this scenario is a list
+ containing the configured teaming device on host1 and the matched ethernet
+ device on host2.
+
+ | host1.team0
+ | host2.eth0
+
+ For detailed explanation of this property see :any:`MTUHWConfigMixin`
+ class and :any:`MTUHWConfigMixin.mtu_hw_config_dev_list`.
+ """
return [self.matched.host1.team0, self.matched.host2.eth0]
@property
def coalescing_hw_config_dev_list(self):
+ """
+ The `coalescing_hw_config_dev_list` property value for this scenario is a
+ list containing the matched physical devices used to create the teaming
+ device on host1 and the matched ethernet device on host2.
+
+ | host1.eth0, host.eth1
+ | host2.eth0
+
+ For detailed explanation of this property see :any:`CoalescingHWConfigMixin`
+ class and :any:`CoalescingHWConfigMixin.coalescing_hw_config_dev_list`.
+ """
host1, host2 = self.matched.host1, self.matched.host2
return [host1.eth0, host1.eth1, host2.eth0]
@property
def dev_interrupt_hw_config_dev_list(self):
+ """
+ The `dev_interrupt_hw_config_dev_list` property value for this scenario
+ is a list containing the matched physical devices used to create the
+ teaming device on host1 and the matched ethernet device on host2.
+
+ | host1.eth0, host1.eth1
+ | host2.eth0
+
+ For detailed explanation of this property see
+ :any:`DevInterruptHWConfigMixin` class and
+ :any:`CoalescingHWConfigMixin.coalescing_hw_config_dev_list`.
+ """
host1, host2 = self.matched.host1, self.matched.host2
return [host1.eth0, host1.eth1, host2.eth0]
@property
def parallel_stream_qdisc_hw_config_dev_list(self):
+ """
+ The `parallel_stream_qdisc_hw_config_dev_list` property value for this
+ scenario is a list containing the matched physical devices used to create
+ the teaming device on host1 and the matched ethernet device on host2.
+
+ | host1.eth0, host.eth1
+ | host2.eth0
+
+ For detailed explanation of this property see
+ :any:`ParallelStreamQDiscHWConfigMixin` class and
+ :any:`ParallelStreamQDiscHWConfigMixin.parallel_stream_qdisc_hw_config_dev_list`.
+ """
host1, host2 = self.matched.host1, self.matched.host2
return [host1.eth0, host1.eth1, host2.eth0]
--
2.26.2
3 years, 7 months
[PATCH 0/3] IpsecEspAeadRecipe enablement
by jurbanov@redhat.com
From: Jozef Urbanovsky <jurbanov(a)redhat.com>
This short patchset fixes issues with the IpsecEspAeadRecipe,
reformats the code and adds documentation needed for the onboarding
of the LNST next recipe.
Jozef Urbanovsky (3):
Recipes.ENRT.IpsecEspAeadRecipe: reformating code to be PEP8 compliant
Recipes.ENRT.IpsecEspAeadRecipe: add missing PerfFlow attributes,
extend description of test
Recipes.ENRT.IpsecEspAeadRecipe: add documentation
lnst/Recipes/ENRT/IpsecEspAeadRecipe.py | 131 ++++++++++++++++++------
1 file changed, 98 insertions(+), 33 deletions(-)
--
2.25.4
3 years, 7 months
[PATCH] VirtOvsVxlanRecipe: fix common hw config
by olichtne@redhat.com
From: Ondrej Lichtner <olichtne(a)redhat.com>
The VirtOvsVxlanRecipe was missed during common hw config refactoring
and the old "hw_config" method was forgotten.
The recipe does inherit the correct subconfig mixin class however it's
not called due to this old hw_config method.
This patch removes the method and adds the missing device list
properties used by the common hw subconfig mixins.
The adaptive coalescing one is skipped for now as I have not found it
being used in the legacy version of the recipe.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
---
lnst/Recipes/ENRT/VirtOvsVxlanRecipe.py | 29 +++++++------------------
1 file changed, 8 insertions(+), 21 deletions(-)
diff --git a/lnst/Recipes/ENRT/VirtOvsVxlanRecipe.py b/lnst/Recipes/ENRT/VirtOvsVxlanRecipe.py
index 9e9c0c5..66e6575 100644
--- a/lnst/Recipes/ENRT/VirtOvsVxlanRecipe.py
+++ b/lnst/Recipes/ENRT/VirtOvsVxlanRecipe.py
@@ -141,32 +141,19 @@ def generate_ping_endpoints(self, config):
def generate_perf_endpoints(self, config):
return [(self.matched.guest1.eth0, self.matched.guest3.eth0)]
+ @property
+ def pause_frames_dev_list(self):
+ return [self.matched.host1.eth0, self.matched.host2.eth0]
+
@property
def mtu_hw_config_dev_list(self):
return [self.matched.guest1.eth0, self.matched.guest2.eth0,
self.matched.guest3.eth0, self.matched.guest4.eth0]
@property
- def parallel_stream_qdisc_hw_config_dev_list(self):
+ def dev_interrupt_hw_config_dev_list(self):
return [self.matched.host1.eth0, self.matched.host2.eth0]
- def hw_config(self, config):
- host1, host2, guest1, guest2, guest3, guest4 = (self.matched.host1,
- self.matched.host2, self.matched.guest1, self.matched.guest2,
- self.matched.guest3, self.matched.guest4)
-
- config.hw_config = {}
- hw_config = config.hw_config
-
- if "dev_intr_cpu" in self.params:
- intr_cfg = hw_config["dev_intr_cpu_configuration"] = {}
- intr_cfg["irq_devs"] = {}
- intr_cfg["irqbalance_hosts"] = []
-
- for host in [host1, host2, guest1, guest2, guest3, guest4]:
- host.run("service irqbalance stop")
- intr_cfg["irqbalance_hosts"].append(host)
-
- for dev in [host1.eth0, host2.eth0]:
- self._pin_dev_interrupts(dev, self.params.dev_intr_cpu)
- intr_cfg["irq_devs"][dev] = self.params.dev_intr_cpu
+ @property
+ def parallel_stream_qdisc_hw_config_dev_list(self):
+ return [self.matched.host1.eth0, self.matched.host2.eth0]
--
2.28.0
3 years, 7 months