)]}'
{
  "log": [
    {
      "commit": "91730da3a686e7b2ebb74316aaed366ff58fae81",
      "tree": "70be87f6d78c9965b160e8864d8c6613ca1aa4bd",
      "parents": [
        "83fab675a96de3bb966fe3c5612b7a301948ff89"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Dec 12 12:54:38 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Dec 12 18:27:27 2016 -0800"
      },
      "message": "Reintegrate with olt-oftest\n\n* Added updated notes on how to run voltha with olt-oftest\n  in fake_dataplane mode (for now)\n* Relocated test_flow_decompose to unittest\n* Added new comprehensive unit test for LogicalDeviceAgent.\n  Note that this class covers the following important\n  business logic:\n  * handling flow_mod and group_mod requests coming from the\n    NBI\n  * building route table and default flows/groups tables\n    for the physical devices\n  * performs flow decomposition from the logical device\n    flows/groups to the physical device flows/groups\n  All three functions are covered by tests now.\n* Many small fixes/imporvements pciked up by the tests.\n\nChange-Id: I34d341830e39bec29bcb8a2ed2eaf2027595c0e3\n"
    },
    {
      "commit": "66862035accde9e1dcb32f7c711465d00e543af8",
      "tree": "366f637706444a93514af802d87889d3572073b9",
      "parents": [
        "00d9a842344958e9361aa02f15775f9151b3eab9"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Nov 28 14:28:39 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Dec 07 11:50:29 2016 -0800"
      },
      "message": "Flow decomposition and miscellenous improvements\n\nSpecifically:\n\nThe biggest addition is an initial flow decomposition\nimplementation that splits flows and flow groups\ndefined over the logical device into per physical\ndevice flows, based on a very crude and heuristic\napproach. We expect this part to be much improved\nlater on, both in term of genericness as well as\nspeed.\n\nThe flow decomposition is triggered by any flow\nor group mods applied to a logical device, and it\nconsequently touches up the affected device tables.\nThis uses the POST_UPDATE (post-commit) mechanism\nof core.\n\nThere is also an initial arhcitecture diagram added\nunder docs.\n\nAdditional improvements:\n\n* Implemented metadata passing across the gRPC\n  link, both in Voltha and in Chameleon. This paves\n  the road to pass query args as metadata, and also\n  to pass HTTP header fields back and forth across\n  the gRPC API. This is alrady used to pass in depth\n  for GET /api/v1/local, and it will be used to\n  allow working with transactions and specific config\n  revs.\n* Improved automatic reload and reconnect of chameleon\n  after Voltha is restarted.\n* Improved error handling in gRPC hanlers, especially\n  for the \"resource not found (404)\", and bad argument\n  (400) type errors. This makes gRPC Rendezvous errors\n  a bit cleaner, and also allows Chameleon to map these\n  errors into 404/400 codes.\n* Better error logging in generic errors in gRPC handlers.\n* Many new test-cases\n* Initial skeleton and first many steps implemented for\n  the automated testing for the cold PON activation\n  sequence.\n* Convenience functions for working with flows (exemplified\n  by the test-cases)\n* Fixed bug in config engine that dropped changes that\n  were made in a POST_* callback, such as the ones used\n  to propagae the logical flow tables into the device\n  tables. The fix was to defer the callbacks till the\n  initial changes are complete and then execute all\n  callbacks in sequence.\n* Adapter proxy with well defined API that can be\n  used by the adapters to communicate back to Core.\n* Extended simulated_olt and simulated_onu adapters to\n  both demonstrate discovery-style and provisioned\n  activation style use cases.\n* Adapter-, device-, and logical device agents to provide\n  the active business logic associated with these\n  entities.\n* Fixed 64-bit value passing across the stack. There was\n  an issue due to inconsistent use of two JSON\u003c--\u003eProto\n  librarier, one of which did not adhere to the Google\n  specs which recommend passing 64-bit integer values as\n  strings.\n* Annotation added for all gRPC methods.\n\nAll Voltha test-cases are passing.\n\nChange-Id: Id949e8d1b76276741471bedf9901ac33bfad9ec6\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": "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": "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"
    }
  ]
}
