On Fri, 11 Nov 2016 11:24:25 +0900
Iwase Yusuke <[email protected]> wrote:

> 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/

Can you send a simple patch to just add tinyrpc to pip-requires?

Then, I'll create a special release for OpenStack on pypi.

------------------------------------------------------------------------------
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