)]}'
{
  "commit": "eb8943a887e2fb8cce0240382811f9e504f3c7fb",
  "tree": "5c4c40b579e897a4914a87c8dae1ae0ac19a1b07",
  "parents": [
    "6331b04745fcd6d44b1b0320ca6e3e63cdebd0e8"
  ],
  "author": {
    "name": "David Garcia",
    "email": "david.garcia@canonical.com",
    "time": "Mon Apr 12 12:07:37 2021 +0200"
  },
  "committer": {
    "name": "David Garcia",
    "email": "david.garcia@canonical.com",
    "time": "Mon May 03 13:30:40 2021 +0200"
  },
  "message": "Feature 10239: Distributed VCA\n\n- Add vca_id in all calls that invoke libjuju. This is for being able to\ntalk to the default VCA or the VCA associated to the VIM\n- Add store.py: Abstraction to talk to the database.\n  - DBMongoStore: Use the db from common to talk to the database\n  - MotorStore: Use motor, an asynchronous mongodb client to talk to the\ndatabase\n- Add vca/connection.py: Represents the data needed to connect the VCA\n- Add EnvironConfig in config.py: Class to get the environment config,\nand avoid LCM from passing that\n\nChange-Id: I28625e0c56ce408114022c83d4b7cacbb649434c\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "59a74be4e1f66e99eeff60bd8741c87a3c6cde39",
      "old_mode": 33188,
      "old_path": "n2vc/config.py",
      "new_id": "374ec73daa6572a5c1769ad731c1ad617368ed47",
      "new_mode": 33188,
      "new_path": "n2vc/config.py"
    },
    {
      "type": "modify",
      "old_id": "04ad10fe200bd317c85160c062df4ec02805e721",
      "old_mode": 33188,
      "old_path": "n2vc/juju_watcher.py",
      "new_id": "e206e060da1b6d3496d4f56415810c6c4cd150c4",
      "new_mode": 33188,
      "new_path": "n2vc/juju_watcher.py"
    },
    {
      "type": "modify",
      "old_id": "6afadbf042d65215403817381bee847d5d3238fe",
      "old_mode": 33188,
      "old_path": "n2vc/k8s_helm3_conn.py",
      "new_id": "7d6916821ab64b8fc0e2e29f600939f9fb964efc",
      "new_mode": 33188,
      "new_path": "n2vc/k8s_helm3_conn.py"
    },
    {
      "type": "modify",
      "old_id": "a79f0389726fd7de232f9f8a992156a505379ec6",
      "old_mode": 33188,
      "old_path": "n2vc/k8s_helm_base_conn.py",
      "new_id": "0d001ee24208d57751bf5919256cc5d52ad9d05a",
      "new_mode": 33188,
      "new_path": "n2vc/k8s_helm_base_conn.py"
    },
    {
      "type": "modify",
      "old_id": "ad230b5f36a7ee859dd8d7e8c77c41664766fd2b",
      "old_mode": 33188,
      "old_path": "n2vc/k8s_helm_conn.py",
      "new_id": "d443f8d2b09fc521f9f0625977b90f06c8d61df7",
      "new_mode": 33188,
      "new_path": "n2vc/k8s_helm_conn.py"
    },
    {
      "type": "modify",
      "old_id": "3130216001ff83feb03b94dfa813236087a4b4de",
      "old_mode": 33188,
      "old_path": "n2vc/k8s_juju_conn.py",
      "new_id": "e3ec17e295ee4f704edcec9dd6e14f15629e7295",
      "new_mode": 33188,
      "new_path": "n2vc/k8s_juju_conn.py"
    },
    {
      "type": "modify",
      "old_id": "eb0fa72f45a33d1841d46387f61cce0882cdda97",
      "old_mode": 33188,
      "old_path": "n2vc/libjuju.py",
      "new_id": "a6fd8fe48dd7f299f3a00a0ac30b1c6228c0fa64",
      "new_mode": 33188,
      "new_path": "n2vc/libjuju.py"
    },
    {
      "type": "modify",
      "old_id": "12704a3f35c622888fd5606126f137ac1343321a",
      "old_mode": 33188,
      "old_path": "n2vc/n2vc_conn.py",
      "new_id": "bfdf4603a9465894012afadf50d6c2f858a989b9",
      "new_mode": 33188,
      "new_path": "n2vc/n2vc_conn.py"
    },
    {
      "type": "modify",
      "old_id": "c09c263e31f6ba4fbc7236ef5467b9c6917355d1",
      "old_mode": 33188,
      "old_path": "n2vc/n2vc_juju_conn.py",
      "new_id": "99661f57e8b51dafd7baefa56aa243f20a62e713",
      "new_mode": 33188,
      "new_path": "n2vc/n2vc_juju_conn.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b827d5123ad2b07a40f795e1d0aa531296562202",
      "new_mode": 33188,
      "new_path": "n2vc/store.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9a4af07045b2b9e1a9516617c288f8d53c88bb1f",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/test_config.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c7f0bb40d7710d3801cc37de8a73010db21eaad4",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/test_connection.py"
    },
    {
      "type": "modify",
      "old_id": "d333b33a95b524ea21499cd44192f3b024cbaca9",
      "old_mode": 33188,
      "old_path": "n2vc/tests/unit/test_juju_watcher.py",
      "new_id": "5f8127420649a3c63629ea551a3cb6807dfb53d7",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/test_juju_watcher.py"
    },
    {
      "type": "modify",
      "old_id": "f4543801bbb33c3e4d3ecf994e658ddd7ee2a5a2",
      "old_mode": 33188,
      "old_path": "n2vc/tests/unit/test_k8s_juju_conn.py",
      "new_id": "208c84922e195d6182550cf0e6f0a0d397ed7bbb",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/test_k8s_juju_conn.py"
    },
    {
      "type": "modify",
      "old_id": "29bcb7bc48d59064b4916c72fcf109837a3d91ce",
      "old_mode": 33188,
      "old_path": "n2vc/tests/unit/test_libjuju.py",
      "new_id": "fde6817a1441c8ad89388685c9bc844d3a61569e",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/test_libjuju.py"
    },
    {
      "type": "modify",
      "old_id": "e5e26be1d291ce3bda04cace2a51313ad84da615",
      "old_mode": 33188,
      "old_path": "n2vc/tests/unit/test_n2vc_juju_conn.py",
      "new_id": "d89de3fb77d538ed144ef6b2482045d5631ce794",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/test_n2vc_juju_conn.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c7aa2d6be9741bf859e084d80c1998ff259ef4e5",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/test_store.py"
    },
    {
      "type": "modify",
      "old_id": "c5ab84f4614f3bbaa18f3f3da9763e829c42403a",
      "old_mode": 33188,
      "old_path": "n2vc/tests/unit/test_utils.py",
      "new_id": "bffbc299fa8b46f9de7ba69acbf8f74c13ff3a7c",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/test_utils.py"
    },
    {
      "type": "modify",
      "old_id": "a7270721dcf4f49d0b68050ca57143431b53fafa",
      "old_mode": 33188,
      "old_path": "n2vc/tests/unit/utils.py",
      "new_id": "2f107a71eebb39debf542b7ad1f73824f7b54c0f",
      "new_mode": 33188,
      "new_path": "n2vc/tests/unit/utils.py"
    },
    {
      "type": "modify",
      "old_id": "6e0f2c053a2029b576bba719ae15d20ca8615b1f",
      "old_mode": 33188,
      "old_path": "n2vc/utils.py",
      "new_id": "f0146a00417cbb9603f609812692c2372eeb9935",
      "new_mode": 33188,
      "new_path": "n2vc/utils.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aa5cee8c9512bc59a801ae58550bc73927936938",
      "new_mode": 33188,
      "new_path": "n2vc/vca/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "970fd930e58bacce9883e0b86e9e75b3c8a192a4",
      "new_mode": 33188,
      "new_path": "n2vc/vca/cloud.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98de0fff644801c47af4eb122346ea4aac74f22c",
      "new_mode": 33188,
      "new_path": "n2vc/vca/connection.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1eff21a1bccded853687e8cfd830d5aa304aeba",
      "new_mode": 33188,
      "new_path": "n2vc/vca/connection_data.py"
    },
    {
      "type": "modify",
      "old_id": "ea82d48deedff45c74b548724e07e89fa22a6965",
      "old_mode": 33188,
      "old_path": "requirements.in",
      "new_id": "eb8534aee18fca7b3cb698cd532804d19797ecf2",
      "new_mode": 33188,
      "new_path": "requirements.in"
    },
    {
      "type": "modify",
      "old_id": "8ff8c0861e1e6577bf54a0075cf30510172da1cc",
      "old_mode": 33188,
      "old_path": "requirements.txt",
      "new_id": "2e394a563d8aad943f59fbbdb1a4213f47cad00f",
      "new_mode": 33188,
      "new_path": "requirements.txt"
    }
  ]
}
