)]}'
{
  "log": [
    {
      "commit": "2f1e338c07f872ccaa696ad9e81c0d1e101ba466",
      "tree": "666481738e6115e418e6b8347cc21ef859a5ee0e",
      "parents": [
        "219807672dd915c7903e88b0df43c6cce6084618"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 08 14:24:00 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 08 16:54:29 2016 -0800"
      },
      "message": "Remove generated artifacts from git\n\nChange-Id: I1d8f9a5a4519004618e2df87c28fdb8849b68c00\n"
    },
    {
      "commit": "219807672dd915c7903e88b0df43c6cce6084618",
      "tree": "bede58e9c7467966369df141046fccdb6ebfd771",
      "parents": [
        "cba96de77468815df79f5fea1a050c6dc11e8c08"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 08 10:57:19 2016 -0800"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Nov 08 11:15:18 2016 -0800"
      },
      "message": "Fix to docker import issues and swagger error\n\nThis is actually two fixes in one change:\n1. Fixing the import issues in the docker containers, also cleaning\n   it up.\n2. Avoiding the creation of multiple swagger.json files by specifying\n   which of the proto files represent the top-level service.\n\nChange-Id: I9fec5cf48df127725673ba53f0e91d2ed2e275ad\n"
    },
    {
      "commit": "cba96de77468815df79f5fea1a050c6dc11e8c08",
      "tree": "02473baf54975f62a62cecb5eb1425c1c885e971",
      "parents": [
        "770cc2a5b6251d12710159b5f00030281db5003e"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Nov 06 14:04:55 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Nov 07 00:49:10 2016 -0800"
      },
      "message": "Refactored protobuf framework, added loader\n\nIncluded changes:\n\n* Initial adapter interface spec\n* Adapter loader to auto-load adapters\n* Initial adapter NBI\n* Better import support in chameleon, allowing more flexible\n  protobuf structure (by organizing artifacts and service\n  into separate proto files.\n* Refactored voltha.proto to split things into logical proto\n  modules.\n* Some additional cleanup\n\nChange-Id: I75f9883c6992148ea8df430bcdaebf85115fea4a\n"
    },
    {
      "commit": "770cc2a5b6251d12710159b5f00030281db5003e",
      "tree": "b8fcb549743addffd8cfc9743c1e88a1fc9d47be",
      "parents": [
        "dca6fa1de2d535b024c6b9625869a13a11a9c657"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 03 23:23:36 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Nov 04 22:05:27 2016 -0700"
      },
      "message": "Moved event bus to common lib\n\nChange-Id: I530498db2d4fd3ba644dd4a92e0b6ce74bce3a27\n"
    },
    {
      "commit": "dca6fa1de2d535b024c6b9625869a13a11a9c657",
      "tree": "6e9e4f559c1198e18df5554c413fb7e4ed5eedbd",
      "parents": [
        "abae5915f688f49b774c9e882ec4919e1cbcde0b"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 03 16:56:17 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 03 19:33:59 2016 -0700"
      },
      "message": "Nomralize component start()/stop()\n\nAlso fixed the /schema swagger/rest entry. It did not work\nbecause the 3rdparty protobuf_to_dict library cannot handle\nMap fields. Changed the two map fields to a single list\nentry.\n\nChange-Id: Ib25a528701b67d58d32451687724c8247da6efa5\n"
    },
    {
      "commit": "abae5915f688f49b774c9e882ec4919e1cbcde0b",
      "tree": "6cdc393882037225c003bd863089dcd854811f1b",
      "parents": [
        "46c720016aa679c9aec8c80e11b23a5552bc1c9a"
      ],
      "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": "46c720016aa679c9aec8c80e11b23a5552bc1c9a",
      "tree": "2fde74976bc691f013627e3cb400e17b0b0fa88b",
      "parents": [
        "3cf36343ea53fa30b981746bd9bdf465907dbd4e"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 10 09:55:30 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 12 00:44:51 2016 -0700"
      },
      "message": "Chameleon swagger support\n\nChange-Id: I63b8dc7b31d5e87aa0e5153da302537d90ff733e\n"
    },
    {
      "commit": "3cf36343ea53fa30b981746bd9bdf465907dbd4e",
      "tree": "365c938cdac86c332a1321c8bf14535a25b553a3",
      "parents": [
        "e7b6076afdd975f9c876bc0101feb03f6c2697ad"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 05 20:40:19 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 05 20:40:19 2016 -0700"
      },
      "message": "Fix overlapping reconnect loops\n\nChange-Id: I23f5c17700f9ac17baf9c8136739bf32d656bbf0\n"
    },
    {
      "commit": "e7b6076afdd975f9c876bc0101feb03f6c2697ad",
      "tree": "fe7387d8ca0ec9a0c48c0a20b93b17cf6fffc3a0",
      "parents": [
        "05b837a73c970d4f812445d1f1b3265386896aa9"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 05 17:49:27 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 05 17:49:27 2016 -0700"
      },
      "message": "Chameleon fault tolerance\n\nChange-Id: Id7060f121f85a444005dfeff6279daef51a59295\n"
    },
    {
      "commit": "05b837a73c970d4f812445d1f1b3265386896aa9",
      "tree": "3a534deff599fd9c41b3607ccf551878742806bf",
      "parents": [
        "3d55ffc214cb5887d15e8680afaa3b4475d503ea"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 05 00:18:57 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 05 00:18:57 2016 -0700"
      },
      "message": "Dockerized chameleon to work\n"
    },
    {
      "commit": "3d55ffc214cb5887d15e8680afaa3b4475d503ea",
      "tree": "525dcb12c81e36bfe1a603a9f04fd2c48e234c77",
      "parents": [
        "9ceb1b80b001885c1fea78d9d4cbaa3e12ae6d15"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 03 22:26:41 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 03 22:26:41 2016 -0700"
      },
      "message": "Chameleon self boot-strapping API\n"
    },
    {
      "commit": "9ceb1b80b001885c1fea78d9d4cbaa3e12ae6d15",
      "tree": "dcf2207806018798c325bc888a3f9efb6b0bc009",
      "parents": [
        "a9a12dc28b3e4c28070ae9f970a0dab87c1eda4e"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Oct 01 15:15:18 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Oct 01 15:15:18 2016 -0700"
      },
      "message": "Swagger UI files\n"
    },
    {
      "commit": "a9a12dc28b3e4c28070ae9f970a0dab87c1eda4e",
      "tree": "2bd56de3db509f4b634c324330f9c2eb627dc1ef",
      "parents": [
        "5807432b4a9ed6cfe67a046410c0c97134dd5f50"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 13:48:35 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 13:48:35 2016 -0700"
      },
      "message": "Chameleon rest-grpc gateway fetching and compiling\n"
    },
    {
      "commit": "5807432b4a9ed6cfe67a046410c0c97134dd5f50",
      "tree": "49789e68fefb889102a82a97a5b1f06620a261d7",
      "parents": [
        "d7ae9d5e6538420d2d09a41915635a51a2ac5641"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 10:24:27 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 10:24:27 2016 -0700"
      },
      "message": "Make GRPC port configurable\n"
    },
    {
      "commit": "d7ae9d5e6538420d2d09a41915635a51a2ac5641",
      "tree": "4dc1be83540839c1510fbcb4d3c3cadffe6a7738",
      "parents": [],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 09:56:49 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 09:56:49 2016 -0700"
      },
      "message": "Chameleon outline: a REST-to-GRPC gateway\n"
    }
  ]
}
