osm/vim-emu.git
5 years agoAdded a script example for a performance evaluation of charm deployment 27/7327/4
schillinge [Thu, 14 Mar 2019 21:41:52 +0000 (22:41 +0100)]
Added a script example for a performance evaluation of charm deployment

Change-Id: Ia70a7b7774a35d3b5d0363af4ae103be09580113
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoFix: Changed LLCM to use gevent 32/7332/1
peusterm [Tue, 19 Mar 2019 16:05:57 +0000 (17:05 +0100)]
Fix: Changed LLCM to use gevent

Change-Id: I232e529cd0b35614c697e9c41d12b9b62955a87a
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: Do monkey.patch_all() only once. 31/7331/1
peusterm [Tue, 19 Mar 2019 13:05:18 +0000 (14:05 +0100)]
Fix: Do monkey.patch_all() only once.

Change-Id: I6d32a318e73adc0679303cdada5da79acfb7b744
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: Added gevent monkey patch to fix issue that blocks 30/7330/1
peusterm [Tue, 19 Mar 2019 10:10:38 +0000 (11:10 +0100)]
Fix: Added gevent monkey patch to fix issue that blocks
the servers of the LLCM and REST APIs.

Change-Id: I4d16ce4ae5e3d51892fe202ec7cf454e54096aca
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoMerge "Ensure timely termination of all flask servers"
peusterm [Tue, 19 Mar 2019 06:25:30 +0000 (07:25 +0100)]
Merge "Ensure timely termination of all flask servers"

5 years agoEnsure timely termination of all flask servers 90/7290/6
schillinge [Mon, 11 Mar 2019 16:57:41 +0000 (17:57 +0100)]
Ensure timely termination of all flask servers

1. The chain_api was never terminated. This was fixed by turning the
server into an pyWSGI instance.

2. no monkey patching was applied. The monkey patching of gevent is
required in order to be able to handle other events during a
time.sleep() call. Since multiple patching is detected, it was added to
all files which create WSGI servers.

All in all this change fixes a large leak of threads, open files and
performance.

This change updates Containernet in order to fix race conditions which
otherwise happen due to gevent's monkey patching.

Change-Id: Ia45ad07db1f85046bfcac85eaca20c930b931141
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoAdded example for parallel NS deployment performance testing 28/7328/1
schillinge [Thu, 14 Mar 2019 21:42:27 +0000 (22:42 +0100)]
Added example for parallel NS deployment performance testing

Change-Id: I6722c8cad0984695651a2f52dcda257380992155
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoMerge "Provide API for allowing full stack emulation"
peusterm [Mon, 18 Mar 2019 13:47:19 +0000 (14:47 +0100)]
Merge "Provide API for allowing full stack emulation"

5 years agoAlso support the usual CMD field in images 23/7323/4
schillinge [Thu, 14 Mar 2019 21:46:14 +0000 (22:46 +0100)]
Also support the usual CMD field in images

For backwards-compatibility the SON_EMU_CMD/VIM_EMU_CMD commands still
surpress this, but otherwise the usual ENTRYPOINT + CMD logic should be
working with this + commit 83b52502743eb29e5e0b8e33e6aa119a5005c676 in
containernet.

Since the caching of the build server prevents a automatic Containernet
update to latest master, an explicit commit hash is given. This will
allow explicit updates when required while still supporting caching.

Comment wording above checkout is from Manuel Peuster.

Change-Id: Ic01f87acb5f9e79d09baae499f3d353c2c0aca9e
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoProvide API for allowing full stack emulation 24/7324/2
schillinge [Sun, 3 Mar 2019 18:17:23 +0000 (19:17 +0100)]
Provide API for allowing full stack emulation

This commit adds an API in order to emulate the full OSM stack. Different
levels of API are added in order to allow flexible scenarios.

The lowest level API only wraps the required components in containers.
The next higher level also abstracts the composition of these low-level
into a working OSM instance.
The third level also abstracts the emulation and configuration of the VIM
layer.

Examples are added for each abstraction level.

Implements Feature 7291.

Change-Id: I156f6625d4ff4010d688c41419c4ece03a339937
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years ago5GTANGO LLCM: Allow port publishing for containers from CNFDs. 74/7274/1
peusterm [Wed, 27 Feb 2019 21:03:29 +0000 (22:03 +0100)]
5GTANGO LLCM: Allow port publishing for containers from CNFDs.
Issue: https://github.com/sonata-nfv/son-emu/issues/295
Closes #295

Change-Id: Iff2daf07b8a2070676c6f7240869dee6be103bbf
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoMerge "Support (simple) classifiers"
peusterm [Wed, 20 Feb 2019 14:11:40 +0000 (15:11 +0100)]
Merge "Support (simple) classifiers"

5 years agoMerge "Log ryu commands at debug level"
peusterm [Wed, 20 Feb 2019 14:11:36 +0000 (15:11 +0100)]
Merge "Log ryu commands at debug level"

5 years agoSupport (simple) classifiers 42/7242/1
schillinge [Wed, 20 Feb 2019 13:47:01 +0000 (14:47 +0100)]
Support (simple) classifiers

In order to support classifiers, each flow entry needs to specify the
classifier's parameters within its match rule. This means that the
created rules do not only depend on the ingress and egress port, but
also on the classifier (this required to move the creation code into the
flow classifier loop).

Change-Id: I96817255580462e0ffb570b025b6f912f2d00b13
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoLog ryu commands at debug level 40/7240/2
schillinge [Wed, 20 Feb 2019 12:09:20 +0000 (13:09 +0100)]
Log ryu commands at debug level

Change-Id: I0922f941367a123aae156ed6014a544b490b776f
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoPrint the flake8 version during build 41/7241/1
schillinge [Wed, 20 Feb 2019 12:51:48 +0000 (13:51 +0100)]
Print the flake8 version during build

Change-Id: Ieb1b202936c3cfea7d29a7b8ad4bd67a84b9e06f
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoFixed logging of ryu errors 39/7239/1
schillinge [Wed, 20 Feb 2019 10:14:22 +0000 (11:14 +0100)]
Fixed logging of ryu errors

Change-Id: I61dd313a947a9fa857f0dca849bfd8294aeedae0
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoUpdate MAC address to match the next hop 38/7238/1
schillinge [Wed, 20 Feb 2019 10:04:08 +0000 (11:04 +0100)]
Update MAC address to match the next hop

If the mac address is not updated the receiving host will reject the
packet since it sees a MAC address which does not belong to him.

Change-Id: I95edc11572b2ada8841b504ed8eee743613cce09
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoDo not tag outputs with VLANs for SFC 37/7237/1
schillinge [Wed, 20 Feb 2019 09:08:47 +0000 (10:08 +0100)]
Do not tag outputs with VLANs for SFC

this otherwise leads to packets being wrapped within 802.1Q packets,
which do not get popped before forwarding to a service. Thus, services
do not respond to ARP, PING and alike.

Change-Id: I7f29b5094f9bd33661e8f2862c8656c0f9a08a6b
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years ago5GTANGO LLCM: Preliminary fix of the E-LINE configruation. 34/7234/1
peusterm [Mon, 18 Feb 2019 20:37:51 +0000 (21:37 +0100)]
5GTANGO LLCM: Preliminary fix of the E-LINE configruation.

Change-Id: I9092a09837fc941eb8e47da7b6a12140d2a952a3
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoCreate flow table entries for classifiers 28/7228/2
schillinge [Thu, 14 Feb 2019 12:55:56 +0000 (13:55 +0100)]
Create flow table entries for classifiers

Only the source port is considered for now, leading to all outgoing
traffic being routed along the path.

Change-Id: I1752494f5face135fe159bd69f9080a8d614f7e7
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoFixed port chain direction and linking 27/7227/1
schillinge [Thu, 14 Feb 2019 10:13:21 +0000 (11:13 +0100)]
Fixed port chain direction and linking

Given a port chain of two port pair groups ppg1 and ppg2, which each
consist of a single port pair (ppg1=[pp1], ppg2=[pp2]), where
pp1=(ingress: p1, egress: p2), p2=(ingress: p3, egress: p4) the
following forwarding chain was generated:

    /----\ /----\
    | s1 | | s2 |
    \i--e/ \i--e/
     v  ^   v  ^
     |  |   |  |
     \--/   \--/

This, for once, mixed ingress and egress, but also did not actually link
the servers.

This patch corrects the linking to:

    /----\ /----\
    | s1 | | s2 |
    \i--e/ \i--e/
     ^  v   ^  v
     |  |   |  |
    -/  \---/  \->

Change-Id: Iabc48a6950f864562a93f8d17f41890598d65ac6
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoDo not spam the logs with server names at INFO level 25/7225/1
schillinge [Wed, 13 Feb 2019 07:07:52 +0000 (08:07 +0100)]
Do not spam the logs with server names at INFO level

This logged two lines at INFO. I guess DEBUG and a single line suffices
in this case.

Change-Id: I88a04299571779066c6ca7a0bd8389ae3f40fe31
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoUnified command execution in Docker containers. 24/7224/1
peusterm [Tue, 12 Feb 2019 18:58:24 +0000 (19:58 +0100)]
Unified command execution in Docker containers.

Also adds a hotfix for a broken test execution based on
an issue with a used library: https://github.com/pytest-dev/pytest/issues/4770

Change-Id: I54aade1eda31cb2584641b95226fbf39d9d298f4
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoThrow error if SFC ports are not found on servers 55/7155/6
schillinge [Thu, 31 Jan 2019 07:53:39 +0000 (08:53 +0100)]
Throw error if SFC ports are not found on servers

This breaks the port chain creation and most likely reveals some kind of
implementation error elsewhere.

Change-Id: I907eb5e828f80ae5ab12de851a98f3c19c9c2d5b
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoSupport identical ingress and egress ports in port pairs 57/7157/5
schillinge [Thu, 31 Jan 2019 07:56:46 +0000 (08:56 +0100)]
Support identical ingress and egress ports in port pairs

Change-Id: Id58c428594b115a5e343a7b2c701f2ddddb89f81
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoAlso compare ids against a server's ports 56/7156/5
schillinge [Thu, 31 Jan 2019 07:55:33 +0000 (08:55 +0100)]
Also compare ids against a server's ports

The server's port list may contain ids, thus those also need to be
compared.

Change-Id: I2e53c111a22009b6c791abc9e52f28afa96d5b0a
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoReturn empty `service_function_parameters` field for port pairs 53/7153/3
schillinge [Wed, 30 Jan 2019 20:45:10 +0000 (21:45 +0100)]
Return empty `service_function_parameters` field for port pairs

OSM tries to delete this and fails if the field does not exist

Change-Id: I5a65d796f0025c06c7f9367c6d4f806bab893740
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoAllow filtering ports by device_id 52/7152/6
schillinge [Wed, 30 Jan 2019 19:17:54 +0000 (20:17 +0100)]
Allow filtering ports by device_id

This otherwise leads to errors in RO, which checks whether the ports of a
specific instance are created.

Change-Id: I563dc84db299e6148b7970e8c9716460653c6b48
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoAllow multiple ports to exist with the same name 51/7151/4
schillinge [Wed, 30 Jan 2019 16:48:27 +0000 (17:48 +0100)]
Allow multiple ports to exist with the same name

Ports in OpenStack may very well have identical names. In fact this is
almost guaranteed when deploying network services with multiple identical
VNFs.

Change-Id: Iba196e64be329c376eca9f34c7b2cbcdfd569a3e
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoMerge "Allow filtering of the port chain list by id"
peusterm [Tue, 5 Feb 2019 13:28:50 +0000 (14:28 +0100)]
Merge "Allow filtering of the port chain list by id"

5 years agoSimplified and stabilized ryu launch 58/7158/3
schillinge [Thu, 31 Jan 2019 09:00:02 +0000 (10:00 +0100)]
Simplified and stabilized ryu launch

The rest app only considered a single fixed filename rather than simply
relying on the existing loading mechanism.
For better clarity some variable names were renamed and logging now
outputs the full ryu-manager command.

Change-Id: I35ac86159880acc71d460df7db95e1b244c82eb3
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoAllow filtering of the port chain list by id 54/7154/2
schillinge [Wed, 30 Jan 2019 20:45:37 +0000 (21:45 +0100)]
Allow filtering of the port chain list by id

Change-Id: I2d81c3836fe0b0d1ad9429922b59d42b4eab68f3
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoFix: Flake8 seems to have changed. This fixes a code style issue in an old file preve... 79/7179/1
peusterm [Sun, 3 Feb 2019 19:37:07 +0000 (20:37 +0100)]
Fix: Flake8 seems to have changed. This fixes a code style issue in an old file preventing the CI to succeed.

Change-Id: I0e48166df7a24b53fa3215241d9b515fdd6343b5
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: 5GTANGO LLCM now correctly applies resource limits. 35/7135/3
peusterm [Tue, 29 Jan 2019 17:31:28 +0000 (18:31 +0100)]
Fix: 5GTANGO LLCM now correctly applies resource limits.

Change-Id: I5c40898b58c5fc00c60a9ad16483feb4748914a7
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: 5GTANGO LLCM now correctly terminates servies. 93/7093/1
peusterm [Thu, 10 Jan 2019 14:21:26 +0000 (15:21 +0100)]
Fix: 5GTANGO LLCM now correctly terminates servies.

Also adding an example topology for 5GTANGO experiments.

Change-Id: Ibb5565814e448569d3d7e7a8a28a3ed5bd45af7f
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years ago5GTANGO LLCM: Allow service instanceiation by service_name. 72/7072/1
peusterm [Wed, 19 Dec 2018 12:58:12 +0000 (13:58 +0100)]
5GTANGO LLCM: Allow service instanceiation by service_name.

Change-Id: I924a1aa3a0e8f852e19a44471630348de176ea5a
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years ago5GTANGO LLCM: Refactoring, cleanup 71/7071/1
peusterm [Wed, 19 Dec 2018 08:58:17 +0000 (09:58 +0100)]
5GTANGO LLCM: Refactoring, cleanup

Change-Id: I725c34723ca431c1544f64edd6e01cb70cacad85
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoExtended networking parts of 5GTANGO LLCM to fully support 70/7070/1
peusterm [Tue, 18 Dec 2018 15:22:46 +0000 (16:22 +0100)]
Extended networking parts of 5GTANGO LLCM to fully support
E-Tree and E-LAN networks in multi-V/CDU deployments.

Change-Id: I108858358267c3e72db2d3f0a787b6d92965aa93
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFeature #290: Multi-VDU support for 5GTANGO LLCM. VUD deployment works. 60/7060/1
peusterm [Fri, 14 Dec 2018 18:20:19 +0000 (19:20 +0100)]
Feature #290: Multi-VDU support for 5GTANGO LLCM. VUD deployment works.
Update of networking parts are still missing.

Change-Id: Icd987f6aa0d195cb5e7483c777662675e0600c51
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years ago5GTANGO LLCM: Added VNFD-based start/stop command injection. 55/7055/1
peusterm [Wed, 12 Dec 2018 12:37:39 +0000 (13:37 +0100)]
5GTANGO LLCM: Added VNFD-based start/stop command injection.

Change-Id: Ie9189fff90e7b972554d20d48b019ea0b33b4116
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years ago5GTANGO LLCM: Refactoring and basic support for CNFs. #291 51/7051/1
peusterm [Tue, 11 Dec 2018 15:07:59 +0000 (16:07 +0100)]
5GTANGO LLCM: Refactoring and basic support for CNFs. #291

Change-Id: Iebd17b2bbf310faa41354ad053140bf1d2d42633
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoReturn actually reachable IP as part of the Floating IP API 22/7022/1 v5.0 v5.0.0 v5.0.1 v5.0.2 v5.0.3 v5.0.4 v5.0.5
schillinge [Mon, 3 Dec 2018 10:34:01 +0000 (11:34 +0100)]
Return actually reachable IP as part of the Floating IP API

The Floating-IP list API is only ever queried for getting the IP assigned
to a specific port (if vim-emu is added with the manual floating-ip
assignment turned off). Thus, the previous solution lead to fixed IPs being
returned (which are not reachable).

This solution tracks the assigned container for each port in order to be
able to return the public IP assigned by docker.

This is not perfect in the sense that multiple ports do not receive
different floating ips, but at least the containers are actually reachable
now.

Change-Id: I233e5de35b3b7e7350faaef017711f7c1e919fff
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoFix: Made ping pong example working with upcoming R5. 99/6999/1
peusterm [Thu, 29 Nov 2018 14:35:07 +0000 (15:35 +0100)]
Fix: Made ping pong example working with upcoming R5.

Change-Id: I415dd3c6ac8163d4ba2a3a3fe85600acc06430b7
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoadded contributor to readme 87/6887/1
schneiders [Wed, 14 Nov 2018 13:09:32 +0000 (14:09 +0100)]
added contributor to readme

Change-Id: I65e2e7f7af8f33689d42705ebcceaa0171dc9303
Signed-off-by: schneiders <stefan.schneider@uni-paderborn.de>
5 years agoIgnore virtual environments when building docker images 62/6862/3
schillinge [Fri, 9 Nov 2018 08:55:59 +0000 (09:55 +0100)]
Ignore virtual environments when building docker images

.mailmap trickery is done with the hope of satisfying author ship
mapping scripts.

Change-Id: I47ab56335ed981b3f6d507f16823461d793896f9
Signed-off-by: schillinge <ablu@mail.uni-paderborn.de>
5 years agoFix: Fixes broken installation because of third party library update. 21/6821/3
peusterm [Wed, 31 Oct 2018 18:50:16 +0000 (19:50 +0100)]
Fix: Fixes broken installation because of third party library update.

Change-Id: If94adb111ae5bf89f977ad857807f89ee61f71d8
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoImproved IP/E-Line management of 5GTANGO LLCM.
peusterm [Thu, 18 Oct 2018 13:03:55 +0000 (15:03 +0200)]
Improved IP/E-Line management of 5GTANGO LLCM.

Change-Id: I8e0c9d00e7470ef73b83d7e7d5bfde898116f632
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoMinor improvements in 5GTANGO LLCM module.
peusterm [Wed, 3 Oct 2018 11:39:28 +0000 (13:39 +0200)]
Minor improvements in 5GTANGO LLCM module.

Change-Id: Ia1236038f1d25118d7b97574a50e306c9d19fed8
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoMerge "Modified LICENSE file to be the same in all repos"
marchettim [Mon, 1 Oct 2018 15:02:47 +0000 (17:02 +0200)]
Merge "Modified LICENSE file to be the same in all repos"

5 years agoFixes bug 553: Missing license headers
peusterm [Mon, 1 Oct 2018 14:25:44 +0000 (16:25 +0200)]
Fixes bug 553: Missing license headers

Change-Id: I8fd3d74a242fa52d93b82840b5deea393f8f17a9
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoModified LICENSE file to be the same in all repos
garciadeblas [Thu, 27 Sep 2018 08:33:49 +0000 (10:33 +0200)]
Modified LICENSE file to be the same in all repos

Change-Id: I18b4c3a9e42ece62a4c4e386720754d6abc585c7
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
5 years agoMerge "Added 5GTANGO lightweight lifecycle manager (LLCM)." BUILD_v4.0.1_2
marchettim [Fri, 10 Aug 2018 13:02:02 +0000 (15:02 +0200)]
Merge "Added 5GTANGO lightweight lifecycle manager (LLCM)."

5 years agoAdded 5GTANGO lightweight lifecycle manager (LLCM).
peusterm [Mon, 6 Aug 2018 14:09:23 +0000 (16:09 +0200)]
Added 5GTANGO lightweight lifecycle manager (LLCM).

This (optional) module allows to directly deploy
5GTANGO service packages on the emulator. This
allows for very quick prototyping of small 5GTANGO
services. It is a copy of the old SONATA DummyGatekeeper
component.

Change-Id: I61d8e5b5a4e0f682a52316de7330d95cf794a4a1
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: Made Glance-fake API more robust in
peusterm [Mon, 6 Aug 2018 12:28:24 +0000 (14:28 +0200)]
Fix: Made Glance-fake API more robust in
environments with many registered Docker images.

Change-Id: I27880b3530da088ab83a5bb5eb8d2946639d7ee0
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: Made OS Glance fake API compatible to latest pyhton-glanceclient. BUILD_v4.0.1_1
peusterm [Thu, 2 Aug 2018 14:04:04 +0000 (16:04 +0200)]
Fix: Made OS Glance fake API compatible to latest pyhton-glanceclient.

This fixes a major bug that broke the integration between OSM and vim-emu.

Change-Id: I5a92417ccbf919d5e160ac5b2c66a88f3c7d6fe5
Signed-off-by: peusterm <manuel.peuster@upb.de>
5 years agoMoved examples folder to project root. 56/6156/2 v4.0.1
peusterm [Wed, 16 May 2018 14:37:02 +0000 (16:37 +0200)]
Moved examples folder to project root.

Change-Id: I1ba8b7e753f0e1454555ecff18914bb977d224dd
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoImproved test triggers for unit tests. 55/6155/2
peusterm [Wed, 16 May 2018 14:35:17 +0000 (16:35 +0200)]
Improved test triggers for unit tests.

Change-Id: Ib3a886da8a6f181fc04f4b6b4a42230deac79d4d
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: Made port deleteion more robust. Do not rely on IPs of ports only on names. 50/6150/1
peusterm [Wed, 16 May 2018 11:10:30 +0000 (13:10 +0200)]
Fix: Made port deleteion more robust. Do not rely on IPs of ports only on names.

Bug was discovered during R4 int testing and does only appear in some border cases.

Change-Id: I6e9d4ca0e131486bee3592ceb71101f5a593a357
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoRefactoring: Made complete codebase PEP8 compatible. 49/6149/3 v4.0.0
peusterm [Tue, 15 May 2018 15:10:27 +0000 (17:10 +0200)]
Refactoring: Made complete codebase PEP8 compatible.

Only PEP8 rule E501 (line too long) is not yet reflected
by this change.

The patch also adds automated code style checks to the
CI test stage using flake8.
It will let the tests fail if there is a code style
violation.

Change-Id: I90956dd424a46691546ef720351757d3c43451a7
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: Crashbug that was caused by an import of an 43/6143/1
peusterm [Mon, 14 May 2018 16:52:00 +0000 (18:52 +0200)]
Fix: Crashbug that was caused by an import of an
outdated module that was removed from Gevent 1.3 that
was released two days ago.

Change-Id: I44dff2b468456ed2c24fa8e326ebc535bb04344b
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: hackfest_1 deployment using OSM LB returned 26/6026/1 v3.1 v3.1.0
peusterm [Wed, 25 Apr 2018 13:36:15 +0000 (15:36 +0200)]
Fix: hackfest_1 deployment using OSM LB returned
and network not found error. This fix ensures that
some default networks are always available for OSM.

Change-Id: I0ae791d64c527ea451b406452619d04e6f3b98af
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoFix: Instantiate the same NS without emulator restart 24/6024/1
peusterm [Tue, 24 Apr 2018 14:52:51 +0000 (16:52 +0200)]
Fix: Instantiate the same NS without emulator restart

Fixes a bug that causes the emulator to not properly clean
its internal data structures when a NS is deleted. This could
cause errors when a NS should be instantiated again, without
restarting the emulator.

Change-Id: I8a0be1f28b889f2c01e7ef859acd6bdcc35b8b9d
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
5 years agoAdded emulator-compatible services and VNFs for R4 integration tests. 22/6022/1
peusterm [Tue, 24 Apr 2018 12:15:53 +0000 (14:15 +0200)]
Added emulator-compatible services and VNFs for R4 integration tests.

The emulator needs slightly modified test NSDs and VNFDs
to work with. This commit adds such examples based on the
official hackfest_1 and hackfest_2 services.

These example descriptors/packages are also used for the R4
integration tests with vim-emu.

Change-Id: Ief26dbdbb15dc973e7563923394d7e7e90579fab
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoPingpong example for OSM-to-vim-emu deployments. 19/5819/3
peusterm [Wed, 17 Jan 2018 14:15:22 +0000 (15:15 +0100)]
Pingpong example for OSM-to-vim-emu deployments.

This commit cleans up the outdated emulator examples
from the SONATA project and adds example VNFs (ping and pong)
as well as a corresponding NSD as an up-to-date
example that is tested with OSM rel. THREE.

The added example service and VNFs is used by the
end-to-end example documented in the OSM wiki.
Goal is to give users an pre-defined example on how to
on-board and instantiate a network service on the
emulator using OSM.

Also improved README.md.

Change-Id: I45a00f1b6acf1664a96b22e21be4c23612f581cf
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoFix: HTTP 204 response must not contain any payload. 12/5812/2
peusterm [Wed, 10 Jan 2018 10:06:05 +0000 (11:06 +0100)]
Fix: HTTP 204 response must not contain any payload.

Change-Id: Ib2fed74478233851e50f438c241b97bd949325d0
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoMerge "Added example topology for daemonized execution."
marchettim [Thu, 21 Dec 2017 13:33:25 +0000 (14:33 +0100)]
Merge "Added example topology for daemonized execution."

6 years agoAdded example topology for daemonized execution. 01/5801/1
peusterm [Wed, 20 Dec 2017 14:48:35 +0000 (15:48 +0100)]
Added example topology for daemonized execution.

Allows to run vim-emu in a daemonized Docker container
and allows to shut it down gracefully using docker stop.

Change-Id: I49e92a670ed8cba1de64a2e896e6bb87839c16d5
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoFix: Better name-handling of Docker-based VNFs 94/5794/1
peusterm [Tue, 19 Dec 2017 14:18:11 +0000 (15:18 +0100)]
Fix: Better name-handling of Docker-based VNFs

There was the risk to run into naming conflicts when a
larger number of VNFs was started in the emulation platform.
This patch resolves these problems by using short, hash-based
names for the emulated VNFs.

Change-Id: I958dd469e5494223fe7f1f274bc10e0714b3df90
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoAdded Dockerfile-based entry points to REST API. 41/5741/1
peusterm [Wed, 29 Nov 2017 11:02:42 +0000 (12:02 +0100)]
Added Dockerfile-based entry points to REST API.

Allows the user of the emulator to specify entry point
scripts for their VNF containers inside the Dockerfiles.

The emulator automatically runs these scripts when a new
VNF is started using the emulators REST API.

Change-Id: I2cb42f1cc33f7ae4ba6fc4e7a05d7dff0f7046c2
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoOpenStack API: Replaced Flask with WSGI 89/5689/2
peusterm [Wed, 15 Nov 2017 07:23:50 +0000 (08:23 +0100)]
OpenStack API: Replaced Flask with WSGI

Flask server introduced a couple of problems, e.g., pending
sockets when an experiment was shut down.
This patch solves this and improves stability and performance
of the emulated OpenStack APIs.

Increased PIP timeout in Dockerfile to make build more
robust in CI environment.

Change-Id: I54e040c56a10075555d13fe6fb144fc117340026
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoCI/Jenkins stage 2 integration of vim-emu 25/5625/2
peusterm [Wed, 25 Oct 2017 14:20:51 +0000 (16:20 +0200)]
CI/Jenkins stage 2 integration of vim-emu

Added Jenkinsfile and stage-test.sh to trigger vim-emu's
unittests using Jenkins. The stage-build script is a placeholder
since the installation is done during the container build
process (see Dockerfile). stage-archive is not yet done.

Requires the following change in the devops repository
to allow privileged container execution in stage_2:
https://osm.etsi.org/gerrit/#/c/5624/

Change-Id: Ib140294b68b70b03e66f0f5d2bc11cd19d8777ca
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoFix: Use networkx 1.11 due to major API change in recently released networkx 2.0 87/2287/1
peusterm [Fri, 22 Sep 2017 06:47:08 +0000 (08:47 +0200)]
Fix: Use networkx 1.11 due to major API change in recently released networkx 2.0

This is temporary until we migrated to the latest networkx API.

Change-Id: Id735686098c8d8ab03f40f648d10aff31ba87129
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoFix/cleanup: Added missing license headers and removed unused files. 86/2286/1
peusterm [Thu, 21 Sep 2017 14:29:34 +0000 (16:29 +0200)]
Fix/cleanup: Added missing license headers and removed unused files.

Change-Id: Ibaf91b89e3b1dc13a50130bb2bd0a22afc6ec19e
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoMerge pull request #255 from mpeuster/osm/master
peusterm [Thu, 14 Sep 2017 09:13:21 +0000 (11:13 +0200)]
Merge pull request #255 from mpeuster/osm/master

Prepared README.md for migration to OSM repository

6 years agoFixed: Changed installation repos, etc. in README.md to new OSM repo
peusterm [Thu, 14 Sep 2017 09:06:44 +0000 (11:06 +0200)]
Fixed: Changed installation repos, etc. in README.md to new OSM repo

Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoChanged package names, links, etc. for OSM migration
peusterm [Thu, 14 Sep 2017 09:06:01 +0000 (11:06 +0200)]
Changed package names, links, etc. for OSM migration

Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoREADME cleanup for OSM migration
peusterm [Thu, 14 Sep 2017 08:11:57 +0000 (10:11 +0200)]
README cleanup for OSM migration

Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoMerge pull request #254 from mpeuster/osm/master
peusterm [Thu, 14 Sep 2017 06:31:02 +0000 (08:31 +0200)]
Merge pull request #254 from mpeuster/osm/master

Osm/master

6 years agoMerge branch 'docker-build' into osm/master
peusterm [Thu, 14 Sep 2017 06:29:05 +0000 (08:29 +0200)]
Merge branch 'docker-build' into osm/master

6 years agoModified CI integration.
peusterm [Thu, 14 Sep 2017 06:26:42 +0000 (08:26 +0200)]
Modified CI integration.

Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoMerge branch 'docker-build' into osm/master
peusterm [Thu, 7 Sep 2017 14:49:34 +0000 (16:49 +0200)]
Merge branch 'docker-build' into osm/master

6 years agoFix: Jenkins worker don't have a TTY. Do not run the test container with "-it".
peusterm [Thu, 7 Sep 2017 14:37:15 +0000 (16:37 +0200)]
Fix: Jenkins worker don't have a TTY. Do not run the test container with "-it".

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoFix: Try to run tests in a Docker-only environment.
peusterm [Thu, 7 Sep 2017 14:26:52 +0000 (16:26 +0200)]
Fix: Try to run tests in a Docker-only environment.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoMigrating CI tests to be executed inside Docker container
peusterm [Thu, 7 Sep 2017 14:22:16 +0000 (16:22 +0200)]
Migrating CI tests to be executed inside Docker container

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoFix: Missing ping tool causes unittests inside Docker to fail.
peusterm [Thu, 7 Sep 2017 13:58:59 +0000 (15:58 +0200)]
Fix: Missing ping tool causes unittests inside Docker to fail.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoMerge branch 'docker-build' into osm/master
peusterm [Thu, 7 Sep 2017 12:33:27 +0000 (14:33 +0200)]
Merge branch 'docker-build' into osm/master

6 years agoCleanup: Removed outdated Dockerfile and docu.
peusterm [Thu, 7 Sep 2017 12:32:47 +0000 (14:32 +0200)]
Cleanup: Removed outdated Dockerfile and docu.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoCleanup for OSM: Removed outdated CI integration scripts.
peusterm [Thu, 7 Sep 2017 11:27:18 +0000 (13:27 +0200)]
Cleanup for OSM: Removed outdated CI integration scripts.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoAdded dockerized deployment as third official deployment method. Created a new Docker...
peusterm [Thu, 7 Sep 2017 11:03:12 +0000 (13:03 +0200)]
Added dockerized deployment as third official deployment method. Created a new Dockerfile that uses the Ansible-based installation so we still need to maintain only one installation script. The old Dockerfiles in "utils" is deprecated.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoAdded dockerized deployment as third official deployment method. Created a new Docker...
peusterm [Thu, 7 Sep 2017 11:03:12 +0000 (13:03 +0200)]
Added dockerized deployment as third official deployment method. Created a new Dockerfile that uses the Ansible-based installation so we still need to maintain only one installation script. The old Dockerfiles in "utils" is deprecated.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoAdded a default topology that is automatically called in dockerized deployments if...
peusterm [Thu, 7 Sep 2017 08:56:41 +0000 (10:56 +0200)]
Added a default topology that is automatically called in dockerized deployments if no other topo is specified.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoFixed missing license headers
peusterm [Thu, 7 Sep 2017 06:55:14 +0000 (08:55 +0200)]
Fixed missing license headers

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoFix: Removed more zeromq dependencies.
peusterm [Thu, 7 Sep 2017 06:39:32 +0000 (08:39 +0200)]
Fix: Removed more zeromq dependencies.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoRemoved outdated zerorpc API.
peusterm [Thu, 7 Sep 2017 06:35:33 +0000 (08:35 +0200)]
Removed outdated zerorpc API.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoFix: Fixed a lot of small things in the README.md
peusterm [Thu, 7 Sep 2017 06:27:27 +0000 (08:27 +0200)]
Fix: Fixed a lot of small things in the README.md

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoFix: Let Jenkins script call unitttest. Added link to examles.
peusterm [Thu, 7 Sep 2017 06:19:29 +0000 (08:19 +0200)]
Fix: Let Jenkins script call unitttest. Added link to examles.

Signed-off-by: Manuel Peuster <manuel@peuster.de>
6 years agoMerge branch 'master' of github.com:mpeuster/son-emu
peusterm [Thu, 7 Sep 2017 06:13:05 +0000 (08:13 +0200)]
Merge branch 'master' of github.com:mpeuster/son-emu

6 years agoRemoved GitHub page folder. We skip this.
peusterm [Wed, 6 Sep 2017 15:26:46 +0000 (17:26 +0200)]
Removed GitHub page folder. We skip this.

Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
6 years agoMerge pull request #245 from mpeuster/master
peusterm [Wed, 6 Sep 2017 14:48:40 +0000 (16:48 +0200)]
Merge pull request #245 from mpeuster/master

Fix: Docker build was broken due to double urllib dependecy.