Hi Iwamoto-San,
On 2016年11月11日 11:11, IWAMOTO Toshihiro wrote:
> 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
Yes, tinyrpc is required.
I moved it to pip-requires in my v4 patch.
[PATCH v4 00/10] RPC: Improvements for Python 3
And I'm sorry, this bug is caused by removing the embedded tinyrpc in my patch.
https://sourceforge.net/p/ryu/mailman/ryu-devel/thread/20161104.100550.625859878544528354.tomof%40acm.org/
Thanks,
Iwase
>
>> 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