Support to specify karaf_version in manifest and cord-test command line options for run and setup subcommands.
Fix cord-tester cluster bootup ONOS device connectivity and flow test verification specifically for the cluster instantiate.
Fix prerequisites to delay before verification of docker install.
Change-Id: Ide02adae4fd8224cf4d1e200f1153be901e794d6
diff --git a/src/test/utils/CordContainer.py b/src/test/utils/CordContainer.py
index bda9359..81df366 100644
--- a/src/test/utils/CordContainer.py
+++ b/src/test/utils/CordContainer.py
@@ -465,6 +465,7 @@
host_config_dir = os.path.join(setup_dir, 'onos-config')
guest_config_dir = '/root/onos/config'
guest_data_dir = '/root/onos/apache-karaf-3.0.5/data'
+ guest_log_file = '/root/onos/apache-karaf-3.0.5/data/log/karaf.log'
onos_gen_partitions = os.path.join(setup_dir, 'onos-gen-partitions')
onos_form_cluster = os.path.join(setup_dir, 'onos-form-cluster')
cord_apps_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', 'apps')
@@ -521,6 +522,11 @@
if os.path.exists(host_volume_dir):
shutil.rmtree(host_volume_dir)
+ @classmethod
+ def update_data_dir(cls, karaf):
+ Onos.guest_data_dir = '/root/onos/apache-karaf-{}/data'.format(karaf)
+ Onos.guest_log_file = '/root/onos/apache-karaf-{}/data/log/karaf.log'.format(karaf)
+
def remove_data_volume(self):
if self.data_map is not None:
self.remove_data_map(*self.data_map)
@@ -643,7 +649,7 @@
@classmethod
def wait_for_onos_start(cls, ip, tries = 30):
- onos_log = OnosLog(host = ip)
+ onos_log = OnosLog(host = ip, log_file = Onos.guest_log_file)
num_tries = 0
started = None
while not started and num_tries < tries:
diff --git a/src/test/utils/OnosLog.py b/src/test/utils/OnosLog.py
index 0a31b80..15fb216 100644
--- a/src/test/utils/OnosLog.py
+++ b/src/test/utils/OnosLog.py
@@ -6,10 +6,14 @@
CLI_USER = 'karaf'
CLI_PASSWD = 'karaf'
CLI_PORT = 8101
+ KARAF_VERSION = os.getenv('KARAF_VERSION', '3.0.5')
HOST = os.getenv('ONOS_CONTROLLER_IP', '172.17.0.2').split(',')[0]
last_snapshot_map = {}
- def __init__(self, host = HOST):
+ def __init__(self, host = HOST, log_file = None):
+ if log_file is None:
+ log_file = '/root/onos/apache-karaf-{}/data/log/karaf.log'.format(self.KARAF_VERSION)
+ self.log_file = log_file
self.ssh_agent = SSHTestAgent(host = host, user = self.CLI_USER,
password = self.CLI_PASSWD, port = self.CLI_PORT)
if not OnosLog.last_snapshot_map.has_key(host):
@@ -27,7 +31,7 @@
def get_log(self, search_terms = None, exception = True, cache_result = True):
"""Run the command on the test host"""
- cmd = 'cat /root/onos/apache-karaf-3.0.5/data/log/karaf.log'
+ cmd = 'cat {}'.format(self.log_file)
st, output = self.ssh_agent.run_cmd(cmd)
if st is False:
return st, output
@@ -64,7 +68,7 @@
def search_log_pattern(self, pattern):
r_pat = re.compile(pattern)
- cmd = 'cat /root/onos/apache-karaf-3.0.5/data/log/karaf.log'
+ cmd = 'cat {}'.format(self.log_file)
st, output = self.ssh_agent.run_cmd(cmd)
if st is False:
return None
diff --git a/src/test/utils/TestManifest.py b/src/test/utils/TestManifest.py
index b5ec2d4..143727c 100644
--- a/src/test/utils/TestManifest.py
+++ b/src/test/utils/TestManifest.py
@@ -48,6 +48,7 @@
self.iterations = None
self.server = args.server
self.jvm_heap_size = args.jvm_heap_size if args.jvm_heap_size else None
+ self.karaf_version = args.karaf
else:
with open(self.manifest, 'r') as fd:
data = json.load(fd)
@@ -72,3 +73,4 @@
self.server = data.get('test_server', '{}:{}'.format(CORD_TEST_HOST, CORD_TEST_PORT))
self.iterations = data.get('iterations', None)
self.jvm_heap_size = data.get('jvm_heap_size', None)
+ self.karaf_version = data.get('karaf_version', '3.0.5')