cls.logger.debug("Can just use password in %s.", pod_file)
config_volume = \
' -v %s:%s ' % (dovetail_config['userconfig_dir'],
- dovetail_config["functest"]['config']['dir'])
+ dovetail_config[type]['config']['dir'])
hosts_config = ""
hosts_config_path = os.path.abspath(
def create_log(cls):
cls.logger = dt_logger.Logger(__name__ + '.DockerRunner').getLogger()
+ def pre_copy(self, container_id=None, dest_path=None,
+ src_file=None, exist_file=None):
+ if not dest_path:
+ self.logger.error("There has no dest_path in %s config file.",
+ self.testcase.name())
+ return None
+ if src_file:
+ self.testcase.mk_src_file()
+ file_path = dt_cfg.dovetail_config[self.type]['result']['dir']
+ src_path = os.path.join(file_path, src_file)
+ if exist_file:
+ file_path = dt_cfg.dovetail_config[self.type]['config']['dir']
+ src_path = os.path.join(file_path, exist_file)
+
+ Container.pre_copy(container_id, src_path, dest_path)
+ return dest_path
+
def run(self):
if dt_cfg.dovetail_config['offline']:
exist = Container.check_image_exist(self.testcase.validate_type())
self.logger.debug('container id:%s', container_id)
- dest_path = self.testcase.pre_copy_dest_path()
- if dest_path:
- self.testcase.mk_src_file()
- src_path = self.testcase.pre_copy_src_path(self.type)
- ret, msg = Container.pre_copy(container_id, src_path,
- dest_path)
+ dest_path = self.testcase.pre_copy_path("dest_path")
+ src_file_name = self.testcase.pre_copy_path("src_file")
+ exist_file_name = self.testcase.pre_copy_path("exist_src_file")
+
+ if src_file_name or exist_file_name:
+ if not self.pre_copy(container_id, dest_path, src_file_name,
+ exist_file_name):
+ return
+
if not self.testcase.prepared():
prepare_failed = False
cmds = self.testcase.pre_condition()
self.name())
return pre_condition
- def pre_copy_src_path(self, test_type):
+ def pre_copy_path(self, key_name):
try:
- pre_copy_src_file = \
- self.testcase['validate']['pre_copy']['src_file']
- result_dir = dt_cfg.dovetail_config[test_type]['result']['dir']
- except KeyError as e:
- self.logger.error('src file Key error %s', e)
- return None
- src_path = os.path.join(result_dir, pre_copy_src_file)
- return src_path
-
- def pre_copy_dest_path(self):
- try:
- pre_copy_dest_path = \
- self.testcase['validate']['pre_copy']['dest_path']
+ path = self.testcase['validate']['pre_copy'][key_name]
except KeyError:
- pre_copy_dest_path = ''
- return pre_copy_dest_path
+ return None
+ return path
def post_condition(self):
try:
return post_condition
def mk_src_file(self):
- testcase_src_file = self.testcase['validate']['pre_copy']['src_file']
+ testcase_src_file = self.pre_copy_path('src_file')
try:
file_path = os.path.join(dt_cfg.dovetail_config['result_dir'],
testcase_src_file)
self.logger.debug('save testcases %s', sub_test)
src_file.write(sub_test + '\n')
self.logger.debug('save testcases to %s', file_path)
+ return file_path
except Exception:
self.logger.error('Failed to save: %s', file_path)
-
- src_file_path = os.path.join(dt_cfg.dovetail_config['result_dir'],
- testcase_src_file)
- return src_file_path
+ return None
def run(self):
runner = TestRunnerFactory.create(self)
type: functest
testcase: bgpvpn
pre_copy:
- src_file: sdnvpn_config_testcase1.yaml
+ exist_src_file: sdnvpn_config_testcase1.yaml
dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml
report:
sub_testcase_list:
type: functest
testcase: bgpvpn
pre_copy:
- src_file: sdnvpn_config_testcase2.yaml
+ exist_src_file: sdnvpn_config_testcase2.yaml
dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml
report:
sub_testcase_list:
type: functest
testcase: bgpvpn
pre_copy:
- src_file: sdnvpn_config_testcase3.yaml
+ exist_src_file: sdnvpn_config_testcase3.yaml
dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml
report:
sub_testcase_list:
type: functest
testcase: bgpvpn
pre_copy:
- src_file: sdnvpn_config_testcase4.yaml
+ exist_src_file: sdnvpn_config_testcase4.yaml
dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml
report:
sub_testcase_list:
type: functest
testcase: bgpvpn
pre_copy:
- src_file: sdnvpn_config_testcase8.yaml
+ exist_src_file: sdnvpn_config_testcase8.yaml
dest_path: /home/opnfv/repos/sdnvpn/sdnvpn/test/functest/config.yaml
report:
sub_testcase_list: