From 3203d94f6fafd051eb648c618502aeecdd723224 Mon Sep 17 00:00:00 2001 From: MatthewLi Date: Wed, 19 Oct 2016 23:14:09 -0400 Subject: dovetail tool: developer userguide document JIRA: DOVETAIL-28 1) documents are reorganized, all dovetail tool related documents are moved to /docs/dovetailtool 2) some sections are rewritten to make it more clear Change-Id: Ib0c23b8c1771eb6de7d6cc264c101e8e26ed3d1f Signed-off-by: MatthewLi --- docs/userguide/04-dovetail_config_template.rst | 134 ------------------------- docs/userguide/index.rst | 1 - 2 files changed, 135 deletions(-) delete mode 100644 docs/userguide/04-dovetail_config_template.rst (limited to 'docs/userguide') diff --git a/docs/userguide/04-dovetail_config_template.rst b/docs/userguide/04-dovetail_config_template.rst deleted file mode 100644 index fce99d21..00000000 --- a/docs/userguide/04-dovetail_config_template.rst +++ /dev/null @@ -1,134 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International -.. License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, Huawei Technologies Co.,Ltd and others. - -Config Template Syntax -====================== - -Dovetail uses Functest/Yardstick Docker container to run its testcases. So you need to give -configurations for building the container and the commands it needs to do. In dovetail, -all of these are defined in config yaml files ``dovetail/dovetail/conf/functest_config.yml`` -and ``dovetail/dovetail/conf/yardstick_config.yml``. - -Functest template syntax ------------------------- - -For example, you can define your ``functest_config.yml`` as: - -:: - - functest: - image_name: opnfv/functest - docker_tag: latest - envs: '-e INSTALLER_TYPE=compass -e INSTALLER_IP=192.168.200.2 - -e NODE_NAME=dovetail-pod -e DEPLOY_SCENARIO=ha_nosdn - -e BUILD_TAG=dovetail -e CI_DEBUG=true -e DEPLOY_TYPE=baremetal' - opts: '-id --privileged=true' - pre_condition: - cmds: - - 'echo test for precondition' - testcase: - cmds: - - 'python /home/opnfv/repos/functest/ci/prepare_env.py start' - - 'python /home/opnfv/repos/functest/ci/run_tests.py -t {{script_testcase}} -r' - post_condition: - cmds: - - '' - result: - dir: '/home/opnfv/functest/results' - store_type: 'file' - file_path: 'tempest/tempest.log' - db_url: 'http://testresults.opnfv.org/test/api/v1/results?case=%s&last=1' - -First, you need to give the image that you want to use for building functest/yardstick container. -Besides, there also need some envirnment parameters such as ``INSTALLER_TYPE`` and ``INSTALLER_IP`` -and the options for you container. Then the functest/yardstick container can be build with your -settings. - -Second, there need three kinds of commands, ``pre_condition``, ``testcase`` and ``post_condition``. -If you want to do some cleanups or preparations, the commands can be put into ``pre_condition`` -section orderly. All commands in this section will just be executed once in the begining. -The ``testcase`` section does the main jobs of the testing. All functest testcases will use the -container to execute these commands one by one. After finishing that, the test is accomplished -and the results are stored in files or uploaded to database. The ``post_condition`` section -does some work such as clean Docker images or something else after all testcases finished. -All commands in this section will just execute once. - -Besides, there need a ``result`` section and it gives the directory of the functest/yardstick -results. The ``store_type`` should be the same with the cmds in ``testcase``. That means if the -test results are stored in files, then store_type need to be file and the file_path is also -needed. If the test results are uploaded to database, then a db_url is needed for acquiring the results. - -Yardstick template syntax -------------------------- - -The framework of ``yardstick_config.yml`` is almost the same as ``functest_config.yml``. - -:: - - yardstick: - image_name: opnfv/yardstick - docker_tag: latest - envs: '-e INSTALLER_TYPE=compass -e INSTALLER_IP=192.168.200.2 - -e NODE_NAME=dovetail-pod -e DEPLOY_SCENARIO=ha_nosdn - -e BUILD_TAG=dovetail -e CI_DEBUG=true -e DEPLOY_TYPE=baremetal - -e EXTERNAL_NETWORK=ext-net' - opts: '-id --privileged=true' - pre_condition: - cmds: - - 'source /home/opnfv/repos/yardstick/tests/ci/prepare_env.sh && - source /home/opnfv/repos/yardstick/tests/ci/clean_images.sh && cleanup' - - 'source /home/opnfv/repos/yardstick/tests/ci/prepare_env.sh && - cd /home/opnfv/repos/yardstick && source tests/ci/load_images.sh' - testcase: - cmds: - - 'mkdir -p /home/opnfv/yardstick/results/' - - 'cd /home/opnfv/repos/yardstick && source tests/ci/prepare_env.sh && - yardstick task start tests/opnfv/test_cases/{{script_testcase}}.yaml - --output-file /home/opnfv/yardstick/results/{{script_testcase}}.out &> - /home/opnfv/yardstick/results/yardstick.log' - post_condition: - cmds: - - '' - result: - dir: '/home/opnfv/yardstick/results' - store_type: 'file' - file_path: 'yardstick.log' - db_url: 'http://testresults.opnfv.org/test/api/v1/results?case=%s&last=1' - -The main differences between ``yardstick_config.yml`` and ``functest_config.yml`` are the commands. - -Jinja2 template syntax ----------------------- - -Note that you can use jinja2 template for your parameters such as ``{{script_testcase}}``. The -parameters are defined in ``dovetail/dovetail/conf/dovetail_config.yml``: - -:: - - parameters: - - name: testcase - path: '("name",)' - - name: script_testcase - path: '("scripts", "testcase")' - -Here ``path`` is the path in testcase config files that you can find the value of parameters. Take -``script_testcase`` as the example. For testcase dovetail.ipv6.tc001: - -:: - - dovetail.ipv6.tc001: - name: dovetail.ipv6.tc001 - objective: VIM ipv6 operations, to create/delete network, port and subnet in bulk operation - scripts: - type: functest - testcase: tempest_smoke_serial - sub_testcase_list: - - tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_network - - tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_port - - tempest.api.network.test_networks.BulkNetworkOpsIpV6Test.test_bulk_create_delete_subnet - -The path ("scripts", "testcase") means 'testcase' subsection of 'scripts' section. So follow -the path ("scripts", "testcase") we can get the value of ``{{script_testcase}}`` that is -'tempest_smoke_serial'. diff --git a/docs/userguide/index.rst b/docs/userguide/index.rst index 0dcf55ce..03246e7b 100644 --- a/docs/userguide/index.rst +++ b/docs/userguide/index.rst @@ -14,4 +14,3 @@ Dovetail - user guide ./01-introduction.rst ./02-certification_criteria.rst ./03-certification_progress.rst - ./04-dovetail_config_template.rst -- cgit 1.2.3-korg