Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,7 @@ def setUp(self):

self.random_vlan = random.choice(self.vlan_ports)
self.from_server_src_port = self.random_vlan
self.from_server_src_addr = random.choice(list(self.vlan_host_map[self.random_vlan].keys()))
self.from_server_src_addr = random.choice(self.vlan_host_map[self.random_vlan].keys())
self.from_server_src_mac = self.hex_to_mac(self.vlan_host_map[self.random_vlan][self.from_server_src_addr])
self.from_server_dst_addr = self.random_ip(self.test_params['default_ip_range'])
self.from_server_dst_ports = self.dualtor_portchannel_ports if self.is_dualtor else self.portchannel_ports
Expand Down Expand Up @@ -791,7 +791,7 @@ def generate_from_t1(self):
ip_ttl=255,
tcp_dport=5000)

self.from_t1.append((src_port, bytes(packet)))
self.from_t1.append((src_port, str(packet)))

# expect any packet with dport 5000
exp_packet = simple_tcp_packet(
Expand Down Expand Up @@ -828,21 +828,21 @@ def generate_from_vlan(self):
self.from_vlan_exp_packet.set_do_not_care_scapy(scapy.Ether, "src")
self.from_vlan_exp_packet.set_do_not_care_scapy(scapy.Ether, "dst")

self.from_vlan_packet = bytes(packet)
self.from_vlan_packet = str(packet)

def generate_ping_dut_lo(self):
self.ping_dut_packets = []
dut_lo_ipv4 = self.lo_prefix.split('/')[0]

for src_port in self.active_port_indices if self.is_dualtor else self.vlan_host_ping_map:
src_addr = random.choice(list(self.vlan_host_ping_map[src_port].keys()))
src_addr = random.choice(self.vlan_host_ping_map[src_port].keys())
src_mac = self.hex_to_mac(
self.vlan_host_ping_map[src_port][src_addr])
packet = simple_icmp_packet(eth_src=src_mac,
eth_dst=self.vlan_mac,
ip_src=src_addr,
ip_dst=dut_lo_ipv4)
self.ping_dut_packets.append((src_port, bytes(packet)))
self.ping_dut_packets.append((src_port, str(packet)))

exp_packet = simple_icmp_packet(eth_src=self.vlan_mac,
ip_src=dut_lo_ipv4,
Expand All @@ -862,7 +862,7 @@ def generate_arp_ping_packet(self):
vlan = next(k for k, v in self.ports_per_vlan.items() if v)
vlan_ip_range = self.vlan_ip_range[vlan]

vlan_port_canadiates = list(range(len(self.ports_per_vlan[vlan])))
vlan_port_canadiates = range(len(self.ports_per_vlan[vlan]))
vlan_port_canadiates.remove(0) # subnet prefix
vlan_port_canadiates.remove(1) # subnet IP on dut
src_idx = random.choice(vlan_port_canadiates)
Expand All @@ -881,7 +881,7 @@ def generate_arp_ping_packet(self):
(src_idx, src_port, src_mac, src_addr))
self.log("ARP ping: dst idx %d port %d addr %s" %
(dst_idx, dst_port, dst_addr))
self.arp_ping = bytes(packet)
self.arp_ping = str(packet)
self.arp_resp = Mask(expect)
self.arp_resp.set_do_not_care_scapy(scapy.Ether, 'src')
self.arp_resp.set_do_not_care_scapy(scapy.ARP, 'hwtype')
Expand Down Expand Up @@ -1673,7 +1673,7 @@ def send_in_background(self, packets_list=None):
packet.load = payload
from_port = src_port
sent_count_t1_to_vlan += 1
testutils.send_packet(self, from_port, bytes(packet))
testutils.send_packet(self, from_port, str(packet))
self.sent_packet_count = self.sent_packet_count + 1

self.log("Sent count vlan to t1: {}".format(sent_count_vlan_to_t1))
Expand Down Expand Up @@ -1825,7 +1825,7 @@ def check_tcp_payload(self, packet):
It returns True if a packet is not corrupted and has a valid TCP sequential TCP Payload
"""
try:
int(bytes(packet[scapyall.TCP].payload)
int(str(packet[scapyall.TCP].payload)
) in range(self.sent_packet_count)
return True
except Exception:
Expand All @@ -1835,12 +1835,12 @@ def no_flood(self, packet):
"""
This method filters packets which are unique (i.e. no floods).
"""
if (not int(bytes(packet[scapyall.TCP].payload)) in self.unique_id) and \
if (not int(str(packet[scapyall.TCP].payload)) in self.unique_id) and \
(packet[scapyall.Ether].src == self.dut_mac or packet[scapyall.Ether].src == self.vlan_mac):
# This is a unique (no flooded) received packet.
# for dualtor, t1->server rcvd pkt will have src MAC as vlan_mac,
# and server->t1 rcvd pkt will have src MAC as dut_mac
self.unique_id.append(int(bytes(packet[scapyall.TCP].payload)))
self.unique_id.append(int(str(packet[scapyall.TCP].payload)))
return True
elif packet[scapyall.Ether].dst == self.dut_mac or packet[scapyall.Ether].dst == self.vlan_mac:
# This is a sent packet.
Expand Down Expand Up @@ -1895,7 +1895,7 @@ def examine_flow(self, filename=None):

# Re-arrange packets, if delayed, by Payload ID and Timestamp:
packets = sorted(filtered_packets, key=lambda packet: (
int(bytes(packet[scapyall.TCP].payload)), packet.time))
int(str(packet[scapyall.TCP].payload)), packet.time))
self.lost_packets = dict()
self.max_disrupt, self.total_disruption = 0, 0
sent_packets = dict()
Expand All @@ -1919,7 +1919,7 @@ def examine_flow(self, filename=None):
# for dualtor both MACs are needed:
# t1->server sent pkt will have dst MAC as dut_mac,
# and server->t1 sent pkt will have dst MAC as vlan_mac
sent_payload = int(bytes(packet[scapyall.TCP].payload))
sent_payload = int(str(packet[scapyall.TCP].payload))
sent_packets[sent_payload] = packet.time
sent_counter += 1
continue
Expand All @@ -1929,7 +1929,7 @@ def examine_flow(self, filename=None):
# t1->server rcvd pkt will have src MAC as vlan_mac,
# and server->t1 rcvd pkt will have src MAC as dut_mac
received_time = packet.time
received_payload = int(bytes(packet[scapyall.TCP].payload))
received_payload = int(str(packet[scapyall.TCP].payload))
if (received_payload % 5) == 0: # From vlan to T1.
received_vlan_to_t1 += 1
else:
Expand Down Expand Up @@ -2250,10 +2250,8 @@ def log_vlan_state_change(self, reachable):
def reachability_watcher(self):
# This function watches the reachability of the CPU port, and ASIC. It logs the state
# changes for future analysis
self.log('Reachability watcher started')
self.watcher_is_stopped.clear() # Watcher is running.
while self.watching:
self.log('Reachability watcher - checking data plane')
if self.dataplane_io_lock.acquire(False):
vlan_to_t1, t1_to_vlan = self.ping_data_plane(self.light_probe)
reachable = (t1_to_vlan > self.nr_vl_pkts * 0.7 and
Expand All @@ -2267,9 +2265,6 @@ def reachability_watcher(self):
self.log_asic_state_change(
reachable, partial, t1_to_vlan, flooding)
self.dataplane_io_lock.release()
else:
self.log("Reachability watcher - Dataplane is busy. Skipping the check")
self.log('Reachability watcher - checking control plane')
total_rcv_pkt_cnt = self.pingDut()
reachable = total_rcv_pkt_cnt > 0 and total_rcv_pkt_cnt > self.ping_dut_pkts * 0.7
partial = total_rcv_pkt_cnt > 0 and total_rcv_pkt_cnt < self.ping_dut_pkts
Expand All @@ -2279,7 +2274,6 @@ def reachability_watcher(self):
reachable = total_rcv_pkt_cnt >= self.arp_ping_pkts
self.log_vlan_state_change(reachable)
self.watcher_is_running.set() # Watcher is running.
self.log('Reachability watcher stopped')
self.watcher_is_stopped.set() # Watcher has stopped.
self.watcher_is_running.clear() # Watcher has stopped.

Expand Down
5 changes: 2 additions & 3 deletions ansible/roles/test/files/ptftests/arista.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import paramiko
import pickle
import ast
import six

from operator import itemgetter
from collections import defaultdict
Expand Down Expand Up @@ -105,7 +104,7 @@ def do_cmd(self, cmd, prompt=None):
continue

try:
input_buffer += six.ensure_str(self.shell.recv(16384))
input_buffer += self.shell.recv(16384)
except Exception as err:
msg = 'Receive ssh command result error: cmd={} msg={} type={}'.format(
cmd, err, type(err))
Expand Down Expand Up @@ -392,7 +391,7 @@ def parse_logs(self, data):
return result

def parse_lacp(self, output):
return six.ensure_str(output).find('Bundled') != -1
return output.find('Bundled') != -1

def parse_bgp_neighbor_once(self, output):
is_gr_ipv4_enabled = False
Expand Down
1 change: 0 additions & 1 deletion ansible/roles/test/files/ptftests/py3/arista.py

This file was deleted.

1 change: 0 additions & 1 deletion ansible/roles/test/files/ptftests/py3/host_device.py

This file was deleted.

1 change: 0 additions & 1 deletion ansible/roles/test/files/ptftests/py3/sad_path.py

This file was deleted.

4 changes: 2 additions & 2 deletions ansible/roles/test/files/ptftests/sonic.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import scapy.all as scapyall
import ast
import socket
import six

import host_device


Expand Down Expand Up @@ -309,7 +309,7 @@ def check_lag_flaps(self, interface, log_lines, start_time):
return 0, num_lag_flaps

def parse_lacp(self, output):
return six.ensure_str(output).find('Bundled') != -1
return output.find('Bundled') != -1

def parse_bgp_neighbor_once(self, output):
is_gr_ipv4_enabled = False
Expand Down
3 changes: 1 addition & 2 deletions tests/common/fixtures/advanced_reboot.py
Original file line number Diff line number Diff line change
Expand Up @@ -756,8 +756,7 @@ def __runPtfRunner(self, rebootOper=None):
params=params,
log_file='/tmp/advanced-reboot.ReloadTest.log',
module_ignore_errors=self.moduleIgnoreErrors,
timeout=REBOOT_CASE_TIMEOUT,
is_python3=True
timeout=REBOOT_CASE_TIMEOUT
)

return result
Expand Down