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

Reply via email to