Bugfix: All HA testcases are SSH timeout in CI jobs 79/33779/1
authorxudan <xudan16@huawei.com>
Tue, 25 Apr 2017 08:58:15 +0000 (08:58 +0000)
committerxudan <xudan16@huawei.com>
Tue, 25 Apr 2017 09:33:16 +0000 (09:33 +0000)
JIRA: DOVETAIL-405

1. All HA test cases running in CI are SSH timeout.
2. The reason is that HA test cases need a file pod.yaml providing the info of
   each node of Openstack.
3. This pod.yaml should be put in $DOVETAIL_HOME/dovetail/userconfig by users.
4. Dovetail's CI jobs should also do some adaptions. JIRA: DOVETAIL-407
5. modify file .gitignore to ignore directories results/ and userconfig/.

Change-Id: I5c681445ec83c9d67a0151370f5b56840ffe444c
Signed-off-by: xudan <xudan16@huawei.com>
.gitignore
dovetail/conf/yardstick_config.yml
dovetail/container.py

index c0bae6e..a8b4a9f 100644 (file)
@@ -33,4 +33,5 @@ unittest_results.log
 *.sw?
 docs_build/
 docs_output/
-dovetail/results
+results/
+userconfig/
index e9a674a..ac128fb 100644 (file)
@@ -3,16 +3,20 @@ yardstick:
   image_name: opnfv/yardstick
   docker_tag: latest
   opts: '-id --privileged=true'
+  config:
+    dir: '/home/opnfv/userconfig'
   pre_condition:
-    - 'cd /home/opnfv/repos/yardstick && source tests/ci/prepare_env.sh &&
-         source tests/ci/clean_images.sh && cleanup'
-    - 'cd /home/opnfv/repos/yardstick && source tests/ci/prepare_env.sh &&
-         source tests/ci/load_images.sh'
+    - ''
+    # - 'cd /home/opnfv/repos/yardstick && source tests/ci/prepare_env.sh &&
+    #     source tests/ci/clean_images.sh && cleanup'
+    # - 'cd /home/opnfv/repos/yardstick && source tests/ci/prepare_env.sh &&
+    #     source tests/ci/load_images.sh'
   cmds:
     - 'mkdir -p /home/opnfv/yardstick/results/'
-    - 'cd /home/opnfv/repos/yardstick && source tests/ci/prepare_env.sh &&
+    - "cd /home/opnfv/repos/yardstick && source tests/ci/prepare_env.sh &&
          yardstick -d task start tests/opnfv/test_cases/{{validate_testcase}}.yaml
-         --output-file /home/opnfv/yardstick/results/{{validate_testcase}}.out'
+         --output-file /home/opnfv/yardstick/results/{{validate_testcase}}.out
+         --task-args '{'file': '/home/opnfv/userconfig/pod.yaml'}'"
   post_condition:
     - ''
   result:
index 3b040ca..8e032c7 100644 (file)
@@ -126,11 +126,14 @@ class Container(object):
             return None
 
         # for refstack, support user self_defined configuration
-        config_volume = ""
-        if type.lower() == "functest":
-            config_volume = \
-                ' -v %s:%s ' % (dovetail_config['userconfig_dir'],
-                                dovetail_config["functest"]['config']['dir'])
+        # for yardstick, support pod.yaml configuration
+        pod_file = os.path.join(dovetail_config['userconfig_dir'], 'pod.yaml')
+        if type.lower() == "yardstick" and not os.path.exists(pod_file):
+            cls.logger.error("File %s doesn't exist.", pod_file)
+            return None
+        config_volume = \
+            ' -v %s:%s ' % (dovetail_config['userconfig_dir'],
+                            dovetail_config["functest"]['config']['dir'])
 
         result_volume = ' -v %s:%s ' % (dovetail_config['result_dir'],
                                         dovetail_config[type]['result']['dir'])