)]}'
{
  "log": [
    {
      "commit": "41513bfe35218ffd6964e54cb468a4671688b516",
      "tree": "bc7f84f459de0b0ce59253edc519014c37313401",
      "parents": [
        "16138de840ace426ef58d10011b73bc4cca88336"
      ],
      "author": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Sat Jul 07 20:08:35 2018 -0700"
      },
      "committer": {
        "name": "Zack Williams",
        "email": "zdw@opennetworking.org",
        "time": "Sat Jul 07 22:45:38 2018 -0700"
      },
      "message": "Fixes to pass license check\n\nChange-Id: If9a17321030490c70d9a8fdd49adfe8b912c6fe7\n"
    },
    {
      "commit": "89a27307b78281fa7d90a2518aec81723927ffdd",
      "tree": "b1c85bcd0a0475c88b7516739d30e38a5f4ab798",
      "parents": [
        "29d10af098e4b77b9e8636ffccb4589423e1c357"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Thu Dec 08 16:53:06 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Dec 10 12:03:38 2016 -0800"
      },
      "message": "Improved FrameIO support and proxy messaging\n\nSpecific changes:\n- FrameIO support for Mac OS X (making testing easier)\n- Message passing between root and child devices implemented\n  (example use in simulated_olt and simulated_onu adapters\n- Making FrameIOMgr accessible via registry so that modules\n  can easily reach it\n- Making \"main\" to be a registered component so that command\n  line args and config file based info is accessible to all.\n- Minor clean-ups and improvements\n\nChange-Id: I6812dd5b198fef5cb19f17fc8d7948d3fba8b625\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": "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": "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": "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": "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": "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": "4284eb0ad5a6716d39420add4f15b3b2ed2e3bd1",
      "tree": "a9bce65faad3b66c33886b26443a59f5eb2e0a01",
      "parents": [
        "fe7e778942781b68669a9e6eea99673cfc203d0b"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 16:30:17 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Sep 21 16:30:17 2016 -0700"
      },
      "message": "Small fix in env.sh\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": "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": "61732d4b0611f1721aaeab587f7d5133d54889d6",
      "tree": "5b9b77f14750f63cef5417a531937f3a0e9187a7",
      "parents": [
        "e060a7d35b6e75eb66a51f61681915bf5f0b14cf"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Sep 16 15:06:30 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Sep 16 15:06:30 2016 -0700"
      },
      "message": "Fixed spelling in env.sh\n"
    },
    {
      "commit": "e060a7d35b6e75eb66a51f61681915bf5f0b14cf",
      "tree": "3b43577206ae704d5fb71b3146742f261fff4798",
      "parents": [
        "519f856e6019ab49fb62515a54855a3481d112ab"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Sep 16 11:08:24 2016 -0700"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Sep 16 11:08:24 2016 -0700"
      },
      "message": "Membership ephemeral entry and initial leader election\n\nAlso:\n- env.sh to load what\u0027s needed for dev\n- refactored main\n- async consul client instead of blocking\n"
    }
  ]
}
