diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/base.py | 1 | ||||
-rw-r--r-- | api/conf.py | 3 | ||||
-rw-r--r-- | api/database/__init__.py | 5 | ||||
-rw-r--r-- | api/database/models.py | 1 | ||||
-rw-r--r-- | api/resources/env_action.py | 24 | ||||
-rw-r--r-- | api/resources/release_action.py | 1 | ||||
-rw-r--r-- | api/resources/results.py | 1 | ||||
-rw-r--r-- | api/resources/samples_action.py | 1 | ||||
-rw-r--r-- | api/server.py | 15 | ||||
-rw-r--r-- | api/swagger/models.py | 1 | ||||
-rw-r--r-- | api/urls.py | 1 | ||||
-rw-r--r-- | api/utils/common.py | 18 | ||||
-rw-r--r-- | api/utils/daemonthread.py | 1 | ||||
-rw-r--r-- | api/utils/influx.py | 6 | ||||
-rw-r--r-- | api/views.py | 7 |
15 files changed, 55 insertions, 31 deletions
diff --git a/api/base.py b/api/base.py index 7671527d4..527008588 100644 --- a/api/base.py +++ b/api/base.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import re import importlib import logging diff --git a/api/conf.py b/api/conf.py index 3d9d190a0..a4f332533 100644 --- a/api/conf.py +++ b/api/conf.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import from pyroute2 import IPDB @@ -14,8 +15,6 @@ with IPDB() as ip: GATEWAY_IP = ip.routes['default'].gateway PORT = 8086 -TEST_ACTION = ['runTestCase'] - TEST_CASE_PATH = '../tests/opnfv/test_cases/' SAMPLE_PATH = '../samples/' diff --git a/api/database/__init__.py b/api/database/__init__.py index 5b0bb05a2..753b34684 100644 --- a/api/database/__init__.py +++ b/api/database/__init__.py @@ -6,16 +6,19 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import logging from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker from sqlalchemy.ext.declarative import declarative_base +from yardstick.common import constants as consts + logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) -engine = create_engine('sqlite:////tmp/yardstick.db', convert_unicode=True) +engine = create_engine(consts.SQLITE, convert_unicode=True) db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine)) diff --git a/api/database/models.py b/api/database/models.py index 2fc141c1f..2270de96b 100644 --- a/api/database/models.py +++ b/api/database/models.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import from sqlalchemy import Column from sqlalchemy import Integer from sqlalchemy import String diff --git a/api/resources/env_action.py b/api/resources/env_action.py index 7e2487158..8955f3cb6 100644 --- a/api/resources/env_action.py +++ b/api/resources/env_action.py @@ -6,25 +6,27 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import + +import errno +import json import logging -import threading +import os import subprocess +import threading import time import uuid -import json -import os -import errno -import ConfigParser -from docker import Client +from six.moves import configparser -from yardstick.common import constants as config -from yardstick.common import utils as yardstick_utils -from yardstick.common.httpClient import HttpClient from api import conf as api_conf +from api.database.handler import AsyncTaskHandler from api.utils import influx from api.utils.common import result_handler -from api.database.handler import AsyncTaskHandler +from docker import Client +from yardstick.common import constants as config +from yardstick.common import utils as yardstick_utils +from yardstick.common.httpClient import HttpClient logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) @@ -167,7 +169,7 @@ def _config_influxdb(): def _change_output_to_influxdb(): yardstick_utils.makedirs(config.YARDSTICK_CONFIG_DIR) - parser = ConfigParser.ConfigParser() + parser = configparser.ConfigParser() parser.read(config.YARDSTICK_CONFIG_SAMPLE_FILE) parser.set('DEFAULT', 'dispatcher', 'influxdb') diff --git a/api/resources/release_action.py b/api/resources/release_action.py index d4dc246ef..c5aa20afc 100644 --- a/api/resources/release_action.py +++ b/api/resources/release_action.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import uuid import os import logging diff --git a/api/resources/results.py b/api/resources/results.py index fd518958c..86fc25193 100644 --- a/api/resources/results.py +++ b/api/resources/results.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import logging import uuid diff --git a/api/resources/samples_action.py b/api/resources/samples_action.py index df6db17ee..490e48b25 100644 --- a/api/resources/samples_action.py +++ b/api/resources/samples_action.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import uuid import os import logging diff --git a/api/server.py b/api/server.py index 8cce4de87..be7963481 100644 --- a/api/server.py +++ b/api/server.py @@ -6,17 +6,20 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -import logging -from itertools import ifilter +from __future__ import absolute_import + import inspect +import logging +from functools import reduce +from six.moves import filter +from flasgger import Swagger from flask import Flask from flask_restful import Api -from flasgger import Swagger from api.database import Base -from api.database import engine from api.database import db_session +from api.database import engine from api.database import models from api.urls import urlpatterns from yardstick import _init_logging @@ -44,12 +47,11 @@ def init_db(): pass return False - subclses = ifilter(func, inspect.getmembers(models, inspect.isclass)) + subclses = filter(func, inspect.getmembers(models, inspect.isclass)) logger.debug('Import models: %s', [a[1] for a in subclses]) Base.metadata.create_all(bind=engine) -init_db() reduce(lambda a, b: a.add_resource(b.resource, b.url, endpoint=b.endpoint) or a, urlpatterns, api) @@ -57,4 +59,5 @@ if __name__ == '__main__': _init_logging() logger.setLevel(logging.DEBUG) logger.info('Starting server') + init_db() app.run(host='0.0.0.0') diff --git a/api/swagger/models.py b/api/swagger/models.py index 9a0157e0e..d3c7a9b75 100644 --- a/api/swagger/models.py +++ b/api/swagger/models.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import from flask_restful import fields from flask_restful_swagger import swagger diff --git a/api/urls.py b/api/urls.py index 58df29142..04b7485f1 100644 --- a/api/urls.py +++ b/api/urls.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import from api import views from api.utils.common import Url diff --git a/api/utils/common.py b/api/utils/common.py index 6971c6dfe..1c800ce49 100644 --- a/api/utils/common.py +++ b/api/utils/common.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import collections import logging @@ -13,18 +14,19 @@ from flask import jsonify from api.utils.daemonthread import DaemonThread from yardstick.cmd.cli import YardstickCLI +import six logger = logging.getLogger(__name__) -def translate_to_str(object): - if isinstance(object, collections.Mapping): - return {str(k): translate_to_str(v) for k, v in object.items()} - elif isinstance(object, list): - return [translate_to_str(ele) for ele in object] - elif isinstance(object, unicode): - return str(object) - return object +def translate_to_str(obj): + if isinstance(obj, collections.Mapping): + return {str(k): translate_to_str(v) for k, v in obj.items()} + elif isinstance(obj, list): + return [translate_to_str(ele) for ele in obj] + elif isinstance(obj, six.text_type): + return str(obj) + return obj def get_command_list(command_list, opts, args): diff --git a/api/utils/daemonthread.py b/api/utils/daemonthread.py index 19182c429..0049834eb 100644 --- a/api/utils/daemonthread.py +++ b/api/utils/daemonthread.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import threading import os import errno diff --git a/api/utils/influx.py b/api/utils/influx.py index d4b070fb4..275c63a24 100644 --- a/api/utils/influx.py +++ b/api/utils/influx.py @@ -6,10 +6,12 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import + import logging -import ConfigParser -from urlparse import urlsplit +import six.moves.configparser as ConfigParser +from six.moves.urllib.parse import urlsplit from influxdb import InfluxDBClient from api import conf diff --git a/api/views.py b/api/views.py index eb81145fc..0c39bfad0 100644 --- a/api/views.py +++ b/api/views.py @@ -6,6 +6,7 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import import logging import os @@ -36,6 +37,7 @@ class ReleaseAction(ApiResource): class SamplesAction(ApiResource): + def post(self): return self._dispatch_post() @@ -43,7 +45,8 @@ class SamplesAction(ApiResource): TestSuiteActionModel = models.TestSuiteActionModel TestSuiteActionArgsModel = models.TestSuiteActionArgsModel TestSuiteActionArgsOptsModel = models.TestSuiteActionArgsOptsModel -TestSuiteActionArgsOptsTaskArgModel = models.TestSuiteActionArgsOptsTaskArgModel +TestSuiteActionArgsOptsTaskArgModel = \ + models.TestSuiteActionArgsOptsTaskArgModel class TestsuitesAction(ApiResource): @@ -56,11 +59,13 @@ ResultModel = models.ResultModel class Results(ApiResource): + @swag_from(os.getcwd() + '/swagger/docs/results.yaml') def get(self): return self._dispatch_get() class EnvAction(ApiResource): + def post(self): return self._dispatch_post() |