)]}'
{
  "log": [
    {
      "commit": "7a9af443c41a1467ed7a8cf4e8f753002170a25e",
      "tree": "0900a158bccdcba8e890a7274b5ebff0aece3cd5",
      "parents": [
        "9e422134df02afc9facd76f0aedd792a99b2272d"
      ],
      "author": {
        "name": "Joey Armstrong",
        "email": "joey@opennetworking.org",
        "time": "Wed Jan 03 19:26:36 2024 -0500"
      },
      "committer": {
        "name": "Joey Armstrong",
        "email": "joey@opennetworking.org",
        "time": "Wed Jan 03 19:26:36 2024 -0500"
      },
      "message": "[VOL-5247] branch and release repo:voltha-go\n\ncompose/\nmakefiles/\nrw_core/test/\nrw_core/utils/\n--------------\n  o Bulk update copyright notices for 2024.\n  o Also submitted for side effects, initiate a jenkins job.\n\nVERSION\n-------\n  o Bump version string in preparation for branching.\n\nChange-Id: I281867d8e298ef81c6dc2a6d416d330c996c4592\n"
    },
    {
      "commit": "393daca85f76e3c40c5cbc74c2a956b4b8934b15",
      "tree": "3b30e5a976ab44c6d43a4a605b9ff17656fcbe01",
      "parents": [
        "0ded28dd4ba2bdab3e4786499d00ca1f710fc00e"
      ],
      "author": {
        "name": "Joey Armstrong",
        "email": "joey@opennetworking.org",
        "time": "Thu Jul 06 08:47:54 2023 -0400"
      },
      "committer": {
        "name": "Joey Armstrong",
        "email": "joey@opennetworking.org",
        "time": "Thu Jul 06 08:47:54 2023 -0400"
      },
      "message": "[VOL-5026] - Build and (pre-) deploy repo:voltha-go\n\nMakefile\n--------\n  o Refactor test and mod-* targets per voltha-openolt-adatpter/Makefile.\n  o Logic moved into makefiles/analysis/{coverage,sca}.mk\n  o Inline ( set -euo pipefail \u0026\u0026 cmd | tee log) in test-coverage.\n  o Improve error handling, \"cmd | tee\" will silently mask shell exit status.\n  o make test failing locally (docker image: cpu profile acces denied).\n  o Local problem, send a job through jenkins for accurate status.\n\nmakefiles/\n----------\n  o Copy in library makefiles\n  o Esp docker/include.mk\n\ncompose/*/*.yaml\n----------------\n  o Update copyright notice\n\ndb/*/*.go\nrw_core/*/*.go\n--------------\n  o Run gofmt -s -w on source to fix latent linting problmes that fail jobs.\n\nChange-Id: If7cd349822edd0e604ac4daf27d315f528c6bcf6\n"
    },
    {
      "commit": "5f51f2ecc7fc25a3e831041887dbaf49a5b6b18a",
      "tree": "3eba2e0c21e12da7e5a3720bb4b82f93bb92f11d",
      "parents": [
        "f0f5539342c8e52298b495b7d17c78fad677bf63"
      ],
      "author": {
        "name": "Joey Armstrong",
        "email": "joey@opennetworking.org",
        "time": "Tue Jan 17 17:06:26 2023 -0500"
      },
      "committer": {
        "name": "Joey Armstrong",
        "email": "joey@opennetworking.org",
        "time": "Wed Jan 18 09:22:01 2023 -0500"
      },
      "message": "VOL-4925 - Build and release components.\n\nMisc/\n  o Bulk copyright notice udpate to 2023.\n\ngo.mod\ngo.sum\n------\n  o Bump component version strings to the latest release.\n\nCosmetic edit to force a build.\n\nChange-Id: Icc8869463d1f1a4451938466c39fcc3d11ebad73\n"
    },
    {
      "commit": "f0f5539342c8e52298b495b7d17c78fad677bf63",
      "tree": "0caa40fde6b629711539fbc5942c06c02d60e91c",
      "parents": [
        "811e9544f229421bd8cc52271553fc18f40b54c5"
      ],
      "author": {
        "name": "Joey Armstrong",
        "email": "joey@opennetworking.org",
        "time": "Fri Dec 30 11:44:44 2022 -0500"
      },
      "committer": {
        "name": "Joey Armstrong",
        "email": "joey@opennetworking.org",
        "time": "Fri Dec 30 11:45:30 2022 -0500"
      },
      "message": "VOL-4836 - Cosmetic edits to trigger a jenkins job.\n\nMakefile\nVERSION\ndb/model/proxy.go\ndb/model/proxy_test.go\nrw_core/core/adapter/agent.go\nrw_core/core/adapter/common.go\nrw_core/core/device/agent_flow.go\nrw_core/core/device/state/transitions.go\nrw_core/core/kv.go\nrw_core/route/device_route.go\n\nChange-Id: I7b5be068cca04456ad988d0436079d33d7f05843\n"
    },
    {
      "commit": "d948f7701638cccadb9a514f722927f8131b0a46",
      "tree": "98f9ea796e32934954996e55982306e0db59072c",
      "parents": [
        "21e54c3ea127cefd9c8649007ee3826098e3c32a"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Wed Aug 11 17:49:24 2021 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Oct 05 13:52:05 2021 -0400"
      },
      "message": "[VOL-4291] Rw-core updates for gRPC migration\n\nChange-Id: I8d5a554409115b29318089671ca4e1ab3fa98810\n"
    },
    {
      "commit": "5458a1c3a7ed4e36f447a3a5059ce056238453b1",
      "tree": "146fe8305683400fd697f29c335b3b9322eb3122",
      "parents": [
        "581cf4b8f8eb608b8196b0ed048eab66b9225f9f"
      ],
      "author": {
        "name": "yasin sapli",
        "email": "yasin.sapli@netsia.com",
        "time": "Mon Jun 14 22:24:38 2021 +0000"
      },
      "committer": {
        "name": "yasin sapli",
        "email": "yasin.sapli@netsia.com",
        "time": "Tue Jun 22 01:55:51 2021 +0300"
      },
      "message": "[VOL-4183] Multi UNI\n\nvoltha-lib-go version changed\n\nUnused constant removed\n\nBefore sending trap flows to OLT device, rw-core sets the correct meterId to flow.\n\nChange-Id: Id16afc685161dee560b62cc6c045c44f0bc4a427\n"
    },
    {
      "commit": "34dd63fda5e09e23b24747b5ecabab29c6a0c2fc",
      "tree": "4914d2b5ebbc8a0b511c37db02104c705783fcb4",
      "parents": [
        "6bd4de011aedee5138ef77173f9eb9cf8eb507b6"
      ],
      "author": {
        "name": "Andrey Pozolotin",
        "email": "posandrey@gmail.com",
        "time": "Mon May 31 21:26:40 2021 +0300"
      },
      "committer": {
        "name": "Andrey Pozolotin",
        "email": "posandrey@gmail.com",
        "time": "Tue Jun 08 12:38:19 2021 +0300"
      },
      "message": "Fixes for stricter sca rules\n\nChange-Id: I027796c040009ec21d9864b1868757993d47cb35\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": "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": "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": "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": "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": "4f355f5246b124dde08336f084ae51db5c9d9d3e",
      "tree": "20da2de40eda8cffa1f2c7164ba68ac63c7120b1",
      "parents": [
        "d9cc2e939271fec1ef177853b76a6ba14b9023ea"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Mon Mar 30 16:01:33 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Thu Apr 09 09:37:46 2020 -0400"
      },
      "message": "VOL-2868 Model simplification/removal.\n\nReduced the model to its most commonly used functions. (Removed unused logic \u0026 test cases.)\nReworked remaining functions to be more intuitive to use, and to more closely follow golang conventions.\n\nChange-Id: Ibbb267ff37e039b73489b4379aa2654208614d5b\n"
    },
    {
      "commit": "f56a4689cd0f289fb8a6b4c759ada9acb6a1fe59",
      "tree": "53aa8c393b9ea39aadc8eb3a408457e26566bd39",
      "parents": [
        "5ff3092a40bed8d7502ddca8aded2542f9e127ff"
      ],
      "author": {
        "name": "Girish Kumar",
        "email": "girish_kumar@infosys.com",
        "time": "Fri Mar 20 20:07:46 2020 +0000"
      },
      "committer": {
        "name": "Girish Kumar",
        "email": "girish_kumar@infosys.com",
        "time": "Mon Mar 23 18:11:00 2020 +0000"
      },
      "message": "[VOL-2694] Use package specific logger instance in all log statements\n\nChange-Id: Icf1cb5ade42e42179aed7731b767af2f52481e3d\n"
    },
    {
      "commit": "a71a54dcffaf1d44d4c3f999ae5b9a77b66f1dcf",
      "tree": "65c7c5f58a884deac1a3ad9a8b775b1048a727df",
      "parents": [
        "aa8bd4dcc3510caf2c5362106d9bff2852663d31"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Mon Mar 09 12:30:23 2020 -0400"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Mon Mar 09 12:37:13 2020 -0400"
      },
      "message": "VOL-2726 Changed all usages of childTypesSingleton to use the provided getters and setters.\n\nThis makes map access thread-safe.\n\nChange-Id: I5cc1c6fa5c074c3020a1e1e37e88d2456f81ad7f\n"
    },
    {
      "commit": "32836733490acc62dc876f0893311af9f838bd06",
      "tree": "f49946e17df30006e4b429f8edd72cf6c7c23ae0",
      "parents": [
        "eb8c4f8127f69fd5c511f84ff50f418f6f868e34"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Mar 05 16:10:44 2020 -0500"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Mar 05 16:10:44 2020 -0500"
      },
      "message": "[VOL-2715]  Fix device delete issue\n\nChange-Id: I148ff39c6ff976a1aae5f9d17c1ea9a043f12f37\n"
    },
    {
      "commit": "67b221532a14f24e501a50da2078cd3d9b4ef4b7",
      "tree": "985720180260dc18a115b61a3828ab67b89d7f82",
      "parents": [
        "42f6c84397bc522a0b30970b846a91e1873e31df"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Mon Mar 02 16:01:25 2020 -0500"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Mar 03 10:47:45 2020 -0500"
      },
      "message": "[VOL-2688] Improve core model performance\n\nThis commit addresses the low-hanging performance hogs in the\ncore model.  In particular, the following changes are made:\n\n1) Remove proto message comparision when it\u0027s possible.  The proto\nmessage deep comparison is quite expensive.\n2) Since the Core already has a lock on the device/logicaldevice/\nadapters/etc before invoking the model proxy then there is no\nneed for the latter to create an additional lock on these artifacts\nduting an update\n3) The model creates a watch on every artifacts it adds to the KV\nstore.   Since in the next Voltha release we will not be using Voltha\nCore in pairs then there is no point in keeping these watches (these\nis only 1 Core that will ever update an artifact in the next\ndeployment).  This update removes these watch.\n4) Additional unit tests has been created, mostly around flows, in an\nattempt to exercise both the core and the model further.\n\nChange-Id: Ieaf1f6b9b05c56e819600bc55b46a05f73b8efcf\n"
    },
    {
      "commit": "dcd4dcccc7f926721ed411065be28b493de2f1ef",
      "tree": "4e1c7d267dc6a97652d620fa2d3b84bdbc43975d",
      "parents": [
        "65cb19fd45f843f873506de016aec317d75d4998"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Tue Feb 25 17:56:17 2020 -0500"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Tue Feb 25 19:13:19 2020 -0500"
      },
      "message": "Updated tools version to 2.0.0\n\nAlso merged lint-style (gofmt) into golangci-lint (enabled gofmt).\nAlso removed redundant lint-sanity (govet) which is already checked by golangci-lint.\nAlso made minor code changes to pass new golangci-lint tests.\nAlso changed lint-mod slightly so it reverts any changes it makes go.mod, go.sum, and vendor/.\n\nVOL-2647\n\nChange-Id: I15557edf0f9225ea1c44e5bab29481d17a82e2b8\n"
    },
    {
      "commit": "0e78ba2e2022d2bcf56e2ca31e6a56379ddb8038",
      "tree": "24f0ca6f5946c4e54599ed1061d03878c444aa87",
      "parents": [
        "7f72f0c46c572c0497727965e111ae66fe933bbc"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 24 17:58:47 2020 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 25 11:25:48 2020 -0800"
      },
      "message": "VOL-2631 Update to voltha-lib-go 3.0.14\n\nChange-Id: I21ef41d49ad6bd42ad301962583d2aabdea7ccad\n"
    },
    {
      "commit": "467fe7536d85d096354b60fa49346f20a9e6f7f7",
      "tree": "8022b3eb7b2188716eb3649d8f12543e3b9ddb18",
      "parents": [
        "b9cfcb167c2cbe01ea37cf1edd4e3dd9915b78d0"
      ],
      "author": {
        "name": "npujar",
        "email": "Nikhil.Pujar@radisys.com",
        "time": "Thu Jan 16 20:17:45 2020 +0530"
      },
      "committer": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Tue Feb 04 11:25:40 2020 -0500"
      },
      "message": "VOL-2180 context changes in voltha-go\n\nPassed context up as far as possible.\nWhere context reached the gRPC api, the context is passed through directly.\nWhere context reached the kafka api, context.TODO() was used (as this NBI does not support context or request cancelation)\nAnywhere a new thread is started, and the creating thread makes no attempt to wait, context.Background() was used.\nAnywhere a new thread is started, and the creating thread waits for completion, the ctx is passed through from the creating thread.\nCancelation of gRPC NBI requests should recursively cancel all the way through to the KV.\n\nChange-Id: I7a65b49ae4e8c1d5263c27d2627e0ffe4d1eb71b\n"
    },
    {
      "commit": "1001404f02dee3e1a1a59efeaa8ce27dacf30517",
      "tree": "044bd7362b4b57475c07f347f8492833afd6d6b0",
      "parents": [
        "fc3b1af55854ae71e2aae4d5478f904ae64d6f96"
      ],
      "author": {
        "name": "Hardik Windlass",
        "email": "hardik_windlass@infosys.com",
        "time": "Thu Jan 30 17:59:58 2020 +0000"
      },
      "committer": {
        "name": "Hardik Windlass",
        "email": "hardik_windlass@infosys.com",
        "time": "Fri Jan 31 10:30:37 2020 +0000"
      },
      "message": "[VOL-2221] UT for db/model Pkg\n\nChange-Id: I387469dd2e9e0ab7af32b15715019a54f5f6253e\n"
    },
    {
      "commit": "2ae470fb773f92a43078574e343967263fb38c96",
      "tree": "52ef7d2f5cc889c7a8b8cfbf2293e20d76b94ccb",
      "parents": [
        "0c89b3c7ea245bbb4861e497a72990520da0cf7c"
      ],
      "author": {
        "name": "serkant.uluderya",
        "email": "serkant.uluderya@netsia.com",
        "time": "Tue Jan 21 11:13:09 2020 -0800"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Jan 24 16:24:16 2020 +0000"
      },
      "message": "VOL-1643 Update voltha-go to use voltha-protos and voltha-lib-go v3.0.0\n\nChange-Id: I86744943d59de38e9285ed7f53adc49c3b047e62\n"
    },
    {
      "commit": "9a30c70563edc4881bf6921d63201fff6d354066",
      "tree": "ec1986a43ebc55cb94b72d8db661ef3404f98828",
      "parents": [
        "86380a9bcea49c01ad8826cf51220e64d3c95bec"
      ],
      "author": {
        "name": "npujar",
        "email": "Nikhil.Pujar@radisys.com",
        "time": "Thu Nov 14 17:06:39 2019 +0530"
      },
      "committer": {
        "name": "npujar",
        "email": "Nikhil.Pujar@radisys.com",
        "time": "Tue Jan 21 15:38:08 2020 +0530"
      },
      "message": "VOL-1900 lint warning fixes db\n\nChange-Id: Iaa4e5c271c9e1d7c8ebce1e13c7e723ea4762304\n"
    },
    {
      "commit": "49085359a5ca0dc316c8fa59aed0d47fba285bb2",
      "tree": "ce9abbf785e9feb2885b500dec9b982654120e2e",
      "parents": [
        "09959ae1c1f0362b5cf0408dc8335c9e4fbf9f5c"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Mon Jan 13 19:15:43 2020 -0500"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Jan 14 16:08:02 2020 -0500"
      },
      "message": "[VOL-2454] Fix for device deletion in the rw_core\n\nWhen a parent device is deleted, its child devices are deleted\nas well.  The state machine in the Core ensures this process occurs.\nHowever, there were \"duplicate\" codes during the parent device\ndeletion where it was triggering child devices in being deleted\nagain.  This is incorrect is being addressed by this change.\n\nChange-Id: I8dbbe48e97f70638a0ea28444825452b366da137\n"
    },
    {
      "commit": "e5a4401f01c75f52717611fadb14d7d00f91c1cf",
      "tree": "7888a697d8bc05f81174c80e8971b660ff2cf215",
      "parents": [
        "2ea59216efeae69eb02eb658ce98532e618640d2"
      ],
      "author": {
        "name": "Thomas Lee S",
        "email": "Thomas.Sebastian@radisys.com",
        "time": "Thu Nov 07 20:32:24 2019 +0530"
      },
      "committer": {
        "name": "Thomas Lee S",
        "email": "Thomas.Sebastian@radisys.com",
        "time": "Thu Jan 09 13:15:17 2020 +0530"
      },
      "message": "VOL-1774 Etcd Crash Handling\n\nChange-Id: I1eeb726654c3972fd0a4fafae134607e5a810415\n"
    },
    {
      "commit": "03fe56f418015507af89d49fd8a7c8f1643b5065",
      "tree": "e746771f7654a0b7743237efdc217734018b09a7",
      "parents": [
        "8da2f1ec380d936e0d63cff7731d75aa444bb8c0"
      ],
      "author": {
        "name": "Hardik Windlass",
        "email": "hardik_windlass@infosys.com",
        "time": "Wed Nov 27 09:11:25 2019 +0000"
      },
      "committer": {
        "name": "Hardik Windlass",
        "email": "hardik_windlass@infosys.com",
        "time": "Wed Nov 27 09:11:25 2019 +0000"
      },
      "message": "[VOL-2219] UT for db-model-profiling\n\nChange-Id: Ifac2c9874b92a0595d08f4c28e0be8c3f2698a9a\n"
    },
    {
      "commit": "444e25090caf414ba0039f1c666913cf11daec9a",
      "tree": "441b67e36dc8ab29db0e9f64cbbc95592a0bfa1d",
      "parents": [
        "a7275c28585f2c5cac73b570a9f4a8935bcf3dbf"
      ],
      "author": {
        "name": "gerardo.laurenzi",
        "email": "gerardo.laurenzi@hcl.com",
        "time": "Fri Nov 15 09:26:46 2019 +0000"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Nov 26 19:17:18 2019 +0000"
      },
      "message": "VOL-2211 Unit test for data_revision.go\n\nChange-Id: I04fe5bde632560651dae9aafac04e57ca8580778\n"
    },
    {
      "commit": "a7275c28585f2c5cac73b570a9f4a8935bcf3dbf",
      "tree": "decdbdd522bf110bf8c463eb88762a898abad74b",
      "parents": [
        "1273234dd88202f4031526f65e5271ca89281cc0"
      ],
      "author": {
        "name": "Daniele Rossi",
        "email": "daniele.rossi@hcl.com",
        "time": "Mon Nov 25 12:48:58 2019 +0100"
      },
      "committer": {
        "name": "Daniele Rossi",
        "email": "daniele.rossi@hcl.com",
        "time": "Tue Nov 26 17:47:59 2019 +0100"
      },
      "message": "VOL-2280 Bugs in Callbacks handling in db/Model/root.go\n\nChange-Id: I418fc914bb6ed1cc6fe1f49bd73b5af775476ffb\n"
    },
    {
      "commit": "17d7e22a594c54b87751ed5c7db9fdcb8285f38e",
      "tree": "8c5d2911bfc4ea25730b46eafa7fb2f5b67afe9f",
      "parents": [
        "a773e99377b0faae80a62058ed97b7afb406bb40"
      ],
      "author": {
        "name": "sbarbari",
        "email": "sbarbari@ciena.com",
        "time": "Tue Nov 05 10:02:29 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Nov 06 15:37:55 2019 +0000"
      },
      "message": "VOL-2154 : Moving back db/model to voltha-go repo\n\n- Package imports and dockerfiles updated\n- Left backend.go in voltha-lib-go\n\nAmendments:\n\n- Adjusted proto imports in unit tests\n- Adjusted references to db/model in unit tests\n- Integrate voltha-lib-go updates\n\nChange-Id: I2d168c516a238222f0371a7bcb672d2b06796838\n"
    },
    {
      "commit": "cb7c88a83125b0324452d2f4db3e50d2923c13c1",
      "tree": "7486ca4365acccc361d25a8acb5314b9a97a3f37",
      "parents": [
        "9f0da51a64e4e22685d4e791fe1b45bd339ddb83"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Oct 16 18:32:48 2019 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 18 10:08:15 2019 -0700"
      },
      "message": "VOL-2017 library code was moved to voltha-lib-go\n\nChange-Id: Ia4b27695cf7ec3377a64572972998d52b70a0a5f\n"
    },
    {
      "commit": "b324421061a283fe22b1a2c0135941ba41392d44",
      "tree": "5c50a0eabbefda16f6babc8fd657e94790c741fc",
      "parents": [
        "283d1546981c00cd53f705aba2c6f3c1de2f932b"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Aug 27 14:32:27 2019 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Aug 27 14:34:14 2019 -0400"
      },
      "message": "[VOL-1862] rwCore waits for kafka and KV Store\n\nThis commit is a cherry pick into the master branch from the\nvoltha 2.1 branch of patch https://gerrit.opencord.org/#/c/15030/\n\nChange-Id: I8a306c8b37ad700ef8234466919e0604e14787cd\n"
    },
    {
      "commit": "ef6650dd3bfa6247917f430e4d123827b5ba3ed9",
      "tree": "8a9488762c6df8f0b8132e1c520bc77d1d34e50e",
      "parents": [
        "90cd955106f8b6924041e0e0d6ddf843a4ceaff4"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Jul 18 12:15:09 2019 -0400"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Jul 19 15:08:24 2019 +0000"
      },
      "message": "VOL-1775 VOL-1779 VOL-1780 : Fix several issues with overall stability\n\n- Apply changes as reported by golang race utility\n- Added version attribute in KV object\n- Added context object to db/model api\n- Carrying timestamp info through context to help in the\n  decision making when applying a revision change\n- Replaced proxy access control mechanism with etcd reservation mechanism\n\nChange-Id: If3d142a73b1da0d64fa6a819530f297dbfada2d3\n"
    },
    {
      "commit": "c92d107dc36ff962602a6a4781eefbf25d875db6",
      "tree": "6f14aa912094e56a2d787c7bea60068545ce15bb",
      "parents": [
        "926614644463b9b330936a39d6f3f8af88f141ca"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Jun 07 16:21:49 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Jun 07 16:21:49 2019 -0400"
      },
      "message": "VOL-1687 : Fix wrong in-memory node assignments\n\n- Fixed nil pointer with createProxy\n- Changed watch loop to avoid re-starting when rev changes\n\nChange-Id: Ie821788f2422d7a2083398c65b9632c65fae001d\n"
    },
    {
      "commit": "a8cf8334a922a7a7a9339bf5af165a6f7184e526",
      "tree": "888b99d670d1e8aeefeca35fabb89f83d5f4b0f7",
      "parents": [
        "3d3b8c2f6431cf86d6da064db19c295a3e3b6fc1"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri May 24 11:10:28 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri May 24 11:10:28 2019 -0400"
      },
      "message": "VOL-1677 : Fixed callback issue\n\nChange-Id: I72de46f1ed40fd97aafefdba2b3de34303f9946c\n"
    },
    {
      "commit": "802aca48623560437ec03b52c7b7c73f37ff965a",
      "tree": "5504fdf503f99949e64bcfe1431a231c5e76828f",
      "parents": [
        "5a4a21234a6e9d3b66c9738bc7f5e18772a55859"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue May 21 12:19:28 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue May 21 15:01:49 2019 -0400"
      },
      "message": "VOL-1616 / VOL-1611 : Fix device state issue and memory discrepencies\n\n- Applied mutex on node object to resolve in-memory data conflicts\n- Introduced a refresh period for in-memory data\n\nAmendments:\n\n- Fixed node.go file format\n- Bumped VERSION to 2.1.0-dev\n- Use a RLock for GetLastUpdate\n\nChange-Id: I57e88fe3ec5cceed0d4fcdb240ae9191b49ebe33\n"
    },
    {
      "commit": "d3e0f006380630b2002460f0281248c34b547964",
      "tree": "756aeba3b4b90515f53875c5a3a010624833e8f4",
      "parents": [
        "7512fc898c89494edeb4d3b7ee24ff9588ca4b87"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed May 08 12:36:25 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed May 08 12:36:25 2019 -0400"
      },
      "message": "VOL-1584: Removed extra SetProxy statement\n\n- SetProxy was not always matching the device type\n\nChange-Id: I795c2d11b3644f85f8af737c47b2505eaf303716\n"
    },
    {
      "commit": "7512fc898c89494edeb4d3b7ee24ff9588ca4b87",
      "tree": "4822536d5f50c26834f669af39106dbe258d4a1a",
      "parents": [
        "259a6f7ad2e0953a4a7c3de671a10cf4adaeedce"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue May 07 12:25:46 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue May 07 14:20:11 2019 -0400"
      },
      "message": "VOL-1584: Fix for multi-core cli infinite loop\n\n- Reduced number of calls to kv\n- Re-introduced cache logic for in-memory data access\n- Misc log updates\n\nAmendments:\n\n- Ensure that we clone the returned cache data\n- Give priority to cache but use alternate get methods otherwise\n\nChange-Id: I56ce67f22d9945b7a194f4c6aab0c7fd75dd2f2e\n"
    },
    {
      "commit": "0ab4cb2bfea71765610ef8f0051c8d7b231ad08f",
      "tree": "673cb56dbeb13f026c43fe636a98db3ae1cc9059",
      "parents": [
        "2c6a099da75a0cf428ef57e5e67057e09a4e2625"
      ],
      "author": {
        "name": "Kent Hagerman",
        "email": "khagerma@ciena.com",
        "time": "Wed Apr 24 13:13:35 2019 -0400"
      },
      "committer": {
        "name": "David K. Bainbridge",
        "email": "dbainbri@ciena.com",
        "time": "Tue Apr 30 11:47:21 2019 -0700"
      },
      "message": "VOL-1577 - General cleanup (gofmt, go vet, go test, dep check)\n\nChange-Id: I536b2746b8bd266f3e75aeccc65bfe7468f1b44a\n"
    },
    {
      "commit": "40fd3b2ebed11a85581b2f34f74c74e54cfc306a",
      "tree": "e70b73b2561d074b549945d8e705461f40ae60ec",
      "parents": [
        "142516e3824069a87b34b9255df09f4569213953"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Apr 23 21:50:47 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Apr 23 21:50:47 2019 -0400"
      },
      "message": "VOL-1497 : Further improved data synchronization between cores\n\n- Introduced locking when modifying branches\n- Introduced locking when modifying rev children\n- Rewrote persistence loading logic to avoid unecessary changes\n- Access controlled CreateProxy to ensure a proxy is not created\n  against an incomplete device entry\n- Removed locking logic from etcd client\n- Replaced revision merging logic with persistence loading\n\nVOL-1544 : Cleanup revisions to improve overall performance\n\n- Ensure that old revisions are discarded\n- Ensure that children do not contain discarded revisions\n- Disabled cache logic for now\n\nChange-Id: I1b952c82aba379fce64a47a71b5309a6f28fb5ff\n"
    },
    {
      "commit": "daa6bb293ba6cd2eee66d4ad5e42316a4d5d7e8d",
      "tree": "a04aa6754c512235ef96e218653a0759754fa241",
      "parents": [
        "f7fc1788f86c11b2cd678853a965db52795a1344"
      ],
      "author": {
        "name": "William Kurkian",
        "email": "wkurkian@cisco.com",
        "time": "Thu Mar 07 12:26:28 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Apr 01 14:36:17 2019 +0000"
      },
      "message": "VOL-1460 Updated core to use voltha-protos instead of local protos\nMoved protos to python directory in order to maintain functionaly of containers built there.\nAdded capability to do local builds of protos\nAdded instructions on running dep ensure for getting protos.\nUpdated github.com/golang/protobuf version to v1.3.1\n\nChange-Id: Ia6ef55f07f0d5dcb5b750d7c37b21b71db85bfc4\n"
    },
    {
      "commit": "f7fc1788f86c11b2cd678853a965db52795a1344",
      "tree": "05b4306815fd2a601fd05c3e975e9e7bb72c32d5",
      "parents": [
        "1ce37ad5ed1e75e11a2546fcb325529f435dd211"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Mar 28 22:33:41 2019 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Mar 28 22:41:01 2019 -0400"
      },
      "message": "VOL-1543 : Fix to properly delete a device from storage\n\nChange-Id: I52d37d947ee6aaf4108fb8252951a123a2829d0c\n"
    },
    {
      "commit": "c53a275af72ecd9733d2d1527a3d5d9e7d2ae073",
      "tree": "064e52ad804719fa830088f12cd8900d8edb8d74",
      "parents": [
        "a26e072eaf533d297d5c306de0067f36b36a1b1d"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Mar 08 17:50:10 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Mar 08 17:50:10 2019 -0500"
      },
      "message": "VOL-1509 : Partial fix for merging issue\n\n- Changed channel map in etcd to a sync.Map\n- Changed graph boundaryPorts to sync.Map\n- Added logic to check if proxy access is currently reserved\n- Changed watch logic to exit when proxy access in progress\n- Fixed UpdateAllChildren method\n- Commented out the Drop operation again in node.go\n\nChange-Id: I8a61798e907be0ff6b0785dcc70721708308611d\n"
    },
    {
      "commit": "260a563f8dc9823c55b6e96b2a9d410073029534",
      "tree": "08f3f1733f8f48526835e9b36394408f5d06ca38",
      "parents": [
        "0105a1f0206deaba5331eeef7bfa8c6308111017"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Feb 26 16:12:49 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 27 11:28:19 2019 -0500"
      },
      "message": "VOL-1497 : Add more control to kv/memory access\n\n- Added kv locking mechanism (etcd only)\n- (watch) control path access whenever possible\n- (watch) use a transaction for updates and merge with memory\n- cleaned up vendoring\n- misc changes to fix exceptions found along the way\n\nAmendments:\n\n- Copyright header got removed in auto-generated file\n- Changed default locking to false for KV list operation\n- Updated backend api to allow the passing of locking parameter\n\nChange-Id: Ie1a55d3ca8b9d92ae71a85ce42bb22fcf1419e2c\n"
    },
    {
      "commit": "b0c79896db103bbc144ab8f0ffa6ce9441f3d7df",
      "tree": "b89747d80b42238928a53fdca8f3a650460b90cd",
      "parents": [
        "6d05513eed2df98b5cbe5224e3bcc98969542a36"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 13 11:29:59 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 13 11:29:59 2019 -0500"
      },
      "message": "VOL-1468 : Ensure hash is kept and latest is set\n\nChange-Id: I6ea53b7da41963c9ecce4df2c6d9a320c79930fc\n"
    },
    {
      "commit": "0a97e9b7c7d99d30317e358668cd1e5f5709d485",
      "tree": "9e8e984642349a640f352a5c90609d0792f4f08f",
      "parents": [
        "1e28f3ea933fc5e49a813be6242fc5c5681f6a60"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Feb 11 22:02:17 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Feb 11 22:02:17 2019 -0500"
      },
      "message": "VOL-1468 : Fix to prevent kv watch updates to trigger callbacks\n\nChange-Id: Iff8cdd686d61d9c5015b61624626f8e426cc12fe\n"
    },
    {
      "commit": "1e28f3ea933fc5e49a813be6242fc5c5681f6a60",
      "tree": "439a2d8e2bb84c81ba2e1907f11251a7ce9e515a",
      "parents": [
        "13182842bc80ff07b46d0ea269ea090ee9699769"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Feb 08 15:45:20 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Feb 08 15:45:20 2019 -0500"
      },
      "message": "VOL-1465 : Integrate rw sync fixes into ro core\n\n- Added new config-map for affinity router\n- Removed some really verbose model logs\n- Fail core when kv client cannot be established\n\nChange-Id: I7f10c7ce3121abaf88fa622aecb3affd40813d67\n"
    },
    {
      "commit": "11b88e7b4962fe906a383f5393a1d7f18d279a77",
      "tree": "43f5108fb078da5e36437201dae19fd881323a69",
      "parents": [
        "aa467940478031f3f2da25298dc4ae6b44f9762c"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Feb 07 12:28:29 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Feb 07 12:28:29 2019 -0500"
      },
      "message": "VOL-1459 : Fix failure to load device from persistence\n\n- fixed watch logic which was not really updating memory\n- force get depth to 0 to work around corrupted data structures\n\nChange-Id: I595981e2ee3d816d17702e7f39c099193590fa6f\n"
    },
    {
      "commit": "aa467940478031f3f2da25298dc4ae6b44f9762c",
      "tree": "f91e75bedace9edd4e9f8076844e73da1caa8c96",
      "parents": [
        "d62ac4e3aec5a43c5ebd4f2641bf26358230dea5"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 06 14:09:44 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Feb 06 14:09:44 2019 -0500"
      },
      "message": "VOL-1459 : Ensure data model synchronization from kv\n\n- Introduced a new List function to force a load from persistence\n- Properly create a proxy for non-keyed nodes (e.g. /adapters)\n- Optimized load from persistence operation to avoid existing entries\n- Fixed/Enhanced proxy unit test\n\nChange-Id: Ib368d32c517e74410b541bb8927429d066a9cfd0\n"
    },
    {
      "commit": "d62ac4e3aec5a43c5ebd4f2641bf26358230dea5",
      "tree": "a6fa95bea69e1f320f7f228da0308929113fcc79",
      "parents": [
        "433f54ac005a0157ac36b7832de64eaf2f875eb9"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Feb 05 14:08:38 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Tue Feb 05 19:22:31 2019 +0000"
      },
      "message": "VOL-1446 : Fix to prevent proxy callbacks from being wrongly used\n\n- The fix consists in only assigning a proxy to a child node if\n  the proxy of the parent points to the root folder \"/\"\n\nChange-Id: I81fa9e0e142fb2a1fb885684026e2e2037144076\n"
    },
    {
      "commit": "1039ec41bb2ef51f7ca39e321c8eb15fe81bad7c",
      "tree": "4674823bcb51f09d7e6e4c198c85e2a0979241fc",
      "parents": [
        "21d511581d954bad8193499b9c12c929d6c42cf5"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Feb 04 10:43:16 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Feb 04 10:43:16 2019 -0500"
      },
      "message": "VOL-1446 : Cleanup of db/model unit tests\n\n- Fixed issues with model components while running tests\n- Removed unecessary tests\n\nChange-Id: Ica2007b66f681d03a77144cf2e778aa5a586786a\n"
    },
    {
      "commit": "21d511581d954bad8193499b9c12c929d6c42cf5",
      "tree": "7de97a70624650ec25567b4e730adfad4a1be376",
      "parents": [
        "d6e07e75efb1d9d65436ebb6ebbb80a1845208d3"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Fri Feb 01 13:48:37 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Fri Feb 01 19:04:03 2019 +0000"
      },
      "message": "[VOL-1442]  This commit handles adapter registration end to end.\nIt introduces an adapter manager to handle all adapter admin\nrequests.  Some protos have been cleaned as well.\n\nChange-Id: If75d4f7665c03e841d57f5621c30301940d04d93\n"
    },
    {
      "commit": "df5479f5603f8996d318b6b16adc37cefa452e33",
      "tree": "d2f27cbeaf37e9e253b762590d766fd0ffde4277",
      "parents": [
        "b608032429f103c6ca8c323e7e782cf0fb21a9da"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Jan 29 22:13:00 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Jan 30 14:43:51 2019 +0000"
      },
      "message": "VOL-1437 : Fix display of devices in CLI\n\nRenamed state field in image download proto which caused\njson marshalling to fail.\n\nother updates\n- unmarshal data properly when pulling data from kv in watch\n- do not update unecessarily if watch data matches data in memory\n- added ofagent target to python Makefile\n- fixed grpc path to update log level which interfered with getdevice\n\nChange-Id: I4fceeb539c3325b6754efe2b68251d83b7367211\n"
    },
    {
      "commit": "3cb0122930cc7273cbddd4a275987395500bdb18",
      "tree": "3d6bcdc2f0230c08c31efbd3a3608ee3d0e0853c",
      "parents": [
        "38afd0dc5cbf6dbbb05800699c8aae8869c748d3"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 16 17:15:56 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Mon Jan 21 18:46:12 2019 +0000"
      },
      "message": "VOL-1387 : Fixed issue introduced with watch mechanism submission\n\n- Added flag to determine when a revision is watched\n- Added flag to determine when a revision is stored\n- Refactored confusing method names for Set/GetChildren\n- Fixed issue with deletion of devices due to previous submission\n\nChange-Id: I68c46951f9d40d47e4e74854bba449c9fec4a427\n"
    },
    {
      "commit": "e0a4c79f591cf51f55276b9895016012b488bf58",
      "tree": "a611b076a5028437cd2c5a333f8c15fd0de85f96",
      "parents": [
        "d046be899b697e6c82de5673b56b79935b449345"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 16 11:26:29 2019 -0500"
      },
      "committer": {
        "name": "khenaidoo Nursimulu",
        "email": "knursimu@ciena.com",
        "time": "Wed Jan 16 16:48:45 2019 +0000"
      },
      "message": "VOL-1387 : Added watch mechanism\n\n- Fixed a few failure cases\n- Adjusted a few logs\n\nChange-Id: Ied1ecb3d8996a338eee00e9643685482700e860b\n"
    },
    {
      "commit": "933b09bd64667dc05650b9d999177a64fa088a84",
      "tree": "72715255ebfa488c6dd98a3d11f7002069619328",
      "parents": [
        "5f89fb69958e2b137ec3857317b9936b93702876"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 09 11:12:09 2019 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Jan 09 11:12:09 2019 -0500"
      },
      "message": "VOL-1372 : Fixed core crash due to how revisions are updated\n\n- UpdateChildren merges new and existing entries\n- proxy access control singleton now uses sync.Map since the\n  entry was intermittently losing its content\n- Switch to AddWithID in the device_agent to ensure thread safety\n\nChange-Id: Ifcb2374f48b612a487a00f4a952aeec21d1c4af1\n"
    },
    {
      "commit": "1ab4327bd1f6f0b069e0af70e402c57a72425c6f",
      "tree": "64a77d2c9a4c94c55cd015a449bdaeba5094fc6d",
      "parents": [
        "ab8e25365ef0d44ef15f5c50efb16c7c1261ab05"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Sat Dec 08 21:42:13 2018 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Sat Dec 08 21:42:13 2018 -0500"
      },
      "message": "VOL-1173 : Removed hash based storage; replaced with per device protobuf\n\n- Ensured proxies issue callbacks instead of forcing with goroutines\n- Fixed mutex issue with proxy component\n\nChange-Id: Idabd3257c6d264c0f607ee228e406810304dab43\n"
    },
    {
      "commit": "43c8212e3aba66bff565601bb6143a599dd1c421",
      "tree": "3f626df31d81b366e308fa7ab1bcb69e8184cef4",
      "parents": [
        "dc5022d9dd23f415e7b497ad0082844cc2be1197"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 22 18:38:28 2018 -0500"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Nov 22 18:38:28 2018 -0500"
      },
      "message": "This update addresses the following:\n1.  Decouple the kafka messaging proxy from the kafka client.  This\nwill allow us to try out different kafka clients as well as test\nthe client separately.\n2. Create unique device topics for the core, olt adapter and onu\nadapters.  This will ensure only cores and adapters handling these\ndevices will listens to the device messages.\n3. Update the core with the latest device model APIs and changes.\nWhile most of the model issues have been fixed, there is still an\nissue with updating a child branch.   This will be dealt in a separate\nupdate.\n\nChange-Id: I622ef5c636d7466bb3adefaa4ac4c85d7c450bea\n"
    },
    {
      "commit": "dc5022d9dd23f415e7b497ad0082844cc2be1197",
      "tree": "b2f9320b21b6db474e45edf01256eb1068e2ce06",
      "parents": [
        "c635cd3265002d98f2a53eecaf77d4a41229abf2"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Nov 19 15:21:44 2018 -0500"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Nov 19 15:21:44 2018 -0500"
      },
      "message": "VOL-1334 : Fixed concurrency issues\n\n- Semaphores were added at the different layers of the model\n- Made the proxy interfaces more robust\n- Eliminated problems while retrieving latest data in concurrent mode\n\nChange-Id: I7854105d7effa10e5cb704f5d9917569ab184f84\n"
    },
    {
      "commit": "a188d94b8a07e8d458317c1865e254abf4d3397a",
      "tree": "00634d1856438a75c3c2a227aa2ebbef7254ecd3",
      "parents": [
        "126101e6179674e288c2b09b55bfa22ea348c4fa"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Oct 16 16:43:04 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Oct 17 10:36:49 2018 -0400"
      },
      "message": "VOL-1243: Added logic for thread safety\n\n- Thread safety was added at the proxy level\n- Refactored the test init in a base_test structure\n- Fixed issue with writing to kv\n- Added profiling for locking period\n\nAmendments:\n\n- Comment out a cleanup statement causing KV corruption (as per VOL-1293)\n- Added missing license\n\nChange-Id: Id6658270dbb8b738abeef9e9e1d349dce36501bc\n"
    },
    {
      "commit": "126101e6179674e288c2b09b55bfa22ea348c4fa",
      "tree": "caa874e8243d2a59d178f94f2bb619d1dee4c3f3",
      "parents": [
        "4d4802d7e431bd9720c1c2ababbb07dacc63d6c0"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Oct 11 16:18:48 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Oct 11 16:18:48 2018 -0400"
      },
      "message": "VOL-1283: Fixed callback execution consistency for all proxy levels\n\n- Callbacks are executed at any proxy levels\n- Uncovered some issues with the base children fields structure\n- cleaned up the root/node structures\n- Ensure that a get command returns a clone.\n\nChange-Id: Ic2cd5420c29332bd9b5d6f303a7fd9d0d0ccaf06\n"
    },
    {
      "commit": "8c48b5c9e3bbdad9e13fa34a3475b214505e3a0e",
      "tree": "4331c1a1367c1397c8a5151221850f68ce54aad4",
      "parents": [
        "06c4a74a28b448d56a3efc82a13b9b1d11482134"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Oct 02 09:45:17 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Oct 02 10:38:05 2018 -0400"
      },
      "message": "VOL-1247 : Modified change tuple to include previous and latest data\n\nVOL-1214 : Fixed logs to use the proper mechanism\n\n- Added missing license\n- Moved one change tuple statement which would not include proper info\n\nChange-Id: I5a02f6fe92c8b193642294d62f4413ac6edc0c62\n"
    },
    {
      "commit": "06c4a74a28b448d56a3efc82a13b9b1d11482134",
      "tree": "7c247c5f5edac6f326ef84fa9c82964febe5a694",
      "parents": [
        "88fbe7f5f05cfb71efb3d0baefba7301bfc8d296"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Oct 01 11:09:32 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Mon Oct 01 11:09:32 2018 -0400"
      },
      "message": "VOL-1255: Fixed an issue with the proxy implementation\n\n- Had to change the model slightly to mimic a polymorphic behaviour\n\nChange-Id: I12017cdfedf5c0ed05243245aa2a811556222e0f\n"
    },
    {
      "commit": "88fbe7f5f05cfb71efb3d0baefba7301bfc8d296",
      "tree": "c9f2bbf0c0604475e1b26cd1426bb0cc81ceef6d",
      "parents": [
        "7da372dc4eeb1865fe0115354aad098398aa15be"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Sep 25 12:25:23 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Sep 25 12:25:23 2018 -0400"
      },
      "message": "VOL-1174: Keep only latest data and apply changes only when committed.\n\nChange-Id: I2311eb9cf1487b39f23066df50d19b47fd5c7dcc\n"
    },
    {
      "commit": "2c6f16759e74e10c340401ed9b251fc246961a76",
      "tree": "340863eb2b22240358cc7c5ed390402fe4dc67a4",
      "parents": [
        "9a4689630eff5834207269a224e3a8652b4407e9"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Sep 20 23:14:41 2018 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Thu Sep 20 23:14:41 2018 -0400"
      },
      "message": "This commit consists of:\n1) Fixing the core tests\n2) Fix an error in the logger where the runtime stack trace behaved\ndifferently in go 1.10 vs go 1.9.\n3) Minor other fixes\n\nChange-Id: I1263df38ffcd733174f776a0901583cfb59c616e\n"
    },
    {
      "commit": "b92035435f2922c41cb9c9c078de2abe7367b008",
      "tree": "d12930c4e0bf026551724fc5a820da0945999c5d",
      "parents": [
        "e16186c3874c911c426263ba11919ce6cad07099"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Mon Sep 17 22:56:37 2018 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Sep 18 10:53:57 2018 -0400"
      },
      "message": "This commit consists of the following:\n1) The kafka messaging proxy in Twisted python for adapters\n2) Initial implementation and containerization of ponsim OLT adapter\nand ponsim ONU adapter\n3) Initial submission of request and response facade in both Twisted\npython and Go Language\n4) Initial implementation of device management and logical device management\nin the Core\n5) Update to the log module to allow dynamic setting of log level per\npackage using the gRPC API\n6) Bug fixes and minor changes\n\nChange-Id: Ia8f033da84cfd08275335bae9542802415e7bb0f\n"
    },
    {
      "commit": "e16186c3874c911c426263ba11919ce6cad07099",
      "tree": "c51d841fa4764cdc25bd04cf9599050fd7165a88",
      "parents": [
        "694e2b93b92594c8725d5cb99a1aa19d764584a7"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Sep 11 10:46:34 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Tue Sep 11 10:46:34 2018 -0400"
      },
      "message": "VOL-1174: Ported transaction support to go data model\n\nChange-Id: I4cabefac36c95f690aa121c71f36b6aaf41180b0\n"
    },
    {
      "commit": "694e2b93b92594c8725d5cb99a1aa19d764584a7",
      "tree": "c5cdacb430331c4f6cfdaa1c5fa4f7f4c7964cd5",
      "parents": [
        "ec0919b4527fcc7fcc531d78c687b1bfbadcdf0f"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Sep 07 12:17:36 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Fri Sep 07 12:17:36 2018 -0400"
      },
      "message": "VOL-1176: Ported callback mechanism\n- Updated some files with the license block\n\nChange-Id: I61db400b3a72c4915f4f3f17cc7a110313c2d25e\n"
    },
    {
      "commit": "ec0919b4527fcc7fcc531d78c687b1bfbadcdf0f",
      "tree": "828a21f3b930388aa8281535aec86e6472ed84e9",
      "parents": [
        "bf6e7bb28d756618e6e721a90e1ec64f6490f2f1"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Sep 05 14:14:29 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Wed Sep 05 14:14:29 2018 -0400"
      },
      "message": "VOL-1175: Added proxy CRUD for new data model\n\nChange-Id: Ie218a2567746d87a951f23aa6b774b2f01541cf9\n"
    },
    {
      "commit": "bf6e7bb28d756618e6e721a90e1ec64f6490f2f1",
      "tree": "9e3c147ce12a542568f7aba92fd17289f1f4b849",
      "parents": [
        "7dfae95a70e8c04d8c7d7c90eb2caf3654778e33"
      ],
      "author": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Aug 14 22:27:29 2018 -0400"
      },
      "committer": {
        "name": "khenaidoo",
        "email": "knursimu@ciena.com",
        "time": "Tue Aug 14 22:27:29 2018 -0400"
      },
      "message": "[VOL-1158] Initial commit of grpc voltha service handler.  Also\nadd license to all files.\n\nChange-Id: I923a53504c74939c1db8177df6197694f2c2b3cd\n"
    },
    {
      "commit": "4a2564d4414c89e742d4063a2dac7dc41a13d4bb",
      "tree": "b9786a70f45a6858d4703063af41bfc5f606678c",
      "parents": [
        "5c11af796e0cc753f90636a44032894a8fac3f66"
      ],
      "author": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Jul 26 11:02:58 2018 -0400"
      },
      "committer": {
        "name": "Stephane Barbarie",
        "email": "sbarbari@ciena.com",
        "time": "Thu Jul 26 11:03:09 2018 -0400"
      },
      "message": "VOL-1027 : Initial commit of voltha 2.0 data model\n\nChange-Id: Ib8006de1af2166281ccf1c9d7c2b9156991bf4e4\n"
    }
  ]
}
