)]}'
{
  "log": [
    {
      "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": "0a97e9b7c7d99d30317e358668cd1e5f5709d485",
      "tree": "9e8e984642349a640f352a5c90609d0792f4f08f",
      "parents": [
        "1e28f3ea933fc5e49a813be6242fc5c5681f6a60"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Feb 11 22:02:17 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Feb 11 22:02:17 2019 -0500"
      },
      "message": "VOL-1468 : Fix to prevent kv watch updates to trigger callbacks\n\nChange-Id: Iff8cdd686d61d9c5015b61624626f8e426cc12fe\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": "df5479f5603f8996d318b6b16adc37cefa452e33",
      "tree": "d2f27cbeaf37e9e253b762590d766fd0ffde4277",
      "parents": [
        "b608032429f103c6ca8c323e7e782cf0fb21a9da"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Jan 29 22:13:00 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Jan 30 14:43:51 2019 +0000"
      },
      "message": "VOL-1437 : Fix display of devices in CLI\n\nRenamed state field in image download proto which caused\njson marshalling to fail.\n\nother updates\n- unmarshal data properly when pulling data from kv in watch\n- do not update unecessarily if watch data matches data in memory\n- added ofagent target to python Makefile\n- fixed grpc path to update log level which interfered with getdevice\n\nChange-Id: I4fceeb539c3325b6754efe2b68251d83b7367211\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": "43c8212e3aba66bff565601bb6143a599dd1c421",
      "tree": "3f626df31d81b366e308fa7ab1bcb69e8184cef4",
      "parents": [
        "dc5022d9dd23f415e7b497ad0082844cc2be1197"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 22 18:38:28 2018 -0500"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 22 18:38:28 2018 -0500"
      },
      "message": "This update addresses the following:\n1.  Decouple the kafka messaging proxy from the kafka client.  This\nwill allow us to try out different kafka clients as well as test\nthe client separately.\n2. Create unique device topics for the core, olt adapter and onu\nadapters.  This will ensure only cores and adapters handling these\ndevices will listens to the device messages.\n3. Update the core with the latest device model APIs and changes.\nWhile most of the model issues have been fixed, there is still an\nissue with updating a child branch.   This will be dealt in a separate\nupdate.\n\nChange-Id: I622ef5c636d7466bb3adefaa4ac4c85d7c450bea\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": "2c6f16759e74e10c340401ed9b251fc246961a76",
      "tree": "340863eb2b22240358cc7c5ed390402fe4dc67a4",
      "parents": [
        "9a4689630eff5834207269a224e3a8652b4407e9"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Sep 20 23:14:41 2018 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Sep 20 23:14:41 2018 -0400"
      },
      "message": "This commit consists of:\n1) Fixing the core tests\n2) Fix an error in the logger where the runtime stack trace behaved\ndifferently in go 1.10 vs go 1.9.\n3) Minor other fixes\n\nChange-Id: I1263df38ffcd733174f776a0901583cfb59c616e\n"
    },
    {
      "commit": "b92035435f2922c41cb9c9c078de2abe7367b008",
      "tree": "d12930c4e0bf026551724fc5a820da0945999c5d",
      "parents": [
        "e16186c3874c911c426263ba11919ce6cad07099"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Mon Sep 17 22:56:37 2018 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Sep 18 10:53:57 2018 -0400"
      },
      "message": "This commit consists of the following:\n1) The kafka messaging proxy in Twisted python for adapters\n2) Initial implementation and containerization of ponsim OLT adapter\nand ponsim ONU adapter\n3) Initial submission of request and response facade in both Twisted\npython and Go Language\n4) Initial implementation of device management and logical device management\nin the Core\n5) Update to the log module to allow dynamic setting of log level per\npackage using the gRPC API\n6) Bug fixes and minor changes\n\nChange-Id: Ia8f033da84cfd08275335bae9542802415e7bb0f\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"
    }
  ]
}
