import os
import logging
+import math
import pkg_resources
from oslo_serialization import jsonutils
LOG = logging.getLogger(__name__)
+SSH_TIMEOUT = 60
VNIC_TYPE_LIST = ["ovs", "sriov"]
SRIOV_DRIVER_LIST = ["ixgbevf", "i40evf"]
"sudo iptables -A INPUT -p udp --dport 1000:%s -j DROP" \
% (1000 + self.number_of_ports)
LOG.debug("Executing command: %s", cmd)
- status, _, stderr = self.server.execute(cmd)
+ status, _, stderr = self.server.execute(cmd, timeout=SSH_TIMEOUT)
if status:
raise RuntimeError(stderr)
duration, queue_number, pps)
LOG.debug("Executing command: %s", cmd)
- status, stdout, stderr = self.client.execute(cmd)
+ status, stdout, stderr = self.client.execute(cmd, timeout=SSH_TIMEOUT)
if status:
raise RuntimeError(stderr)
result.update(jsonutils.loads(stdout))
- result['packets_received'] = self._iptables_get_result()
+ received = result['packets_received'] = self._iptables_get_result()
+ sent = result['packets_sent']
result['packetsize'] = packetsize
+ # compatible with python3 /
+ ppm = math.ceil(1000000.0 * (sent - received) / sent)
+
+ result['ppm'] = ppm
if "sla" in self.scenario_cfg:
- sent = result['packets_sent']
- received = result['packets_received']
- ppm = 1000000 * (sent - received) / sent
- # if ppm is 1, then 11 out of 10 million is no pass
- ppm += (sent - received) % sent > 0
LOG.debug("Lost packets %d - Lost ppm %d", (sent - received), ppm)
sla_max_ppm = int(self.scenario_cfg["sla"]["max_ppm"])
assert ppm <= sla_max_ppm, "ppm %d > sla_max_ppm %d; " \