Capture traffic only in podified nodes running ovs pods

Before this patch, tests capturing dataplane traffic tried to start
captures on all podified nodes (those with 'is_controller' set to
True). However, dataplane traffic should only be captured on podified
nodes running an ovs pod.

Change-Id: I6c7f45166b623f5f2b8bdfa7892605ae1b4f152d
This commit is contained in:
Eduardo Olivares 2024-09-13 10:23:09 +02:00
parent 284370494c
commit 7bb88c4fbd

View File

@ -1059,14 +1059,17 @@ class TrafficFlowTest(BaseTempestWhiteboxTestCase):
def _start_captures(self, filters, scenario='north_south', interface=None): def _start_captures(self, filters, scenario='north_south', interface=None):
for node in self.nodes: for node in self.nodes:
if not (node['is_controller'] or if not (node.get('ovs_pod') or
node['is_compute'] or node['is_compute'] or
node['is_networker']): node['is_networker']):
LOG.debug('Traffic is not captured on node %s because it is ' LOG.debug('Traffic is not captured on node %s because it is '
'not: controller, compute, networker', node['name']) 'none of these:\n'
'- a controller running an ovs pod\n'
'- a compute\n'
'- a networker', node['name'])
continue continue
elif (WB_CONF.openstack_type == 'podified' and elif (WB_CONF.openstack_type == 'podified' and
node['is_controller']): node.get('ovs_pod')):
capture_client = self.proxy_host_client capture_client = self.proxy_host_client
command_prefix = "{} rsh {} ".format(self.OC, node['ovs_pod']) command_prefix = "{} rsh {} ".format(self.OC, node['ovs_pod'])
if interface: if interface: