)]}'
{
  "commit": "00d9a842344958e9361aa02f15775f9151b3eab9",
  "tree": "5a0d7a3202a5abef970fe6f870d91e908258a498",
  "parents": [
    "ee8d0b50900f0f40f2170f6c74d85b1ffffa59d8"
  ],
  "author": {
    "name": "Zsolt Haraszti",
    "email": "zharaszt@ciena.com",
    "time": "Wed Nov 23 11:18:23 2016 -0800"
  },
  "committer": {
    "name": "Zsolt Haraszti",
    "email": "zharaszt@ciena.com",
    "time": "Wed Dec 07 11:50:29 2016 -0800"
  },
  "message": "Major rework of gRPC handling (do not merge yet)\n\nIncludes the following chages:\n\n* Refactored proto files\n  - separation of logical devices vs devices\n  - common flow related message types moved to openflow_13\n  - most RPC is defined in voltha.proto now\n* Expanded RPC definitions to cover now most of what we\n  need (a few device provisioning RPCs are still missing)\n* Reworked RPC handlers to work with new config tree\n* Implemented test cases for all existing RPCs, tested via\n  chameleon\u0027s REST service\n* Did away wih the OrderedDict internal representation\n  in the config nodes (3x performance boost on bulk\n  add, and negligible penalty in other ops)\n* Refactored transacton merge handling to align with\n  new structures\n\nChange-Id: I3740ec13b8296943b307782e86e6b596af78140e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "36618be3aa26bf881368a314c11d689564aa3976",
      "old_mode": 33188,
      "old_path": "chameleon/grpc_client/grpc_client.py",
      "new_id": "74933cd009a9ae64819eeac7d561b342d46d0cb7",
      "new_mode": 33188,
      "new_path": "chameleon/grpc_client/grpc_client.py"
    },
    {
      "type": "modify",
      "old_id": "4596bef7eaeb263bfb8a0f19746872afb57ebcbb",
      "old_mode": 33261,
      "old_path": "chameleon/protoc_plugins/gw_gen.py",
      "new_id": "c5a8875c83f38811d448eff683a3a46641af24d7",
      "new_mode": 33261,
      "new_path": "chameleon/protoc_plugins/gw_gen.py"
    },
    {
      "type": "modify",
      "old_id": "86abdba531ba6a30a820906a4f7fc16c805d5bec",
      "old_mode": 33188,
      "old_path": "common/utils/grpc_utils.py",
      "new_id": "b9cc8f7bb0417c4528689b6ed2b7ad6144bb18ff",
      "new_mode": 33188,
      "new_path": "common/utils/grpc_utils.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tests/itests/voltha/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "78b1891a8813a4cebbf5aa40d30fe17e75a6882e",
      "new_mode": 33188,
      "new_path": "tests/itests/voltha/test_voltha_rest.py"
    },
    {
      "type": "modify",
      "old_id": "d76e511eef5564e76ca5a1b9c170b7db9fd1b574",
      "old_mode": 33188,
      "old_path": "tests/utests/voltha/core/config/test_config.py",
      "new_id": "7ec3dbcf9bb73e3cfced685834dec3c5da6e2747",
      "new_mode": 33188,
      "new_path": "tests/utests/voltha/core/config/test_config.py"
    },
    {
      "type": "modify",
      "old_id": "ce2dec532383cd4aa8ab80432e5c784ea9f0ff4f",
      "old_mode": 33188,
      "old_path": "tests/utests/voltha/core/config/test_persistence.py",
      "new_id": "7926c6c71cc34021c2bc2d1d097433d5ce9d1ea4",
      "new_mode": 33188,
      "new_path": "tests/utests/voltha/core/config/test_persistence.py"
    },
    {
      "type": "modify",
      "old_id": "e28b59cd514971a679a06386a0908691fc627906",
      "old_mode": 33188,
      "old_path": "voltha/adapters/interface.py",
      "new_id": "60eec7d3fdd752512279bcfddf37aeeb79085b84",
      "new_mode": 33188,
      "new_path": "voltha/adapters/interface.py"
    },
    {
      "type": "modify",
      "old_id": "c90f17ff852928a2b3d92d8b685734fd7fdaaf41",
      "old_mode": 33188,
      "old_path": "voltha/adapters/loader.py",
      "new_id": "889b94f9fde4ca6b9825ca46d13ecad63d64fa9d",
      "new_mode": 33188,
      "new_path": "voltha/adapters/loader.py"
    },
    {
      "type": "modify",
      "old_id": "805d250c1e83e6edb991c45409f4516efce7363d",
      "old_mode": 33188,
      "old_path": "voltha/adapters/simulated/simulated.py",
      "new_id": "ad28898f59cd571f3d788b48e5e5c07b189c8505",
      "new_mode": 33188,
      "new_path": "voltha/adapters/simulated/simulated.py"
    },
    {
      "type": "modify",
      "old_id": "b268a209661b128f2bf2ca12ee05654c0b4673fa",
      "old_mode": 33188,
      "old_path": "voltha/coordinator.py",
      "new_id": "5ab7ae9e9659571e67fb69caf12716b935c079ce",
      "new_mode": 33188,
      "new_path": "voltha/coordinator.py"
    },
    {
      "type": "modify",
      "old_id": "6df8b4c3c8c649af3668b854d92f3525a4ee2b15",
      "old_mode": 33188,
      "old_path": "voltha/core/config/config_node.py",
      "new_id": "969ba8e2aed6d466faae293f05ab8a794563aacd",
      "new_mode": 33188,
      "new_path": "voltha/core/config/config_node.py"
    },
    {
      "type": "modify",
      "old_id": "e4c624534fdfb6af3f1319228b1dca77ccfe8dea",
      "old_mode": 33188,
      "old_path": "voltha/core/config/config_proxy.py",
      "new_id": "0769a94b96c45c6a6d5ebfcaf2d077e95b18d8e2",
      "new_mode": 33188,
      "new_path": "voltha/core/config/config_proxy.py"
    },
    {
      "type": "modify",
      "old_id": "411ede25ab629974709bdf1e5d2ae70dcc34b2ee",
      "old_mode": 33188,
      "old_path": "voltha/core/config/config_rev.py",
      "new_id": "dc0eb5eefb23f807d8b787391e32ed8b7bc23d07",
      "new_mode": 33188,
      "new_path": "voltha/core/config/config_rev.py"
    },
    {
      "type": "modify",
      "old_id": "f1fad1cad23c47ab9e20018b1bf26b27de46c534",
      "old_mode": 33188,
      "old_path": "voltha/core/config/config_rev_persisted.py",
      "new_id": "d3983a16788a43e56a2fbb1d35edaac69729ced9",
      "new_mode": 33188,
      "new_path": "voltha/core/config/config_rev_persisted.py"
    },
    {
      "type": "modify",
      "old_id": "c229a4205bcd2f163be6dcb6486183bc9c865040",
      "old_mode": 33188,
      "old_path": "voltha/core/config/config_root.py",
      "new_id": "6b45a90094c2b21793a6ff27479ab9d9bd1e8bc8",
      "new_mode": 33188,
      "new_path": "voltha/core/config/config_root.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "be87f5c006964ff5ea5426624b5205d88a09ea27",
      "new_mode": 33188,
      "new_path": "voltha/core/config/merge_3way.py"
    },
    {
      "type": "modify",
      "old_id": "9eb82ffed3b703b65941b84a10830ba02780e913",
      "old_mode": 33188,
      "old_path": "voltha/core/core.py",
      "new_id": "02e9c024588213eb9c22d6db8af1b277bb740de6",
      "new_mode": 33188,
      "new_path": "voltha/core/core.py"
    },
    {
      "type": "modify",
      "old_id": "27b9a4b06f2fbc5ef0c6a102bedc9c8cb3a7d944",
      "old_mode": 33188,
      "old_path": "voltha/northbound/grpc/grpc_server.py",
      "new_id": "c25429dfcd652483d85151696542640ec9566abf",
      "new_mode": 33188,
      "new_path": "voltha/northbound/grpc/grpc_server.py"
    },
    {
      "type": "modify",
      "old_id": "8791ee977baf1e46d8a9a32b1f62bc860ea81718",
      "old_mode": 33188,
      "old_path": "voltha/protos/adapter.proto",
      "new_id": "2e16f96145c59926723f2bffe88a8e381e85a2d3",
      "new_mode": 33188,
      "new_path": "voltha/protos/adapter.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2aeae244654ed99904b23ee1f1ed74c299d167e3",
      "new_mode": 33188,
      "new_path": "voltha/protos/device.proto"
    },
    {
      "type": "delete",
      "old_id": "aac8efca4ba3492d5f27616403bb046cdc6e897b",
      "old_mode": 33188,
      "old_path": "voltha/protos/example_service.proto",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "1dff496a3533e187a86cc341999d2d6807c357b0",
      "old_mode": 33188,
      "old_path": "voltha/protos/health.proto",
      "new_id": "19383a9222e8ee1ef4b99208c54258bead43a138",
      "new_mode": 33188,
      "new_path": "voltha/protos/health.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "49d555acbe3906d315ccc7338b581bdffc1e8d90",
      "new_mode": 33188,
      "new_path": "voltha/protos/logical_device.proto"
    },
    {
      "type": "delete",
      "old_id": "f86a39e72f7d50a661c2edefc63ed3a97ab06ad6",
      "old_mode": 33188,
      "old_path": "voltha/protos/logical_layer.proto",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "755a0877372ded682767f12d7a8a607516fc34b1",
      "old_mode": 33188,
      "old_path": "voltha/protos/meta.proto",
      "new_id": "d16668a68955898aa83bf939e2d12fe1f447daf2",
      "new_mode": 33188,
      "new_path": "voltha/protos/meta.proto"
    },
    {
      "type": "modify",
      "old_id": "355cfcdbe68294bd6c44749b28d09a1e0374b350",
      "old_mode": 33188,
      "old_path": "voltha/protos/openflow_13.proto",
      "new_id": "e110147da6b4f01fc434c2bcd70d78f65a9173f4",
      "new_mode": 33188,
      "new_path": "voltha/protos/openflow_13.proto"
    },
    {
      "type": "modify",
      "old_id": "163734c302a185eecdcc7be8529120467c27e51c",
      "old_mode": 33188,
      "old_path": "voltha/protos/voltha.proto",
      "new_id": "2490974300f6f52709c2a3462d1c780f283d9510",
      "new_mode": 33188,
      "new_path": "voltha/protos/voltha.proto"
    }
  ]
}
