)]}'
{
  "log": [
    {
      "commit": "c92d107dc36ff962602a6a4781eefbf25d875db6",
      "tree": "6f14aa912094e56a2d787c7bea60068545ce15bb",
      "parents": [
        "926614644463b9b330936a39d6f3f8af88f141ca"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Jun 07 16:21:49 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Jun 07 16:21:49 2019 -0400"
      },
      "message": "VOL-1687 : Fix wrong in-memory node assignments\n\n- Fixed nil pointer with createProxy\n- Changed watch loop to avoid re-starting when rev changes\n\nChange-Id: Ie821788f2422d7a2083398c65b9632c65fae001d\n"
    },
    {
      "commit": "a8cf8334a922a7a7a9339bf5af165a6f7184e526",
      "tree": "888b99d670d1e8aeefeca35fabb89f83d5f4b0f7",
      "parents": [
        "3d3b8c2f6431cf86d6da064db19c295a3e3b6fc1"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri May 24 11:10:28 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri May 24 11:10:28 2019 -0400"
      },
      "message": "VOL-1677 : Fixed callback issue\n\nChange-Id: I72de46f1ed40fd97aafefdba2b3de34303f9946c\n"
    },
    {
      "commit": "802aca48623560437ec03b52c7b7c73f37ff965a",
      "tree": "5504fdf503f99949e64bcfe1431a231c5e76828f",
      "parents": [
        "5a4a21234a6e9d3b66c9738bc7f5e18772a55859"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue May 21 12:19:28 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue May 21 15:01:49 2019 -0400"
      },
      "message": "VOL-1616 / VOL-1611 : Fix device state issue and memory discrepencies\n\n- Applied mutex on node object to resolve in-memory data conflicts\n- Introduced a refresh period for in-memory data\n\nAmendments:\n\n- Fixed node.go file format\n- Bumped VERSION to 2.1.0-dev\n- Use a RLock for GetLastUpdate\n\nChange-Id: I57e88fe3ec5cceed0d4fcdb240ae9191b49ebe33\n"
    },
    {
      "commit": "d3e0f006380630b2002460f0281248c34b547964",
      "tree": "756aeba3b4b90515f53875c5a3a010624833e8f4",
      "parents": [
        "7512fc898c89494edeb4d3b7ee24ff9588ca4b87"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed May 08 12:36:25 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed May 08 12:36:25 2019 -0400"
      },
      "message": "VOL-1584: Removed extra SetProxy statement\n\n- SetProxy was not always matching the device type\n\nChange-Id: I795c2d11b3644f85f8af737c47b2505eaf303716\n"
    },
    {
      "commit": "7512fc898c89494edeb4d3b7ee24ff9588ca4b87",
      "tree": "4822536d5f50c26834f669af39106dbe258d4a1a",
      "parents": [
        "259a6f7ad2e0953a4a7c3de671a10cf4adaeedce"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue May 07 12:25:46 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue May 07 14:20:11 2019 -0400"
      },
      "message": "VOL-1584: Fix for multi-core cli infinite loop\n\n- Reduced number of calls to kv\n- Re-introduced cache logic for in-memory data access\n- Misc log updates\n\nAmendments:\n\n- Ensure that we clone the returned cache data\n- Give priority to cache but use alternate get methods otherwise\n\nChange-Id: I56ce67f22d9945b7a194f4c6aab0c7fd75dd2f2e\n"
    },
    {
      "commit": "0ab4cb2bfea71765610ef8f0051c8d7b231ad08f",
      "tree": "673cb56dbeb13f026c43fe636a98db3ae1cc9059",
      "parents": [
        "2c6a099da75a0cf428ef57e5e67057e09a4e2625"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Wed Apr 24 13:13:35 2019 -0400"
      },
      "committer": {
        "name": "David K. Bainbridge",
        "email": "dbainbri@ciena.com",
        "time": "Tue Apr 30 11:47:21 2019 -0700"
      },
      "message": "VOL-1577 - General cleanup (gofmt, go vet, go test, dep check)\n\nChange-Id: I536b2746b8bd266f3e75aeccc65bfe7468f1b44a\n"
    },
    {
      "commit": "40fd3b2ebed11a85581b2f34f74c74e54cfc306a",
      "tree": "e70b73b2561d074b549945d8e705461f40ae60ec",
      "parents": [
        "142516e3824069a87b34b9255df09f4569213953"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Apr 23 21:50:47 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Apr 23 21:50:47 2019 -0400"
      },
      "message": "VOL-1497 : Further improved data synchronization between cores\n\n- Introduced locking when modifying branches\n- Introduced locking when modifying rev children\n- Rewrote persistence loading logic to avoid unecessary changes\n- Access controlled CreateProxy to ensure a proxy is not created\n  against an incomplete device entry\n- Removed locking logic from etcd client\n- Replaced revision merging logic with persistence loading\n\nVOL-1544 : Cleanup revisions to improve overall performance\n\n- Ensure that old revisions are discarded\n- Ensure that children do not contain discarded revisions\n- Disabled cache logic for now\n\nChange-Id: I1b952c82aba379fce64a47a71b5309a6f28fb5ff\n"
    },
    {
      "commit": "f7fc1788f86c11b2cd678853a965db52795a1344",
      "tree": "05b4306815fd2a601fd05c3e975e9e7bb72c32d5",
      "parents": [
        "1ce37ad5ed1e75e11a2546fcb325529f435dd211"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Mar 28 22:33:41 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Mar 28 22:41:01 2019 -0400"
      },
      "message": "VOL-1543 : Fix to properly delete a device from storage\n\nChange-Id: I52d37d947ee6aaf4108fb8252951a123a2829d0c\n"
    },
    {
      "commit": "c53a275af72ecd9733d2d1527a3d5d9e7d2ae073",
      "tree": "064e52ad804719fa830088f12cd8900d8edb8d74",
      "parents": [
        "a26e072eaf533d297d5c306de0067f36b36a1b1d"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Mar 08 17:50:10 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Mar 08 17:50:10 2019 -0500"
      },
      "message": "VOL-1509 : Partial fix for merging issue\n\n- Changed channel map in etcd to a sync.Map\n- Changed graph boundaryPorts to sync.Map\n- Added logic to check if proxy access is currently reserved\n- Changed watch logic to exit when proxy access in progress\n- Fixed UpdateAllChildren method\n- Commented out the Drop operation again in node.go\n\nChange-Id: I8a61798e907be0ff6b0785dcc70721708308611d\n"
    },
    {
      "commit": "260a563f8dc9823c55b6e96b2a9d410073029534",
      "tree": "08f3f1733f8f48526835e9b36394408f5d06ca38",
      "parents": [
        "0105a1f0206deaba5331eeef7bfa8c6308111017"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Feb 26 16:12:49 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 27 11:28:19 2019 -0500"
      },
      "message": "VOL-1497 : Add more control to kv/memory access\n\n- Added kv locking mechanism (etcd only)\n- (watch) control path access whenever possible\n- (watch) use a transaction for updates and merge with memory\n- cleaned up vendoring\n- misc changes to fix exceptions found along the way\n\nAmendments:\n\n- Copyright header got removed in auto-generated file\n- Changed default locking to false for KV list operation\n- Updated backend api to allow the passing of locking parameter\n\nChange-Id: Ie1a55d3ca8b9d92ae71a85ce42bb22fcf1419e2c\n"
    },
    {
      "commit": "b0c79896db103bbc144ab8f0ffa6ce9441f3d7df",
      "tree": "b89747d80b42238928a53fdca8f3a650460b90cd",
      "parents": [
        "6d05513eed2df98b5cbe5224e3bcc98969542a36"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 13 11:29:59 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 13 11:29:59 2019 -0500"
      },
      "message": "VOL-1468 : Ensure hash is kept and latest is set\n\nChange-Id: I6ea53b7da41963c9ecce4df2c6d9a320c79930fc\n"
    },
    {
      "commit": "1e28f3ea933fc5e49a813be6242fc5c5681f6a60",
      "tree": "439a2d8e2bb84c81ba2e1907f11251a7ce9e515a",
      "parents": [
        "13182842bc80ff07b46d0ea269ea090ee9699769"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Feb 08 15:45:20 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Feb 08 15:45:20 2019 -0500"
      },
      "message": "VOL-1465 : Integrate rw sync fixes into ro core\n\n- Added new config-map for affinity router\n- Removed some really verbose model logs\n- Fail core when kv client cannot be established\n\nChange-Id: I7f10c7ce3121abaf88fa622aecb3affd40813d67\n"
    },
    {
      "commit": "11b88e7b4962fe906a383f5393a1d7f18d279a77",
      "tree": "43f5108fb078da5e36437201dae19fd881323a69",
      "parents": [
        "aa467940478031f3f2da25298dc4ae6b44f9762c"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Feb 07 12:28:29 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Feb 07 12:28:29 2019 -0500"
      },
      "message": "VOL-1459 : Fix failure to load device from persistence\n\n- fixed watch logic which was not really updating memory\n- force get depth to 0 to work around corrupted data structures\n\nChange-Id: I595981e2ee3d816d17702e7f39c099193590fa6f\n"
    },
    {
      "commit": "aa467940478031f3f2da25298dc4ae6b44f9762c",
      "tree": "f91e75bedace9edd4e9f8076844e73da1caa8c96",
      "parents": [
        "d62ac4e3aec5a43c5ebd4f2641bf26358230dea5"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 06 14:09:44 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 06 14:09:44 2019 -0500"
      },
      "message": "VOL-1459 : Ensure data model synchronization from kv\n\n- Introduced a new List function to force a load from persistence\n- Properly create a proxy for non-keyed nodes (e.g. /adapters)\n- Optimized load from persistence operation to avoid existing entries\n- Fixed/Enhanced proxy unit test\n\nChange-Id: Ib368d32c517e74410b541bb8927429d066a9cfd0\n"
    },
    {
      "commit": "d62ac4e3aec5a43c5ebd4f2641bf26358230dea5",
      "tree": "a6fa95bea69e1f320f7f228da0308929113fcc79",
      "parents": [
        "433f54ac005a0157ac36b7832de64eaf2f875eb9"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Feb 05 14:08:38 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Feb 05 19:22:31 2019 +0000"
      },
      "message": "VOL-1446 : Fix to prevent proxy callbacks from being wrongly used\n\n- The fix consists in only assigning a proxy to a child node if\n  the proxy of the parent points to the root folder \"/\"\n\nChange-Id: I81fa9e0e142fb2a1fb885684026e2e2037144076\n"
    },
    {
      "commit": "1039ec41bb2ef51f7ca39e321c8eb15fe81bad7c",
      "tree": "4674823bcb51f09d7e6e4c198c85e2a0979241fc",
      "parents": [
        "21d511581d954bad8193499b9c12c929d6c42cf5"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Feb 04 10:43:16 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Feb 04 10:43:16 2019 -0500"
      },
      "message": "VOL-1446 : Cleanup of db/model unit tests\n\n- Fixed issues with model components while running tests\n- Removed unecessary tests\n\nChange-Id: Ica2007b66f681d03a77144cf2e778aa5a586786a\n"
    },
    {
      "commit": "21d511581d954bad8193499b9c12c929d6c42cf5",
      "tree": "7de97a70624650ec25567b4e730adfad4a1be376",
      "parents": [
        "d6e07e75efb1d9d65436ebb6ebbb80a1845208d3"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Fri Feb 01 13:48:37 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Feb 01 19:04:03 2019 +0000"
      },
      "message": "[VOL-1442]  This commit handles adapter registration end to end.\nIt introduces an adapter manager to handle all adapter admin\nrequests.  Some protos have been cleaned as well.\n\nChange-Id: If75d4f7665c03e841d57f5621c30301940d04d93\n"
    },
    {
      "commit": "3cb0122930cc7273cbddd4a275987395500bdb18",
      "tree": "3d6bcdc2f0230c08c31efbd3a3608ee3d0e0853c",
      "parents": [
        "38afd0dc5cbf6dbbb05800699c8aae8869c748d3"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 16 17:15:56 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Jan 21 18:46:12 2019 +0000"
      },
      "message": "VOL-1387 : Fixed issue introduced with watch mechanism submission\n\n- Added flag to determine when a revision is watched\n- Added flag to determine when a revision is stored\n- Refactored confusing method names for Set/GetChildren\n- Fixed issue with deletion of devices due to previous submission\n\nChange-Id: I68c46951f9d40d47e4e74854bba449c9fec4a427\n"
    },
    {
      "commit": "e0a4c79f591cf51f55276b9895016012b488bf58",
      "tree": "a611b076a5028437cd2c5a333f8c15fd0de85f96",
      "parents": [
        "d046be899b697e6c82de5673b56b79935b449345"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 16 11:26:29 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Jan 16 16:48:45 2019 +0000"
      },
      "message": "VOL-1387 : Added watch mechanism\n\n- Fixed a few failure cases\n- Adjusted a few logs\n\nChange-Id: Ied1ecb3d8996a338eee00e9643685482700e860b\n"
    },
    {
      "commit": "933b09bd64667dc05650b9d999177a64fa088a84",
      "tree": "72715255ebfa488c6dd98a3d11f7002069619328",
      "parents": [
        "5f89fb69958e2b137ec3857317b9936b93702876"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 09 11:12:09 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 09 11:12:09 2019 -0500"
      },
      "message": "VOL-1372 : Fixed core crash due to how revisions are updated\n\n- UpdateChildren merges new and existing entries\n- proxy access control singleton now uses sync.Map since the\n  entry was intermittently losing its content\n- Switch to AddWithID in the device_agent to ensure thread safety\n\nChange-Id: Ifcb2374f48b612a487a00f4a952aeec21d1c4af1\n"
    },
    {
      "commit": "1ab4327bd1f6f0b069e0af70e402c57a72425c6f",
      "tree": "64a77d2c9a4c94c55cd015a449bdaeba5094fc6d",
      "parents": [
        "ab8e25365ef0d44ef15f5c50efb16c7c1261ab05"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Sat Dec 08 21:42:13 2018 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Sat Dec 08 21:42:13 2018 -0500"
      },
      "message": "VOL-1173 : Removed hash based storage; replaced with per device protobuf\n\n- Ensured proxies issue callbacks instead of forcing with goroutines\n- Fixed mutex issue with proxy component\n\nChange-Id: Idabd3257c6d264c0f607ee228e406810304dab43\n"
    },
    {
      "commit": "dc5022d9dd23f415e7b497ad0082844cc2be1197",
      "tree": "b2f9320b21b6db474e45edf01256eb1068e2ce06",
      "parents": [
        "c635cd3265002d98f2a53eecaf77d4a41229abf2"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Nov 19 15:21:44 2018 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Nov 19 15:21:44 2018 -0500"
      },
      "message": "VOL-1334 : Fixed concurrency issues\n\n- Semaphores were added at the different layers of the model\n- Made the proxy interfaces more robust\n- Eliminated problems while retrieving latest data in concurrent mode\n\nChange-Id: I7854105d7effa10e5cb704f5d9917569ab184f84\n"
    },
    {
      "commit": "a188d94b8a07e8d458317c1865e254abf4d3397a",
      "tree": "00634d1856438a75c3c2a227aa2ebbef7254ecd3",
      "parents": [
        "126101e6179674e288c2b09b55bfa22ea348c4fa"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Oct 16 16:43:04 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Oct 17 10:36:49 2018 -0400"
      },
      "message": "VOL-1243: Added logic for thread safety\n\n- Thread safety was added at the proxy level\n- Refactored the test init in a base_test structure\n- Fixed issue with writing to kv\n- Added profiling for locking period\n\nAmendments:\n\n- Comment out a cleanup statement causing KV corruption (as per VOL-1293)\n- Added missing license\n\nChange-Id: Id6658270dbb8b738abeef9e9e1d349dce36501bc\n"
    },
    {
      "commit": "126101e6179674e288c2b09b55bfa22ea348c4fa",
      "tree": "caa874e8243d2a59d178f94f2bb619d1dee4c3f3",
      "parents": [
        "4d4802d7e431bd9720c1c2ababbb07dacc63d6c0"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Oct 11 16:18:48 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Oct 11 16:18:48 2018 -0400"
      },
      "message": "VOL-1283: Fixed callback execution consistency for all proxy levels\n\n- Callbacks are executed at any proxy levels\n- Uncovered some issues with the base children fields structure\n- cleaned up the root/node structures\n- Ensure that a get command returns a clone.\n\nChange-Id: Ic2cd5420c29332bd9b5d6f303a7fd9d0d0ccaf06\n"
    },
    {
      "commit": "8c48b5c9e3bbdad9e13fa34a3475b214505e3a0e",
      "tree": "4331c1a1367c1397c8a5151221850f68ce54aad4",
      "parents": [
        "06c4a74a28b448d56a3efc82a13b9b1d11482134"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Oct 02 09:45:17 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Oct 02 10:38:05 2018 -0400"
      },
      "message": "VOL-1247 : Modified change tuple to include previous and latest data\n\nVOL-1214 : Fixed logs to use the proper mechanism\n\n- Added missing license\n- Moved one change tuple statement which would not include proper info\n\nChange-Id: I5a02f6fe92c8b193642294d62f4413ac6edc0c62\n"
    },
    {
      "commit": "06c4a74a28b448d56a3efc82a13b9b1d11482134",
      "tree": "7c247c5f5edac6f326ef84fa9c82964febe5a694",
      "parents": [
        "88fbe7f5f05cfb71efb3d0baefba7301bfc8d296"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Oct 01 11:09:32 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Oct 01 11:09:32 2018 -0400"
      },
      "message": "VOL-1255: Fixed an issue with the proxy implementation\n\n- Had to change the model slightly to mimic a polymorphic behaviour\n\nChange-Id: I12017cdfedf5c0ed05243245aa2a811556222e0f\n"
    },
    {
      "commit": "88fbe7f5f05cfb71efb3d0baefba7301bfc8d296",
      "tree": "c9f2bbf0c0604475e1b26cd1426bb0cc81ceef6d",
      "parents": [
        "7da372dc4eeb1865fe0115354aad098398aa15be"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Sep 25 12:25:23 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Sep 25 12:25:23 2018 -0400"
      },
      "message": "VOL-1174: Keep only latest data and apply changes only when committed.\n\nChange-Id: I2311eb9cf1487b39f23066df50d19b47fd5c7dcc\n"
    },
    {
      "commit": "e16186c3874c911c426263ba11919ce6cad07099",
      "tree": "c51d841fa4764cdc25bd04cf9599050fd7165a88",
      "parents": [
        "694e2b93b92594c8725d5cb99a1aa19d764584a7"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Sep 11 10:46:34 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Sep 11 10:46:34 2018 -0400"
      },
      "message": "VOL-1174: Ported transaction support to go data model\n\nChange-Id: I4cabefac36c95f690aa121c71f36b6aaf41180b0\n"
    },
    {
      "commit": "694e2b93b92594c8725d5cb99a1aa19d764584a7",
      "tree": "c5cdacb430331c4f6cfdaa1c5fa4f7f4c7964cd5",
      "parents": [
        "ec0919b4527fcc7fcc531d78c687b1bfbadcdf0f"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Sep 07 12:17:36 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Sep 07 12:17:36 2018 -0400"
      },
      "message": "VOL-1176: Ported callback mechanism\n- Updated some files with the license block\n\nChange-Id: I61db400b3a72c4915f4f3f17cc7a110313c2d25e\n"
    },
    {
      "commit": "ec0919b4527fcc7fcc531d78c687b1bfbadcdf0f",
      "tree": "828a21f3b930388aa8281535aec86e6472ed84e9",
      "parents": [
        "bf6e7bb28d756618e6e721a90e1ec64f6490f2f1"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Sep 05 14:14:29 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Sep 05 14:14:29 2018 -0400"
      },
      "message": "VOL-1175: Added proxy CRUD for new data model\n\nChange-Id: Ie218a2567746d87a951f23aa6b774b2f01541cf9\n"
    },
    {
      "commit": "bf6e7bb28d756618e6e721a90e1ec64f6490f2f1",
      "tree": "9e3c147ce12a542568f7aba92fd17289f1f4b849",
      "parents": [
        "7dfae95a70e8c04d8c7d7c90eb2caf3654778e33"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Aug 14 22:27:29 2018 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Aug 14 22:27:29 2018 -0400"
      },
      "message": "[VOL-1158] Initial commit of grpc voltha service handler.  Also\nadd license to all files.\n\nChange-Id: I923a53504c74939c1db8177df6197694f2c2b3cd\n"
    },
    {
      "commit": "4a2564d4414c89e742d4063a2dac7dc41a13d4bb",
      "tree": "b9786a70f45a6858d4703063af41bfc5f606678c",
      "parents": [
        "5c11af796e0cc753f90636a44032894a8fac3f66"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Jul 26 11:02:58 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Jul 26 11:03:09 2018 -0400"
      },
      "message": "VOL-1027 : Initial commit of voltha 2.0 data model\n\nChange-Id: Ib8006de1af2166281ccf1c9d7c2b9156991bf4e4\n"
    }
  ]
}
