summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2016-04-17 02:46:34 +0300
committerYaroslav Brustinov <ybrustin@cisco.com>2016-04-17 02:46:34 +0300
commitec23dc1a684c6a97d543336e739d5376751890b8 (patch)
tree608e60ad333c25a97ba5e8b32d5773b8ffb7d066
parentf91190c71d0a2550364fdce909df297405fb5e43 (diff)
regression: load clean config several attempts, use custom number of cores at stateless.
-rwxr-xr-xscripts/automation/regression/CPlatform.py23
-rw-r--r--scripts/automation/regression/setups/trex04/config.yaml2
-rw-r--r--scripts/automation/regression/setups/trex08/config.yaml2
-rw-r--r--scripts/automation/regression/setups/trex17/config.yaml2
-rwxr-xr-xscripts/automation/regression/trex_unit_test.py5
5 files changed, 22 insertions, 12 deletions
diff --git a/scripts/automation/regression/CPlatform.py b/scripts/automation/regression/CPlatform.py
index 381b4790..314aae63 100755
--- a/scripts/automation/regression/CPlatform.py
+++ b/scripts/automation/regression/CPlatform.py
@@ -63,13 +63,17 @@ class CPlatform(object):
def load_clean_config (self, config_filename = "clean_config.cfg", cfg_drive = "bootflash"):
- self.clear_nat_translations()
-
- cache = CCommandCache()
- cache.add('EXEC', "configure replace {drive}:{file} force".format(drive = cfg_drive, file = config_filename))
- res = self.cmd_link.run_single_command(cache)
- if 'Rollback Done' not in res:
- raise UserWarning('Could not load clean config, please verify file exists. Response:\n%s' % res)
+ for i in range(5):
+ self.clear_nat_translations()
+ cache = CCommandCache()
+ cache.add('EXEC', "configure replace {drive}:{file} force".format(drive = cfg_drive, file = config_filename))
+ res = self.cmd_link.run_single_command(cache)
+ if 'Rollback Done' not in res:
+ print('Failed to load clean config, trying again')
+ if i < 4:
+ continue
+ raise Exception('Could not load clean config, response: %s' % res)
+ return
def config_pbr (self, mode = 'config'):
idx = 1
@@ -592,10 +596,13 @@ class CPlatform(object):
for dual_if in self.if_mngr.get_dual_if_list(is_duplicated = False):
pre_commit_cache.add('IF', "no ip nat inside", dual_if.client_if.get_name())
pre_commit_cache.add('IF', "no ip nat outside", dual_if.server_if.get_name())
+ self.cmd_link.run_single_command(pre_commit_cache)
+ time.sleep(0.5)
+ pre_commit_cache = CCommandCache()
# clear the translation
pre_commit_cache.add('EXEC', 'clear ip nat translation *')
self.cmd_link.run_single_command(pre_commit_cache)
- time.sleep(1)
+ time.sleep(0.5)
def clear_cft_counters (self):
""" clear_cft_counters(self) -> None
diff --git a/scripts/automation/regression/setups/trex04/config.yaml b/scripts/automation/regression/setups/trex04/config.yaml
index f9cc21df..5fd20667 100644
--- a/scripts/automation/regression/setups/trex04/config.yaml
+++ b/scripts/automation/regression/setups/trex04/config.yaml
@@ -35,5 +35,5 @@
trex:
hostname : csi-trex-04
- cores : 2
+ cores : 1
modes : [loopback, virt_nics, VM]
diff --git a/scripts/automation/regression/setups/trex08/config.yaml b/scripts/automation/regression/setups/trex08/config.yaml
index fd3a6a78..a7b02e57 100644
--- a/scripts/automation/regression/setups/trex08/config.yaml
+++ b/scripts/automation/regression/setups/trex08/config.yaml
@@ -35,6 +35,6 @@
trex:
hostname : csi-trex-08
- cores : 2
+ cores : 7
modes : ['loopback']
diff --git a/scripts/automation/regression/setups/trex17/config.yaml b/scripts/automation/regression/setups/trex17/config.yaml
index cf490b85..f67c99d8 100644
--- a/scripts/automation/regression/setups/trex17/config.yaml
+++ b/scripts/automation/regression/setups/trex17/config.yaml
@@ -35,5 +35,5 @@
trex:
hostname : csi-trex-17
- cores : 2
+ cores : 1
modes : [loopback, virt_nics, VM]
diff --git a/scripts/automation/regression/trex_unit_test.py b/scripts/automation/regression/trex_unit_test.py
index 2be3c051..5d29ff31 100755
--- a/scripts/automation/regression/trex_unit_test.py
+++ b/scripts/automation/regression/trex_unit_test.py
@@ -218,7 +218,10 @@ class CTRexTestConfiguringPlugin(Plugin):
CTRexScenario.trex = CTRexClient(trex_host = self.configuration.trex['trex_name'], verbose = self.verbose_mode)
elif self.stateless:
if not self.no_ssh:
- trex_remote_command(self.configuration.trex, './t-rex-64 -i', background = True)
+ cores = self.configuration.trex.get('trex_cores', 1)
+ if 'virt_nics' in self.modes and cores > 1:
+ raise Exception('Number of cores should be 1 with virtual NICs')
+ trex_remote_command(self.configuration.trex, './t-rex-64 -i -c %s' % cores, background = True)
CTRexScenario.stl_trex = STLClient(username = 'TRexRegression',
server = self.configuration.trex['trex_name'],
verbose_level = self.verbose_mode)