diff options
Diffstat (limited to 'docs/testing/developer/devguide')
-rw-r--r-- | docs/testing/developer/devguide/api.rst | 11 | ||||
-rw-r--r-- | docs/testing/developer/devguide/arch.rst | 6 | ||||
-rw-r--r-- | docs/testing/developer/devguide/cli.rst | 11 | ||||
-rw-r--r-- | docs/testing/developer/devguide/index.rst | 6 | ||||
-rw-r--r-- | docs/testing/developer/devguide/overview.rst | 102 |
5 files changed, 100 insertions, 36 deletions
diff --git a/docs/testing/developer/devguide/api.rst b/docs/testing/developer/devguide/api.rst index 48ae3ae4..491c70f8 100644 --- a/docs/testing/developer/devguide/api.rst +++ b/docs/testing/developer/devguide/api.rst @@ -1,9 +1,10 @@ -********************************************** -QTIP RESTful Application Programming Interface -********************************************** +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 -Abstract -######## + +*************************************** +API - Application Programming Interface +*************************************** QTIP consists of different tools(metrics) to benchmark the NFVI. These metrics fall under different NFVI subsystems(QPI's) such as compute, storage and network. diff --git a/docs/testing/developer/devguide/arch.rst b/docs/testing/developer/devguide/arch.rst index d95faba6..6b9208e9 100644 --- a/docs/testing/developer/devguide/arch.rst +++ b/docs/testing/developer/devguide/arch.rst @@ -3,9 +3,9 @@ .. (c) 2017 ZTE Corp. -######################## -QTIP Architecture Design -######################## +************ +Architecture +************ In Danube, QTIP releases its standalone mode, which is also know as ``solo``: diff --git a/docs/testing/developer/devguide/cli.rst b/docs/testing/developer/devguide/cli.rst index 72d1fbaf..7c681a64 100644 --- a/docs/testing/developer/devguide/cli.rst +++ b/docs/testing/developer/devguide/cli.rst @@ -1,9 +1,10 @@ -*************************** -QTIP Command Line Interface -*************************** +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 -Abstract -######## + +**************************** +CLI - Command Line Interface +**************************** QTIP consists of different tools(metrics) to benchmark the NFVI. These metrics fall under different NFVI subsystems(QPI's) such as compute, storage and network. A plan consists of one or more QPI's, depending upon how diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst index 89113e56..a4dd072c 100644 --- a/docs/testing/developer/devguide/index.rst +++ b/docs/testing/developer/devguide/index.rst @@ -3,9 +3,9 @@ .. (c) 2016 ZTE Corp. -########################## -QTIP Design Specifications -########################## +******************** +QTIP Developer Guide +******************** .. toctree:: :maxdepth: 2 diff --git a/docs/testing/developer/devguide/overview.rst b/docs/testing/developer/devguide/overview.rst index 4ccaae20..1d7e22fe 100644 --- a/docs/testing/developer/devguide/overview.rst +++ b/docs/testing/developer/devguide/overview.rst @@ -1,27 +1,89 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) 2017 ZTE Corp. +.. (c) 2017 ZTE Corporation -######## +******** Overview -######## - -QTIP uses Python as primary programming language. The structure of repository is based on the recommended sample in -`The Hitchhiker's Guide to Python`_ - -============== ========================================================================== -Path Content -============== ========================================================================== -./benchmarks/ builtin benchmark assets including plan, QPI and metrics -./contrib/ independent project/plugin/code contributed to QTIP -./docker/ configuration for building Docker image for QTIP deployment -./docs/ release notes, user and developer documentation, design proposals -./legacy/ legacy obsoleted code that is unmaintained but kept for reference -./opt/ optional component, e.g. scripts to setup infrastructure services for QTIP -./qtip/ the actual package -./tests/ package functional and unit tests -./third-party/ third part included in QTIP project -============== ========================================================================== +******** +QTIP uses Python as primary programming language and build the framework from the following packages + +======== =============================================================================================================== +Module Package +======== =============================================================================================================== +api `Connexion`_ - API first applications with OpenAPI/Swagger and Flask +cli `Click`_ - the “Command Line Interface Creation Kit” +template `Jinja2`_ - a full featured template engine for Python +docs `sphinx`_ - a tool that makes it easy to create intelligent and beautiful documentation +testing `pytest`_ - a mature full-featured Python testing tool that helps you write better programs +======== =============================================================================================================== + + +Source Code +=========== + +The structure of repository is based on the recommended sample in `The Hitchhiker's Guide to Python`_ + +================== ==================================================================================================== +Path Content +================== ==================================================================================================== +``./benchmarks/`` builtin benchmark assets including plan, QPI and metrics +``./contrib/`` independent project/plugin/code contributed to QTIP +``./docker/`` configuration for building Docker image for QTIP deployment +``./docs/`` release notes, user and developer documentation, design proposals +``./legacy/`` legacy obsoleted code that is unmaintained but kept for reference +``./opt/`` optional component, e.g. scripts to setup infrastructure services for QTIP +``./qtip/`` the actual package +``./tests/`` package functional and unit tests +``./third-party/`` third part included in QTIP project +================== ==================================================================================================== + + +Coding Style +============ + +QTIP follows `OpenStack Style Guidelines`_ for source code and commit message. + +Specially, it is recommended to link each patch set with a JIRA issue. Put:: + + JIRA: QTIP-n + +in commit message to create an automatic link. + + +Testing +======= + +All testing related code are stored in ``./tests/`` + +================== ==================================================================================================== +Path Content +================== ==================================================================================================== +``./tests/data/`` data fixtures for testing +``./tests/unit/`` unit test for each module, follow the same layout as ./qtip/ +``./conftest.py`` pytest configuration in project scope +================== ==================================================================================================== + +`tox`_ is used to automate the testing tasks + +.. code-block:: shell + + cd <project_root> + pip install tox + tox + +The test cases are written in `pytest`_. You may run it selectively with + +.. code-block:: shell + + pytest tests/unit/reporter + +.. _Connexion: https://pypi.python.org/pypi/connexion/ +.. _Click: http://click.pocoo.org/ +.. _Jinja2: http://jinja.pocoo.org/ +.. _OpenStack Style Guidelines: http://docs.openstack.org/developer/hacking/ +.. _pytest: http://doc.pytest.org/ +.. _sphinx: http://www.sphinx-doc.org/en/stable/ .. _The Hitchhiker's Guide to Python: http://python-guide-pt-br.readthedocs.io/en/latest/writing/structure/ +.. _tox: https://tox.readthedocs.io/ |