)]}'
{
  "log": [
    {
      "commit": "06abc096e277e5b0b3321dcd81e7782459960a97",
      "tree": "95fa87d0dfc4b13a89b038caf79b8d7a9129a60f",
      "parents": [
        "fa35a72885d442bbebd5e1da4804953692121117"
      ],
      "author": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Thu May 30 15:55:55 2019 +0100"
      },
      "committer": {
        "name": "Anderson Bravalheri",
        "email": "a.bravalheri@bristol.ac.uk",
        "time": "Mon Jun 03 18:28:34 2019 +0100"
      },
      "message": "Add \"additionalProperties\" support to remove_extra_items in utils\n\nChange-Id: Ia3d48796f0d6b9b5dfd7d5838df0863846778944\nSigned-off-by: Anderson Bravalheri \u003ca.bravalheri@bristol.ac.uk\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": "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": "7fe82640f590cc66a9b11adf0d25abceedf892de",
      "tree": "4c150b67e0c28061b3f8ec803516410f3c2c46af",
      "parents": [],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Nov 26 14:14:51 2018 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Nov 26 14:14:54 2018 +0000"
      },
      "message": "Allow instance of only networks without scenario\n\nChange-Id: I442fba52604a3211d2f07a04fff39ce5d3320325\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\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": "27f6d5267ec2ffebfbd0ec872bdbe2b061f59ef5",
      "tree": "837b35535e6024989642ada6fd8c452430854582",
      "parents": [
        "b8569aa8595fef5fadd0acc94d7949cf10b77a14"
      ],
      "author": {
        "name": "kasar",
        "email": "pkasar@vmware.com",
        "time": "Fri Aug 17 05:24:30 2018 -0700"
      },
      "committer": {
        "name": "kasar",
        "email": "pkasar@vmware.com",
        "time": "Tue Aug 28 02:14:01 2018 -0700"
      },
      "message": "Added new unit tests for vCD connector\n\nChange-Id: Idaa74d92e70c8ddc4df6e970df086fbe691501f6\nSigned-off-by: kasar \u003cpkasar@vmware.com\u003e\n"
    },
    {
      "commit": "59760e72c3e3e19fd262dcae05ff08663c7fbac8",
      "tree": "e259f6793b4dfe3daaa433542baa0065d8e0db56",
      "parents": [
        "1c848c01d41949c0498a342c38327b8e9dae03bd"
      ],
      "author": {
        "name": "kasar",
        "email": "pkasar@vmware.com",
        "time": "Thu May 24 01:51:18 2018 -0700"
      },
      "committer": {
        "name": "kasar",
        "email": "pkasar@vmware.com",
        "time": "Mon May 28 04:22:58 2018 -0700"
      },
      "message": "Modified vcd unit tests as per latest pyvcloud changes\n\nChange-Id: Id3d39169948bbc6c5933d5955cef02cf3cd5b177\nSigned-off-by: kasar \u003cpkasar@vmware.com\u003e\n"
    },
    {
      "commit": "c30a04ecfb1b64d931b9523fcbd8445be442e376",
      "tree": "1f62d067031272dacd3137ae6142759c9175ddf4",
      "parents": [
        "ae3b28df67aa29254eeeba87fc82472bd49d9173"
      ],
      "author": {
        "name": "kasar",
        "email": "pkasar@vmware.com",
        "time": "Thu Aug 24 05:58:18 2017 -0700"
      },
      "committer": {
        "name": "kasar",
        "email": "pkasar@vmware.com",
        "time": "Wed Nov 29 01:17:25 2017 -0800"
      },
      "message": "unit test for vmware connector using mock\n\nChange-Id: I06017e689eaf259ea2756ee8de29a5ad9b170c8f\nSigned-off-by: kasar \u003cpkasar@vmware.com\u003e\n"
    }
  ]
}
