)]}'
{
  "log": [
    {
      "commit": "a6d9113c4fcaa38b1e6cec82a27e97f4316d67ad",
      "tree": "620fbf70a19cc41af33b8e971a080c9270c9e764",
      "parents": [
        "2ef4ce7cf2666ef8fe5bd0fd2546add62907aa83"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Nov 23 11:43:09 2016 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Nov 23 10:21:40 2016 -0800"
      },
      "message": "Correct plugin format\n\nChange-Id: I7e152cccaf9a11036f59cf99c5ffc0001ff412c2\n"
    },
    {
      "commit": "2ef4ce7cf2666ef8fe5bd0fd2546add62907aa83",
      "tree": "16d941f3c6575149763e90662829f77adc9a84f8",
      "parents": [
        "95b919d0155d676ec0abcdf7be35a0b69d7b64fb"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Nov 23 11:37:38 2016 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Nov 23 10:21:21 2016 -0800"
      },
      "message": "Move experimental items undo the experiments directory and some minor name cleanuos\n\nChange-Id: I748e0546a80a593ddef6b8a4ac749d592b9d26b1\n"
    },
    {
      "commit": "95b919d0155d676ec0abcdf7be35a0b69d7b64fb",
      "tree": "1d1ea1399b4a5b5b94b942e6cbc1588aaef2a469",
      "parents": [
        "dafefe16ce5d946271ca9ac5a4fd36ec2a92bee8"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Nov 18 16:20:20 2016 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Nov 23 10:21:21 2016 -0800"
      },
      "message": "This commit includes:\n1) Make descriptiuon fields mandatory\n2) Make some minor changes to comply to IETF\n3) Add a few test cases (more to come)\n\nChange-Id: Id871b2015ddb72c72a03c9fd5d0e08461fe67398\n"
    },
    {
      "commit": "dafefe16ce5d946271ca9ac5a4fd36ec2a92bee8",
      "tree": "a0f218d28f01c9498ca63993e1c8987337be1158",
      "parents": [
        "7b1bab911a9e79da18247746f6b56168d24df049"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Nov 14 21:29:58 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Nov 23 10:20:30 2016 -0800"
      },
      "message": "Config/management model framework initial version\n\nThis is the initial commit of the internal config\nmodel tree for Voltha.\n\nA system that borrows key concepts from Docker, repo,\nand git for multi-revision configuration handling with\ntransaction (commit/abort) logic, tagging, and the\nability to diff between config versions.\n\nKey features:\n* Stored model is defined using *annotated* Google protobuf\n  (*.proto) files\n* Model is kept in memory as Python protobuf message objects\n* The whole configuration is arranged in a nested (tree)\n  structure, made up of ConfigNode objects. Each\n  ConfigNode holds its config data as (possibly nested)\n  protobuf message object, as well as lists of \"pointers\"\n  to its logically nested children nodes. What message\n  fields are considered part of the node-local config vs.\n  what is stored as a child node is controlled by \"child_node\"\n  annotations in the *.proto files.\n* Each ConifgNode stores its config in immutable\n  ConfigRevision obects, each revision being identified\n  by a unique hash value, calculated from a unique\n  hash value of its local configuration as well as\n  the list of hash values of all its children node.\n* Collection type children nodes can be indexed (keyed)\n  so that they can be addressed with \"path\" notation\n  friendly to REST and other interfaces/APIs. Which\n  field is used as key is defined in the parent message\n  using \"key\" attribute of the \"child_node\" annotation.\n  Currently string and integer type fields can be used\n  as keys.\n* Changes to the model create new revisions in all\n  affected nodes, which are rolled up as new revisions\n  to the root node.\n* Root revisions can be tagged, tags can be moved\n* The root node by default keeps a rev, but provides\n  a mechanism to purge untagged revs.\n* All branch and leaf nodes auto-purge interim revs\n  not needed. A rev is not needed if no one refers\n  to it.\n* Diffing between revs is supported, it yields RFC6902\n  jsonpatch objects. Diffing can be done between any\n  revs.\n* The main operations are: CRUD (we call them .add,\n  .get, .update, .remove)\n* Get can be recursive to an optionally limited depth.\n* There is support for Read-Only attributes (fields)\n* All CRUD operation support \"path\" based addressing.\n* There is support for an branch/leaf node perspective\n  implemented by ConfigProxy. This proxy, when attached\n  to an arbitrary node in the tree, provides all the\n  CRUD operations in that context, that is, path args\n  are used relative to that node.\n* Transaction support: All mutations made in a transaction\n  are invisible to others until the transaction is committed.\n  The commit is atomic (either all changes are applied\n  to the tree or none). Conflicts between transactions\n  are detected at the per-node level and a conflict\n  results in rejecting the conflicting transaction (first\n  one wins).\n* Registered callbacks: via the proxy objects an\n  observer can register for pre- and post- operation\n  callbacks. Also, there is a post-get callback which\n  can be used to augment stored data with real-time\n  data.\n\nI started hooking up the new config infrastructure to\nVoltha\u0027s CORE, but this is still in progress, as not\nall existing APIs have bee moved over yet.\n\nNote: I also lumped in some experimental files working\nwith \"Any\" types in protobufs\n\nChange-Id: Ic547b36e9b893d54e6d9ce67bdfcb32a6e8acd4c\n"
    },
    {
      "commit": "7b1bab911a9e79da18247746f6b56168d24df049",
      "tree": "745550e2281fe0687c105a7dc3df796196894bd1",
      "parents": [
        "663f01a246b4d377f90465fc7d185dfdfb55ae0f"
      ],
      "author": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Mon Nov 21 14:28:50 2016 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 22 11:22:25 2016 -0800"
      },
      "message": "Updated: Vagrantfile and Makefile required for creating vagrant base image\n\nChange-Id: Idbc0ece27e2541ad4b08f31b6fc37f374cafff3b\n"
    },
    {
      "commit": "663f01a246b4d377f90465fc7d185dfdfb55ae0f",
      "tree": "24f633339434e7a7490857a55aacfc94a55c8abd",
      "parents": [
        "bd24f55a1f337ac7dff2f5ce0d749e0515a0f874"
      ],
      "author": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Thu Nov 17 11:39:02 2016 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 22 11:22:25 2016 -0800"
      },
      "message": "Vagrantfile and Makefile required for creating vagrant base image -\nAlso updating .gitignore file to not to incluse the created\nvagrant base box in the commit\n\nChange-Id: If7508f8c67e47b1cf282eb72cd6e32ba8442312f\n"
    },
    {
      "commit": "bd24f55a1f337ac7dff2f5ce0d749e0515a0f874",
      "tree": "3b9b94c589a09c69bda6ee4ff5cd52250b5fb8ce",
      "parents": [
        "d76880994529ddae378c56b2d2be39925e256d00"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Nov 18 11:31:15 2016 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Nov 18 23:42:26 2016 -0800"
      },
      "message": "This commit consists of:\n1) Differentiate between yang containers and groupings\n2) Handle repeated fields\n3) Add yang list to encapsulate reference to message types\n\nChange-Id: Ideb5bf8c6ff847a580b5e27339f238d463c091f2\n"
    },
    {
      "commit": "d76880994529ddae378c56b2d2be39925e256d00",
      "tree": "56416bead1fcb52e9e8870e5cf8f4b2740f465d4",
      "parents": [
        "57828bded7bba8c13747e637ea2144e7b524a53c"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 17 00:08:57 2016 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Nov 18 23:39:19 2016 -0800"
      },
      "message": "This commit is the initial attempt in converting a protobuf schema\ninto a yang schema. Intructions on how to execute this convertion is\nin the proto2yang.py header.  Test cases to follow.\n\nChange-Id: I7a9273138339bbaf521a2b5eab3e5f1205f79bd0\n"
    },
    {
      "commit": "57828bded7bba8c13747e637ea2144e7b524a53c",
      "tree": "4c8082c7b3cf3d7d96759ea07c96ba7c1c595a0e",
      "parents": [
        "283d76850c48b70e1821ff2366ecedbea50ed8a5"
      ],
      "author": {
        "name": "David K. Bainbridge",
        "email": "dbainbri@ciena.com",
        "time": "Tue Nov 15 17:20:41 2016 -0800"
      },
      "committer": {
        "name": "David K. Bainbridge",
        "email": "dbainbri@ciena.com",
        "time": "Tue Nov 15 17:20:41 2016 -0800"
      },
      "message": "updated to calculate default values for targetRef and targetTag as other projects\n\nChange-Id: I7cd45486b87f7110044c8ed2e5e75b9fd28a33ae\n"
    },
    {
      "commit": "283d76850c48b70e1821ff2366ecedbea50ed8a5",
      "tree": "6a85e6cfa10a9441455c4b96991d356d66a1d172",
      "parents": [
        "94026691258da57f7e3092f4481c025b9122b4b5"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Nov 11 16:37:32 2016 -0500"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Nov 11 16:37:32 2016 -0500"
      },
      "message": "Update the docker command in smoke-test to work with jenkins.   Also, update the test script as the docker-compose file has new service -podder\n\nChange-Id: I06393287f45b67cc029990f3a791ae397bcb0aae\n"
    },
    {
      "commit": "94026691258da57f7e3092f4481c025b9122b4b5",
      "tree": "a1f0dfca14331aeed8492c198d14eff105026f6e",
      "parents": [
        "34e7ebb30f669f3cc98a4be892901b34e9e150f4"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 10 13:52:00 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 10 21:13:14 2016 -0800"
      },
      "message": "Update comment\n\nChange-Id: I04141c95ec0cdb143e25c4f505366ba193be23b5\n"
    },
    {
      "commit": "34e7ebb30f669f3cc98a4be892901b34e9e150f4",
      "tree": "900ef4d14e4cb094686b6427827e7d84843bff94",
      "parents": [
        "96bb532697cce77beb7b63274add74736bf9f26c"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 10 13:38:44 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 10 21:13:14 2016 -0800"
      },
      "message": "This commit consists of:\n1) Remove frameio reference and use run from root instead\n2) Add a smoke-test to be used mostly by jenkins\n3) Limit the kafka docker heap size\n\nChange-Id: I29ef144996a72088b3c5d7d98b1639b6901ab2b8\n"
    },
    {
      "commit": "96bb532697cce77beb7b63274add74736bf9f26c",
      "tree": "0b8fdf6544aba88e8fd1610bf5c77bea07bce1f2",
      "parents": [
        "9d222026a2a72f13737bfc4e9f6fd6ab2066674c"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Nov 09 20:16:03 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 10 21:13:14 2016 -0800"
      },
      "message": "1) Keep only 1 sanity test as part of the jenkins build test, 2) exclude the test_frameio.py test from direct run, 3) set the frameio test to be run within a docker when the itest is invoked\n\nChange-Id: I2388f0465b891b3aba781ce728000dc92d134727\n"
    },
    {
      "commit": "9d222026a2a72f13737bfc4e9f6fd6ab2066674c",
      "tree": "6cc39013a07a5b68558f5b5186a759fd899936bf",
      "parents": [
        "6e0241bdc67cdc2df0b317205c843cac004ab168"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Thu Nov 10 16:11:09 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 10 21:11:36 2016 -0800"
      },
      "message": "Slaves config file is now a jinja2 template\n\nChange-Id: I593ea08f87997dbd99934ad3b34c38c34fe1b824\n"
    },
    {
      "commit": "6e0241bdc67cdc2df0b317205c843cac004ab168",
      "tree": "c8a81bb0e7400b0ec72beca5c270120f6e78d34c",
      "parents": [
        "7941d40d11b0ba83fbcebdc041bc564b4b8f4b84"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 10 18:05:01 2016 -0800"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 10 18:05:01 2016 -0800"
      },
      "message": "Restoring the descriptor.desc file in the chameleon directory\n\nChange-Id: I16992b3d9459b7c240f88947bc78af3cda855674\n"
    },
    {
      "commit": "7941d40d11b0ba83fbcebdc041bc564b4b8f4b84",
      "tree": "96f24da3aa32cab0ac9f56cb8f5b2846e29a8630",
      "parents": [
        "bf8bf28ea87c4c1b0f4a27d63465bac698db2aaa"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Tue Nov 08 00:11:20 2016 +0100"
      },
      "committer": {
        "name": "Ali Al-Shabibi",
        "email": "ali@onlab.us",
        "time": "Thu Nov 10 16:17:13 2016 -0800"
      },
      "message": "Redesign of Podder.\n\nPodder now only listens to events from the docker\napi. Docker event api will use a callback mechanism\nto take action when a container is started or stopped.\n\nAdding Dockerfile for podder and an entry into the\ncompose file.\n\nChange-Id: Ib5735078a69eab3af6076af94bc697ab3e82a239\n"
    },
    {
      "commit": "bf8bf28ea87c4c1b0f4a27d63465bac698db2aaa",
      "tree": "72157b68e1ddb0bfaafa333655ca184e61d672b0",
      "parents": [
        "95b68c5b0b9c7353c78de6e540e85631dac06f4e"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Nov 07 15:21:35 2016 -0500"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 10 11:02:49 2016 -0800"
      },
      "message": "Add simple rpc and some cleanups\n\nChange-Id: Ia779f9ee899fabfe5b685124f8c3b7c28a1110bb\n"
    },
    {
      "commit": "95b68c5b0b9c7353c78de6e540e85631dac06f4e",
      "tree": "095646cc7715410a3fdb415e0d18dca6ecb4b10a",
      "parents": [
        "6618662aee433d3fec1c92b41c4199ed24f53190"
      ],
      "author": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Wed Nov 09 10:17:57 2016 -0800"
      },
      "committer": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Wed Nov 09 10:17:57 2016 -0800"
      },
      "message": "Makefile update\n\nChange-Id: I21a94ec0d2ca5ef457fb025cdef5c82e1c2b73b1\n"
    },
    {
      "commit": "6618662aee433d3fec1c92b41c4199ed24f53190",
      "tree": "5e5fe18dfc4b23c137b8d2bc9deb0ecef87c14a8",
      "parents": [
        "3c74d3b1fc6ad14854fd6d18f37c9b37567889e5"
      ],
      "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": "3c74d3b1fc6ad14854fd6d18f37c9b37567889e5",
      "tree": "7c68c72b8636eb18b9aded4a2b42f93d5c39830d",
      "parents": [
        "0f7eb2b14013793fe40ee0c699220d005d446633"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Nov 08 15:14:01 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 08 16:22:14 2016 -0800"
      },
      "message": "Adding better kafka error handling\n\nChange-Id: I37b90dbf19adb975cd207ed8b359ee02a499e6c2\n"
    },
    {
      "commit": "0f7eb2b14013793fe40ee0c699220d005d446633",
      "tree": "f5037ba892b177781718feee73509e32f08a6b60",
      "parents": [
        "19a7ff748a315e171719fa640996f90500069435"
      ],
      "author": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Tue Nov 08 12:30:12 2016 -0800"
      },
      "committer": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Tue Nov 08 12:30:12 2016 -0800"
      },
      "message": "Fixing ansible syntax issue\n\nChange-Id: I0a97e28b6360749131263d2b0e7fed8e03f5ee48\n"
    },
    {
      "commit": "19a7ff748a315e171719fa640996f90500069435",
      "tree": "d169ea8e88eae1f32f759863a786b63de69bfcd6",
      "parents": [
        "1edb82867fe4828813a9bb7c6a3953b314105a1c"
      ],
      "author": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Tue Nov 08 12:19:20 2016 -0800"
      },
      "committer": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Tue Nov 08 12:21:36 2016 -0800"
      },
      "message": "Revert \"Emergency fix to ansible\" : reverting the changes.\n\nThis reverts commit fa523c636bb0b8446a9a827713731ae8c6de8090.\n\nChange-Id: I1889d82ff36131b12514f36e6e1fd0d3806e0878\n"
    },
    {
      "commit": "1edb82867fe4828813a9bb7c6a3953b314105a1c",
      "tree": "582255fc5cd72aa1cea5c713be95e1ad17c3054f",
      "parents": [
        "fa523c636bb0b8446a9a827713731ae8c6de8090"
      ],
      "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": "fa523c636bb0b8446a9a827713731ae8c6de8090",
      "tree": "523f15968d6b78c746b64fe7d4417cec225d389d",
      "parents": [
        "c61999aa8148b9bf3e08f0e8394f26741cd113ce"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 08 00:35:59 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 08 00:35:59 2016 -0800"
      },
      "message": "Emergency fix to ansible\n\nLook like the with_item \u003cvariable-name\u003e feature is broken in the\nlatest 2.2.0 ansible code. It works fine with previous release\n2.1.0. Inlining the lists instead of referring to the defaults\nworks fine. So inlining the list content is an emergency fix.\n\nChange-Id: Ibb445abe73e6bdc9378bcad0af8c8816e1df6e6e\n"
    },
    {
      "commit": "c61999aa8148b9bf3e08f0e8394f26741cd113ce",
      "tree": "38ea0e24d31c36917eacea643a4b9d57864edc86",
      "parents": [
        "7eeb2b35568aa53c175013d1bec1f84abd928c71"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Thu Oct 27 16:44:27 2016 -0700"
      },
      "committer": {
        "name": "Ali Al-Shabibi",
        "email": "ali@onlab.us",
        "time": "Mon Nov 07 15:09:42 2016 -0800"
      },
      "message": "adding ability to start container and monitor their status\n\nChange-Id: I6cbfcf1046c3d9a452d4177564a6d6c1f3773b2d\n"
    },
    {
      "commit": "7eeb2b35568aa53c175013d1bec1f84abd928c71",
      "tree": "16413cdeb84c641a485484efdc012f288301f9c9",
      "parents": [
        "91350ebd11fc030359a79332bfe18e75da139d54"
      ],
      "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": "91350ebd11fc030359a79332bfe18e75da139d54",
      "tree": "d2307a6b468f41367acc9ecad67674d439a4d21b",
      "parents": [
        "d70cd4de56b7d8b57493a2d1077749d7c58fb3fe"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Nov 05 15:33:53 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Nov 06 13:46:28 2016 -0800"
      },
      "message": "Async frame receive/send module\n\nChange-Id: I75b6ecdecf05f2c72b3b0fa1191d849b7d8e67ef\n"
    },
    {
      "commit": "d70cd4de56b7d8b57493a2d1077749d7c58fb3fe",
      "tree": "af229c5f94e131d7346b739f1cd8bfe845fe5f3a",
      "parents": [
        "0df86c177f6e7f81abcc463ad560e6ea7a93f55e"
      ],
      "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": "0df86c177f6e7f81abcc463ad560e6ea7a93f55e",
      "tree": "03b4864f8aa8c115e5e5aa689dffca8fd5a331e1",
      "parents": [
        "f8abbc992604a3ac08e439ad8449d85178054e75"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 03 23:03:35 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Nov 04 22:05:27 2016 -0700"
      },
      "message": "Internal universal pub/sub event bus\n\nChange-Id: I0f295727add5675bef292f5fd764ecc766239107\n"
    },
    {
      "commit": "f8abbc992604a3ac08e439ad8449d85178054e75",
      "tree": "92f628c0067e8aceae0d80d4818214145b16227b",
      "parents": [
        "4c43525b70b09b2ef7267a984c8fe9dd5ba3aa2f"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Nov 04 19:56:45 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Nov 04 19:56:45 2016 -0400"
      },
      "message": "Adding initial test cases, include enumeration conversion, address review comments\n\nChange-Id: I59a19f80289464c934ad16d2d2ce1c78a6ba6f2c\n"
    },
    {
      "commit": "4c43525b70b09b2ef7267a984c8fe9dd5ba3aa2f",
      "tree": "e1977383b7ff23033f9ae18d8db0b2502b283936",
      "parents": [
        "2bdb6b31e4b86a5ae88fbceb70bd05143cef318b"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 03 23:21:32 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 03 23:21:47 2016 -0400"
      },
      "message": "experiments with converting yang to protobuf with limited types\n\nChange-Id: Icae31cbd779ff6f1efb6b5259e749436a7ee9bbf\n"
    },
    {
      "commit": "2bdb6b31e4b86a5ae88fbceb70bd05143cef318b",
      "tree": "766a1571ac170fc997e1a87829de5f3976e8a94a",
      "parents": [
        "3d565e206c2dc0ac28f3921e1e44e6a865d4fc8c"
      ],
      "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": "3d565e206c2dc0ac28f3921e1e44e6a865d4fc8c",
      "tree": "acce1600e1b736852baae5a23e9d012a54119470",
      "parents": [
        "06854cba6caaaf0f46d8641db7ec42c4ebefe2a7"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 03 10:33:09 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Nov 03 10:33:09 2016 -0700"
      },
      "message": "Import fix\n\nChange-Id: Ic157c4da3343064655b3925a965cdfab3ada809a\n"
    },
    {
      "commit": "06854cba6caaaf0f46d8641db7ec42c4ebefe2a7",
      "tree": "aff9c6926d5ac92b25fd67b02508dff608fe1f09",
      "parents": [
        "0f387e6e73f17af75eb8b8a91fd8ea4d92f26119"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Nov 02 01:29:20 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Nov 02 01:34:58 2016 -0700"
      },
      "message": "Refined OMCI parsing and serialization\n\nChange-Id: I52f5a1fff997c41de51022fc6f8d4293b191994d\n"
    },
    {
      "commit": "0f387e6e73f17af75eb8b8a91fd8ea4d92f26119",
      "tree": "b320eb304806071c0c3258fbaf1ba235df0476cb",
      "parents": [
        "1c3eba81d41fd5ba1b847f74326518b823f7fc3c"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 01 01:57:38 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Nov 02 01:33:34 2016 -0700"
      },
      "message": "Microsemi and OMCI very initial code\n\nChange-Id: Ieb648f43eab3b2dff50093c79ed27b9e40ae130e\n"
    },
    {
      "commit": "1c3eba81d41fd5ba1b847f74326518b823f7fc3c",
      "tree": "6aac793d24bd500ed10378726d073f1d7a84d6c7",
      "parents": [
        "cd22adc23cff59dd5f6a96ec12a5b336036937ec"
      ],
      "author": {
        "name": "Rouzbahan Rashidi-Tabrizi",
        "email": "rrashidi@ciena.com",
        "time": "Thu Oct 27 21:47:18 2016 -0400"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Oct 28 08:41:56 2016 -0700"
      },
      "message": "CORD-479 : Pulling literals out into voltha yaml file\n\nChange-Id: I6f948bac24e6a8f13253592f21de12196888e2e5\n"
    },
    {
      "commit": "cd22adc23cff59dd5f6a96ec12a5b336036937ec",
      "tree": "f8884eee569867f43a28b450a6c2242f458f1221",
      "parents": [
        "862883a240b41c87dc49d956246edd2d37c604e1"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Oct 25 00:13:06 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Oct 28 08:34:51 2016 -0700"
      },
      "message": "Packet in/out streaming from ofagent to core\nGetting ready for packet streaming\n\nChange-Id: I8d70d4d6ffbb23c0d7ab20582e9afac49f9f6461\n\nSupport flow_delete_strict\n\nChange-Id: I5dab5f74a7daddcddfeb8691a3940347cb2fc11b\n\nPacket out halfway plumbed\n\nChange-Id: I799d3f59d42ac9de0563b5e6b9a0064fd895a6f6\n\nrefactored async_twisted\n\nChange-Id: I68f8d12ce6fdbb70cee398f581669529b567d94d\n\nPacket in pipeline and ofagent refactoring\n\nChange-Id: I31ecbf7d52fdd18c3884b8d1870f673488f808df\n"
    },
    {
      "commit": "862883a240b41c87dc49d956246edd2d37c604e1",
      "tree": "aa9de0b8f552a5af4988f5b1092ae509b9a7e6dc",
      "parents": [
        "4e0dc4e737c32566ec530de10034a8b935bf1f55",
        "c67ee3a5374a4adf8ea867d83f581134a3c5b8fb"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Oct 27 13:00:25 2016 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@localhost",
        "time": "Thu Oct 27 13:00:25 2016 -0700"
      },
      "message": "Merge \"WIP: Initial implementation of Podder\""
    },
    {
      "commit": "c67ee3a5374a4adf8ea867d83f581134a3c5b8fb",
      "tree": "261be20ca1c4c11a9c307842f2ff2d2055fd2eb3",
      "parents": [
        "68b9be3860d9ee41bb9a971a7f2215b5ab7d37ea"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Tue Oct 25 23:24:03 2016 -0700"
      },
      "committer": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Tue Oct 25 23:24:03 2016 -0700"
      },
      "message": "WIP: Initial implementation of Podder\n\nPodder is a service which monitors consul registered services\nin order to spin up their dependencies. Dependencies are\nindicated as SERVICE_x_TAGS as a csv. Podder picks those\ndependencies up and spins up specified containers in their own\nnetwork. For example, if a voltha_1 is instantiated\npodder will spin up chameleon_1 and ofagent_1.\n\nChange-Id: I0c1add8530c78fc761e39fe58cf24f14e96c0ba4\n"
    },
    {
      "commit": "4e0dc4e737c32566ec530de10034a8b935bf1f55",
      "tree": "05f68f0a79a26d69554257adedfe8e4e7f9e6629",
      "parents": [
        "6f319a3c3ae8772c80205ec1c5878baeb95ff29a",
        "f309e2c343077daa65aa9943b92ef350a652865b"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Oct 25 23:18:37 2016 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@localhost",
        "time": "Tue Oct 25 23:18:37 2016 -0700"
      },
      "message": "Merge \"Update controller param to the host IP\""
    },
    {
      "commit": "6f319a3c3ae8772c80205ec1c5878baeb95ff29a",
      "tree": "cc80e13dedabf38103939fbd466c4c3d52f717c4",
      "parents": [
        "68b9be3860d9ee41bb9a971a7f2215b5ab7d37ea"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 25 23:06:58 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 25 23:06:58 2016 -0400"
      },
      "message": "Specifying cython version to use\n\nChange-Id: I6c0f03e582c33c57b5a6c7fe5f46429e010dd259\n"
    },
    {
      "commit": "f309e2c343077daa65aa9943b92ef350a652865b",
      "tree": "403b6ed6d43e11fad69df6bdf8f748d44ecd2974",
      "parents": [
        "68b9be3860d9ee41bb9a971a7f2215b5ab7d37ea"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 25 14:36:21 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 25 14:36:21 2016 -0400"
      },
      "message": "Update controller param to the host IP\n\nChange-Id: If550bcf9e85fa92f0847196d1e193b62b5cb34ab\n"
    },
    {
      "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": "9125b1a90ceff0e60c944a6430e8054cf36a0f76",
      "tree": "9be01e5e9cc146403a86b89c68307c2806ff8549",
      "parents": [
        "40f039c39f0fff90a68f7cccf3d772c4e8efcf5d"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 24 22:54:33 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 24 23:00:03 2016 -0700"
      },
      "message": "Fixed two bugs in OpenFlow land\n\nChange-Id: I74f37221d93c71398a1985143f03706297bd1661\n"
    },
    {
      "commit": "40f039c39f0fff90a68f7cccf3d772c4e8efcf5d",
      "tree": "15cbb1f92df75b5cee19a672163c748de61942bc",
      "parents": [
        "428c94292344993a1215c6d9fd7e5a63f9f44da9",
        "8a7743872b15bf3d95d4aaaf1b77bfad40cda35d"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 24 20:57:23 2016 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@localhost",
        "time": "Mon Oct 24 20:57:23 2016 -0700"
      },
      "message": "Merge \"All olt-oftest flow and group commands propagate\""
    },
    {
      "commit": "8a7743872b15bf3d95d4aaaf1b77bfad40cda35d",
      "tree": "43258f000eb932fc7121f523aa0756ecfb77dd49",
      "parents": [
        "023ea7cbbc9482643579b92ab02b3ed104e1f575"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 24 18:25:54 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Oct 24 20:53:40 2016 -0700"
      },
      "message": "All olt-oftest flow and group commands propagate\n\nChange-Id: Iddde6ddddd5a0ca5100ee95d55fedd247ab7f263\n"
    },
    {
      "commit": "428c94292344993a1215c6d9fd7e5a63f9f44da9",
      "tree": "6648ee03b218360f45cf14b3307418ca0ba6a97d",
      "parents": [
        "023ea7cbbc9482643579b92ab02b3ed104e1f575"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Mon Oct 24 17:30:55 2016 -0700"
      },
      "committer": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Mon Oct 24 17:30:55 2016 -0700"
      },
      "message": "adding integration tests to jenkinsfile\n\nChange-Id: Ic425456b03f659d118194731023369b099054124\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": "4ba198966634f48c11a7dfb5590b404b1b2a1f34",
      "tree": "31507ac542ba5feeab51b134e11f921e7de9e7b1",
      "parents": [
        "f6c93b98c993c831edc68757184dcc9476149da9"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Sat Oct 22 18:11:22 2016 +0200"
      },
      "committer": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Sat Oct 22 18:11:22 2016 +0200"
      },
      "message": "substituting mail notification for slack notification\n\nChange-Id: Ic777b7a18691b10bab4475f5a78f230b5da90bde\n"
    },
    {
      "commit": "f6c93b98c993c831edc68757184dcc9476149da9",
      "tree": "64da8fefcc5e07fba6b554fd4e00504d25fe8fef",
      "parents": [
        "ff2373bd093a57697adf511fe4e92146ed53db7a"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Sat Oct 22 17:55:04 2016 +0200"
      },
      "committer": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Sat Oct 22 17:55:04 2016 +0200"
      },
      "message": "updating jenkins file\n\nChange-Id: I6f09c34758924a109ecb7597cb1c45edd93e1959\n"
    },
    {
      "commit": "ff2373bd093a57697adf511fe4e92146ed53db7a",
      "tree": "78f371337df4ee0cf1a17cac8050a8ba09c6a71b",
      "parents": [
        "a226e47d7dea701a141efd14d503f73fd41f3e8d",
        "e39523be566546d3431c26f0bc1bdbecdea1d09e"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Oct 20 20:04:17 2016 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@localhost",
        "time": "Thu Oct 20 20:04:17 2016 -0700"
      },
      "message": "Merge \"Async/streaming gRPC client/server proto\""
    },
    {
      "commit": "a226e47d7dea701a141efd14d503f73fd41f3e8d",
      "tree": "964df434755ddc896c748553f35a4a2507a42ec6",
      "parents": [
        "a54b663f7fe41e222b069bd3ef3e97d3b725d9bd",
        "16bdc1a387770bc8cf3d6d6f3c36e3129e677f3e"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Oct 20 18:33:47 2016 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@localhost",
        "time": "Thu Oct 20 18:33:47 2016 -0700"
      },
      "message": "Merge \"adding Jenkinsfile\""
    },
    {
      "commit": "e39523be566546d3431c26f0bc1bdbecdea1d09e",
      "tree": "1154bf88363a50dacf6d62a54e0752b47d98f5a3",
      "parents": [
        "a54b663f7fe41e222b069bd3ef3e97d3b725d9bd"
      ],
      "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": "Thu Oct 20 18:28:08 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"
    },
    {
      "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": "16bdc1a387770bc8cf3d6d6f3c36e3129e677f3e",
      "tree": "1894f82e957e669600e8af2264bb2c9842132bf2",
      "parents": [
        "da4ef468cbd18c886d50a5af7a4f19e78eda233e"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Tue Oct 18 14:31:32 2016 +0100"
      },
      "committer": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Tue Oct 18 14:43:44 2016 +0100"
      },
      "message": "adding Jenkinsfile\n\nChange-Id: Iab794f79dc290d4b1308ceb7c724f2bd8d1400f5\n"
    },
    {
      "commit": "da4ef468cbd18c886d50a5af7a4f19e78eda233e",
      "tree": "12a5fa948d1e892ab5ff40cc16a5b0ac9f7248af",
      "parents": [
        "37a9bf8598001d303178fa2d481e214501004937"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Oct 17 14:22:51 2016 -0400"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Oct 17 14:22:51 2016 -0400"
      },
      "message": "Remove python-libpcap, add libpcap-dev to ansible.  Remove pypcap from the requirements file\n\nChange-Id: Ic1c17975d2ea7bf4966634e317334136c6dffdde\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": "b4b11afec1145a93b6e61c842be1dda92c5e9fa2",
      "tree": "49ae2edcd2931c41159f8a9196915101716271cb",
      "parents": [
        "676ebbb92b64bb6fe4d50bcfc83a34a36dd4deaa",
        "102332c6842b877cee80e7f03b073697de35eff7"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Oct 15 23:29:07 2016 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@localhost",
        "time": "Sat Oct 15 23:29:07 2016 -0700"
      },
      "message": "Merge \"Basic Linux getting started commands.\""
    },
    {
      "commit": "102332c6842b877cee80e7f03b073697de35eff7",
      "tree": "1238c241012c48042fdf3db90b7c9e2a5da92bbf",
      "parents": [
        "f1c3c031f90419e19725193fb71fe517fdcd8310"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@tibitcom.com",
        "time": "Fri Oct 14 10:39:55 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@tibitcom.com",
        "time": "Fri Oct 14 10:39:55 2016 -0700"
      },
      "message": "Basic Linux getting started commands.\n\nChange-Id: I2f881d817d6251ee9cdbf045d5047a401861e709\n"
    },
    {
      "commit": "676ebbb92b64bb6fe4d50bcfc83a34a36dd4deaa",
      "tree": "72169bc82138da01c0d3078f2741eb5eac342814",
      "parents": [
        "f1c3c031f90419e19725193fb71fe517fdcd8310"
      ],
      "author": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@tibitcom.com",
        "time": "Thu Oct 13 22:16:10 2016 -0700"
      },
      "committer": {
        "name": "Nathan Knuth",
        "email": "nathan.knuth@tibitcom.com",
        "time": "Thu Oct 13 22:16:10 2016 -0700"
      },
      "message": "Adding netifaces pip package.\n\nChange-Id: I94e43bd5726998c89d6f0549e074026e1a5a5f97\n"
    },
    {
      "commit": "f1c3c031f90419e19725193fb71fe517fdcd8310",
      "tree": "37b34c2dceae9c88c04d8ec9586ae4ea95e114a1",
      "parents": [
        "74c1ef0e935e2790848ebab47c0eedd8f5feb45f"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 12 21:58:25 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 12 21:58:25 2016 -0700"
      },
      "message": "Experimental protobuf rendition of OF1.3\n\nThis version happily compiles, but more work is needed:\n- add methods\n- simplify some of the structured (systematically). For\n  instance, many lenth fields are unnecessary in protobuf.\n- Clean file (comments, alignments)\n\nChange-Id: I7e377e874391845b43136a2fcf06380fdc6a4322\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": "d47a5072528fd639d10878fb417c27f1d3339295",
      "tree": "3cddea974bf8bcbd934b8dd329bdf2c2f029d4c7",
      "parents": [
        "bae127558ab82e7d662e20e077415fcaccecd765",
        "220a677dfe60ec9a9a5c74df7d62b3927c737fdf"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 12 10:25:55 2016 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@localhost",
        "time": "Wed Oct 12 10:25:55 2016 -0700"
      },
      "message": "Merge \"Test submit.\""
    },
    {
      "commit": "bae127558ab82e7d662e20e077415fcaccecd765",
      "tree": "83ae8e5895e901ed3467b384e89b92393cdfbade",
      "parents": [
        "c51c065b01038381efb030cc7abdd3fcbe38eb75"
      ],
      "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": "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": "c51c065b01038381efb030cc7abdd3fcbe38eb75",
      "tree": "11202a67640d829c3527c6605d2634a00ac7e9ec",
      "parents": [
        "a4bca4a2db4f0f227568c8c1f4a55b3d18d0b99c"
      ],
      "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": "a4bca4a2db4f0f227568c8c1f4a55b3d18d0b99c",
      "tree": "c170bb1e767ec2bdc0ef53ed36ad6cbbafbb90ea",
      "parents": [
        "da11dd78161aa28756298e2e6ea47d31f5a2ee00",
        "d4226ed3cd4d1f3bd15117ff3b847a8c1ac4b5d9"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Oct 05 18:38:49 2016 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@localhost",
        "time": "Wed Oct 05 18:38:49 2016 -0700"
      },
      "message": "Merge \"Chameleon fault tolerance\""
    },
    {
      "commit": "d4226ed3cd4d1f3bd15117ff3b847a8c1ac4b5d9",
      "tree": "5af094ccd68d23aa5d282e9f21e343d86e805df3",
      "parents": [
        "1504408a3591f5dad8f9bdd85f198f455a5f28fc"
      ],
      "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": "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": "bc601b7042a58b7c1b917c6c4dd20faad6444f71",
      "tree": "4aa7133dfabe62a68010483e9c5cdf0002fdbdaf",
      "parents": [
        "1fc5792b8309ffcc58b2690788bd14763dafd49c"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:47:05 2016 -0700"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:47:05 2016 -0700"
      },
      "message": "Updating the BUILD.md file for the kafka update\n"
    },
    {
      "commit": "1fc5792b8309ffcc58b2690788bd14763dafd49c",
      "tree": "ae79fb868f4b1088b59bf7581aa656123c833295",
      "parents": [
        "b99f0839a8c9ce88127634f507605d065c22e5a7",
        "ea2922cabe441abcf0475445d94cffed0d0fa131"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:20:40 2016 -0700"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:20:40 2016 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://gerrit.opencord.org:29418/voltha\n"
    },
    {
      "commit": "b99f0839a8c9ce88127634f507605d065c22e5a7",
      "tree": "ae79fb868f4b1088b59bf7581aa656123c833295",
      "parents": [
        "b95fe9a29fcd7d38a410bf52d998dd5de566957d"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:20:17 2016 -0700"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:20:17 2016 -0700"
      },
      "message": "Update IP address of kafka consumer\n"
    },
    {
      "commit": "ea2922cabe441abcf0475445d94cffed0d0fa131",
      "tree": "ae79fb868f4b1088b59bf7581aa656123c833295",
      "parents": [
        "b95fe9a29fcd7d38a410bf52d998dd5de566957d"
      ],
      "author": {
        "name": "khen",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:17:31 2016 -0700"
      },
      "committer": {
        "name": "khen",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 05 11:17:31 2016 -0700"
      },
      "message": "Update IP address of kafka consumer\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"
    },
    {
      "commit": "1504408a3591f5dad8f9bdd85f198f455a5f28fc",
      "tree": "9767c43ca22da02a048316e46985b4ceec640524",
      "parents": [
        "034db37f38b01a23ff855a3a7a502e40e9fd002c"
      ],
      "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": "034db37f38b01a23ff855a3a7a502e40e9fd002c",
      "tree": "9292a8c75da35dbaddd632bdc5fa1cae9ec40eaa",
      "parents": [
        "7baf38ae39134b37d984dc0d45bac21b7b019cdb"
      ],
      "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": "7baf38ae39134b37d984dc0d45bac21b7b019cdb",
      "tree": "ba9080c9ec888a2eef85d2e0c3acd8371127a2e1",
      "parents": [
        "4a325d3e07b459f00c1b4e76536374ea07d23457"
      ],
      "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": "4a325d3e07b459f00c1b4e76536374ea07d23457",
      "tree": "e9e2c957debf1ca47cbec7c702ded3b5fef1018f",
      "parents": [
        "4ca1ef7c6f4a4092493c3a9a6b3f85b854fabe0c"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 14:31:41 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 14:31:41 2016 -0700"
      },
      "message": "Updated BUILD.md\n"
    },
    {
      "commit": "4ca1ef7c6f4a4092493c3a9a6b3f85b854fabe0c",
      "tree": "d3df39cc633135ac88ff41ce523394bc07aa96bb",
      "parents": [
        "5cd64703098cf50d2ac0d7a0fadd68d1a5a1587d"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 13:57:26 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 13:57:26 2016 -0700"
      },
      "message": "Removed obsolete buildSrc subdir\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": "4536335b5f70b739e22d789da7a138c05b2bbacc",
      "tree": "03431025b3e8949c9978a9a36bcc93bb09e86de7",
      "parents": [
        "553826cbe02a32148d85444d6cf1a8a9fa3a585f"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 10:32:18 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 10:32:18 2016 -0700"
      },
      "message": "voltha-rest to voltha-health to reflect scope\n"
    },
    {
      "commit": "553826cbe02a32148d85444d6cf1a8a9fa3a585f",
      "tree": "8a87cd98db6d58b559e3bcfbdda711ded9da8d87",
      "parents": [
        "86be6f169288f52d602e5b415fdc80c76df5d0c4"
      ],
      "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": "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": "823620fdba7154224f3070c6cdb2dc406713e718",
      "tree": "267948f68d6249aa7c72646ddc60035d80849e5a",
      "parents": [
        "dcf66242c072454361358d5a23e3df6495dc9ff8"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 08:31:57 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Sep 27 08:31:57 2016 -0700"
      },
      "message": "Schema serving grpc API for introspective clients\n"
    },
    {
      "commit": "dcf66242c072454361358d5a23e3df6495dc9ff8",
      "tree": "1eb354b4c71871062ccca1b41de59dfa81405b68",
      "parents": [
        "0650d1aa1dc187e0de8bc0a0c04b51bdf8f1f37c"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Sep 26 17:36:26 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Sep 26 17:36:26 2016 -0700"
      },
      "message": "Rid pb2_loader hack\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": "7be6241138ccc1876158f3a74056389bfc8aaf02",
      "tree": "5ae25a8b569e890424cdf8b8af33e64176d17fe0",
      "parents": [
        "80259ecd562d1ce15714c859810d5a03fd448c81",
        "361dc59a0f09c6b665f65cbdb31e3c5d2b1ded03"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 22:38:09 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 22:38:09 2016 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://gerrit.opencord.org:29418/voltha\n"
    },
    {
      "commit": "80259ecd562d1ce15714c859810d5a03fd448c81",
      "tree": "d63ff60a572770d2595e190a11599ae20d1016d9",
      "parents": [
        "d9f400fea2b8f1cd90ca2c508840d9b3b35c4845"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 22:38:03 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 22:38:03 2016 -0700"
      },
      "message": "Experimenting with grpc processing\n"
    },
    {
      "commit": "361dc59a0f09c6b665f65cbdb31e3c5d2b1ded03",
      "tree": "221b72695ad4026b98d332926d51348a7169debb",
      "parents": [
        "eb435072c37937b1e6bdc3b30b0e0631c9c570af"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 22:25:23 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 22:25:23 2016 -0700"
      },
      "message": "Getting docker working after grpc added\n\nThis required (unfortunately) at least for now to move to an\nUbuntu image instead of alpine. This is becasue the grpcio-tools\nand grpcio python libs use cython which in turn has some stronger\ndependencies on runtime packages, and we could not yet resolve\nall the issues arising on alpine.\n\nChanges:\n- committed *.desc and *_pb2.py output files so that protoc tools\n  are not needed when building dockerimage\n- moved google protoc extension files (http.proto and annotations.proto\n  to under python source tree. Otherwise they were not copied into\n  the docker image\n- created Ubuntu Dockerfile while we retained the old apline file\n  so that we can resurrect the alpine version later\n"
    },
    {
      "commit": "d9f400fea2b8f1cd90ca2c508840d9b3b35c4845",
      "tree": "53d40a87598b6fbe52f865b1923d71babb9a211d",
      "parents": [
        "162de1768a50801e0996abd77bc9473bb7a7561b"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 17:19:49 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 17:19:49 2016 -0700"
      },
      "message": "Much streamlined protobuf descriptor parsing\n"
    },
    {
      "commit": "162de1768a50801e0996abd77bc9473bb7a7561b",
      "tree": "bf6c61d11ac3d2c59d5378079dadf41071c23fae",
      "parents": [
        "eb435072c37937b1e6bdc3b30b0e0631c9c570af"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 14:49:30 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Sep 25 14:49:30 2016 -0700"
      },
      "message": "GRPC introspection experiment\n"
    },
    {
      "commit": "eb435072c37937b1e6bdc3b30b0e0631c9c570af",
      "tree": "a9498cca90370d92c53854fc9babc31d8b0fe4fa",
      "parents": [
        "d1c9f235279f23db0ca2664d305c8666da360668"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Sep 23 17:10:49 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Sep 23 17:10:49 2016 -0700"
      },
      "message": "Add initial gRPC server\n"
    },
    {
      "commit": "d1c9f235279f23db0ca2664d305c8666da360668",
      "tree": "25df7cfcbae6e9f06b7409b4a703da144b5626c8",
      "parents": [
        "cfd15e5ffaef251e44d0a1c4596fd054bba77a57"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Sep 22 23:18:38 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Sep 22 23:18:38 2016 -0700"
      },
      "message": "Backing out pypcap to save build\n"
    },
    {
      "commit": "cfd15e5ffaef251e44d0a1c4596fd054bba77a57",
      "tree": "c061d6ad1d0faf1a0aed6109a9d9b48d30dbb373",
      "parents": [
        "34a534f75cbbe62314b5313ba48d3b0573503ca3"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Sep 22 23:18:17 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Sep 22 23:18:17 2016 -0700"
      },
      "message": "Avoid sudo in env.sh\n"
    },
    {
      "commit": "34a534f75cbbe62314b5313ba48d3b0573503ca3",
      "tree": "d0cdc62ca2212dcb631225021dfcbf62a93c917e",
      "parents": [
        "13e90ca286cd1734b4d18f9c3d2feb45b27bff89",
        "77fafed2abdc4c13b93fcb568f4b14db26d2bb9a"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 23:29:16 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 23:29:16 2016 -0700"
      },
      "message": "Merge bitbucket.org:corddesign/voltha\n"
    },
    {
      "commit": "77fafed2abdc4c13b93fcb568f4b14db26d2bb9a",
      "tree": "d0cdc62ca2212dcb631225021dfcbf62a93c917e",
      "parents": [
        "3198c045d9072f6b53c45ab85892923933474f65",
        "bcee3e175988df98a702aca7437e994e534fc204"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 23:25:21 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 23:25:21 2016 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of bitbucket.org:corddesign/voltha\n"
    },
    {
      "commit": "3198c045d9072f6b53c45ab85892923933474f65",
      "tree": "2978c5988e45a5912aba5247a4ba96d7984d376d",
      "parents": [
        "8c121b07737407047be66c3ea73259c6d1e934f7"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 23:25:15 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 23:25:15 2016 -0700"
      },
      "message": "Initial README content\n"
    },
    {
      "commit": "bcee3e175988df98a702aca7437e994e534fc204",
      "tree": "f8fd66a223365b50a793a852767f23651f09f826",
      "parents": [
        "8c121b07737407047be66c3ea73259c6d1e934f7"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 23:24:55 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 23:24:55 2016 -0700"
      },
      "message": "Tweak gitignore\n"
    }
  ],
  "next": "8c121b07737407047be66c3ea73259c6d1e934f7"
}
