)]}'
{
  "log": [
    {
      "commit": "5596c191422036fef63050576d30ff595c3db09b",
      "tree": "8799d0a934422db82e26c85d67644670d2056108",
      "parents": [
        "cb8b5976bff644cf1721ceecdbe2aa93a9d9c60a"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip@bcsw.net",
        "time": "Fri Feb 22 13:06:25 2019 -0600"
      },
      "committer": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Mon Mar 04 22:22:04 2019 +0000"
      },
      "message": "VOL-1482: Fix Scapy definition for OMCI GetResponse message\n\nChange-Id: I155ff3f5914b81f9a09aede97c2a7cafc1b088fe\n"
    },
    {
      "commit": "53cc0a2df5e15ad73654ccc45e67fc4ccf67b36a",
      "tree": "8c5980e5fa4cb595551f356e5627e8bb68d4d74f",
      "parents": [
        "dddbd08a132fa557e049e2959296aa32b6e82afc"
      ],
      "author": {
        "name": "Gamze Abaka",
        "email": "gamze.abaka@netsia.com",
        "time": "Thu Jan 31 12:06:11 2019 +0000"
      },
      "committer": {
        "name": "Saurav Das",
        "email": "sauravdas@alumni.stanford.edu",
        "time": "Mon Feb 18 22:36:03 2019 +0000"
      },
      "message": "Flow decomposer support for Tech Profile Reference in metadata instead of using Flow Table ID as reference in Table 1.\n\nAlso in this patch:\n - Update flow count field of meter stats\n - ONU root field was True and because of this flow decomposer was not working properly - it is fixed (now onu root field is false) - related to VOL-1354\n - Meter \u0026 write metadata support is added to vcli\n - No-action (drop) flow support is added.\n - Removed broken wildcard inport support and in-band control support\n - Meter functions (meter stats reply, meter modify etc.) are fixed\n - Metadata information  passed on to the OLT and ONU Adapters.\n - Meter Reference in all Flow Tables passed on to the OLT and ONU Adapters.\n - Fixed unit tests and added more unit tests\n - Fixed ponsim (partially) to deal with changes to flow decomposer\n\nChange-Id: Id4b16fc05a6740a3f521b2cc4f6fdbff88da4fa5\n"
    },
    {
      "commit": "a5e6aa3aecb35639ce709633f7202b47101ce574",
      "tree": "52b4675d87def0d14192deffa3d4b481867e4eca",
      "parents": [
        "e8cbc6f03cfc1e7db7cb2662c4c576a4532aa18f"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip@bcsw.net",
        "time": "Mon Feb 11 12:16:38 2019 -0600"
      },
      "committer": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Fri Feb 15 13:55:51 2019 +0000"
      },
      "message": "VOL-1336: GetRequest task handles table attribute retrival instead of OMCI_CC\n\nChange-Id: Ie948b0603b49a2faed56039f9861a42cc409ec1f\n"
    },
    {
      "commit": "c0e4d3bdaf59b45a9fd38fdafe31a4c07d9aa79b",
      "tree": "a90cf9040c251268fe5eb703fbbfb9bd0fafcc13",
      "parents": [
        "a351f0d822b88b8e570e5b21ac2c512bb33632a9"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Thu Dec 27 13:43:10 2018 -0600"
      },
      "committer": {
        "name": "Donald Newton",
        "email": "donNewtonAlpha@gmail.com",
        "time": "Mon Feb 04 20:37:19 2019 +0000"
      },
      "message": "VOL-1317: Added stop-and-wait support for OMCI Comm Channel\n\nChange-Id: I39b8e27755f5a5355aae74487eb4bfe7fa1388fc\n"
    },
    {
      "commit": "e20da0ea0cd2a5f271afbde3acfb04c207f8279d",
      "tree": "8b3c926519069e3439860e4f8fe401dbb36fac51",
      "parents": [
        "efcdf525860d442033b21e61423ff9ce164f28d2"
      ],
      "author": {
        "name": "Girish Gowdru",
        "email": "ggowdru@radisys.com",
        "time": "Mon Jan 28 20:22:05 2019 -0800"
      },
      "committer": {
        "name": "Saurav Das",
        "email": "sauravdas@alumni.stanford.edu",
        "time": "Wed Jan 30 16:28:42 2019 +0000"
      },
      "message": "VOL-1393: Implement meter features reply\n\nChange-Id: Icbc8b4ac9685baa437b635018047a6a929f633c5\n"
    },
    {
      "commit": "efcdf525860d442033b21e61423ff9ce164f28d2",
      "tree": "cd92b885ed52bacd5021c82c616835fb42489a79",
      "parents": [
        "85855e8445109a2f56014223cb7e6cb814cd4288"
      ],
      "author": {
        "name": "Koray Kokten",
        "email": "koray.kokten@netsia.com",
        "time": "Thu Dec 06 00:16:56 2018 +0300"
      },
      "committer": {
        "name": "Kailash Khalasi",
        "email": "kailash@onlab.us",
        "time": "Tue Jan 29 22:46:58 2019 +0000"
      },
      "message": "VOL-736: Initial Commit. Not Completed yet.\n\nWe will use Existing architecture of Flow Decomposer passing down to both OLT Adapter and ONU Adapter.  The Technology Profile Flow Table ID (range 64-255) and Meter Programming OpenFlow Messages MUST be passed unmodified down to the OLT and ONU Adapters.\n\nChange-Id: Ib4d21d1cc011ac4ceab536946cb727859cb2b525\n"
    },
    {
      "commit": "33d6a8e4e1be63022a1730c4949adcc041e456b3",
      "tree": "1c6d2e31c9350adf4c8e7e17d62cd6df1a4a01aa",
      "parents": [
        "8d811fdb25d643344f7a97175055fb2dc4cad69f"
      ],
      "author": {
        "name": "lcui",
        "email": "lcui@cigtech.com",
        "time": "Tue Aug 28 12:51:38 2018 -0700"
      },
      "committer": {
        "name": "Lin Cui",
        "email": "lcui@cigtech.com",
        "time": "Mon Nov 26 04:36:29 2018 +0000"
      },
      "message": "VOL-184 ONU software upgrade based on OpenOMCI framework\n\n    ** Implement OMCI download software procedure with two state machine:\n    1. Software OMCI downloading state machine\n    2. Activate software image state machine, which includes OMCI software download and OMCI software activation\n    3. Add OMCI message/frames for Start/End/DownloadSection/ActiveImage/CommitImage\n\n    ** Change OMCI_CC.send to support:\n    1. Send OMCI messages without waiting for response (Download Section)\n    2. Add timeout handler to support retry max 3 times on timeout\n    3. Add a clock(reactor) in contructor to support automation test with robotframwork\n       RobotFramework use global reactor to loop run all test cases.\n       It will conflict with the reactor in VOLTHA classes.\n       The solution is to assign a reactor when create VOLTHA classes so that they will share\n       the same reactor and make RobotFramework works.\n       If reactor is not assigned VOLTHA classes will use default global reactor.\n       So it is back-compitable and won\u0027t have impact on other code\n\n    ** OMCI download/activate task are exclusive True to avoid blocking by OMCI PM/Alarm STM/tasks\n\n    ** Log is detailed for debug at current stage; and will improve after functions are fully verified\n\n    ** Add test cases based on RobotFramework\n    1. Test cases for Software download\n    2. Mock Adapter/Mock ONU are used in the test cases\n\n    ** Implement relative commands:\n         img_dnld_request\n         img_dnld_status\n         img_dnld_cancel\n         img_activate\n\nChange-Id: I1796fd694f312378facbcd441bfc15ee7c093d91\n"
    },
    {
      "commit": "ab836e97c15b01312892c83da287294e7228316f",
      "tree": "02534e97ed0ee0e66b9255b94bfacf320032be44",
      "parents": [
        "bb869acd0af7ff887fbb83de72c81f8fb2c45a18"
      ],
      "author": {
        "name": "Girish Gowdru",
        "email": "ggowdru@radisys.com",
        "time": "Thu Oct 25 01:17:57 2018 -0700"
      },
      "committer": {
        "name": "Craig Lutgen",
        "email": "craig.lutgen@tellabs.com",
        "time": "Wed Nov 21 18:07:34 2018 +0000"
      },
      "message": "VOL-1221: OpenOLT Adapter/Driver will use a Technology Profile Instance to create the OLT Upstream and Downstream Queuing and Scheduling Constructs for a Bidirectional Flow.\n\nChange-Id: Iaf1a782529e2c459c586b158bd4f6447f548e004\n"
    },
    {
      "commit": "66dbf62e577669b48a5f6856b8802b32185b6253",
      "tree": "158eec25672e054743e8bb19e9c2dbcd11e08748",
      "parents": [
        "c7890eaafbbb05a18fa2f30e76492fbcb9c9f1c2"
      ],
      "author": {
        "name": "Craig Lutgen",
        "email": "craig.lutgen@tellabs.com",
        "time": "Sun Nov 18 12:24:54 2018 -0600"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Tue Nov 20 19:29:44 2018 +0000"
      },
      "message": "VOL-1333 - OpenOMCI exception caused by missing set-table to ONU and read-table from DB\n\nAdded support to complete the set transaction for an OMCI table attribute. If using\nthe OmcitableField, the omci will automatically handle converting a set of a single row\nand upon completion of the set, cause a table \"update\" to occur to augment the new\nrow into the existing table. The supplier must provide an index() and is_delete() method\nto support determination if the row set() is updating an existing row, deleting\nan existing row, or adding a  new row. Rows are sorted by index() order.\n\nThe ramification is also a change in the query() contract for a table attribute. It now\nreturns a list[] of objects rather than a single scaler object. Presently, this\nonly affects query of the ExtendedVlanTaggingOperationData table.\n\nChange-Id: I2b24f747beb79013f078bbb8c37006e75fda0712\n"
    },
    {
      "commit": "aeb22b288f903db6aff2d11ef26ffbb8cef9f982",
      "tree": "8ef1e17444ec1d94290dd933610d54566e028013",
      "parents": [
        "3f4e1c0483e0ad75849ca1bdc6df236ad6249fb8"
      ],
      "author": {
        "name": "Craig Lutgen",
        "email": "craig.lutgen@tellabs.com",
        "time": "Tue Nov 13 10:05:45 2018 -0600"
      },
      "committer": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Fri Nov 16 01:24:37 2018 +0000"
      },
      "message": "VOL-1311 - OpenOMCI support for ME table attributes using \"get/get-next\"\n\nAdded new scapy field type of OmciTableField that can be used on an ME that\nhas a table attribute. Internal omcc message processing will intercept\nGetResponses for such table attributes and perform an active processing\nof N get-next sequences to the ONU to retrieve the complete table and\nparse into a list of row elements.\n\nUpdated OMCI unit test framework to support timeout and deferred testing\nto verify the get/get-next squence of table reads\n\nRemoved the partial work-around that performed table-set on BRCM onu\nadapter mib-download during ME creation to prevent the table read.\n\nChange-Id: Ia8e6c26eb512a5749592542752d0a58d2ad48866\n"
    },
    {
      "commit": "c37a00650a10338d9a993e6454cd4d405b377615",
      "tree": "834bab438ca14d21d302db89631d8c07731e74ea",
      "parents": [
        "5584d20f5ca2fe5f42eb03c20e977978c510a059"
      ],
      "author": {
        "name": "Craig Lutgen",
        "email": "craig.lutgen@tellabs.com",
        "time": "Fri Nov 09 17:26:16 2018 +0000"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Mon Nov 12 16:38:59 2018 +0000"
      },
      "message": "VOL-1308 - OpenOMCI decode failure for Serial Number in Circuit Pack(#6) and ONU-G(#256)\n\nAdded a new StrCompoundField that supports a composite aggregation of 2 fields to decode the serial number of OMCI that is 4 ascii and 4 binary digits. Representation is a 12 digit value: AAAAxxxxxxxx\n\nChange-Id: I4934cae4746883263453f98080f5fd767d366631\n"
    },
    {
      "commit": "f760147ad9b1e3981ebc98f73001d774bbd3ff45",
      "tree": "7b2a626bd618db33a10eb6ab748e9a26605c4454",
      "parents": [
        "9ea2154491ecd2324cde998ce595c9430a14516b"
      ],
      "author": {
        "name": "Craig Lutgen",
        "email": "craig.lutgen@tellabs.com",
        "time": "Fri Nov 02 13:27:41 2018 +0000"
      },
      "committer": {
        "name": "Craig Lutgen",
        "email": "craig.lutgen@tellabs.com",
        "time": "Mon Nov 05 14:04:24 2018 +0000"
      },
      "message": "VOL-1312 - Resource Manager should not require hard coded vendor/models\n\nChanged extra-args parser to not require any validation checks from\na choice list.\n\nChanged openolt to auto create the extra args from device info if\nnot provided via CLI.\n\nChanged openolt to use model vs vendor as the resource manager\ntechprofile path.\n\nChange-Id: Ib7befc581574abb5c4fb30355f830a9fdafe1b60\n"
    },
    {
      "commit": "8592a239666129c4f167b79fa03189154c210750",
      "tree": "cb607a6ea641d45f5346df6cc1866c3c24ec7912",
      "parents": [
        "65423ce331ffb56ca27e104a85e5a55fe544c4b8"
      ],
      "author": {
        "name": "Koray Kokten",
        "email": "koraykokten@netsia.com",
        "time": "Mon Aug 27 07:41:14 2018 +0000"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 30 15:45:22 2018 +0000"
      },
      "message": "733: Insert the description of the change.Need to support Error Checking for consistency – if Meter Reference made then need Meter to exist first before reference.\n\nIf Flow Table ID does not resolve to a Technology Profile in KV Store generate an error – initial approach to simplify implementation - the Technology for the Profile will not be used to qualify the lookup.\n\nInitially just do OF agent checks which do not need knowledge available in the adapter i.e. Meter Band Reference requires Meter Band definition first. Any Forward References need error checks (OF Error messages).\n\nOF Agent needs to pass through the Meter/Meter Band programming and the Flow Table ID used to reference the Technology Profile.\n\nThe VOLTHA core needs to be able to receive meters from the OFAgent and store them in the appropriate logical device. A new northbound API needs to be added to the core to support this.\n\nChange-Id: Ide776dbcbc04232c1d929a85707fec09e3dedf6f\n"
    },
    {
      "commit": "7ea591a99f0cdbe63eb057574340ce7a65f0b89d",
      "tree": "5af9776cd84ab0b0a313caf257210000a677430f",
      "parents": [
        "424e988acbd5d08865e8ff47adf2378f124dc6be"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Wed Oct 10 14:57:13 2018 -0500"
      },
      "committer": {
        "name": "Donald Newton",
        "email": "donNewtonAlpha@gmail.com",
        "time": "Thu Oct 25 18:17:06 2018 +0000"
      },
      "message": "VOL-722: MIB Resynchronization Task implemented\nTested with Adtran and T\u0026W ONUs\n\nChange-Id: I8bf795ec15b93ddc4693ba84f277d3cc765b2cd0\n"
    },
    {
      "commit": "e95cf0380291a40edcb97e2ec023a8c62f241d46",
      "tree": "fb90fba9d071864b9c5fd7e3425d20e6791e3bba",
      "parents": [
        "5123cfb415b3c10edbb6459f81b61d4343420006"
      ],
      "author": {
        "name": "Dimitris Benis",
        "email": "dimitrios.1.benis@nokia.com",
        "time": "Thu Aug 30 00:27:51 2018 +0300"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 09 15:49:18 2018 +0000"
      },
      "message": "VOL-506: Multiple PON Multicast support. Original correction by Niren Chidrawar.\n\nChange-Id: Ia41dbd8b88d007db96e7773bfc95b78481d9fa13\n"
    },
    {
      "commit": "41f795a2f15eccaccf2e258d36f38dc5b80ac95c",
      "tree": "badb6f760a0f8ea0d30f47adbababaf37aeea403",
      "parents": [
        "f2acbe22c10995238419b67773289b4e461c2af5"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Thu Oct 04 15:45:34 2018 -0500"
      },
      "committer": {
        "name": "Saurav Das",
        "email": "sauravdas@alumni.stanford.edu",
        "time": "Fri Oct 05 20:16:28 2018 +0000"
      },
      "message": "VOL-1237: Fix for OLT Pipeline not providing inner Q-in-Q tag to OLT\n\nChange-Id: Ib1f61f0388a4ae253c140fca3e3170f65b188778\n"
    },
    {
      "commit": "1e77ea0e749cf51b5782cd1863d7f43827a7128d",
      "tree": "0934533f2fb85791e8ab55cb5ff86fb8643118ce",
      "parents": [
        "b2bbc5fc07ba120f7a7ba753d5b6058631d25c5a"
      ],
      "author": {
        "name": "Girish Gowdru",
        "email": "ggowdru@radisys.com",
        "time": "Mon Sep 24 09:10:35 2018 -0700"
      },
      "committer": {
        "name": "Girish Gowdru",
        "email": "ggowdru@radisys.com",
        "time": "Wed Oct 03 23:57:38 2018 -0700"
      },
      "message": "VOL-1233: Change pon resource manager to use blocking KV client library\nVOL-1232: PON Resource Manager allocates same alloc id across different pon ports, and is not acceptable by asfvolt16 platform\nVOL-1245: When OpenOlt device is delete, there is Unhandled error during the deletion of child brcm_openomci ONUs\n\nChange-Id: I3f939cb12e0456b2014a133968a77fba1c4c6e63\n"
    },
    {
      "commit": "58f7a55b2881d4368a53303c3366e09e2d47bada",
      "tree": "59a38a3735ff3c89d4451dd8bdc96b25ab16e171",
      "parents": [
        "50432883e13e5eca7db2bc67cffd4c6b298462d3"
      ],
      "author": {
        "name": "Matt Jeanneret",
        "email": "mj3580@att.com",
        "time": "Tue Oct 02 07:00:27 2018 -0400"
      },
      "committer": {
        "name": "Shad Ansari",
        "email": "shad@opennetworking.org",
        "time": "Tue Oct 02 16:26:38 2018 +0000"
      },
      "message": "VOL-1254 Revert \"VOL-1162 Delete old revs and old transaction branches\"\n\nThis reverts commit 7211c70f6b044667daa5affe1a3441085734d065.\n\nChange-Id: Idf7a1c31dcb20c4949f650f1dc0323ddde72b754\n"
    },
    {
      "commit": "141ced8550a21d718aee36e6ce0cf0700f5194f5",
      "tree": "694bd1cb1080265492ae628ad20e3376ba748193",
      "parents": [
        "db9a86eeeacac1bce757c81b622f7237187c65f5"
      ],
      "author": {
        "name": "Girish Gowdru",
        "email": "ggowdru@radisys.com",
        "time": "Mon Sep 17 20:19:14 2018 -0700"
      },
      "committer": {
        "name": "Girish Gowdru",
        "email": "ggowdru@radisys.com",
        "time": "Mon Sep 17 20:19:14 2018 -0700"
      },
      "message": "VOL-948: Implementation of ResourceManager module and corresponding changes in OpenOlt adapter\n\nChange-Id: I7df8226ea1a13198f1be1e15838c69cd54890239\n"
    },
    {
      "commit": "db9a86eeeacac1bce757c81b622f7237187c65f5",
      "tree": "e07eb6f6a8097f6191a55e64eab58f7149ab040c",
      "parents": [
        "4ca78b58ebeb388c02068806dd074bc8b509c779"
      ],
      "author": {
        "name": "Richard Jankowski",
        "email": "rjankows@ciena.com",
        "time": "Mon Sep 17 13:33:29 2018 -0400"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Sep 17 19:01:52 2018 +0000"
      },
      "message": "VOL-1183: OFagent cannot reach vcore after vcore moved to different node in cluster\n\nTwo gRPC calls made by OFagent\u0027s ConnectionManager, Subscribe and ListLogicalDevices, actually\nrun in the Twisted reactor thread. On rare occasions, either call never returns when the vcore\nconnected to the OFagent dies. Because the blocking gRPC runs in the reactor thread, the entire\napplication is blocked and cannot detect comms errors with the deceased vcore. The handling  of\nthese gRPCs has been moved to the OFagent\u0027s internal GrpcClient, which wraps all gRPC calls in\nthe twisted.internet.threads.deferToThread function.\n\nChange-Id: Ifa3479a3cbca7ae8d7f5e2ca0372e22507d5e4b9\n"
    },
    {
      "commit": "4ca78b58ebeb388c02068806dd074bc8b509c779",
      "tree": "f96f2566f7d31c56e178bde1336a7077f07dc6ec",
      "parents": [
        "c68b3add917e61b8ac735e7095c5c7b4d0e57759"
      ],
      "author": {
        "name": "Shad Ansari",
        "email": "shad@opennetworking.org",
        "time": "Mon Sep 17 15:33:07 2018 +0000"
      },
      "committer": {
        "name": "Shad Ansari",
        "email": "shad@opennetworking.org",
        "time": "Mon Sep 17 18:10:05 2018 +0000"
      },
      "message": "Revert \"VOL-948: Implementation of ResourceManager module and corresponding changes in OpenOlt adapter\"\n\nThis reverts commit f134c71f3b45765850995c66c3c8dbd7180fc405.\n\nChange-Id: I96b6fe11db25302de3ea8e4a40ed5aba78e8730b\n"
    },
    {
      "commit": "f134c71f3b45765850995c66c3c8dbd7180fc405",
      "tree": "178aa02cdc5cd069f6f5dca4c4ff26953b343781",
      "parents": [
        "83dedc1a0ca383bafe0d9a9989028c3553c1daf6"
      ],
      "author": {
        "name": "Girish Gowdru",
        "email": "ggowdru@radisys.com",
        "time": "Mon Aug 27 04:11:07 2018 -0700"
      },
      "committer": {
        "name": "Girish Gowdru",
        "email": "ggowdru@radisys.com",
        "time": "Mon Sep 17 06:22:05 2018 -0700"
      },
      "message": "VOL-948: Implementation of ResourceManager module and corresponding changes in OpenOlt adapter\n\nChange-Id: Ie55ca23e975cf640cce094948a06ab5e12834895\n"
    },
    {
      "commit": "5b435649d73f109ba578588352b54bb9238cce39",
      "tree": "7a434222ff6be7021911565f3a883489fd4491e1",
      "parents": [
        "3d7abcced71b0f67d11ca028907803494a0b0a1e"
      ],
      "author": {
        "name": "Jonathan Hart",
        "email": "jono@opennetworking.org",
        "time": "Mon Aug 20 08:50:05 2018 -0700"
      },
      "committer": {
        "name": "Nicolas Palpacuer",
        "email": "np202g@att.com",
        "time": "Fri Sep 14 16:28:22 2018 -0400"
      },
      "message": "Handle flows to trap DHCP and LLDP on NNI port\n\nChange-Id: I1801ff00023f35ad7a8710378667d8462a69af7e\n"
    },
    {
      "commit": "dce68943d0a6d85d2850b739cebac851ae6cf453",
      "tree": "0167c3aab8c96c2e358b673ae8d0957bbccf4f5d",
      "parents": [
        "856d3affe8111d150df2e7b70451e7e5fd3acdd4"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Wed Sep 12 09:54:37 2018 -0500"
      },
      "committer": {
        "name": "Donald Newton",
        "email": "donNewtonAlpha@gmail.com",
        "time": "Fri Sep 14 15:12:05 2018 +0000"
      },
      "message": "VOL-1212: Deprecated alarm, avc, and test result message queues\n\nChange-Id: Icb4da4fd23484b2375f6e776fa665bea7f3d5dad\n"
    },
    {
      "commit": "7211c70f6b044667daa5affe1a3441085734d065",
      "tree": "4706d3011390d1ac86dea0007ac738e566cfcc3d",
      "parents": [
        "2488e4797f7bd85cdfa5b92af7faf44c94a9f9fb"
      ],
      "author": {
        "name": "Nicolas Palpacuer",
        "email": "np202g@att.com",
        "time": "Wed Aug 15 11:30:11 2018 -0400"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Sep 11 20:38:26 2018 +0000"
      },
      "message": "VOL-1162 Delete old revs and old transaction branches\n\nChange-Id: I731a9ea0b365b80b59788cae21eff993a498bd3a\n"
    },
    {
      "commit": "a279a1c65075e6f93140995d831ea1ccfa43905e",
      "tree": "7878c10ebb6271f4bd7ae0091286dbba45fd59bd",
      "parents": [
        "41141352b77cc55be0f1cbb9c5bc5901039d1cda"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip@bcsw.net",
        "time": "Wed Aug 29 15:18:13 2018 -0500"
      },
      "committer": {
        "name": "Donald Newton",
        "email": "dn8474@att.com",
        "time": "Fri Sep 07 14:13:02 2018 +0000"
      },
      "message": "VOL-945: Added support for OpenOMCI Task watchdog\n\nChange-Id: Ie81031183db159514f00bcf764ab484d19335ddb\n"
    },
    {
      "commit": "55a2f13d3f102359d83a00a796b9d5472d3e1cd1",
      "tree": "4940781992871a584003751f073a90ab69efffe3",
      "parents": [
        "08cc818a2e0419d9736c34976ea0a3e48f040f0b"
      ],
      "author": {
        "name": "Jeff",
        "email": "jeffvan159@gmail.com",
        "time": "Sun Aug 05 21:10:41 2018 -0700"
      },
      "committer": {
        "name": "Jonathan Hart",
        "email": "jono@opennetworking.org",
        "time": "Wed Aug 22 10:36:11 2018 -0700"
      },
      "message": "VOL-1077 added NNI port and management port distinction\n\nChange-Id: Ie24e05aa927661bb9a227d04e565018ce5523cd6\n"
    },
    {
      "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": "170630c73d05bb295b6a527868d46e1de749426a",
      "tree": "3a73b745e8d937c5365f13357d8f4f17de2659e2",
      "parents": [
        "33f1a8272f711f03ff0e8ff8ecd6eb700a7c81fb"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Mon Jun 11 12:03:55 2018 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Jun 14 19:34:10 2018 +0000"
      },
      "message": "VOL-943: Fix for event publish loop dropping subscribers\n\nChange-Id: I96ca0a5bf0b06ee12140966dbfb0a15290e130df\n"
    },
    {
      "commit": "281558639f3346babe5481da7a22a4d0ca75c4bd",
      "tree": "31c2eaeb2cf5bca4431ee1b5c88086ae1ebd24cd",
      "parents": [
        "4069a510492cd707a32cb1078df1de861ddbb66d"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Thu Jun 07 11:13:39 2018 -0500"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Thu Jun 07 11:13:39 2018 -0500"
      },
      "message": "VOL-702: ONU OMCI Capabilities state machine and tasks\n\nChange-Id: Ie3f653742fc67372f26bc69f732d553285de3d93\n"
    },
    {
      "commit": "4069a510492cd707a32cb1078df1de861ddbb66d",
      "tree": "d1bec6c8adae87d908c8142d6ac163b0428cc2d3",
      "parents": [
        "cf735ac7c83dd5ae42cbc1d1bade94f61277947b"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Wed Jun 06 15:51:38 2018 -0500"
      },
      "committer": {
        "name": "Donald Newton",
        "email": "dn8474@att.com",
        "time": "Thu Jun 07 15:23:45 2018 +0000"
      },
      "message": "VOL-868: Improved MIB Database for created ME instances\n\nChange-Id: I37ff1eeb97c819166d78bcd4fdd518716cfb9b9c\n"
    },
    {
      "commit": "bcda369c7ca5aa1a03b1b170b8ba51caaf7219e7",
      "tree": "9e343ab060278c6efe64a77aaed089c0919fd734",
      "parents": [
        "f75c58050fbacdce44ec63b6d85fc83950744358"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Wed May 30 15:45:28 2018 -0500"
      },
      "committer": {
        "name": "Donald Newton",
        "email": "dn8474@att.com",
        "time": "Tue Jun 05 18:24:04 2018 +0000"
      },
      "message": "VOL-703: Improvements to OpenOMCIAgent add_device call, and more unit tests\nready for review\n\nChange-Id: Iec40e507c63bc1823576a7255af23add32cb651a\n"
    },
    {
      "commit": "6be0036a67909fd6fa8ce56ff607df3a35869c69",
      "tree": "0081472c601f2248aa525d9be13a1d56953501bb",
      "parents": [
        "da93ac6505c1a8df7e08a3269bbeb234fe981062"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Wed May 30 10:15:41 2018 -0500"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Fri Jun 01 16:16:13 2018 +0000"
      },
      "message": "VOL-805: Add support for partially decoding unknowm Managed Entities (MEs)\n\nChange-Id: I28f70d46ee5f0ed97adb8309e32c6331dcacdfc5\n"
    },
    {
      "commit": "4c06db92395199c87d07aa909aa330093e4163e9",
      "tree": "6f32b5fbf2842b94262618392d9da149d1510663",
      "parents": [
        "47b74379442126c8c9ff18a885809f9ef27cca91"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Thu May 24 15:02:26 2018 -0500"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Tue May 29 16:34:15 2018 +0000"
      },
      "message": "VOL-775: Decode of VLAN Tagging Filter Data ME is invalid\n\nChange-Id: Iad560baa1e9c864ee97262a07f4904b6d4604fb0\n"
    },
    {
      "commit": "f60a532f5cdcba1328c8c9c7a15e51ab46f11b8b",
      "tree": "7685c17d71938630219f557f24d63197bfceb6bb",
      "parents": [
        "dd9daf524c83b3d49920fe114ae63234386f217e"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Tue May 15 09:03:02 2018 -0500"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Thu May 24 18:47:31 2018 +0000"
      },
      "message": "VOL-788: Fix size of max-frame-size attribute\nAdded option flag and constraints to the bridge_ip_ind attribute\n\nChange-Id: I8a01cba88a5efbe3bc7d581f91c47e9f12d16eec\n"
    },
    {
      "commit": "bed4c6bd3f4030a3b55faccd3149a73b3fe56aa5",
      "tree": "9acb3734c20169374dc04610a76636846828b6ec",
      "parents": [
        "cd2e8ffa4f88bf6dbb4b724bf81ec7cea2c871c8"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Wed May 09 08:52:16 2018 -0500"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Mon May 14 20:28:26 2018 +0000"
      },
      "message": "VOL-697: Improvement to MIB database output - prep for MIB Audit work\nTry to get jenkins label now that omci_entities.py conflict resolved\n\nChange-Id: Ic553172087a6b64811cd7372f837a71270df9320\n"
    },
    {
      "commit": "9b7a11a1068d9a0aab5137c447b278955d7a595f",
      "tree": "51b5f1e24333d0255b1cda3762c6cf135f03959a",
      "parents": [
        "8f1b2530d4af1829bc4076d49e7419ba92e70706"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip@bcsw.net",
        "time": "Sun Apr 15 13:33:21 2018 -0500"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Sat Apr 21 13:57:33 2018 +0000"
      },
      "message": "VOL-649: Support MIB Upload Next with sequence numbers \u003e 255\nCorrected parameter range typo in OntDataFrame documentation\n\nChange-Id: Ic578bd2741d16b034298f3a1d685b8966dee685d\n"
    },
    {
      "commit": "c7d3e2dabc14f1413f2772563532957513eafb7a",
      "tree": "a30ea43a4a106ba396f60f124ece65e5ecdc73e2",
      "parents": [
        "086476ddd994d186f1d7e93ae51c75aa7efc98ed"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Fri Apr 06 10:16:29 2018 -0500"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Fri Apr 13 14:34:08 2018 +0000"
      },
      "message": "VOL-609: OpenOMCI External MIB Database and unit-tests\nadded OpenOMCI protobuf reference to config persist startup\n\nChange-Id: Ie285b1a030b7ea8bfb6cdb6713100dba3c2f3ccc\n"
    },
    {
      "commit": "61c2e9814b3fed34c3b9a0124690f8f54b145ff6",
      "tree": "39b52572d946e6bc10bd12e80ce855dbf33b4346",
      "parents": [
        "3b67e335b91ec1efd547d2111195337b05952354"
      ],
      "author": {
        "name": "Gamze Abaka",
        "email": "gamze.abaka@netsia.com",
        "time": "Wed Feb 14 11:03:36 2018 +0000"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Apr 05 13:55:56 2018 +0000"
      },
      "message": "When we use voltha-onos docker, onos sends clear_actions instruction to voltha ofagent component. voltha ofagent component doesnt handle this instruction type and creates an exception:\n20180124T125506.456 ERROR of_protocol_handler.handle_flow_mod_request\n{e: \u003cclass \u0027loxi.of13.instruction.clear_actions\u0027\u003e, event: failed-to-convert, exception: Traceback (most recent call last): File \"/ofagent/ofagent/of_protocol_handler.py\", line 122, in handle_flow_mod_request grpc_req \u003d to_grpc(req) File \"/ofagent/ofagent/converter.py\", line 52, in to_grpc return converter(loxi_object) File \"/ofagent/ofagent/converter.py\", line 244, in loxi_flow_mod_to_ofp_flow_mod instructions\u003d[to_grpc(i) for i in lo.instructions]) File \"/ofagent/ofagent/converter.py\", line 51, in to_grpc converter \u003d to_grpc_converters[cls] KeyError: \u003cclass \u0027loxi.of13.instruction.clear_actions\u0027\u003e, instance_id: compose_ofagent_1}\nAs a conclusion, we see the flows at pending_add state when we check them at Onos cli.\n\nChange-Id: Icde46ba15dccaa2d25920d5d5d104baf88bdd22b\n"
    },
    {
      "commit": "2a059957ce331407f6ce39a02b2a569fc2e79df7",
      "tree": "ce147c6a035907926a10437d583868c6030829bf",
      "parents": [
        "ab8863d55c260fbe8106f1daec4efab031176d2e"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Mon Mar 12 15:50:00 2018 -0500"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Fri Mar 23 18:21:17 2018 +0000"
      },
      "message": "VOL-610: OpenOMCI MIB Sync and Task Runner\nVOL-610: Bug fix and cleanup based on internal review and test\n\nChange-Id: Icd27826d34b2cc188b278eeb0a78264a58fafeb3\n"
    },
    {
      "commit": "793093d0566f8c54bae31e5e25a7d2a5f3b27a8a",
      "tree": "1b59d14f80a5a7a8399d3baf4e8781f8b4166495",
      "parents": [
        "1b2478e7dca1bb32c4da6c557533a773b941f043"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Tue Feb 27 10:08:55 2018 -0600"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Fri Mar 02 20:14:18 2018 +0000"
      },
      "message": "VOL-635: Initial unit tests for OpenOMCI\n\nChange-Id: Iecc0f08ba89dd46736d8e5d2aff177566f60e41b\n"
    },
    {
      "commit": "72bbcfe2e1bc59cf7cf729311348eeb255b6e2cf",
      "tree": "d50d528d03d31cb0dc99cefd6e50bc8ae41a6409",
      "parents": [
        "d7921b7d4412e90a186d92511f46d9197c04d212"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Wed Feb 14 14:27:59 2018 -0600"
      },
      "committer": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Tue Feb 27 15:58:45 2018 +0000"
      },
      "message": "VOL-607: OpenOMCI OMCI_CC and MEFrame class support\nFixed bug found during unit test create\n\nChange-Id: Ib939681ebf81618af95b3597c3311526626aaebf\n"
    },
    {
      "commit": "e2e64a08ddd7672897688dd2964a0016c824a07b",
      "tree": "0ebbf40264ef05ef5fde262c44dfe56a32735a70",
      "parents": [
        "d445438eff7f10faaa5bdf0ed5f8cb67438aee47"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Tue Feb 06 12:58:07 2018 -0600"
      },
      "committer": {
        "name": "Kim Kempf",
        "email": "kim.kempf@radisys.com",
        "time": "Mon Feb 12 23:42:17 2018 +0000"
      },
      "message": "VOL-605: OpenOMCI Existing ME Review\n\nChange-Id: I1ed375df92e72298adbfe8bdd04822db762a9dea\n"
    },
    {
      "commit": "6168721033d3cc77401ac829d37edd86bece67bf",
      "tree": "6fefe5950368b060f6a169cc0bb85e39373f8711",
      "parents": [
        "c3c291c685a780732ec3c1aff82e04647a1ffb83"
      ],
      "author": {
        "name": "Girish",
        "email": "ggowdru@radisys.com",
        "time": "Mon Jan 08 12:48:58 2018 +0530"
      },
      "committer": {
        "name": "Shad Ansari",
        "email": "shad@opennetworking.org",
        "time": "Tue Feb 06 18:16:53 2018 +0000"
      },
      "message": "VOL-182: ONU Remote Reboot support for Broadcom ONU\nVOL-551: VOLTHA core needs to replay device flows to adapter during reconcile\n\nChange-Id: I23a1ad136e0be3ac6899a7c033df0e1b070f38fb\n"
    },
    {
      "commit": "764e12f686f0939628cdb1f4225b42ba27821653",
      "tree": "05c2c48d2e7ba0d7d5fbb3dee7e6ecaf8665b1c6",
      "parents": [
        "106b60a62c348522802884f5f58ae2161a53ab4b"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Sat Jan 20 15:52:43 2018 -0600"
      },
      "committer": {
        "name": "Kim Kempf",
        "email": "kim.kempf@radisys.com",
        "time": "Thu Feb 01 22:44:35 2018 +0000"
      },
      "message": "VOL-597: Added OMCI Autonomous Message definitions (Alarm, AVC, \u0026 Test Results)\n\nChange-Id: I2fd8ee359061bca3563bccd2ed44973ed3683cc9\n"
    },
    {
      "commit": "c9d89206c5c7bd85fa27518b9fd0e7b61bd24a7f",
      "tree": "8afbade78346446c564e1ae367479dee79179712",
      "parents": [
        "0910489e517c1803f83c88cd7d5e0bf0a9f1e00c"
      ],
      "author": {
        "name": "Richard Jankowski",
        "email": "rjankows@ciena.com",
        "time": "Thu Jan 25 10:25:10 2018 -0500"
      },
      "committer": {
        "name": "Richard Jankowski",
        "email": "rjankows@ciena.com",
        "time": "Thu Jan 25 13:51:06 2018 -0500"
      },
      "message": "[8055]\nThis update adds kubernetes deployment files for the OFagent and fluentd services.\n\nThe OFagent calls get_my_containers_name with the assumption that the HOSTNAME\nenvironment variable contains the docker container\u0027s ID, which does not appear\nto be the case for kuberbetes. In kubernetes a container\u0027s HOSTNAME is its pod\nname. Feeding a kubernetes pod name into the docker API used by\nget_my_containers_name triggers an exception. This is the reason behind the\ncode changes to OFagent.\n\nThe kubernetes config files in this submission still use the old image naming\nconvention. The names in these and all the other kubernetes deployment files\nwill be changed to conform to the new convention in a separate update.\n\nChange-Id: I3eecfdcc8bba070ffe3e7372f195cf15f0cdcd56\n"
    },
    {
      "commit": "8be8384ef55d1e109c2f5d61c41f1f4953377ff2",
      "tree": "c590a5caa64e677bab2685264181bc5096f1342b",
      "parents": [
        "e2c08101b855b3c4221f0215acb24a498cf521e0"
      ],
      "author": {
        "name": "Chip Boling",
        "email": "chip.boling@adtran.com",
        "time": "Mon Sep 18 18:06:37 2017 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Nov 01 08:32:52 2017 -0700"
      },
      "message": "VOL-419: Flows not passed to Device Adapter if more than one PON Port\nChanged flow to use requested priority per Nokia comment\n\nChange-Id: I1ba954d56dbb65e4773b35a9df4a424458df4263\n"
    },
    {
      "commit": "549ec048c582071cb3e29700a483a643c7238861",
      "tree": "8fae7624dd12a9bbe4811b6ef948502e63378bdb",
      "parents": [
        "079a7760d770217636b712f03781d370434252f4"
      ],
      "author": {
        "name": "Rachit Shrivastava",
        "email": "rachit.shrivastava@nokia.com",
        "time": "Wed Oct 18 21:58:07 2017 -0400"
      },
      "committer": {
        "name": "Niren Chidrawar",
        "email": "niren.r.chidrawar@nokia.com",
        "time": "Mon Oct 30 13:35:19 2017 -0700"
      },
      "message": "VOL-474 UTEST for VOL-470 Support VENET as open flow port\n\nChange-Id: I5e9577af1c0f9b7cc15924cba7d86f71c2f6eaf7\n"
    },
    {
      "commit": "079a7760d770217636b712f03781d370434252f4",
      "tree": "3ce5659254b22479208f4b69450451d78118d120",
      "parents": [
        "48a6235250ce3f9a6eb7174959a0c924ff828db6"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Oct 26 21:42:05 2017 -0400"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Oct 27 10:41:28 2017 -0700"
      },
      "message": "[6683] Removing unnecessary files and update gitignore\n\nVOL-507, VOL-463: Protobuf upgrade to 3.3 and Chameleon Removal\n\nUpdate the Protobuf version from 3.1 to 3.3 to alleviate\na protobuf issue when loading protobuf extensions.  The following\ntests have been performed:\n- Create a local Vagrant VM\n- Voltha ensemble startup and check for errors/exceptions\n- Manual compilations of the protos in voltha, ofagent, netconf and\nchameleon directory\n- Manual tests with ONOS/Voltha/Ponsim using Netconf, Curl and CLI\n- Run the integration tests (known issues have Jiras already raised\nagainst them.\n- Run the make jenkins-test and make utest-with-coverage\n\nChameleon has been removed entirely from Voltha projects. Basic tests\nhave run to verify chameleon dependency has been removed.  Some\ndocuments (like README) will need to be changed under a separate Jiras\nas they are referenced in different adapters.  Some integration tests\nwill also need to be updated as well.\n\nChange-Id: I2b266719a6825fb07ece3a79f7f81881ab3b9761\n"
    },
    {
      "commit": "23ac35c693a85196afbf3cb9a54fe7282affd3e0",
      "tree": "0c4ec6f88c7fbeafedd257236acbdc2618cc2e21",
      "parents": [
        "a2a46ae472cf348c9a7d1bac38831b673a9883ba"
      ],
      "author": {
        "name": "sathishg",
        "email": "sathish.govindasamy@radisys.com",
        "time": "Sat Oct 14 03:21:43 2017 +0530"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Oct 26 12:14:17 2017 -0700"
      },
      "message": "VOL-276: Fix for Failing OMCI \u0026 OFAGENT utests\nAddressed review comments\nChange-Id: I4d08c842e0a4dadba7aa09420490f1c29310fa31\n"
    },
    {
      "commit": "0a0ac4a3fba266504a5375500b3f99eda99dbe0e",
      "tree": "49242a17831db58e2ec5c451f5ba2a47bc7cd29d",
      "parents": [
        "61a127900de639ed45abf5daef7ebda91b0b65b6"
      ],
      "author": {
        "name": "Gertjan Van Droogenbroeck",
        "email": "gertjan.van_droogenbroeck@nokia.com",
        "time": "Fri Sep 29 12:21:14 2017 +0000"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Oct 04 08:25:15 2017 -0700"
      },
      "message": "VOL-490 Add ETH_TYPE and IPV4_DEST fields to match_fields of decomposed flow rule for device\n\nChange-Id: Ia0c4327b33c892146747250149158b0df3fdaaf2\n"
    },
    {
      "commit": "8e435b4d324deeff014cc1bc0111198cd59ad705",
      "tree": "a74c06f767103f37d7236f18ad624f1ac2e3eef8",
      "parents": [
        "63ce1b48b50fd42f12ca9c7c9d1e332db40a987a"
      ],
      "author": {
        "name": "Rachit Shrivastava",
        "email": "rachit.shrivastava@nokia.com",
        "time": "Tue Aug 08 23:15:26 2017 -0400"
      },
      "committer": {
        "name": "Rachit Shrivastava",
        "email": "rachit.shrivastava@nokia.com",
        "time": "Tue Aug 08 23:27:33 2017 -0400"
      },
      "message": "VOL-351: Assign unique ID to Channelgroup xPON object for HA\n\nChange-Id: I14bb71dde475aaaafc7c8b53ec9fbc3d1a3dc3cc\n"
    },
    {
      "commit": "239af45581d3257852d75634f483533af94e4bae",
      "tree": "2f078cbaf90a2e3fc954a1e107e40fbe93f3c493",
      "parents": [
        "0d83c942b92df2633ee2f987cb11ff8d535980da"
      ],
      "author": {
        "name": "sathishg",
        "email": "sathish.govindasamy@radisys.com",
        "time": "Thu Jul 13 16:27:46 2017 +0530"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Jul 18 06:03:52 2017 -0700"
      },
      "message": "Minor fixes\nAddressed review comments and included README\nChange-Id: Idd3e0cec03eca280a93fff8244f5f885b2322239\n"
    },
    {
      "commit": "bbb9099842759a0904349d4a79930b148feb259a",
      "tree": "6446934a01156d34acf0b43014ecc60c26b42aae",
      "parents": [
        "29dd1987b0e63d3ba500b8cb92aafd0b0a1b13c9"
      ],
      "author": {
        "name": "sathishg",
        "email": "sathish.govindasamy@radisys.com",
        "time": "Fri Jun 23 09:52:29 2017 +0530"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Jun 29 06:33:49 2017 -0700"
      },
      "message": "Commit to support OF Version negotiation\nhttps://jira.opencord.org/browse/VOL-38\nAddressed review comments\nChange-Id: Ia731e7da3167dec01d87c6c61f1e37c96bffd55d\n"
    },
    {
      "commit": "cc73678ec078bcc0046345ace35c7ebfa4c37fb3",
      "tree": "383baa69aaab60782fce7a2c2c2bd95dfdfa4948",
      "parents": [
        "980a091aac891262c1069ad06577459ffe1f5a6d"
      ],
      "author": {
        "name": "sgovinda",
        "email": "sathish.govindasamy@radisys.com",
        "time": "Tue May 02 20:06:37 2017 +0530"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed May 17 05:35:01 2017 -0700"
      },
      "message": "https://jira.opencord.org/browse/CORD-824\n\nSupport for connecting multiple controllers in voltha provided.\n\nAddressed review comments patch 7\n\nChange-Id: I2d2375c7754014743c305a0f3841debe5eb3e795\n"
    },
    {
      "commit": "02af133b6be2e9569ff9de77bc5aba3e26be768c",
      "tree": "5b12704958f02c1185beddfa05225a9b285951b5",
      "parents": [
        "85150c22c9ce37c83f8e6ef6e6edbb10f06417f8"
      ],
      "author": {
        "name": "Matteo Scandolo",
        "email": "matteo.scandolo@gmail.com",
        "time": "Thu Apr 27 10:22:35 2017 -0700"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue May 02 10:49:04 2017 -0700"
      },
      "message": "[CORD-1136] Added test for swagger url\n\nChange-Id: I751fa89d330dd4fee3b7e25de28820e4408831b8\n"
    },
    {
      "commit": "56b3647f59d7bafd43629ac5e291f5b042c71172",
      "tree": "3497a2dbcab92afe16e30bc932ab7773d60fe42e",
      "parents": [
        "58c37e4ab5e35cd75275dd6c9737e809813a16f9"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Mar 08 15:32:42 2017 -0500"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Mar 08 15:32:42 2017 -0500"
      },
      "message": "Fixes a deadlock issue when both a model change and a notification of\nthat change is in the queue.\n\nChange-Id: I76554242b45f90c474fc772572820b9cdde16df2\n"
    },
    {
      "commit": "db68629abeec9789518df88c27b5af949266d936",
      "tree": "0d74f7f0a90b6b8e52b06fe5317c5a33cec5b5a7",
      "parents": [
        "29e75501f84d665edff75934ed010b029b46edb1"
      ],
      "author": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Mar 07 22:50:58 2017 -0500"
      },
      "committer": {
        "name": "Khen Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Mar 07 22:50:58 2017 -0500"
      },
      "message": "Updating test case to prevent build failure\n\nChange-Id: I6ed52453d854bf620973b2c5fdd85ad8a341559e\n"
    },
    {
      "commit": "fa007ce93f674a5c83dcda9529d4297d5239ce70",
      "tree": "43388a5da93fd2abdf9417aae95bcd1f65492243",
      "parents": [
        "7a1e4b70a29272d2630d8de45541f1d86c55cd74"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Wed Feb 22 22:19:51 2017 -0800"
      },
      "committer": {
        "name": "Ali Al-Shabibi",
        "email": "ali@onlab.us",
        "time": "Mon Mar 06 09:31:58 2017 -0800"
      },
      "message": "Impl of config events.\n\nChanges to the config store are advertised on the event bus\nunder the \u0027model-change-events\u0027 topic which is forwarded kafka.\n\nChange-Id: Iad019b866eedb9e53a3ea9c70434afc7ec96d548\n"
    },
    {
      "commit": "bf974d075d763651a0a28c6cdd2d8b1365be6dd7",
      "tree": "413d56fa618436eeea5f19d3afc794647e609836",
      "parents": [
        "e52a64380ec28cc4a8d394be531f9987fab72454"
      ],
      "author": {
        "name": "Ryan Van Gilder",
        "email": "rvangild@ciena.com",
        "time": "Fri Feb 24 15:01:22 2017 -0800"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Sat Feb 25 06:52:05 2017 -0800"
      },
      "message": "Fix persisted config data generating different hashes and tags not being persisted\n\nData loaded from the key value store could generate different hashes depending on the order python decides to give us keys back\nEverytime tags are updated, push the tag to the datastore if one is provided and properly load the tags back\n\nChange-Id: I148c01b13009a038187c4aeec3080b105a7d8956\n"
    },
    {
      "commit": "b9a5f75b53ac16778403ff43a7e4593e28c92f2c",
      "tree": "19ed7b27a9c79d7e505b13c64e4449caff9bf79d",
      "parents": [
        "353630d18c0d771c12a2b1607b92917eefd8de1f"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Feb 11 06:07:08 2017 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Feb 11 06:20:31 2017 -0800"
      },
      "message": "Inject per-ONU metadata field for unicast flows\n\nThis is a CLI change to mimic a useful ONOS behavior when generating\nlogical flows for the PON. Specifically, ONOS injects a metadata\nfield in each flow rule for unicast downstream traffic, namely into\nthe first of the two flow rules handling the outer tag. The metadata\nvalue is the vlan id of the inner tag. Without this metadata there\nis no easily accessible information as to what inner tag that flow\nis meant for.\n\nThis metadata value can be considered as a \"hint\" by the OLT adapters\nto tie a downstream flow rule to a specific PON link/channel.\n\nThis is not an elegant solution, in that it slightly misuses the\nmetadata field. The more proper long-term solution would be to either\nmodel the PON channels explicitly as flow ports, or use phys-port/port\npairs (the former representing the PON port itself, and the other\nrepresenting the logical channel/link on the PON.\n\nIt is recommended to switch to the cleaner solution at a later time.\n\nChange-Id: I2a461014d697d01010101010101052609d742d04\n"
    },
    {
      "commit": "29a3ed534787a4c529d07c25bd516bdb2f4947c7",
      "tree": "5eda757c0eddbe5483d924fc22398d07e373b83e",
      "parents": [
        "16c0da7336a39e06c1f90be9c07c9341c2fff5c3"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Mon Jan 23 14:29:21 2017 -0800"
      },
      "committer": {
        "name": "Ali Al-Shabibi",
        "email": "ali@onlab.us",
        "time": "Mon Jan 23 15:58:39 2017 -0800"
      },
      "message": "Reviving the unit tests\n\nThis commit also lays the ground work:\n    - coverage reports from unit tests\n    - enabling per commit tests\n\nChange-Id: I1115600c3f4b213a73197b40750dd29f7c17aef1\n"
    },
    {
      "commit": "6692773f8cd1cce44100c02fc14bdb5796bd2c2d",
      "tree": "ef5ed333bcade50f549c1f34c6286cfe1ad577eb",
      "parents": [
        "59f1ffff01bc2df6abf24fff6ffa3c51efb6920e"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sat Jan 14 16:50:59 2017 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Sun Jan 15 20:52:26 2017 -0800"
      },
      "message": "Fix memory usage meter for Linux\n\nChange-Id: I761a8964f5ede89bb0db601fa2acf8d5f175f199\n"
    },
    {
      "commit": "f4fb2684c2d58bb665fe4351572d071173cfb491",
      "tree": "cc2e94f9084fd39ab3fbf5c507170650f892dd41",
      "parents": [
        "8afd69809e45b480973dda168d0281fa7d8e10f6"
      ],
      "author": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Thu Jan 12 00:32:56 2017 -0600"
      },
      "committer": {
        "name": "alshabib",
        "email": "alshabibi.ali@gmail.com",
        "time": "Thu Jan 12 00:32:56 2017 -0600"
      },
      "message": "fixing support for group desc stats\n\nChange-Id: I3d0d9c22e05e58b13b0fdc92fbc672590bb3dd18\n"
    },
    {
      "commit": "3578a1c3ac3c9898acff32b1e8b940ef18ceac1e",
      "tree": "428c3eb476abaac4ca390972e0990340c3836d78",
      "parents": [
        "6a5107c865a46df9a6c778d8d34e300621232264"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Jan 10 15:29:02 2017 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Jan 10 20:20:30 2017 -0800"
      },
      "message": "Expand field/action conversion scope of ofagent\n\nOfagent did not parse all fields back from protobuf to lexi,\nhence ONOS was not able to confirm downloaded flows. This\nmade her unhappy.\n\nAlso, DHCP config info is added to ONOS netcfg.json.\n\nChange-Id: I57ac5d3b4d14c8c52feb52e08bb420c15809238e\n"
    },
    {
      "commit": "313c4be4cfc0b0e1bb2551efed6489333b195bfb",
      "tree": "e93dd6433c6cf3b9623d4bcf1934ec9f311e45f7",
      "parents": [
        "32d1efb995aa1285901c43b12837f8eed9d5e810"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Dec 27 11:06:53 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Dec 27 19:18:15 2016 -0800"
      },
      "message": "Integration with Nathan for Tibit packet in (raw)\n\nChange-Id: I0fb9a2b020eae9b45da7db4bc68a6ed98835e5db\n"
    },
    {
      "commit": "7507ab8b72f0448cc4949c0674ab4a081c04c2a1",
      "tree": "53510283bb244503a6485e7cbc3380b99a562127",
      "parents": [
        "8925d1f5bcd3da4db9c8872214cae32eb7bc5844"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Dec 20 22:33:38 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Dec 21 22:00:02 2016 -0800"
      },
      "message": "Minor omci test cleanup\n\nChange-Id: I97bef92b28d1a5082856cdfb7cbd16c8fb35ec70\n"
    },
    {
      "commit": "578a46c5ca344a475f0d78c99aafcf3c7dcaa67e",
      "tree": "e496253907587509dd021a9c6d37a85909842772",
      "parents": [
        "627cf96fe1a441bb9e70147e663431b1e885f2c6"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Dec 20 16:38:43 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Dec 20 20:46:22 2016 -0800"
      },
      "message": "Additional OMCI entity types with tests\n\nChange-Id: Iee18c73705dabf555824c9d3980dc82bf5dd1ae2\n"
    },
    {
      "commit": "e3ece3ca8f50803e7b1d7eb25aca3c692f90448f",
      "tree": "ffa5cdd23f850737a7091e279daebc23290f10d8",
      "parents": [
        "217a12eb75007ad814269eb4b8e63108c0d81845"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Dec 19 23:32:38 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Dec 19 23:32:38 2016 -0800"
      },
      "message": "Added OMCI message parsing tests\n\nChange-Id: Ic864446241c3507dcfb389c7e774d0aa79de3b55\n"
    },
    {
      "commit": "e0acd8fdf327b8b54cb36a2000eacd424ad80a65",
      "tree": "b749eb31095778d89e3c0ae0b62f16098d24dfc8",
      "parents": [
        "653b1b458e32528d46ce9b24b751331465ef5131"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Fri Dec 16 14:53:55 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Dec 19 11:06:18 2016 -0800"
      },
      "message": "OMCI library expansion\n\nIncludes:\n- Minor refactoring to accommodate increased codebase\n- Support and test for all requests expected to be used\n  for the Broadcom ONU with Maple\n- Much increased coverage for OMCI message types\n- Many new entity types defined now\n\nChange-Id: Ib0a1c396276b194a0aa08bede3b00b95a6a22d1e\n"
    },
    {
      "commit": "c69bd218e5111c58ba37bf3ab459d17d16fabbdd",
      "tree": "1456a95979feccfa35e0d70d78d69163e3da4b69",
      "parents": [
        "afafff33a17ba803b241a938903723e1af46b169"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Dec 13 15:13:41 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Dec 13 15:13:41 2016 -0800"
      },
      "message": "Adjust priority to collapse flows\n\nChange-Id: I41ff03788f0d9483bbdd33808c42d42dc52c248b\n"
    },
    {
      "commit": "afafff33a17ba803b241a938903723e1af46b169",
      "tree": "7a13e67fc2f71d9a617e8596aaf0beebfecbdd82",
      "parents": [
        "91730da3a686e7b2ebb74316aaed366ff58fae81"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Dec 12 23:14:09 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Dec 12 23:14:09 2016 -0800"
      },
      "message": "Comprehensive flow tables splitting test\n\nChange-Id: I255bdb7f984e97ff1820f17921c8c2a018500f32\n"
    },
    {
      "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": "00d9a842344958e9361aa02f15775f9151b3eab9",
      "tree": "5a0d7a3202a5abef970fe6f870d91e908258a498",
      "parents": [
        "ee8d0b50900f0f40f2170f6c74d85b1ffffa59d8"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Nov 23 11:18:23 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Wed Dec 07 11:50:29 2016 -0800"
      },
      "message": "Major rework of gRPC handling (do not merge yet)\n\nIncludes the following chages:\n\n* Refactored proto files\n  - separation of logical devices vs devices\n  - common flow related message types moved to openflow_13\n  - most RPC is defined in voltha.proto now\n* Expanded RPC definitions to cover now most of what we\n  need (a few device provisioning RPCs are still missing)\n* Reworked RPC handlers to work with new config tree\n* Implemented test cases for all existing RPCs, tested via\n  chameleon\u0027s REST service\n* Did away wih the OrderedDict internal representation\n  in the config nodes (3x performance boost on bulk\n  add, and negligible penalty in other ops)\n* Refactored transacton merge handling to align with\n  new structures\n\nChange-Id: I3740ec13b8296943b307782e86e6b596af78140e\n"
    },
    {
      "commit": "b706784b2101bd75737299d44f4d19b2cf53bb1c",
      "tree": "b3f2c56c4db302f93a0b3ff8dd0c64e36355bb25",
      "parents": [
        "b49dda9f2fe1d97e40efdf88fa523fc12c0f6abc"
      ],
      "author": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Tue Nov 22 18:11:53 2016 -0800"
      },
      "committer": {
        "name": "Zsolt Haraszti",
        "email": "zharaszt@ciena.com",
        "time": "Mon Nov 28 00:52:54 2016 -0800"
      },
      "message": "Initial take on persistence support via k/v stores,\n\nThis is the initial mechanisms for persistence, supported\nby a k/v store. In the initial testing the k/v store\nis mcoked by a simple (in-memory) dict, but the concept\nwill carry to external, replicated, distributed k/v\nstore options, such as cassandra, redis, or even\nconsul for small-scale deployments.\n\nChange-Id: I83d2bbb327c4516fbc15d1d9979a1e89d3e7a7e7\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": "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": "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": "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": "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"
    }
  ]
}
