)]}'
{
  "log": [
    {
      "commit": "1ee604398d81ec9863915b0700ed881c0cbdd078",
      "tree": "183db280c0a7f39d4093bfbd328ae5086a9b5089",
      "parents": [
        "319c26fb8f4e6516556778df2db57fc572cee0a2"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Fri Apr 26 12:26:01 2019 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Fri Apr 26 12:27:44 2019 +0000"
      },
      "message": "bug 684: database order of interfaces are lost\n\nChange-Id: Iad5d027ef77d7be5d48045150b81c6560694e602\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "3c44e7b19cf724506ac5a5ed5935916d96a7f2df",
      "tree": "8446c4c033f51382f5f0d9a8454dbc4e7e0cf7dc",
      "parents": [
        "e99ec1eb7b422f813a96f100b6ca1e6c3c616a8a"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Mar 04 17:32:01 2019 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Apr 15 08:18:14 2019 +0100"
      },
      "message": "Add related vim_wim_tasks (tasks that deals with same vim/wim element\nRemove state of vim_threads, working with database instead of memory\nAllow several vim_threads over the same vim tasks\n\nChange-Id: I5825b69309b8d3e6146798747b002108a34fa2aa\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "4a1659a961e78a1bbf50f1702acec3a3c87af7db",
      "tree": "d4a668ffa97cadaca3957dac99ace0bb350f3cd9",
      "parents": [
        "e34499153daa782b8af94c0a21f95b1f43a1ee71"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Mar 21 09:55:44 2019 +0100"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Mar 21 09:55:44 2019 +0100"
      },
      "message": "Fixed some typos\n\nChange-Id: I6e98001c2fc94d4efd5d2b3be0b401a3c7a862fb\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "dfed511cd627748046d90894f8600331413b1cd3",
      "tree": "1009fc7740d373f84ac8829ed598fc6a8bea51de",
      "parents": [
        "220e83e2c083b34ee77bc6cc7145027183ae9d00"
      ],
      "author": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Fri Feb 08 01:44:14 2019 +0000"
      },
      "committer": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Sun Feb 10 19:10:30 2019 +0000"
      },
      "message": "Improve race conditions/MySQL reconnection\n\nThis commit aims to provide a better synchronization between all the\ndifferent threads in RO, specially regarding DB usage and internal state\nconsistency.\n\nThe following improvements were done:\n\n1. Centralize database retry logic into a single function\n\n  This way we can change the procedure and the rules for retrying in a\n  single place and this reflects in several functions simultaneously\n  avoiding the need for manual copy and paste (and the potential risk of\n  forgetting to change somewhere)\n\n2. Minor fixes/improvements related to database connection loss.\n\n  Previously `db_base` was already able to identify when the connection\n  to MySQL was lost, but apparently in a few edge cases the automatic\n  reconnection was not done.\n\n3. Implement a transaction method\n\n  This method replaces the old context manager API for the connection\n  object that was removed from MySQLdb in version 1.4\n\n  In additional it is possible to use a decorator for transactions\n  (not only the context manager), which is handy sometimes.\n\n4. Add lock mechanism directly to db_base\n\n  This helps to improve synchronization between threads.\n  Some extra synchronization was introduced to functions, as it seemed\n  to be the case.\n  Moreover, previously, the cursor object was part of the internal state\n  of the db_base object, and it was being changed/used without thread\n  synchronization (error-prone). Having the locking mechanism around the\n  changes in the cursor property of the class, avoids problems.\n\n5. Add option to fork connection\n\n  Useful when independent threading is needed (as long as different\n  threads don\u0027t access the same database table, having separated\n  connections and locks should work fine).\n\nChange-Id: I3ab34df5e8c2857d96ed14a70e7f65bd0b5189a0\nSigned-off-by: Anderson Bravalheri \u003ca.bravalheri@bristol.ac.uk\u003e\n"
    },
    {
      "commit": "0ea9b0f0cbd4c5567289c4c80c73de94901d7047",
      "tree": "59abd34c4a5ec1829960c289860c18224a2218ed",
      "parents": [
        "d0597e0798d118f3e7722d634d168167dbb08b4b"
      ],
      "author": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Fri Feb 01 10:56:55 2019 +0000"
      },
      "committer": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Fri Feb 01 11:00:22 2019 +0000"
      },
      "message": "Fix wrong usage of `isinstance`\n\nSecond parameter should be a class, not string\n\nChange-Id: I6401429d7cc314502a364b7fc81e73d30175b193\nSigned-off-by: Anderson Bravalheri \u003ca.bravalheri@bristol.ac.uk\u003e\n"
    },
    {
      "commit": "a3ebc3637f8b1a2b7e4f6dc8ce5a33fefcc2b9eb",
      "tree": "aee1c669cabf122f8e25108935b160bc17349fef",
      "parents": [
        "aba7a0d268ae8658f0bee6659ba0e702e084d7bc"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Wed Dec 05 16:23:38 2018 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Dec 10 09:48:23 2018 +0000"
      },
      "message": "Bug 611 Fix unicode parsing at database\n\nChange-Id: I08ea1f463cabf776343d58d48fdff9066c483a89\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "c5293def02d95ed4ee086dd8842437b76ec05c4e",
      "tree": "3fd396ff7db3013fd1d78be6d662be10a6bea0a3",
      "parents": [
        "0446cd5df24c38f95cea13b995c553e9b2403f21",
        "7fe82640f590cc66a9b11adf0d25abceedf892de"
      ],
      "author": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Wed Nov 28 17:21:26 2018 +0000"
      },
      "committer": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Wed Nov 28 17:21:26 2018 +0000"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into gerrit-submission\n\nSync with master branch\n\nChange-Id: Ic26d043a84f50f48eeebffb512ccea2eedc053a4\nSigned-off-by: Anderson Bravalheri \u003ca.bravalheri@bristol.ac.uk\u003e\n"
    },
    {
      "commit": "0446cd5df24c38f95cea13b995c553e9b2403f21",
      "tree": "c44cdd6e13913129dee35afff428e01c8dcd2d8b",
      "parents": [
        "63056c57eea17465ada68bcc076a0159d9c5f93f"
      ],
      "author": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Fri Aug 17 15:26:19 2018 +0100"
      },
      "committer": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Fri Nov 16 10:57:14 2018 +0000"
      },
      "message": "Implement feature 5949\n\nEnable dynamic connectivity setup in multi-site Network Services\n\nThe code required to implement the feature is contained in `osm_ro/wim`\nas much as possible.\n\n* `wim/engine.py` works together with `nfvo.py` to implement the\n  feature\n* `wim/persistence.py` is equivalent to `nfvo_db.py` and try to\n  encapsulate most of the SQL-specific code, implementing a persistence\n  layer\n* `wim/http_handler.py` extends `httpserver.py` adding WIM-related HTTP\n  routes\n* `wim/wim_thread.py` is similar to `vim_thread.py` and controls the\n  execution of WIM-related tasks\n* `wim/actions.py` and `wim/wan_link_actions.py` implement the action\n  handling specific code, calling instances of the `wim/wimconn.py`\n  subclasses\n\nWIM connectors are still a work in progress\n\nIndividual change details (newer to older)\n\n- Add errors for inconsistent state\n\n- Delay re-scheduled tasks\n\n- Move lock to inside the persistence object\n\n- Better errors for connector failures\n\n- Try to cache the wan_link information before it is deleted from the database\n\n- Integrate WanLinkDelete to NFVO\n\n- Add WanLinkDelete implementation draft with some tests\n\n- Add basic wim network creation\n\n- Add minimal documentation for actions\n\n- Add checks to the create action\n\n- Improve documentation, rearrange insert_pending and remove unused functions on WimThread\n\n- Integrate Action classes in refresh_tasks\n\n- Add Action classes to avoid intricate conditions\n\n- Adding Proposed License\n\n- Move grouping of actions to persistence\n\n- Change WimThread to use SQL to do the heavy lifting\n\n- Simplify WimThread reload_actions\n\n- Add tests for derive_wan_links\n\n- Implement find_common_wim(s)\n\n- Add tests for create_wim_account\n\n- Add migration scripts for version 33\n\n- Changes to WIM and VIM threads for vim_wim_actions\n\n- Implement wim_account management according to the discussion\n\n- Add WimHandler integration inside httpserver\n\n- Add quick instructions to run the tests\n\n- Add WIM functional tests using real database\n\n- Add DB WIM port mapping\n\n- RO WIM-related console scripts\n\n- Add WIM integration to NFVO\n\n- Improve database support focusing on tests\n\n- RO NBI WIM-related commands in HTTP server\n\n- Adding WIM tables to MANO DB\n\n- Add wim http handler initial implementation\n\n- Move http utility functions to separated files\n\n    This separation allows the code to be reused more easily and avoids\n    circular dependencies.\n\n    (The httpserver can import other modules implementing http routes,\n    and those modules can then use the utility functions without having\n    to import back httpserver)\n\n- Add a HTTP handler class and custom route decorator\n\n    These tools can be used to create independent groups of bottle\n    routes/callbacks in a OOP fashion\n\n- Extract http error codes and related logic to separated file\n\nChange-Id: Icd5fc9fa345852b8cf571e48f427dc10bdbd24c5\nSigned-off-by: Anderson Bravalheri \u003ca.bravalheri@bristol.ac.uk\u003e\n"
    },
    {
      "commit": "920210266c12f772ec1efe3d9494b0b6b10ac172",
      "tree": "85530e913274d558f80934b257813d073e031767",
      "parents": [
        "1f7d9d8e4e87be8c104fb93f133c2e68880a77c8"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Wed Sep 12 16:29:23 2018 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Oct 01 16:15:06 2018 +0200"
      },
      "message": "Change dockerfile-local to install osm-im, lib-osm-openvim and RO from source instead of making\n\nChange-Id: I03af69a2f798ed5b0645c2d3eac4ac48b15805a2\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "fc5f80b75e9b9d79a27df62638e03154ca00a767",
      "tree": "ce075105f91351f82fb8cfa4733b9123e9e07d0a",
      "parents": [
        "a8e5b7847d8731b96623f742e62dbb6016d42bff"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue May 29 16:00:43 2018 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Thu Jul 19 14:34:17 2018 +0200"
      },
      "message": "vdu scaling\n\nChange-Id: I93269b77d5be6cbd8fe635239465381dc874c9a5\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "cec213a7e459fa550beb5220b044d86b210d251f",
      "tree": "2f71e2630c7ea2106b3d20e655db05edc0f1b4ab",
      "parents": [
        "b42fd9bdcea865bd3c6d4a546a6f294ff69e1ef4"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Wed Jun 27 16:06:17 2018 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Wed Jun 27 16:08:29 2018 +0200"
      },
      "message": "Fixed VNF deletion NotFound reporting\n\nChange-Id: I7de95f5123421103df96ca23ae2b155c7cb32de8\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "16e3dd4ed7547fe4a4273c53a6deb23c00fdbfb3",
      "tree": "194e3b8ccf59d880303e8c4707eec913f3c03915",
      "parents": [
        "fda3b8c9084db17a03feba4e989ce43124e261e1"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Apr 24 12:52:40 2018 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Wed Apr 25 12:16:53 2018 +0200"
      },
      "message": "Feature 5649 Alternative images for VIM specific\n\nChange-Id: I4780afb862fc2d8b9625aa771c0bd8d7aefefef6\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "3fcfdb7674436861d6ab0740972573293b9a355f",
      "tree": "e41170e1a48c11320501db67f03c07d5e8ed5c96",
      "parents": [
        "5fd09ae8b82f73266da2d103ff6f3c88afb1cc9c"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Oct 24 07:48:24 2017 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Nov 14 13:42:13 2017 +0100"
      },
      "message": "Avoid database growth by cleaning old vim_actions\n\nChange-Id: Ib3ad233c1a85e72fe24229282b59a88bc536c692\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "c62cfa5ac6f96c10a3efe14ee286755f4d25be54",
      "tree": "641dd1a08d55e73c42b29f32d82af1e48e1678c0",
      "parents": [
        "137b0d9e53007e4c6903493036c113d124b12b21"
      ],
      "author": {
        "name": "gcalvino",
        "email": "guillermo.calvinosanchez@altran.com",
        "time": "Thu Oct 05 18:21:25 2017 +0200"
      },
      "committer": {
        "name": "gcalvino",
        "email": "guillermo.calvinosanchez@altran.com",
        "time": "Mon Oct 09 16:01:25 2017 +0200"
      },
      "message": "Fix bug 350 - Sensitive information recorded in openmano.log\n\nChange-Id: I36c03de50d9f328beedde41d7f7c0698df053b72\nSigned-off-by: gcalvino \u003cguillermo.calvinosanchez@altran.com\u003e\n"
    },
    {
      "commit": "868220c566cfd302a38f9a45a75f4dbd4ebbf395",
      "tree": "4632ae4411d9d412f2e77575617748b76c30fb66",
      "parents": [
        "3a27977838f8da5f4ddbe061dc7ca95cf87a9a7b"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Sep 26 00:11:05 2017 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Thu Sep 28 23:37:46 2017 +0200"
      },
      "message": "Feature 1413 resiliency to single component failure\nFeature 645 concurrent access to VIMs\nFeature 629 horizontal_scale_out_of_VDUs\n\nChange-Id: I2a832708e2bf3e4669bbfa999aad869bb15e65b1\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "8e690329e2c9e8bcbb7d3501037e3de1fbb7b942",
      "tree": "84f24384b7c17446b1737786d2747df7c9b733bd",
      "parents": [
        "5acb1e4b9948d1ac6fc9b1e42d8544fa4d08a9f1"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Thu Aug 10 15:58:50 2017 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Aug 29 14:07:11 2017 +0200"
      },
      "message": "(bug 329) fix RO VDU count. Enhance nfvo.py:create_instance\n\nChange-Id: I588268281fd6fd85d963db3fdcc5b39e809bc5f0\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "05a8b7bc29197345f9718796c110d6cf3c2ad176",
      "tree": "6784fd8bc799d2f1374c2d79039dc4f5a3de8160",
      "parents": [
        "ae3fa6137b603b4d6b44e8c7897427a7e535b2a7",
        "4b6216b9d00195bf2e3772bb9278faf18ee9fd46"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Thu Apr 20 18:56:07 2017 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Thu Apr 20 18:57:01 2017 +0200"
      },
      "message": "Merge branch \u0027packaging\u0027\n\nChange-Id: I58a236852dab90f025d8300bbbf508d368d799c0\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "2c290ca4088492a3c32bb6ab218d0004da68f6ea",
      "tree": "4c058ff7195b5ab2661429b8c5679fb28c08f063",
      "parents": [
        "06e6c396413630640cafae3488442a0869f1642d"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Apr 06 03:12:51 2017 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Apr 06 03:13:10 2017 +0200"
      },
      "message": "Restructuring code in osm_ro folder, and setup based on MANIFEST\nAlso updated Makefile and service-openmano.sh\n\nChange-Id: I60cf49013315efafd73de377452e38faf2f2f1e0\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "2a1fc4e770c0688ac1fcb41e1c62bf36a2719d28",
      "tree": "46e1b9f6200ae5e0b4e45ccdbcaa0ada7eeedd44",
      "parents": [
        "ed746039f90fa3a6742e31b267c301aa19ac7e8b"
      ],
      "author": {
        "name": "montesmoreno",
        "email": "pablo.montesmoreno@telefonica.com",
        "time": "Mon Jan 09 16:46:04 2017 +0000"
      },
      "committer": {
        "name": "montesmoreno",
        "email": "pablo.montesmoreno@telefonica.com",
        "time": "Wed Jan 11 10:59:50 2017 +0000"
      },
      "message": "Implemented option to disable port-security for openstack. Implemented option to specify floating_ip in openstack. Solved 2 bugs in floating_ip implementation for Openstack\n\nChange-Id: I1d6463f9743924dacd93d522f625ecef34b0decf\nSigned-off-by: montesmoreno \u003cpablo.montesmoreno@telefonica.com\u003e\n"
    },
    {
      "commit": "44528e4eea92eb8f3f929ffda6cebfe8903241d9",
      "tree": "1053bf16c6a147092e660ef08602e24a2e3a6b78",
      "parents": [
        "d55a4582879f1ae320f4be79fb87e1828549402a"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Oct 11 12:06:25 2016 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Oct 11 12:06:25 2016 +0000"
      },
      "message": "minor changes at database connection exception management. Change openmanoconfig.sh to openmanoconfig.py to retrieve configuration\n\nChange-Id: I4dbff4e3b5e21ff362f1487a63a213852ed18f78\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "b13f3ccc55a71878d8e7c501be9269d84fc85ace",
      "tree": "f571d4d606caed4f0704dd3f6e0c1bfd1e6f7a73",
      "parents": [
        "8e995ced65fe608f254318c496c769a4f3852466"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Sep 26 10:14:44 2016 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Sep 26 10:14:44 2016 +0200"
      },
      "message": "v0.4.56 fixed some logging bugs\n\nChange-Id: I517070e781e2500b62e3394dbfbd8db8b2f3b47d\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "f97fd27f5902c7be87d888c095ffb0acc156e126",
      "tree": "9e7dc028bfb1f3e5016e2fa0c6b13113da7d74c6",
      "parents": [
        "6032cb9057499dccab5e7c4f668d962457dd1d34"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Jul 11 14:32:37 2016 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Jul 11 14:32:37 2016 +0200"
      },
      "message": "v0.4.41 logging added. Split database into a base class db_base with general methods and nfvo_db with openmano specific methods\n\nChange-Id: Iad677a18e96692b3eab28e73c2fc5cd36a13ae1f\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    }
  ]
}
