From b8cf65ae7d52754b33c8301e304bc01964b0b36f Mon Sep 17 00:00:00 2001 From: Marcel Enguehard Date: Mon, 28 Aug 2017 15:10:05 +0200 Subject: "Updated README.md + added pip packages to setup.py" Change-Id: Id2147f081184d0d354edb6c7bdf6254ffcabfa14 Signed-off-by: Marcel Enguehard --- README.md | 54 ++++++++++++++++++++++--------------------------- netmodel/util/daemon.py | 4 ++-- setup.py | 12 +++++++---- 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 -- cgit 1.2.3-korg