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., OF-Config, NETCONF, BGP speaker) 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 | 4 ++++
tools/pip-requires | 3 ++-
tools/test-requires | 6 ------
tox.ini | 1 +
6 files changed, 15 insertions(+), 13 deletions(-)
create mode 100644 tools/optional-requires
diff --git a/README.rst b/README.rst
index 77df3b3..a601820 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) requires paramiko
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..a17b175
--- /dev/null
+++ b/tools/optional-requires
@@ -0,0 +1,4 @@
+lxml # OF-Config
+ncclient # OF-Config
+cryptography!=1.5.2 # Required by paramiko
+paramiko # NETCONF, BGP speaker (SSH console)
diff --git a/tools/pip-requires b/tools/pip-requires
index e4c9739..34ac85c 100644
--- a/tools/pip-requires
+++ b/tools/pip-requires
@@ -2,7 +2,8 @@ eventlet>=0.15
msgpack-python>=0.3.0 # RPC library, BGP speaker(net_cntl)
netaddr
oslo.config>=1.15.0
+ovs>=2.6.0 # OVSDB
routes # wsgi
six>=1.4.0
+tinyrpc # RPC library, BGP speaker(net_cntl)
webob>=1.2 # wsgi
-ovs>=2.6.0 # OVSDB
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