summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/supervisord.conf2
-rw-r--r--docs/userguide/_02-network.rst2
-rw-r--r--docs/userguide/introduction.rst4
-rw-r--r--opnfv-creds.sh16
-rw-r--r--opt/servers/inventory2
-rw-r--r--qtip.py2
-rw-r--r--qtip/__init__.py0
-rw-r--r--qtip/api/qtip_server.py4
-rw-r--r--qtip/api/result_handler.py2
-rw-r--r--qtip/cli/commands/cmd_ansible.py (renamed from qtip/cli/commands/ansible.py)0
-rw-r--r--qtip/cli/commands/cmd_perftest.py (renamed from qtip/cli/commands/perftest.py)0
-rw-r--r--qtip/cli/commands/cmd_suite.py (renamed from qtip/cli/commands/suite.py)0
-rw-r--r--qtip/cli/commands/cmd_version.py54
-rw-r--r--qtip/utils/args_handler.py8
-rw-r--r--qtip/utils/cli.py4
-rw-r--r--qtip/utils/dashboard/pushtoDB.py2
-rw-r--r--scripts/ref_results/suite_result.py2
-rw-r--r--tests/ansible_api_test.py2
-rw-r--r--tests/args_handler_test.py18
-rw-r--r--tests/cli_test.py10
-rw-r--r--tests/create_zones_test.py16
-rw-r--r--tests/driver_test.py6
-rw-r--r--tests/env_setup_test.py2
-rw-r--r--tests/qtip_server_test.py6
-rw-r--r--tests/spawn_vm_test.py10
25 files changed, 106 insertions, 68 deletions
diff --git a/docker/supervisord.conf b/docker/supervisord.conf
index 35d16c7e..a6d457dd 100644
--- a/docker/supervisord.conf
+++ b/docker/supervisord.conf
@@ -2,7 +2,7 @@
nodaemon=true
[program:qtip_server]
-command=bash -c "cd $REPOS_DIR/qtip&&python restful_server/qtip_server.py"
+command=bash -c "cd $REPOS_DIR/qtip&&python qtip/api/qtip_server.py"
numprocs=1
autostart=true
autorestart=true
diff --git a/docs/userguide/_02-network.rst b/docs/userguide/_02-network.rst
index 18f328ae..60604bf3 100644
--- a/docs/userguide/_02-network.rst
+++ b/docs/userguide/_02-network.rst
@@ -25,7 +25,7 @@ One of the compute nodes is used as a server and the other as a client.
The client pushes traffic to the server for a duration specified by the user in the configuration file for Iperf3.
-These files can be found in the "test_plan/{POD}/network/" directory.
+These files can be found in the "benchmarks/test_plan/{POD}/network/" directory.
The bandwidth is limited by the physical link layer speed connecting the two compute nodes.
The result file includes the b/s bandwidth and the CPU usage for both the client and server.
diff --git a/docs/userguide/introduction.rst b/docs/userguide/introduction.rst
index 0c8e1665..46bd37e4 100644
--- a/docs/userguide/introduction.rst
+++ b/docs/userguide/introduction.rst
@@ -18,7 +18,7 @@ QTIP Directory structure
The QTIP directory has been sectioned off into multiple folders to facilitate
segmenting information into relevant categories. The folders that concern
- the end user are `test_plan/` and `benchmarks/suite/`.
+ the end user are `benchmarks/test_plan/` and `benchmarks/suite/`.
**test_plan/:**
@@ -315,7 +315,7 @@ Commands to run the Framework:
------------------------------
In order to start QTIP on the default lab please use the following commands (asssuming your installer
-is 'fuel' or 'compass', you use the config files in the test_plan/default/ directory and listed the
+is 'fuel' or 'compass', you use the config files in the benchmarks/test_plan/default/ directory and listed the
intended suite in the benchmarks/suite/<RELEVANT-SUITE-FILE>):
First step is to export the necessary information to the environment and generate QTIP key pair.
diff --git a/opnfv-creds.sh b/opnfv-creds.sh
deleted file mode 100644
index 54d5aa3a..00000000
--- a/opnfv-creds.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-export LC_ALL=C
-export OS_NO_CACHE='true'
-export OS_TENANT_NAME='admin'
-export OS_USERNAME='admin'
-export OS_PASSWORD='admin'
-export OS_AUTH_URL='http://172.18.1.5:5000/v2.0'
-export OS_AUTH_STRATEGY='keystone'
-export OS_REGION_NAME='RegionOne'
-export CINDER_ENDPOINT_TYPE='internalURL'
-export GLANCE_ENDPOINT_TYPE='internalURL'
-export KEYSTONE_ENDPOINT_TYPE='internalURL'
-export NOVA_ENDPOINT_TYPE='internalURL'
-export NEUTRON_ENDPOINT_TYPE='internalURL'
-export OS_ENDPOINT_TYPE='internalURL'
-export MURANO_REPO_URL='http://storage.apps.openstack.org/'
diff --git a/opt/servers/inventory b/opt/servers/inventory
index 74c04c42..b5d66985 100644
--- a/opt/servers/inventory
+++ b/opt/servers/inventory
@@ -1,4 +1,4 @@
-qtip-dev ansible_host=qtip.openzero.net
+qtip-dev ansible_host=dev.qtip.io
[elk-servers]
qtip-dev
diff --git a/qtip.py b/qtip.py
index a2c26eda..66ff674f 100644
--- a/qtip.py
+++ b/qtip.py
@@ -7,7 +7,7 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-from utils.cli import Cli
+from qtip.utils.cli import Cli
def main():
diff --git a/qtip/__init__.py b/qtip/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/qtip/__init__.py
diff --git a/qtip/api/qtip_server.py b/qtip/api/qtip_server.py
index 537b2c05..9b9dd633 100644
--- a/qtip/api/qtip_server.py
+++ b/qtip/api/qtip_server.py
@@ -12,8 +12,8 @@ from flask_restful_swagger import swagger
import threading
from copy import copy
import db
-import utils.args_handler as args_handler
-import restful_server.result_handler as result_handler
+import qtip.utils.args_handler as args_handler
+import qtip.api.result_handler as result_handler
app = Flask(__name__)
diff --git a/qtip/api/result_handler.py b/qtip/api/result_handler.py
index 200330cb..de91cd2c 100644
--- a/qtip/api/result_handler.py
+++ b/qtip/api/result_handler.py
@@ -8,7 +8,7 @@
##############################################################################
import json
import scripts.ref_results.suite_result as suite_result
-import dashboard.pushtoDB as push_to_db
+import qtip.utils.dashboard.pushtoDB as push_to_db
def dump_suite_result(suite_name):
diff --git a/qtip/cli/commands/ansible.py b/qtip/cli/commands/cmd_ansible.py
index 001185a3..001185a3 100644
--- a/qtip/cli/commands/ansible.py
+++ b/qtip/cli/commands/cmd_ansible.py
diff --git a/qtip/cli/commands/perftest.py b/qtip/cli/commands/cmd_perftest.py
index 0eb6d062..0eb6d062 100644
--- a/qtip/cli/commands/perftest.py
+++ b/qtip/cli/commands/cmd_perftest.py
diff --git a/qtip/cli/commands/suite.py b/qtip/cli/commands/cmd_suite.py
index 757f11a1..757f11a1 100644
--- a/qtip/cli/commands/suite.py
+++ b/qtip/cli/commands/cmd_suite.py
diff --git a/qtip/cli/commands/cmd_version.py b/qtip/cli/commands/cmd_version.py
new file mode 100644
index 00000000..b8779a72
--- /dev/null
+++ b/qtip/cli/commands/cmd_version.py
@@ -0,0 +1,54 @@
+##############################################################################
+# Copyright (c) 2016 ZTE Corp and others.
+#
+# 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 click
+
+
+class Version:
+
+ def __init__(self):
+ pass
+
+ def list(self):
+ click.echo("Lists all the different versions")
+
+ def install(self, tag):
+ click.echo("Install: %s" % tag)
+
+ def uninstall(self, tag):
+ click.echo("Uninstall: %s" % tag)
+
+
+@click.group()
+def cli():
+ pass
+
+
+@cli.group()
+def version():
+ pass
+
+_version = Version()
+
+
+@version.command('list', help="List all the available QTIP versions.")
+def list():
+ _version.list()
+
+
+@version.command('install', help="Install the specified QTIP version.")
+@click.argument('tag')
+def install(tag):
+ _version.install(tag)
+
+
+@version.command('uninstall', help="Install the specified QTIP version.")
+@click.argument('tag')
+def uninstall(tag):
+ _version.uninstall(tag)
diff --git a/qtip/utils/args_handler.py b/qtip/utils/args_handler.py
index 879fd204..513309ab 100644
--- a/qtip/utils/args_handler.py
+++ b/qtip/utils/args_handler.py
@@ -21,13 +21,13 @@ def get_files_in_suite(suite_name, case_type='all'):
def get_files_in_test_plan(lab, suite_name, case_type='all'):
- test_case_all = os.listdir('./test_plan/{0}/{1}'.format(lab, suite_name))
+ test_case_all = os.listdir('benchmarks/test_plan/{0}/{1}'.format(lab, suite_name))
return test_case_all if case_type == 'all' else \
filter(lambda x: case_type in x, test_case_all)
def get_benchmark_path(lab, suit, benchmark):
- return './test_plan/{0}/{1}/{2}'.format(lab, suit, benchmark)
+ return 'benchmarks/test_plan/{0}/{1}/{2}'.format(lab, suit, benchmark)
def check_suite(suite_name):
@@ -35,11 +35,11 @@ def check_suite(suite_name):
def check_lab_name(lab_name):
- return True if os.path.isdir('test_plan/' + lab_name) else False
+ return True if os.path.isdir('benchmarks/test_plan/' + lab_name) else False
def check_benchmark_name(lab, file, benchmark):
- return os.path.isfile('test_plan/' + lab + '/' + file + '/' + benchmark)
+ return os.path.isfile('benchmarks/test_plan/' + lab + '/' + file + '/' + benchmark)
def _get_f_name(test_case_path):
diff --git a/qtip/utils/cli.py b/qtip/utils/cli.py
index def70061..c0a14214 100644
--- a/qtip/utils/cli.py
+++ b/qtip/utils/cli.py
@@ -23,7 +23,7 @@ class Cli:
parser = argparse.ArgumentParser()
parser.add_argument('-l ', '--lab', required=True, help='Name of Lab '
'on which being tested, These can'
- 'be found in the test_plan/ directory. Please '
+ 'be found in the benchmarks/test_plan/ directory. Please '
'ensure that you have edited the respective files '
'before using them. For testing other than through Jenkins'
' The user should list default after -l . all the fields in'
@@ -49,7 +49,7 @@ class Cli:
sys.exit(1)
if not args_handler.check_lab_name(args.lab):
- logger.error("You have specified a lab that is not present under test_plan/.\
+ logger.error("You have specified a lab that is not present under benchmarks/test_plan/.\
Please enter correct file. If unsure how to proceed, use -l default.")
sys.exit(1)
suite = args.file
diff --git a/qtip/utils/dashboard/pushtoDB.py b/qtip/utils/dashboard/pushtoDB.py
index e6a4d239..b901f542 100644
--- a/qtip/utils/dashboard/pushtoDB.py
+++ b/qtip/utils/dashboard/pushtoDB.py
@@ -3,7 +3,7 @@ import json
import datetime
import os
import sys
-from utils import logger_utils
+from qtip.utils import logger_utils
logger = logger_utils.QtipLogger('push_db').get
diff --git a/scripts/ref_results/suite_result.py b/scripts/ref_results/suite_result.py
index 217181f9..66213391 100644
--- a/scripts/ref_results/suite_result.py
+++ b/scripts/ref_results/suite_result.py
@@ -9,7 +9,7 @@
import json
import importlib
import sys
-from utils import logger_utils
+from qtip.utils import logger_utils
from os.path import expanduser
logger = logger_utils.QtipLogger('suite_result').get
diff --git a/tests/ansible_api_test.py b/tests/ansible_api_test.py
index a259c422..6b1afb44 100644
--- a/tests/ansible_api_test.py
+++ b/tests/ansible_api_test.py
@@ -6,7 +6,7 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-from utils.ansible_api import AnsibleApi
+from qtip.utils.ansible_api import AnsibleApi
class TestClass:
diff --git a/tests/args_handler_test.py b/tests/args_handler_test.py
index 625a42f5..b67fd993 100644
--- a/tests/args_handler_test.py
+++ b/tests/args_handler_test.py
@@ -8,28 +8,28 @@
##############################################################################
import pytest
import mock
-import utils.args_handler
+import qtip.utils.args_handler
class TestClass:
@pytest.mark.parametrize("test_input, expected", [
- (['fuel', '/home', './test_plan/default/network/iperf_bm.yaml'],
+ (['fuel', '/home', 'benchmarks/test_plan/default/network/iperf_bm.yaml'],
['fuel', '/home', "iperf",
[('1-server', ['10.20.0.23']), ('2-host', ['10.20.0.24'])],
"iperf_bm.yaml",
[('duration', 20), ('protocol', 'tcp'), ('bandwidthGbps', 10)],
[("10.20.0.24", [None]), ("10.20.0.23", [None])], {}])
])
- @mock.patch('utils.args_handler.Env_setup.call_ping_test')
- @mock.patch('utils.args_handler.Env_setup.call_ssh_test')
- @mock.patch('utils.args_handler.Env_setup.update_ansible')
- @mock.patch('utils.args_handler.SpawnVM')
- @mock.patch('utils.args_handler.Driver.drive_bench')
+ @mock.patch('qtip.utils.args_handler.Env_setup.call_ping_test')
+ @mock.patch('qtip.utils.args_handler.Env_setup.call_ssh_test')
+ @mock.patch('qtip.utils.args_handler.Env_setup.update_ansible')
+ @mock.patch('qtip.utils.args_handler.SpawnVM')
+ @mock.patch('qtip.utils.args_handler.Driver.drive_bench')
def test_prepare_and_run_benchmark_successful(self, mock_driver, mock_sqawn_vm, mock_env_setup_ping,
mock_env_setup_ssh, mock_update_ansible, test_input, expected):
mock_ips = mock.Mock(return_value=["10.20.0.23", "10.20.0.24"])
- utils.args_handler.Env_setup.fetch_compute_ips = mock_ips
- utils.args_handler.prepare_and_run_benchmark(test_input[0], test_input[1], test_input[2])
+ qtip.utils.args_handler.Env_setup.fetch_compute_ips = mock_ips
+ qtip.utils.args_handler.prepare_and_run_benchmark(test_input[0], test_input[1], test_input[2])
call = mock_driver.call_args
call_args, call_kwargs = call
assert sorted(map(sorted, call_args)) == sorted(map(sorted, expected))
diff --git a/tests/cli_test.py b/tests/cli_test.py
index 255c2a37..86dd6b98 100644
--- a/tests/cli_test.py
+++ b/tests/cli_test.py
@@ -1,7 +1,7 @@
import pytest
import mock
import os
-from func.cli import Cli
+from qtip.utils.cli import Cli
from os.path import expanduser
@@ -10,7 +10,7 @@ class TestClass:
(['-l',
'zte',
'-f',
- 'compute'], "You have specified a lab that is not present under test_plan"),
+ 'compute'], "You have specified a lab that is not present under benchmarks/test_plan"),
(['-l',
'default',
'-f',
@@ -30,10 +30,10 @@ class TestClass:
(['-l',
'default',
'-f',
- 'storage'], [('fuel', '/home', './test_plan/default/storage/fio_bm.yaml'),
- ('fuel', '/home', './test_plan/default/storage/fio_vm.yaml')])
+ 'storage'], [('fuel', '/home', 'benchmarks/test_plan/default/storage/fio_bm.yaml'),
+ ('fuel', '/home', 'benchmarks/test_plan/default/storage/fio_vm.yaml')])
])
- @mock.patch('func.cli.args_handler.prepare_and_run_benchmark')
+ @mock.patch('qtip.utils.cli.args_handler.prepare_and_run_benchmark')
def test_cli_successful(self, mock_args_handler, test_input, expected):
k = mock.patch.dict(os.environ, {'INSTALLER_TYPE': 'fuel', 'PWD': '/home'})
k.start()
diff --git a/tests/create_zones_test.py b/tests/create_zones_test.py
index 0f57581d..8b1e97cc 100644
--- a/tests/create_zones_test.py
+++ b/tests/create_zones_test.py
@@ -2,7 +2,7 @@ import pytest
import mock
from mock import Mock, MagicMock
import os
-from utils.create_zones import AvailabilityZone
+from qtip.utils.create_zones import AvailabilityZone
return_list = []
@@ -57,13 +57,13 @@ class TestClass:
'add_host:compute1:10.20.0.4',
'create:compute2:compute2',
'add_host:compute2:10.20.0.5']),
- (['compute1', 'compute1'],
+ (['compute1'],
['create:compute1:compute1',
'add_host:compute1:10.20.0.4']),
])
- @mock.patch('utils.create_zones.client', autospec=True)
- @mock.patch('utils.create_zones.v2', autospec=True)
- @mock.patch('utils.create_zones.session')
+ @mock.patch('qtip.utils.create_zones.client', autospec=True)
+ @mock.patch('qtip.utils.create_zones.v2', autospec=True)
+ @mock.patch('qtip.utils.create_zones.session')
def test_create_zones_success(self, mock_keystone_session, mock_keystone_v2, mock_nova_client, test_input, expected, capfd):
nova_obj = NovaMock()
mock_nova_client.Client.return_value = nova_obj()
@@ -88,9 +88,9 @@ class TestClass:
([],
[]),
])
- @mock.patch('utils.create_zones.client', autospec=True)
- @mock.patch('utils.create_zones.v2', autospec=True)
- @mock.patch('utils.create_zones.session')
+ @mock.patch('qtip.utils.create_zones.client', autospec=True)
+ @mock.patch('qtip.utils.create_zones.v2', autospec=True)
+ @mock.patch('qtip.utils.create_zones.session')
def test_clean_all_aggregates(self, mock_keystone_session, mock_keystone_v2, mock_nova_client, test_input, expected, capfd):
global return_list
return_list = test_input
diff --git a/tests/driver_test.py b/tests/driver_test.py
index d3025bd2..432ce1ae 100644
--- a/tests/driver_test.py
+++ b/tests/driver_test.py
@@ -1,6 +1,6 @@
import pytest
import mock
-from utils.driver import Driver
+from qtip.utils.driver import Driver
from os.path import expanduser
HOME_DIR = expanduser('~')
@@ -65,8 +65,8 @@ class TestClass:
'bandwidthGbps': 0,
"role": "2-host"}])
])
- @mock.patch('utils.driver.AnsibleApi.execute_playbook')
- @mock.patch('utils.driver.AnsibleApi.get_detail_playbook_stats')
+ @mock.patch('qtip.utils.driver.AnsibleApi.execute_playbook')
+ @mock.patch('qtip.utils.driver.AnsibleApi.get_detail_playbook_stats')
def test_driver_success(self, mock_stats, mock_ansible, test_input, expected):
mock_ansible.return_value = True
mock_stats.return_value = [(u'10.20.6.14', {'unreachable': 0,
diff --git a/tests/env_setup_test.py b/tests/env_setup_test.py
index 07f426e1..e28c6a18 100644
--- a/tests/env_setup_test.py
+++ b/tests/env_setup_test.py
@@ -9,7 +9,7 @@
import pytest
import filecmp
-from utils.env_setup import Env_setup
+from qtip.utils.env_setup import Env_setup
import mock
diff --git a/tests/qtip_server_test.py b/tests/qtip_server_test.py
index 81bb302b..96544c95 100644
--- a/tests/qtip_server_test.py
+++ b/tests/qtip_server_test.py
@@ -1,4 +1,4 @@
-import restful_server.qtip_server as server
+import qtip.api.qtip_server as server
import pytest
import json
import mock
@@ -66,7 +66,7 @@ class TestClass:
'state_detail': [{u'state': u'finished', u'benchmark': u'dhrystone_vm.yaml'}],
'result': 0})
])
- @mock.patch('restful_server.qtip_server.args_handler.prepare_and_run_benchmark')
+ @mock.patch('qtip.api.qtip_server.args_handler.prepare_and_run_benchmark')
def test_post_get_delete_job_successful(self, mock_args_handler, app_client, body, expected):
mock_args_handler.return_value = {'result': 0,
'detail': {'host': [(u'10.20.6.14', {'unreachable': 0,
@@ -107,7 +107,7 @@ class TestClass:
['job_id',
'It already has one job running now!'])
])
- @mock.patch('restful_server.qtip_server.args_handler.prepare_and_run_benchmark',
+ @mock.patch('qtip.api.qtip_server.args_handler.prepare_and_run_benchmark',
side_effect=[side_effect_sleep(0.5), side_effect_pass])
def test_post_two_jobs_unsuccessful(self, mock_args_hanler, app_client, body, expected):
reply_1 = app_client.post("/api/v1.0/jobs", data=body[0])
diff --git a/tests/spawn_vm_test.py b/tests/spawn_vm_test.py
index c0d87cac..ba237378 100644
--- a/tests/spawn_vm_test.py
+++ b/tests/spawn_vm_test.py
@@ -2,7 +2,7 @@ import pytest
import mock
from mock import Mock, MagicMock
import os
-from utils.spawn_vm import SpawnVM
+from qtip.utils.spawn_vm import SpawnVM
class KeystoneMock(MagicMock):
@@ -40,10 +40,10 @@ class TestClass:
'role': ['1-server', '2-host']},
[('172.10.0.154', '')]),
])
- @mock.patch('utils.spawn_vm.Env_setup')
- @mock.patch('utils.spawn_vm.AvailabilityZone')
- @mock.patch('utils.spawn_vm.keystoneclient.v2_0', autospec=True)
- @mock.patch('utils.spawn_vm.heatclient.client', autospec=True)
+ @mock.patch('qtip.utils.spawn_vm.Env_setup')
+ @mock.patch('qtip.utils.spawn_vm.AvailabilityZone')
+ @mock.patch('qtip.utils.spawn_vm.keystoneclient.v2_0', autospec=True)
+ @mock.patch('qtip.utils.spawn_vm.heatclient.client', autospec=True)
def test_create_zones_success(self, mock_heat, mock_keystone,
mock_zone, mock_setup, test_input, expected):
open('./config/QtipKey.pub', 'a').close()