)]}'
{
  "log": [
    {
      "commit": "6f9b10e999d1153f72a97be09cc3eeaff609b4e6",
      "tree": "8ad07135a427832d403a7fccd59db883bfe7795a",
      "parents": [
        "03686da30f3430f4393a93f8377c93840fca5f32"
      ],
      "author": {
        "name": "Girish Gowdra",
        "email": "girish@opennetworking.org",
        "time": "Thu Mar 11 14:36:39 2021 -0800"
      },
      "committer": {
        "name": "Girish Gowdra",
        "email": "girish@opennetworking.org",
        "time": "Thu Mar 11 14:57:32 2021 -0800"
      },
      "message": "VOL-3896: ONU fails to activate on Disable/Enable OLT\n- Pass child device struct in Child_device_lost API call\n\nChange-Id: Iacb3f51487bc0d1d2ce63009e5c191eed44705f9\n"
    },
    {
      "commit": "03686da30f3430f4393a93f8377c93840fca5f32",
      "tree": "7d0d47c9737defa802416725c49cc6807d15fe81",
      "parents": [
        "b3ba79c5e310c12bc1a0f7b9e97f8909ad3a87c6"
      ],
      "author": {
        "name": "Matteo Scandolo",
        "email": "matteo.scandolo@gmail.com",
        "time": "Tue Mar 09 13:16:55 2021 -0800"
      },
      "committer": {
        "name": "Matteo Scandolo",
        "email": "matteo.scandolo@gmail.com",
        "time": "Tue Mar 09 13:16:55 2021 -0800"
      },
      "message": "Fixing log level for successful image download\n\nChange-Id: I7494b633ff58b9468da9574608e865698dbfecc6\n"
    },
    {
      "commit": "ff2d73a81fb09765ab6d542ce568005effc56542",
      "tree": "2ca365b57033b6e4f45dcf996990efd1c0fb8225",
      "parents": [
        "a4e4e0099a832519ab3b1df14c91a7b542d9909e"
      ],
      "author": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Thu Mar 04 14:47:17 2021 +0100"
      },
      "committer": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Thu Mar 04 16:57:40 2021 +0000"
      },
      "message": "[VOL-3891] Avoid runtime error due to missing packet Id\n\nChange-Id: I21b29fa34df7c0e01c81df1a343e4b9bfa5483b3\n"
    },
    {
      "commit": "a4e4e0099a832519ab3b1df14c91a7b542d9909e",
      "tree": "2dc34b3e36ab76cab9d22386af09729fd87ea65b",
      "parents": [
        "9d7ddcbaea36203ff6d5b6d5d9c492a52735fcb2"
      ],
      "author": {
        "name": "Esin Karaman",
        "email": "esin.karaman@netsia.com",
        "time": "Tue Mar 02 10:42:16 2021 +0000"
      },
      "committer": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Thu Mar 04 08:42:18 2021 +0000"
      },
      "message": "VOL-3887 Device data (logical\u0026physical) fetched from device agents instead of KV store.\n\nChange-Id: I6c5b05595b13fade37edc9cf68306b1a991427cc\n"
    },
    {
      "commit": "9d7ddcbaea36203ff6d5b6d5d9c492a52735fcb2",
      "tree": "f87e8c3fe99ee7f986f75aaec0b432ddc4a397f1",
      "parents": [
        "d27a190c73bd080614efbf703b4b114ed5184867"
      ],
      "author": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Wed Mar 03 10:34:15 2021 +0100"
      },
      "committer": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Wed Mar 03 16:21:11 2021 +0100"
      },
      "message": "Lowering packet-in log to debug\n\nChange-Id: I2b216bd78a38dfd4a13f87833b027cd37153b828\n"
    },
    {
      "commit": "d27a190c73bd080614efbf703b4b114ed5184867",
      "tree": "40aa8b08452e10a054cf1fd888078704f674d0f3",
      "parents": [
        "3614a92abbadac0e10b8c82dbf121014e8147dbc"
      ],
      "author": {
        "name": "Girish Gowdra",
        "email": "girish@opennetworking.org",
        "time": "Tue Feb 23 16:19:08 2021 -0800"
      },
      "committer": {
        "name": "Girish Gowdra",
        "email": "girish@opennetworking.org",
        "time": "Tue Mar 02 15:21:13 2021 -0800"
      },
      "message": "VOL-3874: DevicePmConfig has to updated to DB in the rw-core only on success response from adapter\n\n- also revert to using github.com/golang/protobuf version 1.3.2\n\nChange-Id: I149c48a61a8858169bd0903e6092376796dae212\n"
    },
    {
      "commit": "3614a92abbadac0e10b8c82dbf121014e8147dbc",
      "tree": "9b932bb80c5fd7c43acbdf78513a37dad92135df",
      "parents": [
        "a496f85b033f22eb06b18f403fd1cb39f20d7e8b"
      ],
      "author": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Thu Feb 25 12:40:42 2021 +0100"
      },
      "committer": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Fri Feb 26 14:59:31 2021 +0000"
      },
      "message": "Fix transitions for image_download and activation\n\nChange-Id: I713ada52eef9d275c7d7596026e178c7382e8335\n"
    },
    {
      "commit": "a496f85b033f22eb06b18f403fd1cb39f20d7e8b",
      "tree": "db17a567046ae4fffcb2291726596e87af4f1d03",
      "parents": [
        "c431f2c4d1153ec0a76a124249810807ff9628ed"
      ],
      "author": {
        "name": "Maninder",
        "email": "maninder@ciena.com",
        "time": "Mon Feb 22 09:57:56 2021 +0530"
      },
      "committer": {
        "name": "Maninder Singh",
        "email": "maninder@ciena.com",
        "time": "Fri Feb 26 13:48:56 2021 +0000"
      },
      "message": "Fixing issue of failing test case in case of consecutive device delete\n\nChange-Id: I3b43002587929b6c8840314b58e8e02b4b259efd\n"
    },
    {
      "commit": "0351077b3735365872d7f537487c2328cf96c6e9",
      "tree": "b9bc75fc9494006060ef893e57850690f73541b6",
      "parents": [
        "c05c4c4c6e561de8431e3bacfd68d1f1072e993f"
      ],
      "author": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Wed Feb 17 12:48:49 2021 +0530"
      },
      "committer": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Thu Feb 18 01:05:33 2021 +0530"
      },
      "message": "VOL-3841 panic during error in flow delete + some context change for rpc events\n\nChange-Id: Ic76de4c5a9dada610f67bd156e4f0641fb4a34b0\n"
    },
    {
      "commit": "c05c4c4c6e561de8431e3bacfd68d1f1072e993f",
      "tree": "47c0a719e745ea0fce01ba449897688a1fc5dbaa",
      "parents": [
        "b4c25916f6108280baf8131890ec00d482e58954"
      ],
      "author": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Thu Feb 11 10:25:28 2021 +0100"
      },
      "committer": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Mon Feb 15 13:34:32 2021 +0100"
      },
      "message": "[VOL-3830] Correct image state update on failure\n\nChange-Id: I35328884417fe2b55924b0c0412c6b8180672425\n"
    },
    {
      "commit": "b4c25916f6108280baf8131890ec00d482e58954",
      "tree": "109e9b8376ebaff2de63bbf81348960f1a1e8372",
      "parents": [
        "40af27097265b5a5dacd7eb831254b713b567fc0"
      ],
      "author": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Thu Nov 12 17:16:38 2020 +0530"
      },
      "committer": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Mon Feb 08 11:29:03 2021 +0530"
      },
      "message": "VOL-3501 Code changes to support rpc event\n\nChange-Id: I2536c0c03faa5fb026349c906ebef46323398e9a\n"
    },
    {
      "commit": "40af27097265b5a5dacd7eb831254b713b567fc0",
      "tree": "04f24a68ff6edfa0f60c89617ef5a4856a3df737",
      "parents": [
        "025667ec714b36b3c45ecd83d88eca68ef670bf6"
      ],
      "author": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Wed Jan 27 15:06:30 2021 +0530"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Jan 29 18:31:51 2021 +0000"
      },
      "message": "Make sure all events for logical device are sent before its deletion to avoid race conditions\n\nChange-Id: I5fcbc8e2c176cf866f8e7f68d1da777d6f0b573c\n"
    },
    {
      "commit": "025667ec714b36b3c45ecd83d88eca68ef670bf6",
      "tree": "130c5a5b9af9cbebc3028e5e7797a6e4c2431906",
      "parents": [
        "4afb2f0d698889c81c7888b3a780ecd067d11546"
      ],
      "author": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Thu Jan 14 11:50:07 2021 +0100"
      },
      "committer": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Fri Jan 29 17:41:05 2021 +0100"
      },
      "message": "[VOL-3762] Updates to allow image download and update for the ONU\n\nChange-Id: I0869307e3ef534c1d506b961d61a1ec6f5e13c2e\n"
    },
    {
      "commit": "4afb2f0d698889c81c7888b3a780ecd067d11546",
      "tree": "1bb9cd95b5576e48f4cea81d4dd3f8915c4e0a92",
      "parents": [
        "a61a72c31c0ba45076698929bdf2829df23cfb4d"
      ],
      "author": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Fri Jan 29 09:38:57 2021 +0100"
      },
      "committer": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Fri Jan 29 15:37:15 2021 +0000"
      },
      "message": "[VOL-3776] Wrong openflow error message caused disconnection from controller, thus miss removal of data for subscribers\n\nChange-Id: I108177947f0972b4e56a63d39cb1ac1231c6e317\n"
    },
    {
      "commit": "f421da685d3daf0b9f02b8f8de952ca885b0374b",
      "tree": "a4500cbbdd25bb68c6db644936eb163c406b9492",
      "parents": [
        "12cf55fc1da0344dd602459fe9dfdd4ba63f6413"
      ],
      "author": {
        "name": "Maninder",
        "email": "maninder@ciena.com",
        "time": "Fri Dec 04 11:44:58 2020 +0530"
      },
      "committer": {
        "name": "Maninder Singh",
        "email": "maninder@ciena.com",
        "time": "Wed Jan 06 05:09:33 2021 +0000"
      },
      "message": "VOL-3505 Send an ofp_error_msg on flow add/delete error\n\nChange-Id: I3791d4ab7ae0f7730f52988234d0c99af2cea75f\n"
    },
    {
      "commit": "12cf55fc1da0344dd602459fe9dfdd4ba63f6413",
      "tree": "b5f33f600e905f70161c48554f185264044b3126",
      "parents": [
        "49f681271949b514372ed43a40a9c092dcdcd192"
      ],
      "author": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Wed Dec 16 17:55:03 2020 -0800"
      },
      "committer": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Wed Dec 16 17:55:03 2020 -0800"
      },
      "message": "VOL-3721 rw-core should send reconcile message to the related adapter only\nThe devices with the restarted adapter type are only considered for the reconciliation.\n\nChange-Id: Ifc8a5d95356a0dc7c37426edb8174744178be411\n"
    },
    {
      "commit": "1cf9504380a3047dd69f84a886f78aab2bc8c966",
      "tree": "5f508546ff48a7db08f492dc41e873ade135ee2b",
      "parents": [
        "2ba1c9c2293f8898cbb6c477da235f68c850e93d"
      ],
      "author": {
        "name": "Salman Siddiqui",
        "email": "salmansiddiquimailbox@gmail.com",
        "time": "Thu Nov 19 00:42:56 2020 +0530"
      },
      "committer": {
        "name": "ssiddiqui",
        "email": "salmansiddiquimailbox@gmail.com",
        "time": "Sun Dec 06 23:01:48 2020 +0530"
      },
      "message": "VOL-3616 Support for API to retrieve information (example UNI) from an ONU\nThis commit implements extension service, which includes handling of the GetExtValue and SetExtValue APIs\n\nChange-Id: I537160af5b70eccef77a8bc11235af3b50f9a513\n"
    },
    {
      "commit": "2ba1c9c2293f8898cbb6c477da235f68c850e93d",
      "tree": "8319a818b85a92f748fae17d7ae11aae061f733e",
      "parents": [
        "a4c8145ba24502d6fcc4cb0b46f6083e858c02f6"
      ],
      "author": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Wed Oct 07 13:19:03 2020 +0530"
      },
      "committer": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Tue Dec 01 07:46:04 2020 +0000"
      },
      "message": "VOL-3504 Code changes to support force delete\n\nChange-Id: I041ab2101a607b99e0372e432819a3f10f3a774c\n"
    },
    {
      "commit": "dfadc98b001385d143a73bfa7893826f8aa739bd",
      "tree": "03ce0d6c422ec63a0ad3be57d6f4951df35e09b4",
      "parents": [
        "6268631d72fe5dc0f745aec435da64ec056c6a05"
      ],
      "author": {
        "name": "Maninder",
        "email": "maninder@ciena.com",
        "time": "Wed Oct 28 14:04:33 2020 +0530"
      },
      "committer": {
        "name": "Maninder",
        "email": "maninder@ciena.com",
        "time": "Wed Oct 28 14:34:09 2020 +0530"
      },
      "message": "VOL-3589 Update voltha go to support new version v4 of voltha protos\n\nChange-Id: I32074b5c05b08f8ebd2205f8dc2af225bff465cc\n"
    },
    {
      "commit": "6268631d72fe5dc0f745aec435da64ec056c6a05",
      "tree": "4d8674f3cef9cab9b312aa2195261bd266fba558",
      "parents": [
        "531af4f4456182d721545441545cddcd146e6629"
      ],
      "author": {
        "name": "dpaul",
        "email": "Devmalya.Paul@radisys.com",
        "time": "Tue Jun 23 14:17:36 2020 +0530"
      },
      "committer": {
        "name": "Andrea Campanella",
        "email": "andrea@opennetworking.org",
        "time": "Tue Sep 29 11:01:28 2020 +0200"
      },
      "message": "VOL-3248 Support for SetExtValue API\n\n         This commits adds a new SetExtValue API in the VOLTHA\n         core and also the handling of the request.\n\nChange-Id: I45b76e4bcc3234842c8404514f5220573ac33211\n"
    },
    {
      "commit": "531af4f4456182d721545441545cddcd146e6629",
      "tree": "dc04ca2b9e498971d97b4b64cfd825809999fc96",
      "parents": [
        "23bd8c72e526400f25cfc6ebf1c13945c186ff90"
      ],
      "author": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Tue Sep 22 10:42:17 2020 +0530"
      },
      "committer": {
        "name": "Himani Chawla",
        "email": "hichawla@ciena.com",
        "time": "Wed Sep 23 04:24:47 2020 +0000"
      },
      "message": "VOL-3479 Correct flow information in failed add flows logs\n\nChange-Id: Ie41489a4d5c078e75b79f4876c1e8ad776731a5f\n"
    },
    {
      "commit": "23bd8c72e526400f25cfc6ebf1c13945c186ff90",
      "tree": "41407cb3470c89996ab7fb60482515160f6b7782",
      "parents": [
        "9a50f033c5fd9d9668d1095cefb9c31424936723"
      ],
      "author": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Mon Sep 21 23:20:43 2020 -0700"
      },
      "committer": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Mon Sep 21 23:28:49 2020 -0700"
      },
      "message": "VOL-3492 panic in rw-core.\nerror log, in case of agent.start() failure, uses nil reference of childDevice.\n\nChange-Id: Ib6ab65b7a0ad6e8356f16f2977d72e0daf080816\n"
    },
    {
      "commit": "6031aadc898df6c284d2ee03363cf7a654d1caeb",
      "tree": "2dfffc4194fbe7e425a1874370a1bfa42ddd9cce",
      "parents": [
        "5809b5be7d6f9f4423546e4a89915d66a17880e5"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Wed Jul 29 16:36:33 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu Sep 10 12:31:42 2020 -0400"
      },
      "message": "VOL-2867 - Replaced coreif interface package with smaller per-package interfaces.\n\nAlso moved state transition logic into its own package.\nAlso removed unused interfaces \u0026 mocks.\n\nChange-Id: I849741853620684e6ceafe6e098a9c4f64fbdc6f\n"
    },
    {
      "commit": "f8d4f8d0a15e09946ed5f0b93aa37ffb868853a1",
      "tree": "63a5a4e7e0fa546ac69496dc8b733550d260cbae",
      "parents": [
        "cb8b59df71424563b04565fce0824a4ac5d4b99f"
      ],
      "author": {
        "name": "Girish Kumar",
        "email": "girish_kumar@infosys.com",
        "time": "Tue Aug 18 11:45:30 2020 +0000"
      },
      "committer": {
        "name": "Girish Kumar",
        "email": "girish_kumar@infosys.com",
        "time": "Wed Aug 26 06:19:44 2020 +0000"
      },
      "message": "[VOL-3199] Added support for dynamic enable/disable of Trace Publishing\n\nChange-Id: I920b2964c89ad823985da29d7f8279689a62d3b6\n"
    },
    {
      "commit": "cb8b59df71424563b04565fce0824a4ac5d4b99f",
      "tree": "0eb05701edfd39ea677be4281b5bb18e643e298a",
      "parents": [
        "5f09bda2c0b103d9218a7540c75fed89a2481563"
      ],
      "author": {
        "name": "divyadesai",
        "email": "divya.desai@infosys.com",
        "time": "Tue Aug 18 09:55:47 2020 +0000"
      },
      "committer": {
        "name": "David Bainbridge",
        "email": "dbainbri@ciena.com",
        "time": "Tue Aug 25 14:49:55 2020 +0000"
      },
      "message": "[VOL-3228] device-id logging consistancy\n\nChange-Id: Idd00d569d5e8724ab9df03ad5a5744b655ba3448\n"
    },
    {
      "commit": "45e514a5f872f2da1654a9b2c329f137715fe784",
      "tree": "987bfba20df20c508fda2fc97c45dbc3d9abefdc",
      "parents": [
        "3e8ee21de5d02ac49543cf09fd7cd7dbfe06e28a"
      ],
      "author": {
        "name": "Matteo Scandolo",
        "email": "matteo.scandolo@gmail.com",
        "time": "Wed Aug 05 15:27:10 2020 -0700"
      },
      "committer": {
        "name": "Matteo Scandolo",
        "email": "teo@opennetworking.org",
        "time": "Fri Aug 21 19:16:56 2020 +0000"
      },
      "message": "Chaging some log levels for better packet tracing\nAdding flows and groups informations on:\n- flow-add-failed\n- failed-to-add-flows-will-attempt-deletion\n\nChange-Id: I5b0e124f617b41590173ee9cb2dc8d31de5aff16\n(cherry picked from commit 5bd2f6f28674e64286c4795ba3b3432ecab0879d)\n"
    },
    {
      "commit": "3e8ee21de5d02ac49543cf09fd7cd7dbfe06e28a",
      "tree": "00d91fa45a2074c4ca3401108672e280cd6c62df",
      "parents": [
        "cf12f209ce944dd5f99aebf358de4876e4255c6a"
      ],
      "author": {
        "name": "Girish Kumar",
        "email": "girish_kumar@infosys.com",
        "time": "Wed Aug 19 17:50:11 2020 +0000"
      },
      "committer": {
        "name": "Girish Kumar",
        "email": "girish_kumar@infosys.com",
        "time": "Wed Aug 19 18:11:54 2020 +0000"
      },
      "message": "[VOL-3424] Switch completely to Context based Logger instance\n\nChange-Id: Iad9665895c9bad6fea5672571cf9776c779dd7ff\n"
    },
    {
      "commit": "cf12f209ce944dd5f99aebf358de4876e4255c6a",
      "tree": "194314543fa9afa56a4a6e1c7bef2cbec869e455",
      "parents": [
        "def46fc7c900f6935b9908aa8450447cdc990445"
      ],
      "author": {
        "name": "Rohan Agrawal",
        "email": "rohan.agrawal01@infosys.com",
        "time": "Mon Aug 03 04:42:01 2020 +0000"
      },
      "committer": {
        "name": "Rohan Agrawal",
        "email": "rohan.agrawal01@infosys.com",
        "time": "Wed Aug 12 05:21:25 2020 +0000"
      },
      "message": "[VOL-3070]Enrich span with \u0027device-id\u0027 and propagate context into go routine carrying the span information\n\nChange-Id: I6509de7542942dbcc29a090a47ff0a2732507860\n"
    },
    {
      "commit": "cba2f30ec29be0e7443424757905532a956e1a7a",
      "tree": "ca723a29412977a396ac4327056dc523ecdb695c",
      "parents": [
        "3768fde17e6fcd3b4aa02d60ea626235c741f6ad"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Tue Jul 28 13:37:36 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Fri Jul 31 16:02:51 2020 +0000"
      },
      "message": "VOL-2867 - Removed unnescessary proto.Clone() in getDevice() and getLogicalDevice().\n\nAlso renamed getDevice() to getDeviceReadOnly(), getLogicalDevice() to getLogicalDeviceReadOnly(), and getDeviceReadOnly() to getDeviceReadOnlyWithoutLock().\nCallers of *ReadOnly() functions must not modify the returned structures.\nAlso fixed places where lock was not acquired before calling getDevice().\nRelated to VOL-3356.\n\nChange-Id: I9913a76a497c4d977457edaea3b199a24a3a5cb8\n"
    },
    {
      "commit": "1c91d5f1653d335f2800faeea32a8ce89aab46fa",
      "tree": "ad227c6b2fa80c86821ba6f05d5f44653699cf59",
      "parents": [
        "f6db9f1f8b8b90d29a1e49c7c332031435cdea3c"
      ],
      "author": {
        "name": "Rohan Agrawal",
        "email": "rohan.agrawal01@infosys.com",
        "time": "Wed Jul 29 05:46:05 2020 +0000"
      },
      "committer": {
        "name": "Rohan Agrawal",
        "email": "rohan.agrawal01@infosys.com",
        "time": "Wed Jul 29 07:37:58 2020 +0000"
      },
      "message": "[VOL-3375]Remove field pkg from log statements\n\nChange-Id: Iee3a7d41ea6cdc539aaf7bc670e09ae27a98030f\n"
    },
    {
      "commit": "f6db9f1f8b8b90d29a1e49c7c332031435cdea3c",
      "tree": "6c95c0dd8c428d5825e08ca006cf22f6c0736401",
      "parents": [
        "33470e82534da7b7dadcb1ac341e361b1b61505b"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Wed Jul 22 17:16:19 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu Jul 23 11:02:57 2020 -0400"
      },
      "message": "VOL-3356 - Changed the way devices are updated.\n\nso that state transitions will execute in the calling thread.\nAlso changed the locking guarantees when accessing devices.\n\nChange-Id: I0d40215bf35ffafd2ee4fcef6b34515001adcc9c\n"
    },
    {
      "commit": "a7c9d7942482d3d220380468304d7af4758c28a6",
      "tree": "7c6ed562eafc001eb4192de7a26f47ca21e44926",
      "parents": [
        "7eab1b9828c324fdc43eb9b14b8160b82cd52f55"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu Jul 16 17:39:01 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Tue Jul 21 13:49:19 2020 +0000"
      },
      "message": "VOL-2867 - Simplified the logic for devices\u0027 flow \u0026 group updates.\n\nChange-Id: I12b9916212dc66ecdf6d975de499dd767fac248f\n"
    },
    {
      "commit": "7eab1b9828c324fdc43eb9b14b8160b82cd52f55",
      "tree": "748ed19bcd8ec824eab72a06dbbfa07a1457ab3a",
      "parents": [
        "2a07b8633f96e998542c648af31aeb520b69613e"
      ],
      "author": {
        "name": "Esin Karaman",
        "email": "esin.karaman@netsia.com",
        "time": "Wed Jul 01 11:40:39 2020 +0000"
      },
      "committer": {
        "name": "Esin Karaman",
        "email": "esin.karaman@netsia.com",
        "time": "Mon Jul 20 07:23:28 2020 +0000"
      },
      "message": "VOL-3111 Group removal support by VOLTHA Core\n\nChange-Id: Ifb3a7cf62d1f71faec32c3048bad1a0fc3fea2dd\n"
    },
    {
      "commit": "2a07b8633f96e998542c648af31aeb520b69613e",
      "tree": "a4b8e30d332f2daa581d61c7253f825ec78bc374",
      "parents": [
        "9395a81756d5f18c0f319a74e1c5ac553010313b"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Fri Jun 19 15:23:07 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Fri Jul 17 10:04:49 2020 -0400"
      },
      "message": "VOL-3121 - Separated ports from devices.\n\nSimilar to flows/groups/meters/logical ports.\nAlso added ListDevicePorts and GetDevicePort to the adapter API.\nAlso removed unused `// +build integration` tests.\n\nChange-Id: I586adb9f46a249c9430d4205ef5db2d105dbbe06\n"
    },
    {
      "commit": "31f2180f563ba1f597b735f1091310dbfe81de08",
      "tree": "9751e4cc8429f113fe86126c3779d596908bb0ea",
      "parents": [
        "8f9e9df5861ed0ad8957a8204c3036bf4e50c72d"
      ],
      "author": {
        "name": "Rohan Agrawal",
        "email": "rohan.agrawal01@infosys.com",
        "time": "Fri Jun 12 05:38:46 2020 +0000"
      },
      "committer": {
        "name": "Rohan Agrawal",
        "email": "rohan.agrawal01@infosys.com",
        "time": "Fri Jul 10 06:03:52 2020 +0000"
      },
      "message": "[VOL-3187]Pass Context down the execution call hierarchy across voltha-go codebase\n\nChange-Id: I6bc2a0f7226c1beed4ae01a15d7b5c4dc04358d8\n"
    },
    {
      "commit": "2a0c4498f9ede93e8be9a25fd72340101f881cf4",
      "tree": "f00f7c5d90f1aee2ec9b1c0f008459a1f688836a",
      "parents": [
        "9ae1313169f227106eee69d245e3dbaef489a6d9"
      ],
      "author": {
        "name": "Rohan Agrawal",
        "email": "rohan.agrawal01@infosys.com",
        "time": "Mon Jun 29 11:55:06 2020 +0000"
      },
      "committer": {
        "name": "Rohan Agrawal",
        "email": "rohan.agrawal01@infosys.com",
        "time": "Tue Jun 30 05:00:19 2020 +0000"
      },
      "message": "Fix update_pm_config rpc case letter\n\nChange-Id: Ibc991ca239dfe8c30382900a50d148f719134813\n"
    },
    {
      "commit": "9ae1313169f227106eee69d245e3dbaef489a6d9",
      "tree": "32d84ec9626d718b8107244b03f4dff25f16f91c",
      "parents": [
        "367162b10157e471d824584a278ea2e906db89c9"
      ],
      "author": {
        "name": "David Bainbridge",
        "email": "dbainbri@ciena.com",
        "time": "Mon Jun 22 17:28:01 2020 -0700"
      },
      "committer": {
        "name": "David Bainbridge",
        "email": "dbainbri@ciena.com",
        "time": "Thu Jun 25 14:52:30 2020 -0700"
      },
      "message": "VOL-3244 - remove competing mode flag\n\n- removed competing core command line argument\n- changed references from affinity router to device discovery\n\nChange-Id: I40aa553762ef7a4f1c87932c5a5b2ed3038ced8d\n"
    },
    {
      "commit": "367162b10157e471d824584a278ea2e906db89c9",
      "tree": "fd7044b13bf2b0b96e9fedc8772b739f73d21fe9",
      "parents": [
        "c6c7bdaab90641e2399ef593ed70e0c7982cefca"
      ],
      "author": {
        "name": "Matteo Scandolo",
        "email": "matteo.scandolo@gmail.com",
        "time": "Mon Jun 22 15:07:33 2020 -0700"
      },
      "committer": {
        "name": "Matteo Scandolo",
        "email": "matteo.scandolo@gmail.com",
        "time": "Tue Jun 23 12:36:49 2020 -0700"
      },
      "message": "Adding flow info to error messages\n\nChange-Id: Iadddc9a7f12dcebdb775bdcc9922259fc654693d\n"
    },
    {
      "commit": "c6c7bdaab90641e2399ef593ed70e0c7982cefca",
      "tree": "660b421b33b62762eec2672c61a279b8e548d892",
      "parents": [
        "f4151de28ce39cd4de2b08aa42e64fedb747c503"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Wed Jun 17 17:20:18 2020 -0400"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Jun 22 18:43:34 2020 +0000"
      },
      "message": "[VOL-3245] Consume port capability on port creation\n\nThis commit consists of the changes needed in the Core to build\na logical port without having to request port capability from\nthe adapters.\n\nThis commit requires changes in the OLT and ONU adapters to be\ncompleted.  These are tracked under jira\nhttps://jira.opencord.org/browse/VOL-3202. Until the adapters\nchanges are committed this commit will not pass jenkins.\n\nChange-Id: I0cae167375b9a8c67a83202e25abcec6ae013a88\n"
    },
    {
      "commit": "f4151de28ce39cd4de2b08aa42e64fedb747c503",
      "tree": "e8cc9def228a2617ab30eaf508aef61b0d1384ab",
      "parents": [
        "7b1e0641d3328bc930bc6e1732210a69fc794a6e"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Fri Jun 19 15:58:47 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Fri Jun 19 15:58:47 2020 -0400"
      },
      "message": "VOL-3257 Fixed a bug where the default timeout was multiplied with time.Millisecond in some cases, leading to incorrect (extremely long) timeouts.\n\nChange-Id: Iebcbea8829caa6e3fa40d094d16e1ab1ce1987b4\n"
    },
    {
      "commit": "fa6ea27b07a39874d41db9af3d6e3cc4f4f0f9f7",
      "tree": "25b35353e48ec40dedf5c87a019e2af1fbfc6559",
      "parents": [
        "fa9d6d44085b2b99b65e14a74f6602f242ca8e6e"
      ],
      "author": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Wed Jun 10 17:03:51 2020 -0700"
      },
      "committer": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Fri Jun 12 15:02:05 2020 -0700"
      },
      "message": "[VOL-3215] Reorganize functions in agent.go\nFunctions moved without any change in contents\n\nChange-Id: I42ba327e648bacf25e5d328743835b36be89f4b4\n"
    },
    {
      "commit": "fa9d6d44085b2b99b65e14a74f6602f242ca8e6e",
      "tree": "1323df17879bb88bd65c7b9b3dfad854796f591e",
      "parents": [
        "d1387da67fb4087e5e404bf9f0365c654fda7c56"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Mon May 25 11:49:40 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Fri Jun 12 12:20:26 2020 -0400"
      },
      "message": "VOL-3121 -  Separated out logical ports from logical agent.\n\nSimilar to flows/groups/meters.\nAlso modified device_route tests to generate unique port IDs (`.OfpPort.PortNo`s) across all UNI ports withing each test, i.e. within an OLT.\nAlso replaced logicalPortsNo map \u0026 associated NNI vs UNI logic with root device checks.\n\nChange-Id: Ib0cecbf7d4f8d509ce7c989b9ccf697c8b0d17d6\n"
    },
    {
      "commit": "d1387da67fb4087e5e404bf9f0365c654fda7c56",
      "tree": "54882ca45221a6ab509056dbe7372581683783c8",
      "parents": [
        "292ab5256baf4b8574a482c5a675300c4a40e8bb"
      ],
      "author": {
        "name": "Neha Sharma",
        "email": "neha.sharma70@infosys.com",
        "time": "Thu May 07 20:07:28 2020 +0000"
      },
      "committer": {
        "name": "Neha Sharma",
        "email": "neha.sharma70@infosys.com",
        "time": "Wed Jun 10 14:03:17 2020 +0000"
      },
      "message": "[VOL-2736]host and port should be specified as a single argument not as two separate arguments\n\nChange-Id: I5a3a494c38dafa1e7e18e1f1cd55c0035359c7a9\n"
    },
    {
      "commit": "8ff291d3f29cfca13a3ccd052aee6da21b3cdbd3",
      "tree": "c6e34a7477d1fb1d25652e1f17877dbeee2ac175",
      "parents": [
        "4c4faced00bb43192407db4f76e60d7e7a9278f6"
      ],
      "author": {
        "name": "serkant.uluderya",
        "email": "serkant.uluderya@netsia.com",
        "time": "Wed May 20 00:58:00 2020 -0700"
      },
      "committer": {
        "name": "Matteo Scandolo",
        "email": "teo@opennetworking.org",
        "time": "Tue Jun 09 17:02:09 2020 +0000"
      },
      "message": "[VOL-3117] Read KV store data path prefix from an environment variable\n\n- voltha-lib-go reads the KVStoreDataPrefix from env variable, so removed the command-line flag in voltha-go\n- also removed unused corepair topic flag\nChange-Id: Ibe8403bf187126b587a92cd9c58aa6d923f84cd0\n"
    },
    {
      "commit": "4c4faced00bb43192407db4f76e60d7e7a9278f6",
      "tree": "21916e9069078d378bd96b2949f612fa00d8d806",
      "parents": [
        "03de0d3e759293f3cd0bc1e5dd51c71cd4cfb013"
      ],
      "author": {
        "name": "Girish Gowdra",
        "email": "girish@opennetworking.org",
        "time": "Mon Jun 08 16:51:09 2020 -0700"
      },
      "committer": {
        "name": "Girish Gowdra",
        "email": "girish@opennetworking.org",
        "time": "Mon Jun 08 16:51:09 2020 -0700"
      },
      "message": "VOL-3195: rw-core panic during group deletion\n\n- read the group before it is deleted from map\n\nChange-Id: I249df95358fb67058d2a6e07a44da7df6389a5f4\n"
    },
    {
      "commit": "03de0d3e759293f3cd0bc1e5dd51c71cd4cfb013",
      "tree": "a7f3cc4ce1905d3813a93049ff3e13ecd6ff0cf1",
      "parents": [
        "f5a6735d3a108ff7e9120febcc36b7898f0a7fca"
      ],
      "author": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Wed Jun 03 01:36:59 2020 -0700"
      },
      "committer": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Wed Jun 03 14:12:02 2020 -0700"
      },
      "message": "[VOL-3005] Separate Flows from Device\n\nAlso some unit test functions moved to a test util class.\nNew loaders and Proxy implementation are applied.\n\nChange-Id: Icf5a6f0a42a2dbaeff768fdb108f5e9b46644977\n"
    },
    {
      "commit": "f5a6735d3a108ff7e9120febcc36b7898f0a7fca",
      "tree": "e7caf0c761b9474040c8e1220297b292cc03f3e8",
      "parents": [
        "433a31a7ee7834d8c53f5c820081c24a81d85928"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu Apr 30 15:15:26 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Mon Jun 01 16:48:07 2020 -0400"
      },
      "message": "VOL-2999 - Reworked how Proxies are created \u0026 used.\n\nAdded DB Paths to separate location specification logic from entry access logic.\nAlso merged Update() and AddWithID() and renamed to Set().\n\nChange-Id: I9ed5eafd63c180dddc5845a166554f89bda12325\n"
    },
    {
      "commit": "433a31a7ee7834d8c53f5c820081c24a81d85928",
      "tree": "7c78f5b42996f906aa16bd0324906f636f7c5c1a",
      "parents": [
        "0db4c81889d8231e4b89832378815e0e7a5f2291"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Wed May 20 19:04:48 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Mon Jun 01 16:32:34 2020 -0400"
      },
      "message": "VOL-3121 - Separated out LogicalDevices\u0027 low-level flow/meter/group handling into separate packages.\n\nThe new implementation hides the compexity of locking, caching, and interacting with the db.\nAn attempt was made to ensure that locks are held while updates are made, by returning a \"handle\" object from each flow/group/meter lock() call, and only allowing access through this call.\n\nAn attempt was also made to remove proto.Clone-ing.  flows/groups/meters which are returned are NOT cloned, and MUST NOT be modified by users of the flow/group/meter loaders.  In addition, flows/groups/meters which are given to the loaders MUST NOT be modified afterward.\n\nThere remain many cases where errors during particular kv updates may cause inconsistent state.  TODOs have been added for many of these cases.  Resolving this may require exposing (through voltha-lib-go) the transaction mechanism from etcd.\n\nThere is also the issue that locking a flow/meter/group while another flow/meter/group is held could cause deadlocks.  This can be avoided by acquiring locks in a consistent order.  Something to keep in mind while fixing the previous issue.\nChange-Id: I146eb319c3564635fdc461ec17be13e6f3968cf7\n"
    },
    {
      "commit": "0db4c81889d8231e4b89832378815e0e7a5f2291",
      "tree": "cea688df8fa14faa65fa4dedfb1d249226d6f426",
      "parents": [
        "3b3f4a668b05fb6d938b4d3f8cfa196454d7e7fa"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Wed May 27 15:27:30 2020 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Fri May 29 22:37:01 2020 -0400"
      },
      "message": "[VOL-2995] Improve Core performance\n\nThis commit consists of the following changes with the aim to\nimprove the Core performance:\n\n1) Use a hybrid approach of pre-route calculation and route\ncalculation on-demand.  For example, attempts to pre-calculate\nroutes will be done whenever a nni/uni port is discovered.  The\nattempt may fail if there are not enough ports to generate a\nroute.  When a flow is received and the route is not available\nthen only the route relevant to that flow will be created on\ndemand.\n\n2) Changes some of the route calculation flow such that the\nprocess does not need to go and grab the latest version of the\ndevice which could lead to higher latency, expecially if that\ndevice is busy with other processing.\n\n3) Change the logic when reporting added ports to ONOS such that\nroutes are calculated (at least an attempt made) before sending\na port create notification to ONOS.\n\n4) Move peer port creation into its own go routine thereby\nremoving the lock on a child device much earlier.\n\n5) Wait until a request for port capability is received before\nremoving the lock on a device.   A better approach is required\nwhere the adapter will need to report the port capability along\nwith the port creation event.  However, this require another\nJira as changes will be required in the API.\n\n6) Remove some unnecessary proto.clones.  Those are the obvious\nones.  Removal of other proto.clones will be done in a separate\ncommit.\n\n7) Fix a core panic when concurrent requests are made to the\nroute map\n\nChange-Id: I2bafc99dbf10d7026572a44af0b88a31b5eb1887\n"
    },
    {
      "commit": "3b3f4a668b05fb6d938b4d3f8cfa196454d7e7fa",
      "tree": "c7b8a430ca77e76706e55cd05ed3289d8cfb076f",
      "parents": [
        "3136fbd8a35e4909563e484e9b95852bf1d53b75"
      ],
      "author": {
        "name": "Chaitrashree G S",
        "email": "Chaitrashree.S@radisys.com",
        "time": "Thu May 21 04:56:33 2020 -0400"
      },
      "committer": {
        "name": "Chaitrashree G S",
        "email": "Chaitrashree.S@radisys.com",
        "time": "Thu May 21 04:56:33 2020 -0400"
      },
      "message": "[VOL-2952]: code changes to remove invalid match criteria as per new port label\n\nChange-Id: I6de7a877fea0d387122de09a8541426f59d122c8\n"
    },
    {
      "commit": "3136fbd8a35e4909563e484e9b95852bf1d53b75",
      "tree": "9e871997ed3060e3668c83769bf7dfe71ad5f9db",
      "parents": [
        "addb66a47a4d656387b802cd4d1d5a78086ebe30"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu May 14 10:30:45 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu May 14 14:54:15 2020 -0400"
      },
      "message": "Broke down logical_agent.go into multiple files.\n\nFunctions have only been moved, not modified; so there are no changes to existing logic.\nThis is to facilitate further development without having multiple devs modifying the same file.\nFunctions which do not belong in any file, or which would belong in many files, have been left in the voltha_agent file.\nFlow/meter/group map management has also separated out.  (*_loader.go files)\n\nChange-Id: Iaee6699a852e03553e8363be3f16f461c2aab8c5\n"
    },
    {
      "commit": "addb66a47a4d656387b802cd4d1d5a78086ebe30",
      "tree": "e9f6ff6ac7d9119defd65ea2726e26e19ab99a2f",
      "parents": [
        "3bbfa35c0d355cf1959b3fd0eeb786448037ace9"
      ],
      "author": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Wed Apr 29 18:08:50 2020 -0700"
      },
      "committer": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Wed May 13 15:27:49 2020 -0700"
      },
      "message": "[VOL-3001] Separating flows, groups and meters from LogicalDevice.\n- This is to improve the performance of flow addition to system.\n- This patch does not include separation of the flows from Device. It will be implemented in another patch.\n- Flows, groups and meters are kept in store by their unique ids per logical device, and cached into a map with these unique ids per logical device again.\n  Accessing to this store and map is synchronized by a RWLock.\n  Also a lock is kept in memory per flow, meter and group to synchronize the modifications (add/modify/delete requests) per flow/meter/group.\nChange-Id: Ic0135faef0bbd1664693375fa6527e0242919e6d\n"
    },
    {
      "commit": "3bbfa35c0d355cf1959b3fd0eeb786448037ace9",
      "tree": "cf4f2915c6feda097c63a047ee12a9d3a0b0885a",
      "parents": [
        "7d6f3a9eb8ef43089fa4abf571a419f98115abc7"
      ],
      "author": {
        "name": "Chaitrashree G S",
        "email": "Chaitrashree.S@radisys.com",
        "time": "Sat May 02 02:32:07 2020 -0400"
      },
      "committer": {
        "name": "Chaitrashree G S",
        "email": "Chaitrashree.S@radisys.com",
        "time": "Thu May 07 02:09:40 2020 -0400"
      },
      "message": "[VOL-2865] : code changes to support uniform state transition for OLT delete\n\nChange-Id: I2f829c23bdb39e2d91f00a849b6b965a0df9a54e\n"
    },
    {
      "commit": "a29a471328bff1132c0422d99e62e20f3aee6fc7",
      "tree": "4d2c8f4303eaecc964e17d1d0991418baa2f8fbc",
      "parents": [
        "8ed186a1ddc5abf3b38acd190d1d2aca4856d883"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue May 05 10:17:17 2020 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue May 05 10:26:14 2020 -0400"
      },
      "message": "[VOL-3022]  Fix core crash on flow revert without meters\n\nChange-Id: Ia0af44f5c9a810c8b8ca1931f5f577bcf521be03\n"
    },
    {
      "commit": "8b4abbf8b424edfcaa8dfe75d53c2d62b6b209f8",
      "tree": "4bf543a117bd146ca86846bda2a0c5fbce1cb52d",
      "parents": [
        "450933ade7a71cac262490e9bc49d72fd4aededc"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Fri Apr 24 17:04:30 2020 -0400"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Thu Apr 30 18:07:16 2020 +0000"
      },
      "message": "[VOL-2972] Revert added flows on failure\n\nThis commit consists of:\n1) Reverts added flows on flow addition failure (e.g. one adapter\nmay return a failure in which case any corresponding flow that\nhas been successfully added to the other adapter will be removed).\nThe corresponding logical device flow will be removed as well.\n\n2) Some minor refactoring in the mocks adapter\n\n3) Some minor logging change to decrease the clutter when running\nunit tests.\n\nChange-Id: Ia63243e83516ef81152893563bef76c830bea022\n"
    },
    {
      "commit": "2f0d055e7dd00763fb067e1f41511b115b8447af",
      "tree": "02891950ac4d98b71040fcd395cd18ec02718286",
      "parents": [
        "45a13e4d478a0f7c9877f919a7012f3324cc73e3"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu Apr 23 17:28:52 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Mon Apr 27 17:29:08 2020 -0400"
      },
      "message": "VOL-2970 - Improved readability \u0026 traceability of startup code.\n\nChanged Start() function to implement majority of the startup functionality, with less helpers.  Start() also defines local variables for each component created, to avoid accidentally using a component that isn\u0027t ready.\nAlso merged the rwCore into the Core.\nAlso changed Core to cancel a local context to on shutdown, and then wait for shutdown to complete.\n\nChange-Id: I285e8486773476531e20ec352ff85a1b145432bf\n"
    },
    {
      "commit": "45a13e4d478a0f7c9877f919a7012f3324cc73e3",
      "tree": "af332a76d5d04ced2f00ff214255bc83be4be630",
      "parents": [
        "c1129f15f524ed838d1e9af0017761fc95eb671e"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Mon Apr 13 12:23:50 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Fri Apr 24 10:13:00 2020 -0400"
      },
      "message": "VOL-2920 - Remove NBI passthrough functions.\n\nModified the NBIHandler to reference device, logical device, and adapter managers as embedded types, allowing the managers to directly implement API functions, without the need for individual passthrough functions.\nAlso created a new event.Manager type, which is embedded in device.LogicalManager.\nAlso renamed device.NewDeviceManagers() to device.NewManagers().\n\nChange-Id: I8455da79b991ee67cc16cf898b00b0c98ea97bcd\n"
    },
    {
      "commit": "c1129f15f524ed838d1e9af0017761fc95eb671e",
      "tree": "9083273ac1a3d14ccb2118a034bc0fa91fa3b116",
      "parents": [
        "e099e86899a67b4e39b72c439de65a8f7d3296c0"
      ],
      "author": {
        "name": "Dinesh Belwalkar",
        "email": "dumbbel@gmail.com",
        "time": "Thu Feb 27 10:41:33 2020 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Apr 23 15:13:12 2020 -0700"
      },
      "message": "[VOL-936] add changes for onu distance from OLT\n\nChange-Id: If6201799946ac753780d0424c4bd986e2fb394d2\n"
    },
    {
      "commit": "504b480d39b560297d7e6038db235beec7063346",
      "tree": "a2d590efef9287023a7ab9e7b55dd7ec43a4d759",
      "parents": [
        "8ad299522ff380ab3960a517eaa73cca6e0a3a66"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Apr 17 10:12:20 2020 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Apr 21 15:01:20 2020 -0700"
      },
      "message": "VOL-2861 replace uint64 kafka interadapter timestamps with timestamp proto\n\nChange-Id: I7bf9abbdb590ac193b1d769f46cddc01b0ac2efb\n"
    },
    {
      "commit": "8ad299522ff380ab3960a517eaa73cca6e0a3a66",
      "tree": "5ec82c2b96abbc16df70fb73a11b9f76f8f89afd",
      "parents": [
        "5e98c788a979e0962a6ba5eee65437fa9ea77ed6"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Tue Apr 21 11:48:02 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Tue Apr 21 12:03:36 2020 -0400"
      },
      "message": "VOL-2957 - Improved time complexity of portUpdated.\n\nFrom O(n^2) to O(n*log(n)).\n\nChange-Id: I90c4f7a88077cd1168eff632690f760d7931901c\n"
    },
    {
      "commit": "5e98c788a979e0962a6ba5eee65437fa9ea77ed6",
      "tree": "047d6ee01aedcc46373eb69c25b41e0a23bea908",
      "parents": [
        "57ee9aaf866ceb4451676ec33602af3bf02dfe4f"
      ],
      "author": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Mon Apr 13 15:08:29 2020 -0700"
      },
      "committer": {
        "name": "Mahir Gunyel",
        "email": "mahir.gunyel@netsia.com",
        "time": "Fri Apr 17 12:50:01 2020 -0700"
      },
      "message": "VOL-2892 Problem comparing two proto messages with reflect.DeepEqual(). Changing it to proto.Equal()\n\nChange-Id: I08a7c704ae6733e27d9dedaa05efedc55537983a\n"
    },
    {
      "commit": "787224ac890c844be286cb4a8b23b04132897623",
      "tree": "db91b811cd1d6160626824476ff84ba0ed90723b",
      "parents": [
        "2b21604882325e2ed70781cde4fc87e927a3a512"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Apr 16 18:08:47 2020 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Fri Apr 17 10:03:16 2020 -0400"
      },
      "message": "[VOL-1385] Remove parent\u0027s device flows after child deletion\n\nThis commit fixes the following:\n\n1) Do not automatically raise an error when no routes can be\nfound when decomposing a flow.  In some cases flows can still\nbe decomposed (e.g. some trap flows).\n2) Delete flows from a parent device when receiving delete flow\ninstructions from the OF controller after a child device has\nbeen deleted (previously was failing as no route could be\nobtained).\n\nChange-Id: I33dd45d52626146f0a6b4668048c979b5c931f9c\n"
    },
    {
      "commit": "2b21604882325e2ed70781cde4fc87e927a3a512",
      "tree": "5221034001007d52d1531a836cfecb552a00b42d",
      "parents": [
        "7849b32a4b0244077d1303e8a0da0a07b117c6fe"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Fri Apr 03 18:28:56 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu Apr 16 10:20:14 2020 -0400"
      },
      "message": "VOL-2909 - Disaggregating rw_core/core/.\n\nThis breaks the core package into logical components. (adapter manager, adapter proxy, devices, nbi/api), as well as the \"core\" which aggregates all these.\n\nChange-Id: I257ac64024a1cf3efe3f5d89d508e60e6e681fb1\n"
    }
  ]
}
