)]}'
{
  "log": [
    {
      "commit": "68b9be3860d9ee41bb9a971a7f2215b5ab7d37ea",
      "tree": "0d92643c5dceadbc46ef376fb80516bb7992d6c2",
      "parents": [
        "9125b1a90ceff0e60c944a6430e8054cf36a0f76"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 25 11:57:04 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 25 11:57:04 2016 -0400"
      },
      "message": "Dockerizing ofagent\n\nChange-Id: Ic2ead67cedd74463a72efca8c3f5d74ea2433af8\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": "a54b663f7fe41e222b069bd3ef3e97d3b725d9bd",
      "tree": "6d3c32a7284ad4c237e84fcaa3f72dc8bf3597c7",
      "parents": [
        "da4ef468cbd18c886d50a5af7a4f19e78eda233e"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 18 18:01:25 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 18 18:01:25 2016 -0400"
      },
      "message": "Adding a wait for containers condition\n\nChange-Id: I4601b9f9e2f17ccfaaa1fcc6c24eaf9e13dd3b38\n"
    },
    {
      "commit": "37a9bf8598001d303178fa2d481e214501004937",
      "tree": "08583c171f70b9a5660f2a330ee16143ae0a206c",
      "parents": [
        "b4b11afec1145a93b6e61c842be1dda92c5e9fa2"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Sun Oct 16 20:11:31 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Sun Oct 16 20:11:43 2016 -0400"
      },
      "message": "Integration test for the build.md file\n\nChange-Id: I93d25f1563636696a5f71471a06056eafee3e9e2\n"
    },
    {
      "commit": "74c1ef0e935e2790848ebab47c0eedd8f5feb45f",
      "tree": "6556bb7a64da87a54bba1c4091490c4cf7af2fc6",
      "parents": [
        "d47a5072528fd639d10878fb417c27f1d3339295"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 12 21:17:42 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 12 21:17:42 2016 -0400"
      },
      "message": "Address review comments of the kafka nbi\n\nChange-Id: I4bffdd92bb05d3f4d4b1b077f2ccf0f332204ed2\n"
    },
    {
      "commit": "220a677dfe60ec9a9a5c74df7d62b3927c737fdf",
      "tree": "5e20d1f1ac62c84a0052f576588b3f228b2d8f20",
      "parents": [
        "c51c065b01038381efb030cc7abdd3fcbe38eb75"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@tibitcom.com",
        "time": "Tue Oct 11 08:10:46 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@tibitcom.com",
        "time": "Tue Oct 11 08:10:46 2016 -0700"
      },
      "message": "Test submit.\n\nChange-Id: I1c6d9e2e7392cf33ff220a412634d8465ab2ccf0\n"
    },
    {
      "commit": "5cd64703098cf50d2ac0d7a0fadd68d1a5a1587d",
      "tree": "1471e7c1915c39da0bf013a09860dbbce79f3ed9",
      "parents": [
        "4536335b5f70b739e22d789da7a138c05b2bbacc"
      ],
      "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": "86be6f169288f52d602e5b415fdc80c76df5d0c4",
      "tree": "f32eaea8033d9ec5206d112587c90be85e743bde",
      "parents": [
        "32dda55a7ff8244661aa7151e1cdc16d5eba2de3"
      ],
      "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"
    },
    {
      "commit": "32dda55a7ff8244661aa7151e1cdc16d5eba2de3",
      "tree": "fed41d7eff5dde585f979de43937c99a1447e0f1",
      "parents": [
        "823620fdba7154224f3070c6cdb2dc406713e718"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 09:17:29 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 09:17:29 2016 -0700"
      },
      "message": "Split Dockerfile in anticipation of rest-gateway\n"
    },
    {
      "commit": "0650d1aa1dc187e0de8bc0a0c04b51bdf8f1f37c",
      "tree": "65a60a09868621cabeda08c5fd9dbb470c30b812",
      "parents": [
        "7be6241138ccc1876158f3a74056389bfc8aaf02"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Sep 26 17:29:25 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Sep 26 17:29:25 2016 -0700"
      },
      "message": "Expanded on experimenting with grpc server\n"
    },
    {
      "commit": "a6b09e37944a0dead4ea3a2cf590ee03f25b627e",
      "tree": "bd6443fa8c41525f0b78cfade70deb33a0f93720",
      "parents": [
        "31e29604d3fbd3d6b1db99092549ba7dd9a6be6b"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@tibitcom.com",
        "time": "Wed Sep 21 16:26:09 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@tibitcom.com",
        "time": "Wed Sep 21 16:26:09 2016 -0700"
      },
      "message": "Thin-case dev machine passing OLT-test with Tibit\n"
    },
    {
      "commit": "88bec0be5b12c74d8fcafb75329d3724fd821710",
      "tree": "34a23feb9c3844c968f89caa6acd37d5c95fa7ff",
      "parents": [
        "d0023a94768e7472e59e83984e47f10bba0fac2a"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 15:59:16 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 15:59:16 2016 -0700"
      },
      "message": "Remove make support for vagrant up\n"
    },
    {
      "commit": "a54f2ac5df7889261d5b27373e0d3ac5f4f21d50",
      "tree": "4b5a89321f8eb34c26d0cef069ad02eca01d6460",
      "parents": [
        "4161248cf648f9a326b4a4264210d2ecaaa5e391"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 15:54:15 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 15:54:15 2016 -0700"
      },
      "message": "Add support for protobuf API definitions\n"
    },
    {
      "commit": "4161248cf648f9a326b4a4264210d2ecaaa5e391",
      "tree": "4658cd79710ff99d0a421527476e730e79c4951d",
      "parents": [
        "ac9310d73488c6ed4054af33c4f7893ad41e8a5a"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 12:26:20 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 12:26:20 2016 -0700"
      },
      "message": "Make venv dir name OS specific\n\nThis is to allow the Vagrantbox to mount your local dev on a Mac, yet\nhave venv working even when it includes OS-specific binary files.\n"
    },
    {
      "commit": "950dff2f53bbfce090a32608e0a39282709b7253",
      "tree": "c429a17fcefa64a90e44514e4cbf5a68cd37bddc",
      "parents": [
        "edc88da27e90b8e622ea9751b395448859e3d701"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Sat Sep 17 16:12:34 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Sat Sep 17 16:12:34 2016 -0700"
      },
      "message": "Fixup flake8 to keep going and find all issues.\n"
    },
    {
      "commit": "edc88da27e90b8e622ea9751b395448859e3d701",
      "tree": "5078a75ab0464df09c3f44c0cf9ad0398f2c5d9e",
      "parents": [
        "daa1f6e70e16fe29826d781f9ee4e206268bf548"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Sat Sep 17 00:28:05 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Sat Sep 17 00:28:05 2016 -0700"
      },
      "message": "One step closer to goal.\n"
    },
    {
      "commit": "daa1f6e70e16fe29826d781f9ee4e206268bf548",
      "tree": "6fe516b8759dc1fcafa267d90db162a79257dbfb",
      "parents": [
        "ff82c3ee9a033265e49f5632f4aa8dc2dd28509b"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Sat Sep 17 00:17:31 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Sat Sep 17 00:17:31 2016 -0700"
      },
      "message": "Passing flake8 for new modules.\n"
    },
    {
      "commit": "5157de0ef22585d97aa49147cc2a4bc041c727fa",
      "tree": "380e6d55776fec8f909d95ec1111c7eb16d3be8c",
      "parents": [
        "c0a80c85d2d29dcf6385672f3fe173f387375fe8"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Fri Sep 16 15:20:37 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Fri Sep 16 15:20:37 2016 -0700"
      },
      "message": "Fixing all target for Makefile.\n"
    },
    {
      "commit": "c0a80c85d2d29dcf6385672f3fe173f387375fe8",
      "tree": "ba70c40b452748e69bd6ca7273952c73110aef01",
      "parents": [
        "0b15029cf0e78833b0e3d7fc89c266fae0d9b0da"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Fri Sep 16 15:17:45 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Fri Sep 16 15:17:45 2016 -0700"
      },
      "message": "Adding flake8 to help.\n"
    },
    {
      "commit": "84dfd2e46973220cb44b651264e873944c96eb4c",
      "tree": "28b043f37feaa414123888472108ff98a32cbd74",
      "parents": [
        "e060a7d35b6e75eb66a51f61681915bf5f0b14cf"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Fri Sep 16 15:06:34 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Fri Sep 16 15:06:34 2016 -0700"
      },
      "message": "Adding flake8 implementation.\n"
    },
    {
      "commit": "e65a36704f434b792ac7d78228da39785a928d92",
      "tree": "f9227facaed14ddf9c2c927271696db7d6c7cb43",
      "parents": [
        "de22bbc9de04c499f456886f599a44daef7640c2"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Wed Sep 14 21:36:52 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@cyaninc.com",
        "time": "Wed Sep 14 21:36:52 2016 -0700"
      },
      "message": "Adding vagrant up to Makefile.\n"
    },
    {
      "commit": "f2da1d02db5ebd95f410c94a26364969ff9f460a",
      "tree": "34b7d6b28dc23bc2c8c9f323c2e3b8eb3d4a3612",
      "parents": [
        "d7c7c486c19744dc89b6d724401ea83582f960a1"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 13 23:21:35 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 13 23:21:35 2016 -0700"
      },
      "message": "Consul registration and kv interface added\n\nAdditional changes:\n- Reworked command line parsing\n- Added cleaner default handling, also reading certain environmen vars\n- Many new options\n- Docker compose file to start a consul + fluentd + voltha combo for\n  testing purposes\n"
    },
    {
      "commit": "b71c2a044b5805d2607b8d4775a662f64a26d87f",
      "tree": "ee12efd38d17efee3ff5fe9f49a3c982544478ba",
      "parents": [
        "eb56d71b28c59e957fd01371b4ba40ba035476bc"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Sep 12 13:12:07 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Sep 12 13:12:07 2016 -0700"
      },
      "message": "Initial log framework\n\nAlso:\n\n- Renamed voltha.py to main.py (due to module collision)\n- Added logging related dependencies\n- Twisted loop\n"
    },
    {
      "commit": "51af3395e6ce2e54079e670d31e202770f99a5e8",
      "tree": "27e0df31943de3e331a7c531b91af0c488b53e55",
      "parents": [
        "8fa9da058ff2333f980fd283925e60e92730fc35"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Sep 10 22:18:45 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Sep 10 22:18:45 2016 -0700"
      },
      "message": "More robust build + utest hooked up\n"
    },
    {
      "commit": "8fa9da058ff2333f980fd283925e60e92730fc35",
      "tree": "dc94302215cf6003d28d00d6a9a13d538a5d2bba",
      "parents": [
        "b09d88ff44f253542958d8e25ca40611314b9e90"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Sep 10 17:34:03 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Sep 10 17:34:03 2016 -0700"
      },
      "message": "Build steps explained\n"
    }
  ]
}
