From cc75f3f75e026bc17e526577c463ab5b524ebf22 Mon Sep 17 00:00:00 2001 From: imarom Date: Thu, 21 Jan 2016 10:05:18 -0500 Subject: phase 4 --- .../trex_control_plane/console/trex_tui.py | 127 +++++++++------------ 1 file changed, 56 insertions(+), 71 deletions(-) (limited to 'scripts/automation/trex_control_plane/console/trex_tui.py') diff --git a/scripts/automation/trex_control_plane/console/trex_tui.py b/scripts/automation/trex_control_plane/console/trex_tui.py index 9e66a984..1e22b005 100644 --- a/scripts/automation/trex_control_plane/console/trex_tui.py +++ b/scripts/automation/trex_control_plane/console/trex_tui.py @@ -8,6 +8,7 @@ from client_utils import text_tables from collections import OrderedDict import datetime from cStringIO import StringIO +from client.trex_stateless_client import STLError class SimpleBar(object): def __init__ (self, desc, pattern): @@ -60,7 +61,7 @@ class TrexTUIDashBoard(TrexTUIPanel): def show (self): - stats = self.stateless_client.cmd_stats(self.ports, trex_stats.COMPACT) + stats = self.stateless_client._get_formatted_stats(self.ports, trex_stats.COMPACT) # print stats to screen for stat_type, stat_data in stats.iteritems(): text_tables.print_table_with_header(stat_data.text_table, stat_type) @@ -88,64 +89,44 @@ class TrexTUIDashBoard(TrexTUIPanel): ######### actions def action_pause (self): - rc = self.stateless_client.pause_traffic(self.mng.ports) + try: + rc = self.stateless_client.pause(ports = self.mng.ports) + except STLError: + pass - ports_succeeded = [] - for rc_single, port_id in zip(rc.rc_list, self.mng.ports): - if rc_single.rc: - ports_succeeded.append(port_id) + return "" - if len(ports_succeeded) > 0: - return "paused traffic on port(s): {0}".format(ports_succeeded) - else: - return "" def action_resume (self): - rc = self.stateless_client.resume_traffic(self.mng.ports) - - ports_succeeded = [] - for rc_single, port_id in zip(rc.rc_list, self.mng.ports): - if rc_single.rc: - ports_succeeded.append(port_id) + try: + self.stateless_client.resume(ports = self.mng.ports) + except STLError: + pass - if len(ports_succeeded) > 0: - return "resumed traffic on port(s): {0}".format(ports_succeeded) - else: - return "" + return "" def action_raise (self): - mul = {'type': 'percentage', 'value': 5, 'op': 'add'} - rc = self.stateless_client.update_traffic(mul, self.mng.ports) + try: + self.stateless_client.update(mult = "5%+", ports = self.mng.ports) + except STLError: + pass - ports_succeeded = [] - for rc_single, port_id in zip(rc.rc_list, self.mng.ports): - if rc_single.rc: - ports_succeeded.append(port_id) + return "" - if len(ports_succeeded) > 0: - return "raised B/W by %5 on port(s): {0}".format(ports_succeeded) - else: - return "" def action_lower (self): - mul = {'type': 'percentage', 'value': 5, 'op': 'sub'} - rc = self.stateless_client.update_traffic(mul, self.mng.ports) - - ports_succeeded = [] - for rc_single, port_id in zip(rc.rc_list, self.mng.ports): - if rc_single.rc: - ports_succeeded.append(port_id) + try: + self.stateless_client.update(mult = "5%-", ports = self.mng.ports) + except STLError: + pass - if len(ports_succeeded) > 0: - return "lowered B/W by %5 on port(s): {0}".format(ports_succeeded) - else: - return "" + return "" def action_clear (self): - self.stateless_client.cmd_clear(self.mng.ports) + self.stateless_client.clear_stats(self.mng.ports) return "cleared all stats" @@ -167,7 +148,7 @@ class TrexTUIPort(TrexTUIPanel): def show (self): - stats = self.stateless_client.cmd_stats([self.port_id], trex_stats.COMPACT) + stats = self.stateless_client._get_formatted_stats([self.port_id], trex_stats.COMPACT) # print stats to screen for stat_type, stat_data in stats.iteritems(): text_tables.print_table_with_header(stat_data.text_table, stat_type) @@ -194,39 +175,44 @@ class TrexTUIPort(TrexTUIPanel): # actions def action_pause (self): - rc = self.stateless_client.pause_traffic([self.port_id]) - if rc.good(): - return "port {0}: paused traffic".format(self.port_id) - else: - return "" + try: + self.stateless_client.pause(ports = [self.port_id]) + except STLError: + pass + + return "" def action_resume (self): - rc = self.stateless_client.resume_traffic([self.port_id]) - if rc.good(): - return "port {0}: resumed traffic".format(self.port_id) - else: - return "" + try: + self.stateless_client.resume(ports = [self.port_id]) + except STLError: + pass + + return "" + def action_raise (self): - mul = {'type': 'percentage', 'value': 5, 'op': 'add'} - rc = self.stateless_client.update_traffic(mul, [self.port_id]) + mult = {'type': 'percentage', 'value': 5, 'op': 'add'} - if rc.good(): - return "port {0}: raised B/W by 5%".format(self.port_id) - else: - return "" + try: + self.stateless_client.update(mult = mult, ports = [self.port_id]) + except STLError: + pass + + return "" def action_lower (self): - mul = {'type': 'percentage', 'value': 5, 'op': 'sub'} - rc = self.stateless_client.update_traffic(mul, [self.port_id]) + mult = {'type': 'percentage', 'value': 5, 'op': 'sub'} - if rc.good(): - return "port {0}: lowered B/W by 5%".format(self.port_id) - else: - return "" + try: + self.stateless_client.update(mult = mult, ports = [self.port_id]) + except STLError: + pass + + return "" def action_clear (self): - self.stateless_client.cmd_clear([self.port_id]) + self.stateless_client.clear_stats([self.port_id]) return "port {0}: cleared stats".format(self.port_id) # log @@ -423,7 +409,7 @@ class TrexTUI(): if self.state == self.STATE_ACTIVE: # if no connectivity - move to lost connecitivty if not self.stateless_client.async_client.is_alive(): - self.stateless_client.cmd_invalidate(self.pm.ports) + self.stateless_client._invalidate_stats(self.pm.ports) self.state = self.STATE_LOST_CONT @@ -438,11 +424,10 @@ class TrexTUI(): # restored connectivity - try to reconnect elif self.state == self.STATE_RECONNECT: - rc = self.stateless_client.connect("RO") - if rc.good(): + try: + self.stateless_client.connect("RO") self.state = self.STATE_ACTIVE - else: - # maybe we lost it again + except STLError: self.state = self.STATE_LOST_CONT -- cgit 1.2.3-korg