)]}'
{
  "log": [
    {
      "commit": "ce776393dccaf31ad47f21b06dcf0a2ba56b4874",
      "tree": "42e871d2fb52c73c1e2ebe4bfe8d18accd7be9f2",
      "parents": [
        "64d1436431fbf61e21bd4cc40ad015e32dbac560"
      ],
      "author": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Thu Jan 31 08:53:39 2019 +0100"
      },
      "committer": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Wed Feb 06 10:17:03 2019 +0100"
      },
      "message": "Throw error if SFC ports are not found on servers\n\nThis breaks the port chain creation and most likely reveals some kind of\nimplementation error elsewhere.\n\nChange-Id: I907eb5e828f80ae5ab12de851a98f3c19c9c2d5b\nSigned-off-by: schillinge \u003cablu@mail.uni-paderborn.de\u003e\n"
    },
    {
      "commit": "64d1436431fbf61e21bd4cc40ad015e32dbac560",
      "tree": "29161bc76f6fe223b5ea750b1a7b76e6cd2af68d",
      "parents": [
        "1e645a4217078c96f5ee09a437be63f7356157a7"
      ],
      "author": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Thu Jan 31 08:56:46 2019 +0100"
      },
      "committer": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Wed Feb 06 10:17:03 2019 +0100"
      },
      "message": "Support identical ingress and egress ports in port pairs\n\nChange-Id: Id58c428594b115a5e343a7b2c701f2ddddb89f81\nSigned-off-by: schillinge \u003cablu@mail.uni-paderborn.de\u003e\n"
    },
    {
      "commit": "1e645a4217078c96f5ee09a437be63f7356157a7",
      "tree": "29d0d1e76fad8643bf0378fd870ecbeda214c6ed",
      "parents": [
        "a879564e18a695c246b014a07fbe168c14d8485c"
      ],
      "author": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Thu Jan 31 08:55:33 2019 +0100"
      },
      "committer": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Wed Feb 06 10:17:03 2019 +0100"
      },
      "message": "Also compare ids against a server\u0027s ports\n\nThe server\u0027s port list may contain ids, thus those also need to be\ncompared.\n\nChange-Id: I2e53c111a22009b6c791abc9e52f28afa96d5b0a\nSigned-off-by: schillinge \u003cablu@mail.uni-paderborn.de\u003e\n"
    },
    {
      "commit": "a879564e18a695c246b014a07fbe168c14d8485c",
      "tree": "ea05624c9de8bf1ee6c7583564076f2fa0ab0669",
      "parents": [
        "c3d1e25f455b70ac944d1d668aaad1b8e74eb61b"
      ],
      "author": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Wed Jan 30 21:45:10 2019 +0100"
      },
      "committer": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Tue Feb 05 16:58:01 2019 +0100"
      },
      "message": "Return empty `service_function_parameters` field for port pairs\n\nOSM tries to delete this and fails if the field does not exist\n\nChange-Id: I5a65d796f0025c06c7f9367c6d4f806bab893740\nSigned-off-by: schillinge \u003cablu@mail.uni-paderborn.de\u003e\n"
    },
    {
      "commit": "c3d1e25f455b70ac944d1d668aaad1b8e74eb61b",
      "tree": "e8b943b7e744d6fbc79cee52543b9e792dc589ae",
      "parents": [
        "0e10819e9f46c6d00c2e54e544c8df4a2f1ce9a2"
      ],
      "author": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Wed Jan 30 20:17:54 2019 +0100"
      },
      "committer": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Tue Feb 05 16:07:51 2019 +0100"
      },
      "message": "Allow filtering ports by device_id\n\nThis otherwise leads to errors in RO, which checks whether the ports of a\nspecific instance are created.\n\nChange-Id: I563dc84db299e6148b7970e8c9716460653c6b48\nSigned-off-by: schillinge \u003cablu@mail.uni-paderborn.de\u003e\n"
    },
    {
      "commit": "0e10819e9f46c6d00c2e54e544c8df4a2f1ce9a2",
      "tree": "40fdcbd97f4c25bda1e5dacb98bd9328afe6bfce",
      "parents": [
        "27b1308d56aca2718eb84357d919f5c02196af9e"
      ],
      "author": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Wed Jan 30 17:48:27 2019 +0100"
      },
      "committer": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Tue Feb 05 15:17:11 2019 +0100"
      },
      "message": "Allow multiple ports to exist with the same name\n\nPorts in OpenStack may very well have identical names. In fact this is\nalmost guaranteed when deploying network services with multiple identical\nVNFs.\n\nChange-Id: Iba196e64be329c376eca9f34c7b2cbcdfd569a3e\nSigned-off-by: schillinge \u003cablu@mail.uni-paderborn.de\u003e\n"
    },
    {
      "commit": "ae8ad41d0177cc5736892b76577160d46e24fa9c",
      "tree": "d8ff9f0b982832a18bcaf2bc64a8d01ba8e34577",
      "parents": [
        "b83f32159ca058e4cf8d8f9838e3daedd91ab78a"
      ],
      "author": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Wed Jan 30 21:45:37 2019 +0100"
      },
      "committer": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Sun Feb 03 21:05:44 2019 +0100"
      },
      "message": "Allow filtering of the port chain list by id\n\nChange-Id: I2d81c3836fe0b0d1ad9429922b59d42b4eab68f3\nSigned-off-by: schillinge \u003cablu@mail.uni-paderborn.de\u003e\n"
    },
    {
      "commit": "b87991a24a3071c35560333617135d433ac16b8f",
      "tree": "33f413a5fa8af01d4749cebc0e70db8c67c38d84",
      "parents": [
        "7b666c128d193fdaaa5961c6b88a1a1d27b5925f"
      ],
      "author": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Mon Dec 03 11:34:01 2018 +0100"
      },
      "committer": {
        "name": "schillinge",
        "email": "ablu@mail.uni-paderborn.de",
        "time": "Mon Dec 03 11:38:28 2018 +0100"
      },
      "message": "Return actually reachable IP as part of the Floating IP API\n\nThe Floating-IP list API is only ever queried for getting the IP assigned\nto a specific port (if vim-emu is added with the manual floating-ip\nassignment turned off). Thus, the previous solution lead to fixed IPs being\nreturned (which are not reachable).\n\nThis solution tracks the assigned container for each port in order to be\nable to return the public IP assigned by docker.\n\nThis is not perfect in the sense that multiple ports do not receive\ndifferent floating ips, but at least the containers are actually reachable\nnow.\n\nChange-Id: I233e5de35b3b7e7350faaef017711f7c1e919fff\nSigned-off-by: schillinge \u003cablu@mail.uni-paderborn.de\u003e\n"
    },
    {
      "commit": "1a8ce18a4b09ecacf30efe6d3d67a185183e5459",
      "tree": "e465960501343a8ccb935de6ee934d2e20fa7e64",
      "parents": [
        "1662236de1bcda8b2eaf8194f00bbce19fb96be4"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Aug 06 14:28:24 2018 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Aug 06 14:40:56 2018 +0200"
      },
      "message": "Fix: Made Glance-fake API more robust in\nenvironments with many registered Docker images.\n\nChange-Id: I27880b3530da088ab83a5bb5eb8d2946639d7ee0\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "1662236de1bcda8b2eaf8194f00bbce19fb96be4",
      "tree": "6d9eb721f9f131d6a2ca38847a29b09834265dcc",
      "parents": [
        "4fbbe5964bf0954b9dd7d79669d3cbc45517e4c0"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Aug 02 16:04:04 2018 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Aug 02 16:04:04 2018 +0200"
      },
      "message": "Fix: Made OS Glance fake API compatible to latest pyhton-glanceclient.\n\nThis fixes a major bug that broke the integration between OSM and vim-emu.\n\nChange-Id: I5a92417ccbf919d5e160ac5b2c66a88f3c7d6fe5\nSigned-off-by: peusterm \u003cmanuel.peuster@upb.de\u003e\n"
    },
    {
      "commit": "9679e9a33c8667d3da5fb0aa7ddb0700670b4baf",
      "tree": "6a3ddad58931142e005d3be10cbf5f8f5531f94c",
      "parents": [
        "72f09885db3935e77901c3dee132cb176b927c7b"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 16 13:10:30 2018 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 16 13:10:30 2018 +0200"
      },
      "message": "Fix: Made port deleteion more robust. Do not rely on IPs of ports only on names.\n\nBug was discovered during R4 int testing and does only appear in some border cases.\n\nChange-Id: I6e9d4ca0e131486bee3592ceb71101f5a593a357\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "72f09885db3935e77901c3dee132cb176b927c7b",
      "tree": "56e0666c4e3e5e2dbb92d4c9ee29d2625f5c21bc",
      "parents": [
        "3e16acbebd2c6669c1bbe5a7e3bb313aa1494e20"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue May 15 17:10:27 2018 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue May 15 17:45:37 2018 +0200"
      },
      "message": "Refactoring: Made complete codebase PEP8 compatible.\n\nOnly PEP8 rule E501 (line too long) is not yet reflected\nby this change.\n\nThe patch also adds automated code style checks to the\nCI test stage using flake8.\nIt will let the tests fail if there is a code style\nviolation.\n\nChange-Id: I90956dd424a46691546ef720351757d3c43451a7\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "7c16ebcfd5af529961175fb53b5788c276e5ae86",
      "tree": "cbc12d21f6eaa6e1f33550231f1cd2c8b29d0347",
      "parents": [
        "543430b2beb49403a9b9557084a15529071deb1e"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Apr 25 15:36:15 2018 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Apr 25 15:36:15 2018 +0200"
      },
      "message": "Fix: hackfest_1 deployment using OSM LB returned\nand network not found error. This fix ensures that\nsome default networks are always available for OSM.\n\nChange-Id: I0ae791d64c527ea451b406452619d04e6f3b98af\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "543430b2beb49403a9b9557084a15529071deb1e",
      "tree": "134ee6aca417e99d457dca648ffa42a7433a42e0",
      "parents": [
        "3fa5bbb6f5b436c1cdf1fde7dd64e13c63e65fb6"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Apr 24 16:52:51 2018 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Apr 24 16:52:51 2018 +0200"
      },
      "message": "Fix: Instantiate the same NS without emulator restart\n\nFixes a bug that causes the emulator to not properly clean\nits internal data structures when a NS is deleted. This could\ncause errors when a NS should be instantiated again, without\nrestarting the emulator.\n\nChange-Id: I8a0be1f28b889f2c01e7ef859acd6bdcc35b8b9d\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "ec3a23ed1a1dc21d511c49adbe1fe3d3ab8ff8c3",
      "tree": "4bf53f68f0492fbf70e3d5af156f87c028ce9ae2",
      "parents": [
        "01e585d02ef32809019618e9dd1bae45c6a32c2d"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Jan 10 11:06:05 2018 +0100"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Jan 10 12:38:38 2018 +0100"
      },
      "message": "Fix: HTTP 204 response must not contain any payload.\n\nChange-Id: Ib2fed74478233851e50f438c241b97bd949325d0\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "9219060385043e533bf719725f9e6671e98052ce",
      "tree": "c2afd7b715d19fbaa5e615df879b2e76cdaf3b0f",
      "parents": [
        "2aecf1dc375ebd54a611ecef32790a0083053fbe"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Dec 19 15:18:11 2017 +0100"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Dec 19 15:18:11 2017 +0100"
      },
      "message": "Fix: Better name-handling of Docker-based VNFs\n\nThere was the risk to run into naming conflicts when a\nlarger number of VNFs was started in the emulation platform.\nThis patch resolves these problems by using short, hash-based\nnames for the emulated VNFs.\n\nChange-Id: I958dd469e5494223fe7f1f274bc10e0714b3df90\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "4e5c81ecd37e7383c52dad55079f91b90dec22fe",
      "tree": "d5740e5ea235ace35ae09a7ff38a3a6b6e14c81f",
      "parents": [
        "396e91e0dc05304d524a41d5a6f48d75c2867974"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Nov 15 08:23:50 2017 +0100"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Nov 16 09:24:07 2017 +0100"
      },
      "message": "OpenStack API: Replaced Flask with WSGI\n\nFlask server introduced a couple of problems, e.g., pending\nsockets when an experiment was shut down.\nThis patch solves this and improves stability and performance\nof the emulated OpenStack APIs.\n\nIncreased PIP timeout in Dockerfile to make build more\nrobust in CI environment.\n\nChange-Id: I54e040c56a10075555d13fe6fb144fc117340026\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "dd559512e47df550fc8383d01bedec99cc54cff2",
      "tree": "3965ea5c3d13fc0a26a4cfa41d783efd6d8bb3bd",
      "parents": [
        "d273c509d2e2bc86b0f056bf688615f6ca864871"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Sep 21 16:29:34 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Sep 21 16:29:34 2017 +0200"
      },
      "message": "Fix/cleanup: Added missing license headers and removed unused files.\n\nChange-Id: Ibaf91b89e3b1dc13a50130bb2bd0a22afc6ec19e\nSigned-off-by: peusterm \u003cmanuel.peuster@uni-paderborn.de\u003e\n"
    },
    {
      "commit": "d7cbd218427bbfe573d062710006d56751e4406b",
      "tree": "80f1484f9b3cf050c38deef43f9bf8e12d9139a9",
      "parents": [
        "3509418dfc0daa78b3a5afe3f47fdc07acc18442"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Sep 07 08:55:14 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Sep 07 08:55:14 2017 +0200"
      },
      "message": "Fixed missing license headers\n\nSigned-off-by: Manuel Peuster \u003cmanuel@peuster.de\u003e\n"
    },
    {
      "commit": "ec2276ccc549ee080581f83e8132e814b4856567",
      "tree": "739bf2e6bea63fc55f34b1c97a28770fb5a42b13",
      "parents": [
        "0db5a38cb6d153abf58afbf6599763daa2578833"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Aug 30 10:03:51 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Aug 30 10:03:51 2017 +0200"
      },
      "message": "OS API fixes, but v3.0 auth not fully supported right now. fallback to v2.0\n"
    },
    {
      "commit": "0db5a38cb6d153abf58afbf6599763daa2578833",
      "tree": "ff4e74efa191bdafc6c14399819423599379e87a",
      "parents": [
        "c62be48ec66570a0aba61cd680a37698d1e2626a"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Aug 30 09:51:32 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Aug 30 09:51:32 2017 +0200"
      },
      "message": "Fix: OpenStack keystone API was broken for latest OS client\n"
    },
    {
      "commit": "c62be48ec66570a0aba61cd680a37698d1e2626a",
      "tree": "ed00302814f83c1f5b17f722561ab57f027426fb",
      "parents": [
        "b668d69e8e81bf4e6378daa6fb87e1e9f493aaf7"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Aug 30 09:22:37 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Aug 30 09:22:37 2017 +0200"
      },
      "message": "added helper lib\n"
    },
    {
      "commit": "b668d69e8e81bf4e6378daa6fb87e1e9f493aaf7",
      "tree": "e795ab17ed6bb7df1556fedcb1e34d12f94d880c",
      "parents": [
        "7cef04b206318f51407ae97d18f8dbbdeb2c2665"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Aug 30 09:22:15 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Aug 30 09:22:15 2017 +0200"
      },
      "message": "let OpenStack APIs work inside a container\n"
    },
    {
      "commit": "502825216d536f8f39ee997eaa9203fbd8414b7a",
      "tree": "685270cf7f8d8407144dd2d1be8e66df66b28bf5",
      "parents": [
        "832a0b8d97acd10b5a259d42db9e1bf56f1b4afd"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Jul 12 16:44:33 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Jul 12 16:44:33 2017 +0200"
      },
      "message": "Fix: Removed some very demo related hotfixes.\n"
    },
    {
      "commit": "832a0b8d97acd10b5a259d42db9e1bf56f1b4afd",
      "tree": "7b54b66d0a26e0167a76fda20f6f41b4231405e8",
      "parents": [
        "937f153f4d00ed408bbc59a736cd8f923c4eb94f"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 16:08:35 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 16:08:35 2017 +0200"
      },
      "message": "Fix: Be more robust if OS ports do not exist in the model\n"
    },
    {
      "commit": "a7161aab3b0cb321c905f69f860000bcdba43aff",
      "tree": "17211f27b41026523b76768f3eba64e5bbaa3ff6",
      "parents": [
        "99587aefe0afa6053269538dbdcf44684981b8e1"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Jun 29 15:32:20 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "Fix: Missing interfaces for son-monitor are forced to be created early in the code\n"
    },
    {
      "commit": "99587aefe0afa6053269538dbdcf44684981b8e1",
      "tree": "004555654862625724695e0584770fb4146ba14e",
      "parents": [
        "22ca76fed5440b326786c4b1f708599f4f5b084f"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Jun 29 07:38:18 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "Added flavor and image delete endpoints\n"
    },
    {
      "commit": "22ca76fed5440b326786c4b1f708599f4f5b084f",
      "tree": "e9c9aa2c1dd0263b2706b6a693c424890004dab6",
      "parents": [
        "6e354f1000b822884944ae474df28e0def77d8eb"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu Jun 29 07:10:33 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "Fix: Naming issue for NetSoft demo\n"
    },
    {
      "commit": "6e354f1000b822884944ae474df28e0def77d8eb",
      "tree": "e5327d6e15a61ad6ed6ddb5fdf33560c330c5cb5",
      "parents": [
        "8604c64592fb1775e45ad719a2530558e3877483"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jun 27 12:44:13 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "Fix: Workarround for too long interface names\n"
    },
    {
      "commit": "8604c64592fb1775e45ad719a2530558e3877483",
      "tree": "d05db744007f7780b8a3d53afb7ac0fa95a578b0",
      "parents": [
        "0611b67dc5e39b0d276848823598a13fac9cb28c"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jun 27 10:50:27 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "Fix: Glance API was not happy with empty body on POST request\n"
    },
    {
      "commit": "17e377d1f78e596c32a755aa03316517370321c2",
      "tree": "1aeea91abdd92b9a423cfa1b68a1c21d5ba97e0f",
      "parents": [
        "646b585edc20c98d97eb861834c234004d44dd7b"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 26 13:46:39 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "646b585edc20c98d97eb861834c234004d44dd7b",
      "tree": "26b6fd2f118b2efd6264295e06279235ab4812aa",
      "parents": [
        "d5c82188ee752265fc6271430f8dbb4dde242b29"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 26 09:59:12 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "Fix: Name shortening. Still an ugly fix but ok for now.\n"
    },
    {
      "commit": "d5c82188ee752265fc6271430f8dbb4dde242b29",
      "tree": "ab9e6f81273a55669b23e98a9c6f53ad5d89d853",
      "parents": [
        "3f2f5653a81e404c68df5cc6807ba7e82a061361"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 26 09:32:06 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "Fix: Update stack.template on PATCH / PUT call\n"
    },
    {
      "commit": "3f2f5653a81e404c68df5cc6807ba7e82a061361",
      "tree": "8e783481bb08a071dbfefe99907199b70be5bd72",
      "parents": [
        "21b311f35adb37dc67ff557b4ebf2285e559cb24"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Fri Jun 23 15:00:21 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Jul 11 14:18:02 2017 +0200"
      },
      "message": "Fixed: OpenStack API now supports very long instance names\n"
    },
    {
      "commit": "7b38ee1ed94ec3e9124e8e5b9c21cf224d39edc3",
      "tree": "aa5a7c8174b59dbe0e802f0eebbdad36f715d96b",
      "parents": [
        "4e37abbc1a06ffa40ed11c7c6a16c1fe95403161"
      ],
      "author": {
        "name": "splietker",
        "email": "malte.splietker@uni-paderborn.de",
        "time": "Wed Jun 28 17:24:01 2017 +0200"
      },
      "committer": {
        "name": "splietker",
        "email": "malte.splietker@uni-paderborn.de",
        "time": "Wed Jun 28 17:24:01 2017 +0200"
      },
      "message": "Implemented Openstack Neutron SFC API\n\nSigned-off-by: Malte Splietker \u003cmalte.splietker@gmail.com\u003e\n"
    },
    {
      "commit": "eb398a207a6f0f74505597c0ecfbf4145e7787f3",
      "tree": "a45a059c0fa7104f1b56507ad524acc127620e1f",
      "parents": [
        "bbf4f74c2a98ceb8ccfaf094555ba370946ffeba"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 12:01:13 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 12:01:13 2017 +0200"
      },
      "message": "Added resource groups to HEAT parser\n"
    },
    {
      "commit": "bbf4f74c2a98ceb8ccfaf094555ba370946ffeba",
      "tree": "49cc49a92e11293b42030059789902f8daa1c32c",
      "parents": [
        "077e16f6cee5b396b28edb69bca293a71d31f0a8"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 11:22:11 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 11:22:11 2017 +0200"
      },
      "message": "Improved OpenStack API logging\n"
    },
    {
      "commit": "077e16f6cee5b396b28edb69bca293a71d31f0a8",
      "tree": "57a0cf9f28d5925b0b2e4163368625adee92dd04",
      "parents": [
        "8bac1beabd66a7969b2eaa8560416a33f271eebf"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 11:05:04 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 11:05:04 2017 +0200"
      },
      "message": "Added HEAT GET /resources endpoint (returns empty list for now)\n"
    },
    {
      "commit": "8bac1beabd66a7969b2eaa8560416a33f271eebf",
      "tree": "8c935e24b9db23a918d677e8ee00ea9af8d49f7c",
      "parents": [
        "2d3a45753d47a692e971da299c2139336bb27518"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 10:27:44 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 10:27:44 2017 +0200"
      },
      "message": "OpenStack HEAT API: Added GET /template endpoint\n"
    },
    {
      "commit": "2d3a45753d47a692e971da299c2139336bb27518",
      "tree": "a6755439a034c405ccec4243e35946801f457993",
      "parents": [
        "4773826feb6f63ff27a3590b9f6cf1cb6a413b06"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 09:35:38 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Mon Jun 19 09:35:38 2017 +0200"
      },
      "message": "Fix: Made Glance API compatible to SONATA IA\n"
    },
    {
      "commit": "4773826feb6f63ff27a3590b9f6cf1cb6a413b06",
      "tree": "57def63456ff53ec23d275d4d724f01042875e67",
      "parents": [
        "5b428742f78d79c2c465957b01d911a3513c3d30"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Fri Jun 16 10:59:49 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Fri Jun 16 10:59:49 2017 +0200"
      },
      "message": "Added \u0027/limits\u0027 endpoint to Nova API\n"
    },
    {
      "commit": "5b428742f78d79c2c465957b01d911a3513c3d30",
      "tree": "6c070c2c163780497172f70bf6c2a6ac8c22e84b",
      "parents": [
        "7ab1dbea63ec8dd2e19e1ef9e303a829a209a34f"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Fri Jun 16 10:08:11 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Fri Jun 16 10:08:11 2017 +0200"
      },
      "message": "Refactored logging\n"
    },
    {
      "commit": "7ab1dbea63ec8dd2e19e1ef9e303a829a209a34f",
      "tree": "84e43814dc58d1d2fc5f9b0ad9888340a5889685",
      "parents": [
        "569836b037b36326272570ee54e19536791d8a07"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Jun 14 14:56:37 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Jun 14 14:56:37 2017 +0200"
      },
      "message": "More verbose HEAT parser outputs\n"
    },
    {
      "commit": "569836b037b36326272570ee54e19536791d8a07",
      "tree": "4b1b0e9901326c317b42670eed7c777e1a373c3d",
      "parents": [
        "6dcec5542d668c188ffcf491a8abaac4c5735040"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Jun 14 10:31:02 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed Jun 14 10:31:02 2017 +0200"
      },
      "message": "Added Keystone v3 token endpoint\n"
    },
    {
      "commit": "ae58801332baaa66ea71c9e233e23f0f68a0afe2",
      "tree": "ed3127ce83eb8275133fc9fb2ba5db588391ceee",
      "parents": [
        "afccf2a6a1a99bf691b7d64360ef78ab1690fca5"
      ],
      "author": {
        "name": "stevenvanrossem",
        "email": "steven.vanrossem@intec.ugent.be",
        "time": "Tue Jun 06 10:33:19 2017 +0200"
      },
      "committer": {
        "name": "stevenvanrossem",
        "email": "steven.vanrossem@intec.ugent.be",
        "time": "Tue Jun 06 10:33:19 2017 +0200"
      },
      "message": "cleanup networking api, rest and cli and unittest\n"
    },
    {
      "commit": "f4ac4f2dcb58ecfd59b4c13e31bf024bf60d1da4",
      "tree": "a2289d2a5e3406fb7bf1d894e6977d43438be7ad",
      "parents": [
        "861bad759d9520b5f97be4d3c8dbb91eea86a964"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu May 18 15:51:57 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu May 18 15:51:57 2017 +0200"
      },
      "message": "Fix: Removed problem with race conditions in OpenStack dummy API tests\n"
    },
    {
      "commit": "e22979a58ea5ae049186cd14113fa78eab3c5860",
      "tree": "0707b2efab093c2d9995c60fc364dcfeb788955f",
      "parents": [
        "a044ef5d6d10bce6ef4f6f1b5624e9efa2febddd"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu May 18 13:28:38 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Thu May 18 13:28:38 2017 +0200"
      },
      "message": "Removed properitary monitoring (used for student demo). Only keep OpenStack fakes.\n"
    },
    {
      "commit": "f88a31dacf0bfa8dba7357d866c3e5bdece8c05c",
      "tree": "35778f0f7ce53e9572bc926bcefee00fb5b6cf33",
      "parents": [
        "09a24fad4acbc380f2743f0ede596285e7647355"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 17 11:01:09 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 17 11:01:09 2017 +0200"
      },
      "message": "Fix: Made API shutdown more robust\n"
    },
    {
      "commit": "e46ab6034c9804fa4a95600627e7622eff1b002c",
      "tree": "4b72f0f5c257ce785fc278417dffbbbee8b5c29b",
      "parents": [
        "92a37cd072a82cc8bfc32f04d7b4eedb39a57192"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 17 10:08:50 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 17 10:08:50 2017 +0200"
      },
      "message": "Fix: Last fixes for OpenStack API imports after renaming\n"
    },
    {
      "commit": "92a37cd072a82cc8bfc32f04d7b4eedb39a57192",
      "tree": "e3f386e1ad6dd3c9ed901028c46f6363f5c3c720",
      "parents": [
        "f27a592f03ff6ca772195ecf71f64da3fb251b48"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 17 09:51:05 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 17 09:51:05 2017 +0200"
      },
      "message": "Fix: Nova, Heat APIs now rely on latest son-emu master code to handle links\n"
    },
    {
      "commit": "00199782de7042b51927bbbac5540d6f671597bb",
      "tree": "0cf96acf3a149b686f193a7d3ca1b1eafae26a2e",
      "parents": [
        "0d8066654408ea1994d599c12c61b13709055a2d"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 17 08:48:12 2017 +0200"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Wed May 17 08:48:12 2017 +0200"
      },
      "message": "Manually added OpenStack  API code\n"
    },
    {
      "commit": "e3e034e3124ea755e924dc667fd1232323cff70c",
      "tree": "b135b233a25a4e5e92a973027c9a9da67513179a",
      "parents": [
        "241e3e951c4871d956c29887ab101adce4817363"
      ],
      "author": {
        "name": "stevenvanrossem",
        "email": "steven.vanrossem@intec.ugent.be",
        "time": "Wed May 11 23:51:06 2016 +0200"
      },
      "committer": {
        "name": "stevenvanrossem",
        "email": "steven.vanrossem@intec.ugent.be",
        "time": "Wed May 11 23:51:06 2016 +0200"
      },
      "message": "merge master and fix SDN chaining unit test\n"
    },
    {
      "commit": "53337bc9b5cd5b6c613453b04c4f9cd703a61344",
      "tree": "5b1d2af41ab2793311c4d17aff06a6a1ca8b0faa",
      "parents": [
        "ba84f56edf7a7050dceacfbc10b7759dd92f4005"
      ],
      "author": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Mar 08 10:11:48 2016 +0100"
      },
      "committer": {
        "name": "peusterm",
        "email": "manuel.peuster@uni-paderborn.de",
        "time": "Tue Mar 08 10:11:48 2016 +0100"
      },
      "message": "Re-structured API modules. Now prepared to have different kinds of cloud APIs. Added empty module for SONATA fake gatekeeper for y1 demo.\n"
    }
  ]
}
