aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Muscariello <lumuscar+fdio@cisco.com>2017-09-04 11:32:00 +0000
committerGerrit Code Review <gerrit@fd.io>2017-09-04 11:32:00 +0000
commit880f9dafaeb02d57c3dc51dccb4f7e92ad5ec97c (patch)
tree3111a4244ebc420931c78cd0bd50698e6307097b
parent190c70c461a3808297b397cda14f35867bd837f8 (diff)
parentb8cf65ae7d52754b33c8301e304bc01964b0b36f (diff)
Merge ""Updated README.md + added pip packages to setup.py"" into vicn/master
-rw-r--r--README.md54
-rw-r--r--netmodel/util/daemon.py4
-rwxr-xr-xsetup.py12
3 files changed, 34 insertions, 36 deletions
diff --git a/README.md b/README.md
index 08a1365d..c0fef87a 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,8 @@
-= vICN
+vICN
+=========
-== Description
+Description
+-------------
This application is an ICN experimental testbed orchestrator. It allows to
quickly deploy experiments in a cluster using linux containers, IP tunnels and
@@ -18,48 +20,40 @@ The master, vICN, controls the whole cluster of servers, by means of HTTPS REST
APIs and remote SSH.
-== Dependencies
+Dependencies
+-------------
vICN requires a version of Python >= 3.5, and has the following dependendies.
We refer to them using the name of debian/ubuntu packages:
-python3 (>= 3.5)
-python3-sympy
-python3-requests
-python3-websockets
-python3-networkx
-python3-pyparsing
-python3-autobahn
-python3-pylxd (>=2.2.2, use pip3 if necessary, depends on libssl-dev)
- python3-pbr
- python3-requests-unixsocket
+- python3 (>= 3.5)
+- libssl-dev
+- python3-pip
+- python3-daemon
+Installation on Ubuntu
+-------------
-== Installation
+Download vICN by cloning the git repositoy.
-Install vICN from either a debian package or by cloning the git repositoy.
+ git clone -b vicn/master https://gerrit.fd.io/r/cicn vicn
-Add the image server certificate to your trusted certificates:
+If you plan to use vICN with Linux Containers, get the latest version of lxd from the LXD ppa:
- sudo apt-get install ca-certificates
- wget https://46.105.122.213/cicn.crt
- sudo cp cicn.crt /usr/share/ca-certificates
- sudo dpkg-reconfigure ca-certificates
+ sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
+ sudo apt-get update
- # This should be done by the LXD remote add
- cp /usr/share/ca-certificates/cicn.crt ~/.config/lxc/servercerts/
+Install the dependencies. Beware to install the daemon module of python through repositories as the pip version is broken.
- lxc remote add cicn https://46.105.122.213 --protocol=simplestreams
+ sudo apt-get install python3-pip libssl-dev python3-daemon
-You can now list image with:
+You can now install vICN:
- lxc image list cicn:
+ cd vicn
+ sudo ./setup.py install
-or run containers:
-
- lxc launch cicn:cicn/1.0 test
-
-== Getting started
+Getting started
+--------------
You can have a look at the tutorials available in the fd.io wiki:
diff --git a/netmodel/util/daemon.py b/netmodel/util/daemon.py
index eb8cd1a2..5040a88e 100644
--- a/netmodel/util/daemon.py
+++ b/netmodel/util/daemon.py
@@ -53,10 +53,10 @@ class Daemon:
ret = True
except AttributeError as e:
# daemon and python-daemon conflict with each other
- log.critical("Please install python-daemon instead of daemon." \
+ log.critical("Please install python3-daemon instead of daemon." \
"Remove daemon first.")
except ImportError:
- log.critical("Please install python-daemon.")
+ log.critical("Please install python3-daemon.")
return ret
#--------------------------------------------------------------------------
diff --git a/setup.py b/setup.py
index 4ebd21c4..a12bcafc 100755
--- a/setup.py
+++ b/setup.py
@@ -34,13 +34,17 @@ with open('README.md') as f:
long_description = f.read()
# XXX TODO
-required_modules = list()
+required_modules = ["pylxd (>=2.2.2)",
+ "pyparsing",
+ "networkx (==1.11)",
+ "autobahn",
+ "pyOpenSSL"]
data_files = list()
data_files.extend([
- ("/lib/systemd/system/", ["etc/netmon.service"]),
- ("/etc/init/", ["etc/netmon.conf"]),
+ ("/lib/systemd/system", ["etc/netmon.service"]),
+ ("/etc/init", ["etc/netmon.conf"]),
])
@@ -71,7 +75,7 @@ setup(
packages = find_packages(),
data_files = data_files,
- install_requires = required_modules,
+ requires = required_modules,
# To provide executable scripts, use entry points in preference to the
# "scripts" keyword. Entry points provide cross-platform support and allow