At Fri, 11 Nov 2016 11:30:33 +0900 (JST),
FUJITA Tomonori wrote:
> 
> 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.
> 

Thank you, Iwase-san, Fujita-san.

I've sent a patch to OpenStack to avoid use of ryu-4.8.

--
IWAMOTO Toshihiro

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