)]}'
{
  "log": [
    {
      "commit": "032d3307fb72066fbdfb8b5b2cdf010c649876d8",
      "tree": "36c8bf11cf3add1a8c2a76d362fc8c9ae92a89ae",
      "parents": [
        "d24189ec6bb130c4d517a31ceb9864a64c83a4de"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Fri Jun 09 14:50:04 2017 -0400"
      },
      "committer": {
        "name": "Sergio Slobodrian",
        "email": "sslobodr@ciena.com",
        "time": "Mon Jun 12 06:37:05 2017 -0700"
      },
      "message": "[ 4222 ] Minor changes after code review\n\nThis is the initial commit for Persistence and Voltha restart.\nIt consists of the following:\n1) Introduction of a store config id which represents the data of\n   a Voltha instance.\n2) The Coordinator service dynamically allocates a store config id\n   to each voltha instance on startup.  It also reallocates the same id\n   to another voltha instance in the event the previous voltha instance\n   with that store id went down.\n3) All voltha data is stored in Consul as KV\n4) When a Voltha instance is started and get allocated a config id that\n   refers to existing data (from an instance that went down), then it will\n   load all the data from Consul into its own memory and start a reconciliation\n   process.\n5) During the reconciliation process, the necessary agents and\n   callbacks are created as per the data.  A reconcile() API is also\n   invoked on the adapters to perform their side of the reconciliation.\n6) The Reconciliation process is implemented in ponsim OLT and ONU\n7) A set of integration tests focussed on persistence and voltha\n   restarts.\n8) Fix a few bugs along the way\n\nChange-Id: I8c2bbae3b2fc79d0afd8ce3b7b0be6bde93e492a\n"
    },
    {
      "commit": "85150c22c9ce37c83f8e6ef6e6edbb10f06417f8",
      "tree": "3dca5e6aa783aaf219ac1440b9eb85b329a34fb1",
      "parents": [
        "3eab2bba9841a159a78eb52a8c772d77e3d33c71"
      ],
      "author": {
        "name": "ggowdru",
        "email": "ggowdru@radisys.com",
        "time": "Wed Apr 26 07:24:40 2017 -0700"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Apr 28 10:31:34 2017 -0700"
      },
      "message": "Specify an optional node parameter, which shall be used to return\na list of services in the ascending order RTT from that node.\n\nChange-Id: I4f7ae563bc86465aae91ac6fe21bdf1e7a171bd6\n"
    },
    {
      "commit": "37494a747a8c9c8f0891f76d470351f576927d1b",
      "tree": "3083d3daf6a2e1fbe42fa978c4ba0b9d0e83f6da",
      "parents": [
        "8ffb893566561db58f687ee7920e8a7e9e95e062"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Thu Jan 26 11:59:52 2017 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Jan 26 22:27:09 2017 -0800"
      },
      "message": "Cleaning up TODO items\n\nremoving TODO on line 162 of chameleon/grpc_client\nand entering it into backlog as CORD-815\n\nremoving TODO on line 135 of cli/utils.py\nand entering it into backlog as CORD-816\n\nremoving TODO on line 155 of cli/utils.py\nand entering it into backlog as CORD-817\n\nremoving TODO on line 94 of common/utils/consulhelpers.py\nand entering it into backlog as CORD-818\n\nChange-Id: I736ea678b16c9b0e85a3cf0aabe96da19caae64d\n"
    },
    {
      "commit": "16c0da7336a39e06c1f90be9c07c9341c2fff5c3",
      "tree": "f9efb689dc443699294d00f54c15831d990e44a4",
      "parents": [
        "3e6f0898bbeba59a02fdb99911a7b80989ff8bde"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Thu Jan 19 12:26:02 2017 -0600"
      },
      "committer": {
        "name": "Ali Al-Shabibi",
        "email": "ali@onlab.us",
        "time": "Sun Jan 22 16:26:03 2017 -0800"
      },
      "message": "Fixing build.md tests\n\nAlso adding some utility commands in consulhelpers, namely:\n\n- verify_all_services_healthy\n    - checks all services registered in consul are healthy\n    - can also check a single service by name\n- connect_to_consult\n    - connects to consul, unsurprisingly.\n- get_all_services\n    - returns all the services\n\nChange-Id: I5aaa4b7f5567fb6d7e8b1a9887bcc7592f9e2847\n"
    },
    {
      "commit": "b634d90bd9e6e5255d62dda00c58c30cb61a2253",
      "tree": "6a95f8dbdfc5b2b88a322fa7e3af9af653773140",
      "parents": [
        "b5d72f13fa5cb73024fc9857effde5875695d3b4"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Mon Jan 16 13:10:17 2017 -0600"
      },
      "committer": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Mon Jan 16 13:11:35 2017 -0600"
      },
      "message": "enabling dumb-init for shovel\n\nChange-Id: I6bb546c21866f4b6d8f1095079f288945080396d\n"
    },
    {
      "commit": "9b9f1adaff80cd85a96ad190d052a6d84abf3226",
      "tree": "10443c2b6dd4395dd5f3d8fa94d25f656bbcd788",
      "parents": [
        "3578a1c3ac3c9898acff32b1e8b940ef18ceac1e"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Jan 10 15:43:32 2017 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Jan 11 06:33:31 2017 -0800"
      },
      "message": "Bug fixes\n\nChange-Id: I67349475a93d523795bbeeb28e45a0d3e416028f\n"
    },
    {
      "commit": "90fc35d555741ae0b7de1d11b9a599a9f2f2ddde",
      "tree": "88ea9a9f6bb12b1b7fdee0facffda28268b348ca",
      "parents": [
        "10eadcdb5a957b4bed5388601262f32db8cd1205"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Jan 09 08:42:04 2017 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Jan 09 23:12:29 2017 -0800"
      },
      "message": "Reformatting kafka logs\n\nChange-Id: I853d3db2324c6cf96ccd5c7d08fe295299e38688\n"
    },
    {
      "commit": "3eb27a56d762da3e4412e79b45a615ded900aad8",
      "tree": "e92eba2fa14f7d4ab77608022bf3680bae146ee4",
      "parents": [
        "9fbb223b548e5b2cd35d8dc77d2f423e176468d2"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Jan 03 21:56:48 2017 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Jan 03 21:56:48 2017 -0800"
      },
      "message": "Happy New Year 2017\n\nChange-Id: Ib9a77f5e7d8d857a519d20904ec0d745e32eb257\n"
    },
    {
      "commit": "023ea7cbbc9482643579b92ab02b3ed104e1f575",
      "tree": "e75ec5bff25548904e2a8e358029cc5fe8bb6466",
      "parents": [
        "4ba198966634f48c11a7dfb5590b404b1b2a1f34"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Oct 16 19:30:34 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 24 01:38:54 2016 -0700"
      },
      "message": "Async/streaming gRPC client/server proto\n\nThis experiment was to fine-tune how we can implement\nasync gRPC client and server code inside a Twisted\npython app.\n\nChange-Id: I945014e27f4b9d6ed624666e0284cc298548adb3\n\nMajor cleanup of openflow_13.proto\n\nChange-Id: I4e54eaf87b682124ec518a0ade1a6050a6ec6da8\n\nRelocated openflow_13.proto to voltha\n\nChange-Id: I66ae45a9142d180c2c6651e75c7a1ee08aef7ef8\n\nRemoved forced utest from make build\n\nChange-Id: If0da58e9d135ebde6ca68c3316688a03a7b10f2f\n\ntwisted openflow agent first pass\n\nChange-Id: Ibe5b4727ccfe92e6fd464ccd3baf6275569ef5d3\n\nstore openflow derived files\n\nChange-Id: Ib3e1384bb2ca2a9c0872767f7b793f96b0a154e2\n\nMinor cleanup\n\nChange-Id: I1280ed3acb606121b616a0efd573f5f59d010dca\n\nFactored out common utils\n\nChange-Id: Icd86fcd50f60d0900924674cbcd65e13e47782a1\n\nRefactored twisted agent\n\nChange-Id: I71f26ce5357a4f98477df60b8c5ddc068cf75d43\n\nRelocated openflow agent to ofagent\n\n... and preserved obsolete working (non-twisted) agent under\n~/obsolete, so we can still run the olt-oftest and pass tests,\nunit the new twisted based agent reaches that maturity point.\n\nChange-Id: I727f8d7144b1291a40276dad2966b7643bd7bc4b\n\nolt-oftest in fake mode works with new agent\n\nChange-Id: I43b4f5812e8dfaa9f45e4a77fdcf6c30ac520f8d\n\nInitial ofagent/voltha operation\n\nChange-Id: Ia8104f1285a6b1c51635d36d7d78fc113f800e79\n\nAdditional callouts to Voltha\n\nChange-Id: If8f483d5140d3c9d45f22b480b8d33249a29cd4e\n\nMore gRPC calls\n\nChange-Id: I7d24fadf9425217fb26ffe18f25359d072ef38fa\n\nFlow add/list now works\n\nChange-Id: Ie3e3e73108645b47891cef798fc61372a022fd93\n\nMissed some files\n\nChange-Id: I29e81238ff1a26c095c0c73e521579edf7092e21\n"
    },
    {
      "commit": "da11dd78161aa28756298e2e6ea47d31f5a2ee00",
      "tree": "32fb2d6f333f0ee2f52e17bca98581e6442ea347",
      "parents": [
        "441deddb38e3b92abf728ab3c570c2fefad0c48f"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 17:42:36 2016 -0700"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 17:42:36 2016 -0700"
      },
      "message": "This commit consists of:\n1) Change kafka/zookeeper ports mapping to allow for scaling via\n   docker-compose\n2) Use the afkak consumer example when subscribing to kafka messages\n3) Remove dependency on kafka-python\n4) Update the Build.md file with instructions on how to listen to kafka\n   messages\n"
    },
    {
      "commit": "441deddb38e3b92abf728ab3c570c2fefad0c48f",
      "tree": "406cb7d4b1ef45938123a826784db7a9784e3355",
      "parents": [
        "bc601b7042a58b7c1b917c6c4dd20faad6444f71"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 14:44:26 2016 -0700"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 14:44:26 2016 -0700"
      },
      "message": "Minor cleanups\n"
    },
    {
      "commit": "b95fe9a29fcd7d38a410bf52d998dd5de566957d",
      "tree": "0cefdb15315d7269494d5a18487c3e16a2e50884",
      "parents": [
        "1504408a3591f5dad8f9bdd85f198f455a5f28fc"
      ],
      "author": {
        "name": "khen",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:15:25 2016 -0700"
      },
      "committer": {
        "name": "khen",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:15:25 2016 -0700"
      },
      "message": "This commit consists of:\n1) Provide a kafka client to publish events to kafka brokers\n2) Provide zookeeper and kafka docker containers for local testing,\n   will not be present in production\n3) Sends a regular heartbeat to the kafka broker from voltha to\n   exercise all the components\n4) Provides a basic kafka consumeri (requires kafka-python to be\n   installed)  to read the messages off the local kafka broker -\n   this time it is only heartbeat messages\n"
    }
  ]
}
