At Tue, 8 Nov 2016 17:13:46 +0900,
IWASE Yusuke wrote:
>
> Currently, in addition to "requirements for tests", test-requires
> includes "optional requirements".
> This makes it unclear to identify which packages are surely required
> to use optional features (e.g., RPC, OF-Config, OVSDB) and causes
> the redundant installation when building Docker images.
>
> This patch separates test-requires into two files("test requirements"
> and "optional requirements").
>
> Also, this patch reverts the version fixation for some packages.
>
> Signed-off-by: IWASE Yusuke <[email protected]>
> ---
> README.rst | 11 +++++------
> tools/install_venv.py | 3 +++
> tools/optional-requires | 5 +++++
> tools/test-requires | 6 ------
> tox.ini | 1 +
> 5 files changed, 14 insertions(+), 12 deletions(-)
> create mode 100644 tools/optional-requires
>
> diff --git a/README.rst b/README.rst
> index 77df3b3..89f8021 100644
> --- a/README.rst
> +++ b/README.rst
> @@ -35,16 +35,15 @@ Optional Requirements
>
> Some functionalities of ryu requires extra packages:
>
> -- OF-Config requires lxml
> +- OF-Config requires lxml and ncclient
> - NETCONF requires paramiko
> -- BGP speaker (ssh console) requires paramiko
> -- OVSDB support requires ovs (Note: python 3.4 requires ovs>=2.6.0.dev0)
> +- BGP speaker (SSH console, RPC API) requires paramiko and tinyrpc
>
> If you want to use the functionalities, please install requirements::
>
> - % pip install lxml
> - % pip install paramiko
> - % pip install ovs
> + % pip install -r tools/optional-requires
> +
> +Please refer to tools/optional-requires for details.
>
>
> Support
> diff --git a/tools/install_venv.py b/tools/install_venv.py
> index 09b321b..2963980 100644
> --- a/tools/install_venv.py
> +++ b/tools/install_venv.py
> @@ -31,6 +31,7 @@ import sys
> ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
> VENV = os.path.join(ROOT, '.venv')
> PIP_REQUIRES = os.path.join(ROOT, 'tools', 'pip-requires')
> +OPTIONAL_REQUIRES = os.path.join(ROOT, 'tools', 'optional-requires')
> TEST_REQUIRES = os.path.join(ROOT, 'tools', 'test-requires')
> PY_VERSION = "python%s.%s" % (sys.version_info[0], sys.version_info[1])
>
> @@ -95,6 +96,8 @@ def install_dependencies(venv=VENV):
> run_command(['tools/with_venv.sh', 'pip', 'install', '-r',
> PIP_REQUIRES], redirect_output=False)
> run_command(['tools/with_venv.sh', 'pip', 'install', '-r',
> + OPTIONAL_REQUIRES], redirect_output=False)
> + run_command(['tools/with_venv.sh', 'pip', 'install', '-r',
> TEST_REQUIRES], redirect_output=False)
>
> # Tell the virtual env how to "import quantum"
> diff --git a/tools/optional-requires b/tools/optional-requires
> new file mode 100644
> index 0000000..7d9e44f
> --- /dev/null
> +++ b/tools/optional-requires
> @@ -0,0 +1,5 @@
> +lxml # OF-Config
> +ncclient # OF-Config
> +cryptography!=1.5.2 # Required by paramiko
> +paramiko # NETCONF, BGPSpeaker SSH console
> +tinyrpc # RPC API
tinyrpc is required by ryu.base.app_manager, so this should go to
pip-requires, IMO.
Ryu-4.8 breaks OpenStack Neutron.
http://logs.openstack.org/56/394156/8/check/gate-grenade-dsvm-neutron-multinode/532be1c/logs/new/screen-q-agt.txt.gz
> diff --git a/tools/test-requires b/tools/test-requires
> index 8510ede..9d59a70 100644
> --- a/tools/test-requires
> +++ b/tools/test-requires
> @@ -4,9 +4,3 @@ nose
> pep8
> pylint
> formencode
> -lxml; platform_python_implementation != 'PyPy' # OF-Config
> -lxml==3.4.0; platform_python_implementation == 'PyPy'
> -cryptography==1.5
> -paramiko # NETCONF, BGP speaker
> -tinyrpc # RPC
> -ncclient # OF-Config
> diff --git a/tox.ini b/tox.ini
> index ae9fd33..f87480a 100644
> --- a/tox.ini
> +++ b/tox.ini
> @@ -4,6 +4,7 @@ envlist = py27,py34,py35,pypy26,pep8
> [testenv]
> deps = -U
> -r{toxinidir}/tools/pip-requires
> + -r{toxinidir}/tools/optional-requires
> -r{toxinidir}/tools/test-requires
> --no-cache-dir
> usedevelop = True
> --
> 2.7.4
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel