summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dovetail/cli/commands/cli_testcase.py30
-rw-r--r--dovetail/constants.py17
-rwxr-xr-xdovetail/run.py29
-rw-r--r--dovetail/testcase.py15
-rw-r--r--dovetail/tests/unit/test_parser.py5
-rw-r--r--dovetail/utils/dovetail_config.py10
-rw-r--r--etc/compliance/compliance_set.yml (renamed from dovetail/compliance/compliance_set.yml)0
-rw-r--r--etc/compliance/debug.yml (renamed from dovetail/compliance/debug.yml)0
-rw-r--r--etc/compliance/ovp.1.0.0.yml (renamed from dovetail/compliance/ovp.1.0.0.yml)0
-rw-r--r--etc/compliance/proposed_tests.yml (renamed from dovetail/compliance/proposed_tests.yml)0
-rw-r--r--etc/conf/__init__.py (renamed from dovetail/conf/__init__.py)0
-rw-r--r--etc/conf/bottlenecks_config.yml (renamed from dovetail/conf/bottlenecks_config.yml)0
-rw-r--r--etc/conf/cmd_config.yml (renamed from dovetail/conf/cmd_config.yml)0
-rw-r--r--etc/conf/dovetail_config.yml (renamed from dovetail/conf/dovetail_config.yml)2
-rw-r--r--etc/conf/functest_config.yml (renamed from dovetail/conf/functest_config.yml)0
-rw-r--r--etc/conf/yardstick_config.yml (renamed from dovetail/conf/yardstick_config.yml)0
-rw-r--r--etc/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch (renamed from dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch)0
-rw-r--r--etc/testcase/example.tc001.yml (renamed from dovetail/testcase/example.tc001.yml)0
-rw-r--r--etc/testcase/example.tc002.yml (renamed from dovetail/testcase/example.tc002.yml)0
-rw-r--r--etc/testcase/example.tc003.yml (renamed from dovetail/testcase/example.tc003.yml)0
-rw-r--r--etc/testcase/ha.tc001.yml (renamed from dovetail/testcase/ha.tc001.yml)0
-rw-r--r--etc/testcase/ha.tc002.yml (renamed from dovetail/testcase/ha.tc002.yml)0
-rw-r--r--etc/testcase/ha.tc003.yml (renamed from dovetail/testcase/ha.tc003.yml)0
-rw-r--r--etc/testcase/ha.tc004.yml (renamed from dovetail/testcase/ha.tc004.yml)0
-rw-r--r--etc/testcase/ha.tc005.yml (renamed from dovetail/testcase/ha.tc005.yml)0
-rw-r--r--etc/testcase/ha.tc006.yml (renamed from dovetail/testcase/ha.tc006.yml)0
-rw-r--r--etc/testcase/ha.tc007.yml (renamed from dovetail/testcase/ha.tc007.yml)0
-rw-r--r--etc/testcase/ha.tc008.yml (renamed from dovetail/testcase/ha.tc008.yml)0
-rw-r--r--etc/testcase/ha.tc009.yml (renamed from dovetail/testcase/ha.tc009.yml)0
-rw-r--r--etc/testcase/ha.tc010.yml (renamed from dovetail/testcase/ha.tc010.yml)0
-rw-r--r--etc/testcase/ha.tc011.yml (renamed from dovetail/testcase/ha.tc011.yml)0
-rw-r--r--etc/testcase/ipv6.tc001.yml (renamed from dovetail/testcase/ipv6.tc001.yml)0
-rw-r--r--etc/testcase/ipv6.tc002.yml (renamed from dovetail/testcase/ipv6.tc002.yml)0
-rw-r--r--etc/testcase/ipv6.tc003.yml (renamed from dovetail/testcase/ipv6.tc003.yml)0
-rw-r--r--etc/testcase/ipv6.tc004.yml (renamed from dovetail/testcase/ipv6.tc004.yml)0
-rw-r--r--etc/testcase/ipv6.tc005.yml (renamed from dovetail/testcase/ipv6.tc005.yml)0
-rw-r--r--etc/testcase/ipv6.tc006.yml (renamed from dovetail/testcase/ipv6.tc006.yml)0
-rw-r--r--etc/testcase/ipv6.tc007.yml (renamed from dovetail/testcase/ipv6.tc007.yml)0
-rw-r--r--etc/testcase/ipv6.tc008.yml (renamed from dovetail/testcase/ipv6.tc008.yml)0
-rw-r--r--etc/testcase/ipv6.tc009.yml (renamed from dovetail/testcase/ipv6.tc009.yml)0
-rw-r--r--etc/testcase/ipv6.tc010.yml (renamed from dovetail/testcase/ipv6.tc010.yml)0
-rw-r--r--etc/testcase/ipv6.tc011.yml (renamed from dovetail/testcase/ipv6.tc011.yml)0
-rw-r--r--etc/testcase/ipv6.tc012.yml (renamed from dovetail/testcase/ipv6.tc012.yml)0
-rw-r--r--etc/testcase/ipv6.tc013.yml (renamed from dovetail/testcase/ipv6.tc013.yml)0
-rw-r--r--etc/testcase/ipv6.tc014.yml (renamed from dovetail/testcase/ipv6.tc014.yml)0
-rw-r--r--etc/testcase/ipv6.tc015.yml (renamed from dovetail/testcase/ipv6.tc015.yml)0
-rw-r--r--etc/testcase/ipv6.tc016.yml (renamed from dovetail/testcase/ipv6.tc016.yml)0
-rw-r--r--etc/testcase/ipv6.tc017.yml (renamed from dovetail/testcase/ipv6.tc017.yml)0
-rw-r--r--etc/testcase/ipv6.tc018.yml (renamed from dovetail/testcase/ipv6.tc018.yml)0
-rw-r--r--etc/testcase/ipv6.tc019.yml (renamed from dovetail/testcase/ipv6.tc019.yml)0
-rw-r--r--etc/testcase/ipv6.tc020.yml (renamed from dovetail/testcase/ipv6.tc020.yml)0
-rw-r--r--etc/testcase/ipv6.tc021.yml (renamed from dovetail/testcase/ipv6.tc021.yml)0
-rw-r--r--etc/testcase/ipv6.tc022.yml (renamed from dovetail/testcase/ipv6.tc022.yml)0
-rw-r--r--etc/testcase/ipv6.tc023.yml (renamed from dovetail/testcase/ipv6.tc023.yml)0
-rw-r--r--etc/testcase/ipv6.tc024.yml (renamed from dovetail/testcase/ipv6.tc024.yml)0
-rw-r--r--etc/testcase/ipv6.tc025.yml (renamed from dovetail/testcase/ipv6.tc025.yml)0
-rw-r--r--etc/testcase/osinterop.tc001.yml (renamed from dovetail/testcase/osinterop.tc001.yml)0
-rw-r--r--etc/testcase/osinterop.tc002.yml (renamed from dovetail/testcase/osinterop.tc002.yml)0
-rw-r--r--etc/testcase/sdnvpn.tc000.yml (renamed from dovetail/testcase/sdnvpn.tc000.yml)0
-rw-r--r--etc/testcase/sdnvpn.tc001.yml (renamed from dovetail/testcase/sdnvpn.tc001.yml)0
-rw-r--r--etc/testcase/sdnvpn.tc002.yml (renamed from dovetail/testcase/sdnvpn.tc002.yml)0
-rw-r--r--etc/testcase/sdnvpn.tc003.yml (renamed from dovetail/testcase/sdnvpn.tc003.yml)0
-rw-r--r--etc/testcase/sdnvpn.tc004.yml (renamed from dovetail/testcase/sdnvpn.tc004.yml)0
-rw-r--r--etc/testcase/sdnvpn.tc008.yml (renamed from dovetail/testcase/sdnvpn.tc008.yml)0
-rw-r--r--etc/testcase/smoke.tc001.yml (renamed from dovetail/testcase/smoke.tc001.yml)0
-rw-r--r--etc/testcase/smoke.tc002.yml (renamed from dovetail/testcase/smoke.tc002.yml)0
-rw-r--r--etc/testcase/stress.tc001.yml (renamed from dovetail/testcase/stress.tc001.yml)0
-rw-r--r--etc/testcase/tempest.tc001.yml (renamed from dovetail/testcase/tempest.tc001.yml)0
-rw-r--r--etc/testcase/tempest.tc002.yml (renamed from dovetail/testcase/tempest.tc002.yml)0
-rw-r--r--etc/testcase/tempest.tc003.yml (renamed from dovetail/testcase/tempest.tc003.yml)0
-rw-r--r--etc/testcase/tempest.tc004.yml (renamed from dovetail/testcase/tempest.tc004.yml)0
-rw-r--r--etc/testcase/tempest.tc005.yml (renamed from dovetail/testcase/tempest.tc005.yml)0
-rw-r--r--etc/testcase/vnf.tc001.yml (renamed from dovetail/testcase/vnf.tc001.yml)0
-rw-r--r--etc/testcase/vping.tc001.yml (renamed from dovetail/testcase/vping.tc001.yml)0
-rw-r--r--etc/testcase/vping.tc002.yml (renamed from dovetail/testcase/vping.tc002.yml)0
-rw-r--r--etc/userconfig/ansible.cfg (renamed from dovetail/userconfig/ansible.cfg)0
-rw-r--r--etc/userconfig/hosts.yaml.sample (renamed from dovetail/userconfig/hosts.yaml.sample)0
-rw-r--r--etc/userconfig/pod.yaml.sample (renamed from dovetail/userconfig/pod.yaml.sample)0
-rw-r--r--etc/userconfig/sdnvpn_config_tc000.yaml (renamed from dovetail/userconfig/sdnvpn_config_tc000.yaml)0
-rw-r--r--etc/userconfig/sdnvpn_config_testcase1.yaml (renamed from dovetail/userconfig/sdnvpn_config_testcase1.yaml)0
-rw-r--r--etc/userconfig/sdnvpn_config_testcase2.yaml (renamed from dovetail/userconfig/sdnvpn_config_testcase2.yaml)0
-rw-r--r--etc/userconfig/sdnvpn_config_testcase3.yaml (renamed from dovetail/userconfig/sdnvpn_config_testcase3.yaml)0
-rw-r--r--etc/userconfig/sdnvpn_config_testcase4.yaml (renamed from dovetail/userconfig/sdnvpn_config_testcase4.yaml)0
-rw-r--r--etc/userconfig/sdnvpn_config_testcase8.yaml (renamed from dovetail/userconfig/sdnvpn_config_testcase8.yaml)0
-rw-r--r--etc/userconfig/tempest_conf.yaml.sample (renamed from dovetail/userconfig/tempest_conf.yaml.sample)0
-rw-r--r--etc/userconfig/testcases.yaml (renamed from dovetail/userconfig/testcases.yaml)0
-rw-r--r--setup.cfg9
87 files changed, 61 insertions, 56 deletions
diff --git a/dovetail/cli/commands/cli_testcase.py b/dovetail/cli/commands/cli_testcase.py
index a498d495..6fe789f7 100644
--- a/dovetail/cli/commands/cli_testcase.py
+++ b/dovetail/cli/commands/cli_testcase.py
@@ -7,37 +7,23 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
import os
-import sys
-import yaml
+
import click
-import six
+import yaml
-import dovetail.utils.dovetail_utils as dt_utils
-from dovetail.utils.dovetail_config import DovetailConfig as dt_cfg
+from dovetail import constants
from dovetail.testcase import Testsuite
+from dovetail.utils.dovetail_config import DovetailConfig as dt_cfg
+import dovetail.utils.dovetail_utils as dt_utils
class CliTestcase(object):
@classmethod
def testsuite_load(cls):
- dt_cfg.load_config_files()
+ dt_cfg.load_config_files(constants.CONF_PATH)
Testsuite.load()
- @classmethod
- def get_path(cls, path):
- if isinstance(path, six.string_types):
- dt_cfg.load_config_files()
- dovetail_dir = os.path.abspath(
- os.path.join(os.path.dirname(__file__),
- os.pardir, os.pardir))
- relative_path = dt_cfg.dovetail_config[path]
- abs_path = os.path.join(dovetail_dir, relative_path)
- else:
- click.echo("input %s is not a string" % path)
- sys.exit(1)
- return abs_path
-
def list_testcase(self, testsuite):
self.testsuite_load()
if testsuite:
@@ -75,14 +61,14 @@ class CliTestcase(object):
click.echo("No testsuite defined yet in dovetail!!!")
def show_testcase(self, testcase):
- abs_testcase_path = self.get_path('TESTCASE_PATH')
+ abs_testcase_path = constants.TESTCASE_PATH
if testcase.startswith("dovetail."):
testcase_yml = testcase[9:] + '.yml'
else:
testcase_yml = testcase + '.yml'
for root, dirs, files in os.walk(abs_testcase_path):
if testcase_yml in files:
- testcase_path = abs_testcase_path + testcase_yml
+ testcase_path = os.path.join(abs_testcase_path, testcase_yml)
with open(testcase_path, 'r') as stream:
try:
click.echo(stream.read())
diff --git a/dovetail/constants.py b/dovetail/constants.py
new file mode 100644
index 00000000..c3ce615e
--- /dev/null
+++ b/dovetail/constants.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+#
+# feng.xiaowei@zte.com.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+import os.path
+
+
+DOVETAIL_CONF_PATH = '/etc/dovetail'
+USERCONF_PATH = os.path.join(DOVETAIL_CONF_PATH, 'userconfig')
+PATCH_PATH = os.path.join(DOVETAIL_CONF_PATH, 'patch')
+CONF_PATH = os.path.join(DOVETAIL_CONF_PATH, 'conf')
+TESTCASE_PATH = os.path.join(DOVETAIL_CONF_PATH, 'testcase')
+COMPLIANCE_PATH = os.path.join(DOVETAIL_CONF_PATH, 'compliance')
diff --git a/dovetail/run.py b/dovetail/run.py
index cddf22ef..e43c126a 100755
--- a/dovetail/run.py
+++ b/dovetail/run.py
@@ -10,24 +10,25 @@
##############################################################################
-import click
-import os
import copy
+import os
import time
import uuid
-import utils.dovetail_logger as dt_logger
-import utils.dovetail_utils as dt_utils
+import click
-from parser import Parser
from container import Container
+from dovetail import constants
+from parser import Parser
+from report import BottlenecksChecker, FunctestChecker, YardstickChecker
+from report import BottlenecksCrawler, FunctestCrawler, YardstickCrawler
+from report import Report
+from test_runner import DockerRunner, ShellRunner
from testcase import Testcase
from testcase import Testsuite
-from report import Report
-from report import FunctestCrawler, YardstickCrawler, BottlenecksCrawler
-from report import FunctestChecker, YardstickChecker, BottlenecksChecker
from utils.dovetail_config import DovetailConfig as dt_cfg
-from test_runner import DockerRunner, ShellRunner
+import utils.dovetail_logger as dt_logger
+import utils.dovetail_utils as dt_utils
def load_testsuite(testsuite):
@@ -212,22 +213,18 @@ def get_result_path():
def copy_userconfig_files(logger):
- dovetail_home = os.path.dirname(os.path.abspath(__file__))
- userconfig_path = os.path.join(dovetail_home, 'userconfig')
pre_config_path = dt_cfg.dovetail_config['config_dir']
if not os.path.isdir(pre_config_path):
os.makedirs(pre_config_path)
- cmd = 'sudo cp -r %s/* %s' % (userconfig_path, pre_config_path)
+ cmd = 'sudo cp -r %s/* %s' % (constants.USERCONF_PATH, pre_config_path)
dt_utils.exec_cmd(cmd, logger, exit_on_error=False)
def copy_patch_files(logger):
- dovetail_home = os.path.dirname(os.path.abspath(__file__))
- patch_path = os.path.join(dovetail_home, 'patch')
patch_set_path = dt_cfg.dovetail_config['patch_dir']
if not os.path.isdir(patch_set_path):
os.makedirs(patch_set_path)
- cmd = 'sudo cp -r %s/* %s' % (patch_path, patch_set_path)
+ cmd = 'sudo cp -r %s/* %s' % (constants.PATCH_PATH, patch_set_path)
dt_utils.exec_cmd(cmd, logger, exit_on_error=False)
@@ -313,7 +310,7 @@ def main(*args, **kwargs):
.format(kwargs['testsuite'], origin_testarea))
-dt_cfg.load_config_files()
+dt_cfg.load_config_files(constants.CONF_PATH)
dovetail_config = copy.deepcopy(dt_cfg.dovetail_config)
CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])
if dovetail_config['cli']['options'] is not None:
diff --git a/dovetail/testcase.py b/dovetail/testcase.py
index 99845484..c9aef0e7 100644
--- a/dovetail/testcase.py
+++ b/dovetail/testcase.py
@@ -8,13 +8,14 @@
#
import os
-import yaml
-import utils.dovetail_logger as dt_logger
+import yaml
+from dovetail import constants
from parser import Parser
-from utils.dovetail_config import DovetailConfig as dt_cfg
from test_runner import TestRunnerFactory
+from utils.dovetail_config import DovetailConfig as dt_cfg
+import utils.dovetail_logger as dt_logger
class Testcase(object):
@@ -221,9 +222,7 @@ class Testcase(object):
@classmethod
def load(cls):
- testcase_dir = os.path.dirname(os.path.abspath(__file__))
- testcase_path = dt_cfg.dovetail_config['TESTCASE_PATH']
- abs_testcase_path = os.path.join(testcase_dir, testcase_path)
+ abs_testcase_path = constants.TESTCASE_PATH
for root, dirs, files in os.walk(abs_testcase_path):
for testcase_file in files:
with open(os.path.join(root, testcase_file)) as f:
@@ -363,9 +362,7 @@ class Testsuite(object):
@classmethod
def load(cls):
- compliance_dir = os.path.dirname(os.path.abspath(__file__))
- compliance_path = dt_cfg.dovetail_config['COMPLIANCE_PATH']
- abs_compliance_path = os.path.join(compliance_dir, compliance_path)
+ abs_compliance_path = constants.COMPLIANCE_PATH
for root, dirs, files in os.walk(abs_compliance_path):
for testsuite_yaml in files:
with open(os.path.join(root, testsuite_yaml)) as f:
diff --git a/dovetail/tests/unit/test_parser.py b/dovetail/tests/unit/test_parser.py
index 7047d5ce..5cc3fe9f 100644
--- a/dovetail/tests/unit/test_parser.py
+++ b/dovetail/tests/unit/test_parser.py
@@ -28,7 +28,10 @@ class TestParser(unittest.TestCase):
def setUp(self):
"""Test case setup"""
- dt_cfg.load_config_files()
+ conf_path = os.path.join(self.test_path,
+ os.pardir, os.pardir, os.pardir,
+ 'etc/conf')
+ dt_cfg.load_config_files(conf_path)
logging.disable(logging.CRITICAL)
def test_parser_cmd(self, mock_logger):
diff --git a/dovetail/utils/dovetail_config.py b/dovetail/utils/dovetail_config.py
index 5e100d69..d3b54192 100644
--- a/dovetail/utils/dovetail_config.py
+++ b/dovetail/utils/dovetail_config.py
@@ -16,18 +16,16 @@ class DovetailConfig(object):
dovetail_config = {}
@classmethod
- def load_config_files(cls):
- curr_path = os.path.dirname(os.path.abspath(__file__))
- config_path = os.path.join(os.path.dirname(curr_path), 'conf')
- with open(os.path.join(config_path, 'dovetail_config.yml')) as f:
+ def load_config_files(cls, conf_path):
+ with open(os.path.join(conf_path, 'dovetail_config.yml')) as f:
cls.dovetail_config = yaml.safe_load(f)
for extra_config_file in cls.dovetail_config['include_config']:
- with open(os.path.join(config_path, extra_config_file)) as f:
+ with open(os.path.join(conf_path, extra_config_file)) as f:
extra_config = yaml.safe_load(f)
cls.dovetail_config.update(extra_config)
- path = os.path.join(config_path, cls.dovetail_config['cli_file_name'])
+ path = os.path.join(conf_path, cls.dovetail_config['cli_file_name'])
with open(path) as f:
cmd_yml = yaml.safe_load(f)
cls.dovetail_config['cli'] = cmd_yml[cmd_yml.keys()[0]]
diff --git a/dovetail/compliance/compliance_set.yml b/etc/compliance/compliance_set.yml
index 75f50e42..75f50e42 100644
--- a/dovetail/compliance/compliance_set.yml
+++ b/etc/compliance/compliance_set.yml
diff --git a/dovetail/compliance/debug.yml b/etc/compliance/debug.yml
index bac48f20..bac48f20 100644
--- a/dovetail/compliance/debug.yml
+++ b/etc/compliance/debug.yml
diff --git a/dovetail/compliance/ovp.1.0.0.yml b/etc/compliance/ovp.1.0.0.yml
index 71f2198d..71f2198d 100644
--- a/dovetail/compliance/ovp.1.0.0.yml
+++ b/etc/compliance/ovp.1.0.0.yml
diff --git a/dovetail/compliance/proposed_tests.yml b/etc/compliance/proposed_tests.yml
index 692ffed8..692ffed8 100644
--- a/dovetail/compliance/proposed_tests.yml
+++ b/etc/compliance/proposed_tests.yml
diff --git a/dovetail/conf/__init__.py b/etc/conf/__init__.py
index e69de29b..e69de29b 100644
--- a/dovetail/conf/__init__.py
+++ b/etc/conf/__init__.py
diff --git a/dovetail/conf/bottlenecks_config.yml b/etc/conf/bottlenecks_config.yml
index f33e50f1..f33e50f1 100644
--- a/dovetail/conf/bottlenecks_config.yml
+++ b/etc/conf/bottlenecks_config.yml
diff --git a/dovetail/conf/cmd_config.yml b/etc/conf/cmd_config.yml
index 91a44b0b..91a44b0b 100644
--- a/dovetail/conf/cmd_config.yml
+++ b/etc/conf/cmd_config.yml
diff --git a/dovetail/conf/dovetail_config.yml b/etc/conf/dovetail_config.yml
index 290798da..47b46503 100644
--- a/dovetail/conf/dovetail_config.yml
+++ b/etc/conf/dovetail_config.yml
@@ -29,8 +29,6 @@ cloudify_image: 'cloudify-manager-premium-4.0.1.qcow2'
# Trusty image
trusty_image: 'trusty-server-cloudimg-amd64-disk1.img'
-COMPLIANCE_PATH: compliance/
-TESTCASE_PATH: testcase/
# testsuite supported, should adjust accordingly
testsuite_supported:
- compliance_set
diff --git a/dovetail/conf/functest_config.yml b/etc/conf/functest_config.yml
index 896aeb95..896aeb95 100644
--- a/dovetail/conf/functest_config.yml
+++ b/etc/conf/functest_config.yml
diff --git a/dovetail/conf/yardstick_config.yml b/etc/conf/yardstick_config.yml
index bbb2133e..bbb2133e 100644
--- a/dovetail/conf/yardstick_config.yml
+++ b/etc/conf/yardstick_config.yml
diff --git a/dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch b/etc/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch
index 8c9589ca..8c9589ca 100644
--- a/dovetail/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch
+++ b/etc/patch/0001-Adjust-Yardstick-HA-test-cases-SLA-and-log-level.patch
diff --git a/dovetail/testcase/example.tc001.yml b/etc/testcase/example.tc001.yml
index 0ba297a8..0ba297a8 100644
--- a/dovetail/testcase/example.tc001.yml
+++ b/etc/testcase/example.tc001.yml
diff --git a/dovetail/testcase/example.tc002.yml b/etc/testcase/example.tc002.yml
index 72bfa49d..72bfa49d 100644
--- a/dovetail/testcase/example.tc002.yml
+++ b/etc/testcase/example.tc002.yml
diff --git a/dovetail/testcase/example.tc003.yml b/etc/testcase/example.tc003.yml
index 3ae0fb07..3ae0fb07 100644
--- a/dovetail/testcase/example.tc003.yml
+++ b/etc/testcase/example.tc003.yml
diff --git a/dovetail/testcase/ha.tc001.yml b/etc/testcase/ha.tc001.yml
index e938c822..e938c822 100644
--- a/dovetail/testcase/ha.tc001.yml
+++ b/etc/testcase/ha.tc001.yml
diff --git a/dovetail/testcase/ha.tc002.yml b/etc/testcase/ha.tc002.yml
index 4ca78b45..4ca78b45 100644
--- a/dovetail/testcase/ha.tc002.yml
+++ b/etc/testcase/ha.tc002.yml
diff --git a/dovetail/testcase/ha.tc003.yml b/etc/testcase/ha.tc003.yml
index b3a0bf7b..b3a0bf7b 100644
--- a/dovetail/testcase/ha.tc003.yml
+++ b/etc/testcase/ha.tc003.yml
diff --git a/dovetail/testcase/ha.tc004.yml b/etc/testcase/ha.tc004.yml
index b25af983..b25af983 100644
--- a/dovetail/testcase/ha.tc004.yml
+++ b/etc/testcase/ha.tc004.yml
diff --git a/dovetail/testcase/ha.tc005.yml b/etc/testcase/ha.tc005.yml
index fd6e14d5..fd6e14d5 100644
--- a/dovetail/testcase/ha.tc005.yml
+++ b/etc/testcase/ha.tc005.yml
diff --git a/dovetail/testcase/ha.tc006.yml b/etc/testcase/ha.tc006.yml
index aecbe8b2..aecbe8b2 100644
--- a/dovetail/testcase/ha.tc006.yml
+++ b/etc/testcase/ha.tc006.yml
diff --git a/dovetail/testcase/ha.tc007.yml b/etc/testcase/ha.tc007.yml
index 5d985534..5d985534 100644
--- a/dovetail/testcase/ha.tc007.yml
+++ b/etc/testcase/ha.tc007.yml
diff --git a/dovetail/testcase/ha.tc008.yml b/etc/testcase/ha.tc008.yml
index 2287b8d1..2287b8d1 100644
--- a/dovetail/testcase/ha.tc008.yml
+++ b/etc/testcase/ha.tc008.yml
diff --git a/dovetail/testcase/ha.tc009.yml b/etc/testcase/ha.tc009.yml
index 10f4e506..10f4e506 100644
--- a/dovetail/testcase/ha.tc009.yml
+++ b/etc/testcase/ha.tc009.yml
diff --git a/dovetail/testcase/ha.tc010.yml b/etc/testcase/ha.tc010.yml
index 6508a4dc..6508a4dc 100644
--- a/dovetail/testcase/ha.tc010.yml
+++ b/etc/testcase/ha.tc010.yml
diff --git a/dovetail/testcase/ha.tc011.yml b/etc/testcase/ha.tc011.yml
index d1268826..d1268826 100644
--- a/dovetail/testcase/ha.tc011.yml
+++ b/etc/testcase/ha.tc011.yml
diff --git a/dovetail/testcase/ipv6.tc001.yml b/etc/testcase/ipv6.tc001.yml
index c90c21c9..c90c21c9 100644
--- a/dovetail/testcase/ipv6.tc001.yml
+++ b/etc/testcase/ipv6.tc001.yml
diff --git a/dovetail/testcase/ipv6.tc002.yml b/etc/testcase/ipv6.tc002.yml
index c7e8d480..c7e8d480 100644
--- a/dovetail/testcase/ipv6.tc002.yml
+++ b/etc/testcase/ipv6.tc002.yml
diff --git a/dovetail/testcase/ipv6.tc003.yml b/etc/testcase/ipv6.tc003.yml
index 0866407e..0866407e 100644
--- a/dovetail/testcase/ipv6.tc003.yml
+++ b/etc/testcase/ipv6.tc003.yml
diff --git a/dovetail/testcase/ipv6.tc004.yml b/etc/testcase/ipv6.tc004.yml
index b165af07..b165af07 100644
--- a/dovetail/testcase/ipv6.tc004.yml
+++ b/etc/testcase/ipv6.tc004.yml
diff --git a/dovetail/testcase/ipv6.tc005.yml b/etc/testcase/ipv6.tc005.yml
index 128a535a..128a535a 100644
--- a/dovetail/testcase/ipv6.tc005.yml
+++ b/etc/testcase/ipv6.tc005.yml
diff --git a/dovetail/testcase/ipv6.tc006.yml b/etc/testcase/ipv6.tc006.yml
index ed6f683a..ed6f683a 100644
--- a/dovetail/testcase/ipv6.tc006.yml
+++ b/etc/testcase/ipv6.tc006.yml
diff --git a/dovetail/testcase/ipv6.tc007.yml b/etc/testcase/ipv6.tc007.yml
index 592a0fef..592a0fef 100644
--- a/dovetail/testcase/ipv6.tc007.yml
+++ b/etc/testcase/ipv6.tc007.yml
diff --git a/dovetail/testcase/ipv6.tc008.yml b/etc/testcase/ipv6.tc008.yml
index 08583fdb..08583fdb 100644
--- a/dovetail/testcase/ipv6.tc008.yml
+++ b/etc/testcase/ipv6.tc008.yml
diff --git a/dovetail/testcase/ipv6.tc009.yml b/etc/testcase/ipv6.tc009.yml
index 74ab872f..74ab872f 100644
--- a/dovetail/testcase/ipv6.tc009.yml
+++ b/etc/testcase/ipv6.tc009.yml
diff --git a/dovetail/testcase/ipv6.tc010.yml b/etc/testcase/ipv6.tc010.yml
index 22d36caa..22d36caa 100644
--- a/dovetail/testcase/ipv6.tc010.yml
+++ b/etc/testcase/ipv6.tc010.yml
diff --git a/dovetail/testcase/ipv6.tc011.yml b/etc/testcase/ipv6.tc011.yml
index a5629071..a5629071 100644
--- a/dovetail/testcase/ipv6.tc011.yml
+++ b/etc/testcase/ipv6.tc011.yml
diff --git a/dovetail/testcase/ipv6.tc012.yml b/etc/testcase/ipv6.tc012.yml
index 5384acc9..5384acc9 100644
--- a/dovetail/testcase/ipv6.tc012.yml
+++ b/etc/testcase/ipv6.tc012.yml
diff --git a/dovetail/testcase/ipv6.tc013.yml b/etc/testcase/ipv6.tc013.yml
index 1b99e9ba..1b99e9ba 100644
--- a/dovetail/testcase/ipv6.tc013.yml
+++ b/etc/testcase/ipv6.tc013.yml
diff --git a/dovetail/testcase/ipv6.tc014.yml b/etc/testcase/ipv6.tc014.yml
index fc58fa86..fc58fa86 100644
--- a/dovetail/testcase/ipv6.tc014.yml
+++ b/etc/testcase/ipv6.tc014.yml
diff --git a/dovetail/testcase/ipv6.tc015.yml b/etc/testcase/ipv6.tc015.yml
index 5218ff9b..5218ff9b 100644
--- a/dovetail/testcase/ipv6.tc015.yml
+++ b/etc/testcase/ipv6.tc015.yml
diff --git a/dovetail/testcase/ipv6.tc016.yml b/etc/testcase/ipv6.tc016.yml
index e8949a0c..e8949a0c 100644
--- a/dovetail/testcase/ipv6.tc016.yml
+++ b/etc/testcase/ipv6.tc016.yml
diff --git a/dovetail/testcase/ipv6.tc017.yml b/etc/testcase/ipv6.tc017.yml
index 8cff0c37..8cff0c37 100644
--- a/dovetail/testcase/ipv6.tc017.yml
+++ b/etc/testcase/ipv6.tc017.yml
diff --git a/dovetail/testcase/ipv6.tc018.yml b/etc/testcase/ipv6.tc018.yml
index ff7d56be..ff7d56be 100644
--- a/dovetail/testcase/ipv6.tc018.yml
+++ b/etc/testcase/ipv6.tc018.yml
diff --git a/dovetail/testcase/ipv6.tc019.yml b/etc/testcase/ipv6.tc019.yml
index 4debe2d7..4debe2d7 100644
--- a/dovetail/testcase/ipv6.tc019.yml
+++ b/etc/testcase/ipv6.tc019.yml
diff --git a/dovetail/testcase/ipv6.tc020.yml b/etc/testcase/ipv6.tc020.yml
index 351b400d..351b400d 100644
--- a/dovetail/testcase/ipv6.tc020.yml
+++ b/etc/testcase/ipv6.tc020.yml
diff --git a/dovetail/testcase/ipv6.tc021.yml b/etc/testcase/ipv6.tc021.yml
index b25cc68c..b25cc68c 100644
--- a/dovetail/testcase/ipv6.tc021.yml
+++ b/etc/testcase/ipv6.tc021.yml
diff --git a/dovetail/testcase/ipv6.tc022.yml b/etc/testcase/ipv6.tc022.yml
index 08936404..08936404 100644
--- a/dovetail/testcase/ipv6.tc022.yml
+++ b/etc/testcase/ipv6.tc022.yml
diff --git a/dovetail/testcase/ipv6.tc023.yml b/etc/testcase/ipv6.tc023.yml
index a7f2e9f8..a7f2e9f8 100644
--- a/dovetail/testcase/ipv6.tc023.yml
+++ b/etc/testcase/ipv6.tc023.yml
diff --git a/dovetail/testcase/ipv6.tc024.yml b/etc/testcase/ipv6.tc024.yml
index 00ce3084..00ce3084 100644
--- a/dovetail/testcase/ipv6.tc024.yml
+++ b/etc/testcase/ipv6.tc024.yml
diff --git a/dovetail/testcase/ipv6.tc025.yml b/etc/testcase/ipv6.tc025.yml
index 4828abd4..4828abd4 100644
--- a/dovetail/testcase/ipv6.tc025.yml
+++ b/etc/testcase/ipv6.tc025.yml
diff --git a/dovetail/testcase/osinterop.tc001.yml b/etc/testcase/osinterop.tc001.yml
index 865ee2a1..865ee2a1 100644
--- a/dovetail/testcase/osinterop.tc001.yml
+++ b/etc/testcase/osinterop.tc001.yml
diff --git a/dovetail/testcase/osinterop.tc002.yml b/etc/testcase/osinterop.tc002.yml
index 42346a53..42346a53 100644
--- a/dovetail/testcase/osinterop.tc002.yml
+++ b/etc/testcase/osinterop.tc002.yml
diff --git a/dovetail/testcase/sdnvpn.tc000.yml b/etc/testcase/sdnvpn.tc000.yml
index 6294e1e4..6294e1e4 100644
--- a/dovetail/testcase/sdnvpn.tc000.yml
+++ b/etc/testcase/sdnvpn.tc000.yml
diff --git a/dovetail/testcase/sdnvpn.tc001.yml b/etc/testcase/sdnvpn.tc001.yml
index 698b0d2e..698b0d2e 100644
--- a/dovetail/testcase/sdnvpn.tc001.yml
+++ b/etc/testcase/sdnvpn.tc001.yml
diff --git a/dovetail/testcase/sdnvpn.tc002.yml b/etc/testcase/sdnvpn.tc002.yml
index 4823ee55..4823ee55 100644
--- a/dovetail/testcase/sdnvpn.tc002.yml
+++ b/etc/testcase/sdnvpn.tc002.yml
diff --git a/dovetail/testcase/sdnvpn.tc003.yml b/etc/testcase/sdnvpn.tc003.yml
index fbf13ca3..fbf13ca3 100644
--- a/dovetail/testcase/sdnvpn.tc003.yml
+++ b/etc/testcase/sdnvpn.tc003.yml
diff --git a/dovetail/testcase/sdnvpn.tc004.yml b/etc/testcase/sdnvpn.tc004.yml
index 5f44f12d..5f44f12d 100644
--- a/dovetail/testcase/sdnvpn.tc004.yml
+++ b/etc/testcase/sdnvpn.tc004.yml
diff --git a/dovetail/testcase/sdnvpn.tc008.yml b/etc/testcase/sdnvpn.tc008.yml
index d818bf10..d818bf10 100644
--- a/dovetail/testcase/sdnvpn.tc008.yml
+++ b/etc/testcase/sdnvpn.tc008.yml
diff --git a/dovetail/testcase/smoke.tc001.yml b/etc/testcase/smoke.tc001.yml
index 6d8d6924..6d8d6924 100644
--- a/dovetail/testcase/smoke.tc001.yml
+++ b/etc/testcase/smoke.tc001.yml
diff --git a/dovetail/testcase/smoke.tc002.yml b/etc/testcase/smoke.tc002.yml
index ae9a87f5..ae9a87f5 100644
--- a/dovetail/testcase/smoke.tc002.yml
+++ b/etc/testcase/smoke.tc002.yml
diff --git a/dovetail/testcase/stress.tc001.yml b/etc/testcase/stress.tc001.yml
index fd29f276..fd29f276 100644
--- a/dovetail/testcase/stress.tc001.yml
+++ b/etc/testcase/stress.tc001.yml
diff --git a/dovetail/testcase/tempest.tc001.yml b/etc/testcase/tempest.tc001.yml
index 8e669248..8e669248 100644
--- a/dovetail/testcase/tempest.tc001.yml
+++ b/etc/testcase/tempest.tc001.yml
diff --git a/dovetail/testcase/tempest.tc002.yml b/etc/testcase/tempest.tc002.yml
index 4985dfac..4985dfac 100644
--- a/dovetail/testcase/tempest.tc002.yml
+++ b/etc/testcase/tempest.tc002.yml
diff --git a/dovetail/testcase/tempest.tc003.yml b/etc/testcase/tempest.tc003.yml
index b19fd2a2..b19fd2a2 100644
--- a/dovetail/testcase/tempest.tc003.yml
+++ b/etc/testcase/tempest.tc003.yml
diff --git a/dovetail/testcase/tempest.tc004.yml b/etc/testcase/tempest.tc004.yml
index a6a49f06..a6a49f06 100644
--- a/dovetail/testcase/tempest.tc004.yml
+++ b/etc/testcase/tempest.tc004.yml
diff --git a/dovetail/testcase/tempest.tc005.yml b/etc/testcase/tempest.tc005.yml
index b20ae5de..b20ae5de 100644
--- a/dovetail/testcase/tempest.tc005.yml
+++ b/etc/testcase/tempest.tc005.yml
diff --git a/dovetail/testcase/vnf.tc001.yml b/etc/testcase/vnf.tc001.yml
index e0f39582..e0f39582 100644
--- a/dovetail/testcase/vnf.tc001.yml
+++ b/etc/testcase/vnf.tc001.yml
diff --git a/dovetail/testcase/vping.tc001.yml b/etc/testcase/vping.tc001.yml
index e3b501be..e3b501be 100644
--- a/dovetail/testcase/vping.tc001.yml
+++ b/etc/testcase/vping.tc001.yml
diff --git a/dovetail/testcase/vping.tc002.yml b/etc/testcase/vping.tc002.yml
index a800a4db..a800a4db 100644
--- a/dovetail/testcase/vping.tc002.yml
+++ b/etc/testcase/vping.tc002.yml
diff --git a/dovetail/userconfig/ansible.cfg b/etc/userconfig/ansible.cfg
index 14c80651..14c80651 100644
--- a/dovetail/userconfig/ansible.cfg
+++ b/etc/userconfig/ansible.cfg
diff --git a/dovetail/userconfig/hosts.yaml.sample b/etc/userconfig/hosts.yaml.sample
index 45f8db3e..45f8db3e 100644
--- a/dovetail/userconfig/hosts.yaml.sample
+++ b/etc/userconfig/hosts.yaml.sample
diff --git a/dovetail/userconfig/pod.yaml.sample b/etc/userconfig/pod.yaml.sample
index 26636a6b..26636a6b 100644
--- a/dovetail/userconfig/pod.yaml.sample
+++ b/etc/userconfig/pod.yaml.sample
diff --git a/dovetail/userconfig/sdnvpn_config_tc000.yaml b/etc/userconfig/sdnvpn_config_tc000.yaml
index 1cb4c63f..1cb4c63f 100644
--- a/dovetail/userconfig/sdnvpn_config_tc000.yaml
+++ b/etc/userconfig/sdnvpn_config_tc000.yaml
diff --git a/dovetail/userconfig/sdnvpn_config_testcase1.yaml b/etc/userconfig/sdnvpn_config_testcase1.yaml
index 5736dcff..5736dcff 100644
--- a/dovetail/userconfig/sdnvpn_config_testcase1.yaml
+++ b/etc/userconfig/sdnvpn_config_testcase1.yaml
diff --git a/dovetail/userconfig/sdnvpn_config_testcase2.yaml b/etc/userconfig/sdnvpn_config_testcase2.yaml
index 2be3bdb5..2be3bdb5 100644
--- a/dovetail/userconfig/sdnvpn_config_testcase2.yaml
+++ b/etc/userconfig/sdnvpn_config_testcase2.yaml
diff --git a/dovetail/userconfig/sdnvpn_config_testcase3.yaml b/etc/userconfig/sdnvpn_config_testcase3.yaml
index c1ffc13b..c1ffc13b 100644
--- a/dovetail/userconfig/sdnvpn_config_testcase3.yaml
+++ b/etc/userconfig/sdnvpn_config_testcase3.yaml
diff --git a/dovetail/userconfig/sdnvpn_config_testcase4.yaml b/etc/userconfig/sdnvpn_config_testcase4.yaml
index f3f5a56b..f3f5a56b 100644
--- a/dovetail/userconfig/sdnvpn_config_testcase4.yaml
+++ b/etc/userconfig/sdnvpn_config_testcase4.yaml
diff --git a/dovetail/userconfig/sdnvpn_config_testcase8.yaml b/etc/userconfig/sdnvpn_config_testcase8.yaml
index 8712122b..8712122b 100644
--- a/dovetail/userconfig/sdnvpn_config_testcase8.yaml
+++ b/etc/userconfig/sdnvpn_config_testcase8.yaml
diff --git a/dovetail/userconfig/tempest_conf.yaml.sample b/etc/userconfig/tempest_conf.yaml.sample
index 944e3a9f..944e3a9f 100644
--- a/dovetail/userconfig/tempest_conf.yaml.sample
+++ b/etc/userconfig/tempest_conf.yaml.sample
diff --git a/dovetail/userconfig/testcases.yaml b/etc/userconfig/testcases.yaml
index 1452a45d..1452a45d 100644
--- a/dovetail/userconfig/testcases.yaml
+++ b/etc/userconfig/testcases.yaml
diff --git a/setup.cfg b/setup.cfg
index e39a6443..c8fbc812 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -3,6 +3,15 @@ name = dovetail
version = 1.0.0
home-page = https://wiki.opnfv.org/display/dovetail
+[files]
+
+packages =
+ dovetail
+
+data_files =
+ /etc/dovetail = etc/*
+
+
[entry_points]
console_scripts =
dovetail = dovetail.cli.cli_base:cli