)]}'
{
  "log": [
    {
      "commit": "b41de17df6282334088ffbd887fbc01e496e1797",
      "tree": "3663037e3730d474baa8c8760fa298455634ecc1",
      "parents": [
        "156677967e417604682fda05ed0099f07f1a3129"
      ],
      "author": {
        "name": "Pedro Escaleira",
        "email": "escaleira@av.it.pt",
        "time": "Sat Apr 02 00:44:08 2022 +0100"
      },
      "committer": {
        "name": "Pedro Escaleira",
        "email": "escaleira@av.it.pt",
        "time": "Sat Apr 02 14:05:40 2022 +0100"
      },
      "message": "Bug 1962 fixed: removed the variable cluster_uuid from init_env method\n\nThis was applied to the class K8sHelmBaseConnector, and then returned\nthe variable cluster_id instead of cluster_uuid;\n\nAlso, refactored the overall Helm related code, in order to use the correct cluster uuid (and fixed the corresponding tests);\n\nAlso made a small fix in the function _uninstall_sw, to remove the service accounts when using different namespaces\n\nChange-Id: Ibfdc82f325abf5fd27a225e73f949483a4e68fe2\nSigned-off-by: Pedro Escaleira \u003cescaleira@av.it.pt\u003e\n"
    },
    {
      "commit": "156677967e417604682fda05ed0099f07f1a3129",
      "tree": "adf88ae5b126df70f63dad4abaef297f479ecfa3",
      "parents": [
        "2519b547b412e4546a8ef1162b38e517d9fce32d"
      ],
      "author": {
        "name": "Pedro Escaleira",
        "email": "escaleira@av.it.pt",
        "time": "Thu Mar 17 23:59:29 2022 +0000"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Fri Mar 18 11:18:42 2022 +0100"
      },
      "message": "Bug 1914 fixed\n\nChange-Id: I06ef0123481fa26a06e48e808327e82d1b25b0ce\nSigned-off-by: Pedro Escaleira \u003cescaleira@av.it.pt\u003e\n\nlist fixes\n\nChange-Id: I3809a0a6da1c2aee6d43a47585b2b02b0b81a593\nSigned-off-by: Pedro Escaleira \u003cescaleira@av.it.pt\u003e\n"
    },
    {
      "commit": "2519b547b412e4546a8ef1162b38e517d9fce32d",
      "tree": "a9a29944f8f64ea43318fa9a5a19830418f8c813",
      "parents": [
        "867418c142ece1ef0e4c9e083bc747c1f3d13a3c"
      ],
      "author": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Thu Jan 13 11:43:45 2022 -0500"
      },
      "committer": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Tue Jan 18 15:19:00 2022 +0100"
      },
      "message": "Bug 1843: LTS Support\n\nUpdates base to Ubuntu 20.04\nUpdates python to 3.8\nUpdates pip dependencies to more recent versions\nAdds apt cache to stage 2 dockerfile\n\nFixes bug 1843\n\nChange-Id: Iec7c73cb99f5ed3f0e07666d8c8c8be8ca91c0ea\nSigned-off-by: beierlm \u003cmark.beierl@canonical.com\u003e\n"
    },
    {
      "commit": "867418c142ece1ef0e4c9e083bc747c1f3d13a3c",
      "tree": "09c74de724c8d3a7050104858d83077d1cbe096d",
      "parents": [
        "7bd5c6affb2805caba1b832b56d0ad5712396306"
      ],
      "author": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Tue Oct 19 18:26:13 2021 +0300"
      },
      "committer": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Tue Jan 04 18:35:52 2022 +0300"
      },
      "message": "Feature 10886 manual scaling for KNF (helm chart) deployment\n\nChange-Id: Ibdcabd4e3f077bf86749f49e8aeb75aec2935ea2\nSigned-off-by: aktas \u003cemin.aktas@ulakhaberlesme.com.tr\u003e\n"
    },
    {
      "commit": "7bd5c6affb2805caba1b832b56d0ad5712396306",
      "tree": "d9c0902044b244e79a21107ed80c756464b1bfb4",
      "parents": [
        "582b923b8f3f7104411c39ebdba63949d606ecd1"
      ],
      "author": {
        "name": "bravof",
        "email": "fbravo@whitestack.com",
        "time": "Wed Nov 17 11:14:57 2021 -0300"
      },
      "committer": {
        "name": "bravof",
        "email": "fbravo@whitestack.com",
        "time": "Thu Nov 18 14:46:09 2021 -0300"
      },
      "message": "bugfix: kubeconfig passed for helm commands. Bug 1789\n\nChange-Id: Idf8e9141e46296d45dbaa0260e8c9a55b445eb54\nSigned-off-by: bravof \u003cfbravo@whitestack.com\u003e\n"
    },
    {
      "commit": "582b923b8f3f7104411c39ebdba63949d606ecd1",
      "tree": "c15dd086ff30eaa4d1078f495c9537ea38b038da",
      "parents": [
        "7114f65ca3ba581281fa03639f21db61a111b53e"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Oct 26 12:30:44 2021 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Thu Nov 04 12:06:33 2021 +0100"
      },
      "message": "Feature 10887: Add cross-model relations support\n\nChanges:\n- Extend `add_relation` method in N2VCJujuConn to include the CMR case\n- Add `add_relation` method to K8sJujuConn\n- Add n2vc/definitions.py file that includes definition ofjects for\nOffer and RelationEndpoint.\n- Change `n2vc.libjuju.Libjuju.list_offers` method to be private, and accept a filter `offer_name` parameter.\n- Update `n2vc.libjuju.Libjuju.consume` method arguments.\n- Add `n2vc.libjuju.Libjuju.offer` method to create an offer.\n\nUnit tests associated to the code changes have been either created or\nupdated accordingly\n\nChange-Id: Ibf8d574528dee0fa898e0e97578dd3a6aa68316a\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "7114f65ca3ba581281fa03639f21db61a111b53e",
      "tree": "c2f99a6ad67fe5c9649ef580d332ae78b889a1b2",
      "parents": [
        "42e51cfd7f807a2281ea3285d752b7142175da78"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Oct 26 17:24:21 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Oct 26 17:24:21 2021 +0200"
      },
      "message": "Fix bug 1722: add support for deploying .charm files\n\nChange-Id: Id43c3d0714cf341dcb4d5581a32d6a1102a3e7ac\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "42e51cfd7f807a2281ea3285d752b7142175da78",
      "tree": "8e92bb5170cb951bfcf13f39a7ea9e9466c3c1f2",
      "parents": [
        "856d33b9faace0c9c031b7ab3b377c4ad53888ab"
      ],
      "author": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Tue Oct 19 20:03:23 2021 +0300"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Wed Oct 20 02:20:59 2021 +0200"
      },
      "message": "Fix bug 1715\n\nIn sometimes, it cannot catch that if the application is in the model.\nJenkinks report: https://osm.etsi.org/jenkins/view/Robot%20tests/job/osm-stage_3-merge/job/v10.0/169/robot/report/report.html#tags?basic_20\n\nChange-Id: I8121d57923d93b7af9ad60e07b87b4616060a916\nSigned-off-by: aktas \u003cemin.aktas@ulakhaberlesme.com.tr\u003e\n"
    },
    {
      "commit": "856d33b9faace0c9c031b7ab3b377c4ad53888ab",
      "tree": "3ff99a6c85c0f1b8a6094787a2a56aa2d3716a41",
      "parents": [
        "a39cca06ba7b8c3e9924f7e00d8bf63b96f97947"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Oct 14 15:05:25 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Oct 18 12:33:43 2021 +0200"
      },
      "message": "Update requirements.txt and tox.ini\n\n- Update to juju\u003d\u003d2.9.4: needed for feature 10884\n- Pin pylint version in tox.ini\n\nChange-Id: Ie7115804973f97e61e9bb8946215ce958abe8089\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "a39cca06ba7b8c3e9924f7e00d8bf63b96f97947",
      "tree": "4ce9a36578770d82c73e53a8957ce2b1035e2635",
      "parents": [
        "76ed75796553cb3e6bd93a20140d28c21894d8ee"
      ],
      "author": {
        "name": "gatici",
        "email": "gulsumatici@gmail.com",
        "time": "Wed Sep 08 07:35:18 2021 +0000"
      },
      "committer": {
        "name": "atici",
        "email": "gulsum.atici@ulakhaberlesme.com.tr",
        "time": "Mon Sep 13 16:08:47 2021 +0200"
      },
      "message": "Bug 1651 fix\n\nThis fix is required to fix VCA metric collection for SOL006 compatible descriptors.\n\nRelated bug: https://osm.etsi.org/bugzilla/show_bug.cgi?id\u003d1651\n\nChange-Id: I5a25c97b48692c23b5520cf72becb7b5bbcf327a\nSigned-off-by: gatici \u003cgulsumatici@gmail.com\u003e\n"
    },
    {
      "commit": "76ed75796553cb3e6bd93a20140d28c21894d8ee",
      "tree": "e525b56942131191c8b2cfe8aeb4c4fc7c3dfba9",
      "parents": [
        "eacf5a7724815fb33802ceb0af246dfc959eb021"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Sep 07 11:15:48 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Sep 07 11:15:48 2021 +0200"
      },
      "message": "Allow the deployment of privileged KDUs\n\nChange-Id: I7fac53669d08119be4f8da49509c6ee418c1df69\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "eacf5a7724815fb33802ceb0af246dfc959eb021",
      "tree": "1dadd3ac5bc0e6b0285bfaa528a52682ce7e8071",
      "parents": [
        "4e1e62b33154a483018654704268b97cab4a0c9e"
      ],
      "author": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Thu Aug 26 08:15:37 2021 +0300"
      },
      "committer": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Thu Aug 26 11:28:35 2021 +0300"
      },
      "message": "Bug 1643 fix\n\nChange-Id: Id3eaeb2f3c2fac33cc2faf0c45d51f07a2392a7e\nSigned-off-by: aktas \u003cemin.aktas@ulakhaberlesme.com.tr\u003e\n"
    },
    {
      "commit": "4e1e62b33154a483018654704268b97cab4a0c9e",
      "tree": "6d213309f9e915e16750c6b2eeeafd896c6fe4f5",
      "parents": [
        "7add187a0bde7fe38e19f906ce4334aafd847921"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Aug 18 17:35:50 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Aug 18 17:41:17 2021 +0200"
      },
      "message": "Fix bug 1636: remove the default 30s timeout in retry\n\nChange-Id: Ie6094ebb91d32c1dcb63dc718f4dbeaf2e07adda\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "7add187a0bde7fe38e19f906ce4334aafd847921",
      "tree": "29e002b725b9f89c6a31a0f4ed5886d5ff6c70e0",
      "parents": [
        "fa02f8a90b7fe1e1b7a80feedef4132bef1ca3e4"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Aug 18 14:52:52 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Aug 18 14:59:22 2021 +0200"
      },
      "message": "Fix bug 1638: Give warning when removing unexisting chart\n\nChange-Id: I4620fe7b2aac1e9c9109ad1e87e5b0b5d585cde6\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "fa02f8a90b7fe1e1b7a80feedef4132bef1ca3e4",
      "tree": "8b481b694c34bc737422509ecf0ad4395a154a16",
      "parents": [
        "ba1d07263821169bc36b3f9f9f93cbed93baad4a"
      ],
      "author": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Thu Jul 29 17:41:40 2021 +0300"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Tue Aug 17 12:26:48 2021 +0200"
      },
      "message": "Bug 1609 fix\n\nThis patch changes the behaviour of native charm deployments.\nit  won\u0027t deploy another application for the same vnf or\nvdu charm at initial deployment or scaling process.\nIt scales the application.\n\nChange-Id: I3fc52a5ddb0cb7cb16937bc12cf343f7d869c9ee\nSigned-off-by: aktas \u003cemin.aktas@ulakhaberlesme.com.tr\u003e\n"
    },
    {
      "commit": "ba1d07263821169bc36b3f9f9f93cbed93baad4a",
      "tree": "b1cbefb19b62ff2dcdde89b57245323b6752076b",
      "parents": [
        "f980ac078081a1ed91134e046326cd33a4678e8e"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Aug 10 17:50:21 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Aug 11 11:46:49 2021 +0200"
      },
      "message": "Remove unsecure and unused function\n\nFixes this critical vulnerability:\n  https://osm.etsi.org/gitlab/osm/n2vc/-/security/vulnerabilities/948\n\nChange-Id: If3ab88575028808855f2e068c816fccd8be6cb88\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "f980ac078081a1ed91134e046326cd33a4678e8e",
      "tree": "6f718e941e7069d7ce371a5ad2467521c2555f6d",
      "parents": [
        "e610aedb0a49e4761fb99842082aa61cf693610c"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jul 27 15:07:42 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jul 27 15:07:42 2021 +0200"
      },
      "message": "Give a warning when removing a cloud that does not exist\n\nFixes bug 1608\n\nChange-Id: Ide9040f5e97ba07952062f23c9217e227af375d0\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "e610aedb0a49e4761fb99842082aa61cf693610c",
      "tree": "dd00191312ccdb9db918cab78203622969f3d90c",
      "parents": [
        "4ae527ee394a9794c25e7a90fe895aa446c6c797"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Jul 26 15:04:37 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jul 27 11:14:02 2021 +0200"
      },
      "message": "Fix bug 1589: Improve deletion of models\n\nChange-Id: I9f1010206f140606cf9f82044cf3b199113ddb20\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "4ae527ee394a9794c25e7a90fe895aa446c6c797",
      "tree": "6b7ef933262741b2d1701bd73b31a348c94dce83",
      "parents": [
        "d8d4b6e70c0e4410a4b5c274faecd37ee821f3b7"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Jul 26 16:04:59 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jul 27 11:09:58 2021 +0200"
      },
      "message": "Unit tests improvements\n\n- From now on, black must pass. Jenkins will give a -1 if it doesn\u0027t\n- Ignore E203 because it is not pep8 compliant, and conflicts with black\n    https://github.com/psf/black/issues/315#issuecomment-395457972\n- Black fixes and minor fix in unit test\n- Fix devops-stages/stage-test.sh: jenkins was not giving a -1 when tox\nwas failing\n\nChange-Id: Ic7318dcb6d4006a271607cd064a1f36d0936b7b9\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "d8d4b6e70c0e4410a4b5c274faecd37ee821f3b7",
      "tree": "9de6fb7e8dcc56292a905d50432384cba3d4c836",
      "parents": [
        "2a3ffde1771ec4431eef96f4908b3572a883ef01"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jun 24 18:47:22 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jun 30 16:55:30 2021 +0200"
      },
      "message": "Upgrade to libjuju 2.9.2\n\n- The upgrade to libjuju enables Pebble support\n- Libjuju requires a newer version of Kubernetes so I updated it to the\nlatest one\n- Additionally, a group of functions were moved from k8s_juju_conn.p to\nkubectl.py, because they fit better there.\n\nRelated feature number: 10884\n\nChange-Id: I354a2f49e7fc7b87a204bf60131a8d52a4f74cac\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "2a3ffde1771ec4431eef96f4908b3572a883ef01",
      "tree": "18d9c77b2410fe8c799dd2b1ebe5d215bd3bf524",
      "parents": [
        "d80f038732548191c8214f8387a95bd7919473f1"
      ],
      "author": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Thu Jun 24 11:37:11 2021 +0300"
      },
      "committer": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Thu Jun 24 11:45:47 2021 +0300"
      },
      "message": "Fix Bug 1575\n\nThis fixes the race condtion when k8s cluster responding too fast\n\nChange-Id: I3f9e18c7bba942689e4b056ead60349fdb72c795\nSigned-off-by: aktas \u003cemin.aktas@ulakhaberlesme.com.tr\u003e\n"
    },
    {
      "commit": "d80f038732548191c8214f8387a95bd7919473f1",
      "tree": "b4ea59ab5565cfed3fcbd2f203867c77d11a85da",
      "parents": [
        "4395cfa6c7d0d80980c00d9f078440e0333fd826"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Jun 21 13:20:30 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Jun 21 13:20:30 2021 +0200"
      },
      "message": "Fix racing condition decrypting data in store.py\n\nFixes bug 1580\n\nChange-Id: Idbb9962e2f279b4b6f322e0e989a5831e4ae3b98\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "4395cfa6c7d0d80980c00d9f078440e0333fd826",
      "tree": "137673ea7ec94683dcb1a4d900371d0fad33e8aa",
      "parents": [
        "f643c1359c1edbe8bb851ce935416e534b234e74"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri May 28 16:21:51 2021 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jun 02 15:25:02 2021 +0200"
      },
      "message": "Fix 1539: Add --skip-repo option for Helm\n\nIf stablerepourl is not set, Helm will skip adding the stablerepo.\n\nDepends on:\n- https://osm.etsi.org/gerrit/#/c/osm/devops/+/10915\n\nChange-Id: I11f10fdfba24ec274d463f12c07d7b0247b37068\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "f643c1359c1edbe8bb851ce935416e534b234e74",
      "tree": "c220c39f3d14d831d999004bda791bd6db376c1e",
      "parents": [
        "9074b05b797b591eeb9b86b54c5a699b30454906"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri May 28 12:23:44 2021 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Mon May 31 17:48:59 2021 +0200"
      },
      "message": "Fix bug 1533: use bionic as default series in proxy charms\n\nXenial is 2 LTS behind the current one. This patch will force bionic\nrather than Xenial from now on. The current charms do not properly work\nin Xenial.\n\nThe best solution will be to fix this bug:\n  https://osm.etsi.org/bugzilla/show_bug.cgi?id\u003d1551\n\nChange-Id: I1a0c466b6151b19a1eaf5d97f0373ab271601f89\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "9074b05b797b591eeb9b86b54c5a699b30454906",
      "tree": "6cfa27c657c8f01c5907c9f248aa7b50085590ad",
      "parents": [
        "979c54e4633964caf15a0f7e157be75a08cb0723"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed May 26 13:16:51 2021 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Mon May 31 17:25:44 2021 +0200"
      },
      "message": "Wait for cloud-init to finish before provisioning\n\nBefore provisioning a native charm, a script is executed to wait until\ncloud-init finishes. This will avoid some racing conditions.\n\nFixes bug 1184\n\nChange-Id: Icc87f90f5941cf7b13bdd7dd01e5544122fb769e\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "979c54e4633964caf15a0f7e157be75a08cb0723",
      "tree": "981f1060e03fd2569ae2ebee763224b10fba9efa",
      "parents": [
        "82b591ceed704c798ead2d9104085a08e75b511b"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri May 28 14:10:59 2021 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri May 28 14:10:59 2021 +0200"
      },
      "message": "Fix bug 1542 to allow juju to add Azure AKS\n\nStorage classes in Azure might have no metadata annotations. This\nchange takes into account that situation.\n\nChange-Id: I4f7151d2481b41fd8434e0d95ea5d1a156b68309\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "82b591ceed704c798ead2d9104085a08e75b511b",
      "tree": "9841a2576098f83e7d5df7e37fad8ff3904c9f58",
      "parents": [
        "2962f3e7aba84b4584d2deac30d1c163f6441a03"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Wed Mar 24 09:22:13 2021 +0100"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu May 20 17:37:10 2021 +0200"
      },
      "message": "Reformat N2VC to standardized format\n\nChange-Id: I7bfc2236cd5f059dc1b659e9fb746fef619124b8\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "2962f3e7aba84b4584d2deac30d1c163f6441a03",
      "tree": "8e9650469c10a66fb4ccc97f9e7080b213081f60",
      "parents": [
        "e69aea9ff905a2cd9376ca1a6f2c1a345d78daca"
      ],
      "author": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Mon Mar 15 11:05:35 2021 +0300"
      },
      "committer": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Mon May 17 12:38:47 2021 +0300"
      },
      "message": "Feature 10509 manual scaling for native k8s charm\n\nJuju version has to be upgraded to 2.8.6 because of a typo error.\nYou can see bug report: https://github.com/juju/python-libjuju/issues/477\nand release note: https://github.com/juju/python-libjuju/commit/facd1f19eae65728b6c7c3b823939bb35ae45ed2\n\nChange-Id: Iae4262e64debdf6b4d36b37778ec29f0dd46bac1\nSigned-off-by: aktas \u003cemin.aktas@ulakhaberlesme.com.tr\u003e\n"
    },
    {
      "commit": "e69aea9ff905a2cd9376ca1a6f2c1a345d78daca",
      "tree": "1a2c3237efe0cbb3ddcb9abd82a6d06481b6fbd3",
      "parents": [
        "eb8943a887e2fb8cce0240382811f9e504f3c7fb"
      ],
      "author": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Thu Apr 22 12:59:58 2021 -0400"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Mon May 03 19:25:29 2021 +0200"
      },
      "message": "Including upstream requirements\n\nNow that internal OSM software does not specify python modules in\nsetup.py, we need to include the requirements.txt from the module\nin the requirements-dev.in to generate the full list properly.\n\nChange-Id: Ie2c401545e97c5fe4260f8b81c8cab0088a87789\nSigned-off-by: beierlm \u003cmark.beierl@canonical.com\u003e\n"
    },
    {
      "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"
    },
    {
      "commit": "6331b04745fcd6d44b1b0320ca6e3e63cdebd0e8",
      "tree": "ea5f7c94a610c4ea12c05222f246cd778dc5ca2a",
      "parents": [
        "561202994dc290e20a5f15ae8ffd07f20fb84069"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Apr 26 15:36:24 2021 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Mon Apr 26 23:04:28 2021 +0200"
      },
      "message": "Add kwargs in N2VCConnector constructor\n\nChange-Id: I05c3df80dc8390fd6016ddc19636d97c18583bb8\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "561202994dc290e20a5f15ae8ffd07f20fb84069",
      "tree": "389282770aa2f5e2480f3bba5d7db0d800022e33",
      "parents": [
        "4c5efa8389c2c2da64364624ae4a8d8e4bf0ded5"
      ],
      "author": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Fri Feb 26 15:32:39 2021 +0300"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Apr 26 18:22:42 2021 +0200"
      },
      "message": "Fix 1462\n\nWait until Juju application is destroyed in\nn2vc.libjuju.Libjuju.destroy_application()\n\nChange-Id: Ie7992f229872ffffbea87ca3e8e20825bfec7b6d\nSigned-off-by: aktas \u003cemin.aktas@ulakhaberlesme.com.tr\u003e\n"
    },
    {
      "commit": "4c5efa8389c2c2da64364624ae4a8d8e4bf0ded5",
      "tree": "fe290d748c3fcb1e7c4104608f97b022f0de5165",
      "parents": [
        "19da2b852804c27c7d04484eea89feb212874254"
      ],
      "author": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Mon Apr 19 15:30:53 2021 -0400"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Wed Apr 21 15:40:30 2021 +0200"
      },
      "message": "Adding GitLab Scanner\n\nAdds gitlab-ci yaml file to enable security scans in GitLab mirror\n\nChange-Id: Ia3e04da976d51bf42e08ff657bb1f87717660ec6\nSigned-off-by: beierlm \u003cmark.beierl@canonical.com\u003e\n"
    },
    {
      "commit": "19da2b852804c27c7d04484eea89feb212874254",
      "tree": "a9715e97f7b8bbe3525db1ca31a49d0bec11b685",
      "parents": [
        "f8c25c9ceeeca8ac91caa62faa402a8b6dab02e1"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Apr 15 10:15:29 2021 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Thu Apr 15 11:03:33 2021 +0200"
      },
      "message": "Fix bug 1505\n\nDelete ssh-key generation in N2VCConnector initialization\n\nChange-Id: I5f33adf683ffeef34de270bf9b458a172dd4059d\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "f8c25c9ceeeca8ac91caa62faa402a8b6dab02e1",
      "tree": "9b43e972411b6ff1afc78213ec09c45594e8c06a",
      "parents": [
        "b84e4a7d4324087219ffb25887319e9ffefdb659"
      ],
      "author": {
        "name": "ksaikiranr",
        "email": "saikiran.k@tataelxsi.co.in",
        "time": "Wed Mar 17 12:54:15 2021 +0530"
      },
      "committer": {
        "name": "ksaikiranr",
        "email": "saikiran.k@tataelxsi.co.in",
        "time": "Wed Apr 14 10:08:02 2021 +0530"
      },
      "message": "Feature-9904: Enhancing NG-UI to enable Juju operational view dashboard\n\nAdded unit test for update_vca_status method for KNF\n\nChange-Id: Iba6285d0d5deeaa7bef685a22abeba0ae535ab19\nSigned-off-by: jayaramans \u003cselvi.j@tataelxsi.co.in\u003e\nSigned-off-by: ksaikiranr \u003csaikiran.k@tataelxsi.co.in\u003e\n"
    },
    {
      "commit": "b84e4a7d4324087219ffb25887319e9ffefdb659",
      "tree": "cfc3b7e863f1ead969700e55fcc59c2e07be1184",
      "parents": [
        "b816d822dcc61a709b22f475085c3f94dceca61d"
      ],
      "author": {
        "name": "ksaikiranr",
        "email": "saikiran.k@tataelxsi.co.in",
        "time": "Wed Mar 17 12:53:20 2021 +0530"
      },
      "committer": {
        "name": "ksaikiranr",
        "email": "saikiran.k@tataelxsi.co.in",
        "time": "Wed Apr 14 10:07:47 2021 +0530"
      },
      "message": "Feature-9904: Enhancing NG-UI to enable Juju operational view dashboard\n\nUnit testing added for new functions\n    - UpdateVcaStatus in test_n2vc_juju_conn.py\n    - GetExecutedActionsTest in test_libjuju.py\n    - GetApplicationConfigsTest in test_libjuju.py\n\nChange-Id: I7d750d8c39bc7bc061568c28d29f53d1b87c4c23\nSigned-off-by: gspri \u003cpriyadharshini.g@tataelxsi.co.in\u003e\nSigned-off-by: ksaikiranr \u003csaikiran.k@tataelxsi.co.in\u003e\n"
    },
    {
      "commit": "b816d822dcc61a709b22f475085c3f94dceca61d",
      "tree": "2c78ced84760ac63a6c4f3e78d21da51cbe32e8a",
      "parents": [
        "cdf0b8e857e1373410e61bc72cd1a9f5c1ab7ca7"
      ],
      "author": {
        "name": "ksaikiranr",
        "email": "saikiran.k@tataelxsi.co.in",
        "time": "Wed Mar 17 12:50:20 2021 +0530"
      },
      "committer": {
        "name": "ksaikiranr",
        "email": "saikiran.k@tataelxsi.co.in",
        "time": "Wed Apr 14 10:01:18 2021 +0530"
      },
      "message": "Feature-9904: Enhancing NG-UI to enable Juju operational view dashboard\n\nAdded functions to get action list, config list and executed action list for KNF\n\nChange-Id: Ibec764c719da5507168c474cf48fc23efbb9c846\nSigned-off-by: jayaramans \u003cselvi.j@tataelxsi.co.in\u003e\nSigned-off-by: ksaikiranr \u003csaikiran.k@tataelxsi.co.in\u003e\n"
    },
    {
      "commit": "cdf0b8e857e1373410e61bc72cd1a9f5c1ab7ca7",
      "tree": "4d898a260659bd799402194b8a870ab50da8b500",
      "parents": [
        "7c6840b23b5d6d8bc14eb7e76d1262c4ccde3097"
      ],
      "author": {
        "name": "ksaikiranr",
        "email": "saikiran.k@tataelxsi.co.in",
        "time": "Wed Mar 17 12:50:00 2021 +0530"
      },
      "committer": {
        "name": "ksaikiranr",
        "email": "saikiran.k@tataelxsi.co.in",
        "time": "Wed Apr 14 10:01:04 2021 +0530"
      },
      "message": "Feature-9904: Enhancing NG-UI to enable Juju operational view dashboard\n\nAdded methods in n2vc_juju_conn and libjuju to suppot configs list\nand executed actions/history of actions. Added method in n2vc juju conn\nto call libjuju methods to get actions, configs and history of actions.\n\nChange-Id: I845789080d148fa42e859dcda185da1e62b4c489\nSigned-off-by: ksaikiranr \u003csaikiran.k@tataelxsi.co.in\u003e\n"
    },
    {
      "commit": "7c6840b23b5d6d8bc14eb7e76d1262c4ccde3097",
      "tree": "d1624b9628632d0fe2c7f8173d76d7a94a29ec70",
      "parents": [
        "a71d4a04c1e8ad3ffe1a129024e6dbc14d6d3bd5"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Feb 12 17:19:13 2021 +0100"
      },
      "committer": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Tue Apr 06 12:04:03 2021 -0400"
      },
      "message": "Feature 10296 Pip Standardization\n\nCreates standard template for tox.ini\nIntroduces \u0027safety\u0027 for listing upstream CVEs\nPins all versions of all upstream modules\nRemoves Makefile step and places all build logic into tox.ini\n\nChange-Id: Ic14321bd5bddb322db08ac3e25202cc64cac2dff\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "a71d4a04c1e8ad3ffe1a129024e6dbc14d6d3bd5",
      "tree": "c10fb305bebe6d48c10ee5714d525a18fef0fa58",
      "parents": [
        "057866a49c1fbc2d9636275e2078568b91e07555"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Mar 10 20:00:53 2021 +0100"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Wed Mar 17 15:26:57 2021 +0100"
      },
      "message": "Add ModelConfig\n\nThis class maps the model-config from the vca_config. That config will\nbe passed every time a model is added.\n\nChange-Id: I0a1e47ba7d708f3514c64a6f20d410a21fe8ea1d\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "057866a49c1fbc2d9636275e2078568b91e07555",
      "tree": "47e47f03c79135759345a66e8dc128873255d70a",
      "parents": [
        "b0a8f409e149715bf37d30c414474888c8a499f3"
      ],
      "author": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Tue Mar 16 11:28:00 2021 -0400"
      },
      "committer": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Tue Mar 16 11:28:00 2021 -0400"
      },
      "message": "Pin chardet to 3.0.4\n\nChardet 3.0.4 was last modified in 2017, and the next release of chardet 4.0.0\nwas released only recently (Dec 2020).  As many other pip packages still depend\non 3.0.4 we need to explicitly pin that here to avoid conflicts later at LCM\ndocker build time.\n\nChange-Id: I2a1ee0d61e641c0dc3f240345ce47f0d13d8fb22\nSigned-off-by: beierlm \u003cmark.beierl@canonical.com\u003e\n"
    },
    {
      "commit": "b0a8f409e149715bf37d30c414474888c8a499f3",
      "tree": "6573b2c74b4d4beb74671ba3dfaaf7887add776d",
      "parents": [
        "435b86410c96c0e034a892ac5df9ebc9547e3b7d"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Mar 15 18:41:34 2021 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Mar 15 18:52:20 2021 +0100"
      },
      "message": "Fix bug 1467\n\nDo not raise exceptions in n2vc.libjuju.add_model() or n2vc.libjuju.destroy_model() functions\n\nIn general, functions should be as idempotent as possible. In this\nparticular case, executing the add_model() function several times with\nthe same arguments should just work. Same thing for destroy_model(). If\nthe model has already been destroyed, it should return and not give any\nerrors saying that the model doesn\u0027t exist.\n\nChange-Id: I87e11ea0fe1b4063b2f89900fcc2bbf1f915b953\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "435b86410c96c0e034a892ac5df9ebc9547e3b7d",
      "tree": "69c5a64663495b32cac222bdca4823fcd29ed741",
      "parents": [
        "c344117335d4ffbd06ef90ae8dce9cb3910165fb"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Mar 10 17:09:44 2021 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Mar 10 17:53:52 2021 +0100"
      },
      "message": "Minor improvements to libjuju.py\n\n- Increase default timeout to connect to the controller\n- Minor fix in destroy_model function\n- Fix unit tests. Now they run faster :-)\n\nChange-Id: Ia2cbcb3e052fe91f4e712ea572ecf444b1d5894f\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "c344117335d4ffbd06ef90ae8dce9cb3910165fb",
      "tree": "788ce743c927fcdd453fc7e58d97394a500b4855",
      "parents": [
        "f97b231c021d082f5f56ac88804af3d73be2caa9"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Mar 10 11:50:38 2021 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Mar 10 14:32:30 2021 +0100"
      },
      "message": "Fix bug 1448: minor fix in JujuModelWatcher.wait_for_model\n\nAdd an `application_ready` function in the Juju Watcher to check if all the\napplications of the model are ready.  This function checks that not only\nthe application is ready, but also all the units of the application.\n\nAdditionally, I have added a stability check. After considering a model\nas ready, we will wait for 10 seconds, and check again.\n\nChange-Id: Icd8d88613416b75cfd241e7044dbeffa6cbc6a8e\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "f97b231c021d082f5f56ac88804af3d73be2caa9",
      "tree": "d559831d6ddf870a4bfbf047ea58d93a8f1c91c4",
      "parents": [
        "d1d5541e1fd65d04675edae6e82f3d8a9035592c"
      ],
      "author": {
        "name": "endika",
        "email": "endika.aldecoa@ehu.eus",
        "time": "Wed Sep 16 15:41:18 2020 +0200"
      },
      "committer": {
        "name": "adecoa",
        "email": "endika.aldecoa@ehu.eus",
        "time": "Fri Feb 26 11:29:46 2021 +0100"
      },
      "message": "fix 1208: add native charm support for rhel and fix centos support\n\nThe commit adds SO discovery support for rhel and adds a script to\nadd a DNAT rule to rhel and centos images.\n\nThere are some things that needs to be taken in acount.\n- It uses firewalld, wich is the default firewall for centos and rhel,\n  instead of iptables. This may break some thinghs if the image uses\n  iptables.\n- If firewalld is not actibe it assumes that the VM is not using it,\n  so it creates a input rule to accept all incoming conections\n  (by default rejects all). If the firewall was not enabled, with\n  accept all it should have the same behavior.\n\nChange-Id: I29c9781d354c4e8268e19f64dcc9568d725a0de3\nSigned-off-by: endika \u003cendika.aldecoa@ehu.eus\u003e\n"
    },
    {
      "commit": "d1d5541e1fd65d04675edae6e82f3d8a9035592c",
      "tree": "bf2d93d8e8480f49b6e9e6f8f48180ce88eb68e5",
      "parents": [
        "c4da25cc55411e6cea1e83d29c206bce421f0728"
      ],
      "author": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Sun Feb 21 19:36:20 2021 +0300"
      },
      "committer": {
        "name": "aktas",
        "email": "emin.aktas@ulakhaberlesme.com.tr",
        "time": "Thu Feb 25 23:43:38 2021 +0300"
      },
      "message": "Fixes for scaling proxy and native charm\n\nWith changes in here, it can remove application while scaling in\nand it can add application existed k8s proxy charm model.\n\nChange-Id: If4fd378fdafd925fa1750ce4769506b44adc233c\nSigned-off-by: aktas \u003cemin.aktas@ulakhaberlesme.com.tr\u003e\n"
    },
    {
      "commit": "c4da25cc55411e6cea1e83d29c206bce421f0728",
      "tree": "a68c67e921cb27ac1fbf225f696ccb63a4fa24b9",
      "parents": [
        "5ab1064304b993ea6364b5d932c5c0cb7434cfb7"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Feb 23 11:47:29 2021 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Feb 25 19:00:02 2021 +0100"
      },
      "message": "Add generate_kdu_instance_name method in K8sConn\n\nThe reason for adding this method is for LCM to call it before calling\nK8sConn.install(). That way, LCM can record it in the DB before\nfinishing the instantiation of the KDU.\n\nThis will help fixing bug 1412.\n\nChange-Id: Iacf71c4d2040dbdc966cff2bddd697c4ea1c9a06\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "5ab1064304b993ea6364b5d932c5c0cb7434cfb7",
      "tree": "9fce702be0b583681ae8cca915aec9fbabfb3f7e",
      "parents": [
        "bb60728e5f59728c2905ccf5dad174ddac5d66b6"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Feb 12 17:18:39 2021 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Feb 12 17:18:39 2021 +0100"
      },
      "message": "Fix flake8 minor issues\n\nChange-Id: I1348e9807b8071a1cbf50b97144069a5b6709def\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "bb60728e5f59728c2905ccf5dad174ddac5d66b6",
      "tree": "27cdf6daa5539df46622d68187e6b61fa3d3e909",
      "parents": [
        "c1cf1b9a33dd1929fb834424626661f9c9dce64d"
      ],
      "author": {
        "name": "almagia",
        "email": "silvia.almagia@etsi.org",
        "time": "Wed Feb 03 10:48:43 2021 +0100"
      },
      "committer": {
        "name": "almagia",
        "email": "silvia.almagia@etsi.org",
        "time": "Wed Feb 03 10:48:43 2021 +0100"
      },
      "message": "Revert \"Revert \"Clean up commented or unused code\"\"\n\nThis reverts commit c1cf1b9a33dd1929fb834424626661f9c9dce64d.\n\nCode Clean up approved by TSC on Feb 2nd\n\nChange-Id: I069215c71aaebf3cf7009a3538e4e5112e66103d\n"
    },
    {
      "commit": "c1cf1b9a33dd1929fb834424626661f9c9dce64d",
      "tree": "4a7479514f5bd1fae81b3eb39821295156d2e5bd",
      "parents": [
        "b4e7f5c425df48f7e946d792184d1d1b44879fe9"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Feb 01 10:39:56 2021 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Feb 01 10:40:19 2021 +0100"
      },
      "message": "Revert \"Clean up commented or unused code\"\n\nThis reverts commit b4e7f5c425df48f7e946d792184d1d1b44879fe9.\n\nChange-Id: I31a65516e65c3eb6528f241e36c1e45f3753f4c0\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "b4e7f5c425df48f7e946d792184d1d1b44879fe9",
      "tree": "27cdf6daa5539df46622d68187e6b61fa3d3e909",
      "parents": [
        "83e558987289d47f338ecd989ee0997987673f4a"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Feb 01 10:37:23 2021 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Feb 01 10:37:23 2021 +0100"
      },
      "message": "Clean up commented or unused code\n\nChange-Id: Ib116128c15d727b9124e51d2475556045b79ac0d\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "83e558987289d47f338ecd989ee0997987673f4a",
      "tree": "4a7479514f5bd1fae81b3eb39821295156d2e5bd",
      "parents": [
        "7d0735dcfe5634bc9eebedeb67527495f6751a43"
      ],
      "author": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Thu Dec 17 12:42:11 2020 +0000"
      },
      "committer": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Fri Jan 15 11:04:00 2021 +0000"
      },
      "message": "Fix bug 1400: Change repo stable for helm2\n\nChange-Id: Idc4c6454e539b0935d57b5b0cdcc0895b5d00895\nSigned-off-by: lloretgalleg \u003cilloret@indra.es\u003e\n"
    },
    {
      "commit": "7d0735dcfe5634bc9eebedeb67527495f6751a43",
      "tree": "c44bfb38d977da0ef76443cb730f9fe0bd4e3ead",
      "parents": [
        "3ea7d6cc2568563e2776be6b24aeeba1274ce9cd"
      ],
      "author": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Thu Dec 17 09:19:30 2020 +0000"
      },
      "committer": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Thu Dec 17 09:46:57 2020 +0000"
      },
      "message": "Changed url stable repository for helm3\n\nChange-Id: I28c45df018e32a7bc984645a8f058baaa1f7b6c7\nSigned-off-by: lloretgalleg \u003cilloret@indra.es\u003e\n"
    },
    {
      "commit": "3ea7d6cc2568563e2776be6b24aeeba1274ce9cd",
      "tree": "7ab6097eb6f20ae30bab7e14f0832ea53299d6d6",
      "parents": [
        "095392b4b80e0b63c66282f283c1139ec0536750"
      ],
      "author": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Wed Dec 16 07:07:10 2020 -0500"
      },
      "committer": {
        "name": "beierlm",
        "email": "mark.beierl@canonical.com",
        "time": "Wed Dec 16 07:07:10 2020 -0500"
      },
      "message": "Pin pylint version\n\nPins the version of pylint to 2.6.0, which corrects the upstream\ndependency on SortImports.\n\nChange-Id: I6d3a08ab34e62c03e119f84f66452ec4934c19c4\nSigned-off-by: beierlm \u003cmark.beierl@canonical.com\u003e\n"
    },
    {
      "commit": "095392b4b80e0b63c66282f283c1139ec0536750",
      "tree": "4167d65bd239e5a98c41bece7db1b692957a1024",
      "parents": [
        "f6e9b00b6f7cd35e45ace4c84b53fe8d12b2438c"
      ],
      "author": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Fri Nov 20 11:28:08 2020 +0000"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Wed Dec 09 15:44:30 2020 +0100"
      },
      "message": "Corrected bugs on support for helm v3\n\nChange-Id: I064a8d45490989c75a31384cf16e7ab8755542c3\nSigned-off-by: lloretgalleg \u003cilloret@indra.es\u003e\n"
    },
    {
      "commit": "f6e9b00b6f7cd35e45ace4c84b53fe8d12b2438c",
      "tree": "86711bb6ca5aaf63d032860441dc8f605e067a2d",
      "parents": [
        "1c83f2e4d061ad37ba898e114cb42e70fdee5145"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Nov 27 15:32:02 2020 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Sat Nov 28 11:12:41 2020 +0100"
      },
      "message": "Fix bug 1298\n\nThis bug was caused because a bad parsing of the kubeconfig.\nThe token should be the secret from k8s for the created service\naccount.\n\nWhen adding a k8s cluster, a clusterrole, clusterrolebinding, and\nserviceaccounts are created.\n\nTests are needed for oauth2 and userpass kubeconfigs.\n\nChange-Id: I6a4a2834bd6477f255e8ca48e7f53cd3a0d3fddf\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "1c83f2e4d061ad37ba898e114cb42e70fdee5145",
      "tree": "307b49ebaa4b8b365cf87273770a2875b8f3888e",
      "parents": [
        "e308c71201537413caf28f8814051470f0418504"
      ],
      "author": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Thu Oct 22 09:12:35 2020 +0000"
      },
      "committer": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Fri Nov 13 10:14:17 2020 +0000"
      },
      "message": "Support for helm v3\n\nAdded support for helm3 and included unit tests for helm and helm v3\n\nChange-Id: I1a4a14be2e0a5c82445b97a9d263fd67139fd25b\nSigned-off-by: lloretgalleg \u003cilloret@indra.es\u003e\n"
    },
    {
      "commit": "e308c71201537413caf28f8814051470f0418504",
      "tree": "79c0ec5b7c977412b892c2ff82ee330c3527cb20",
      "parents": [
        "5b802c9d0ee35b529cdac7e6db237aab2fe409d8"
      ],
      "author": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Wed Sep 02 09:40:38 2020 +0000"
      },
      "committer": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Thu Nov 12 10:40:57 2020 +0000"
      },
      "message": "Syncronize with fs before action and reverse sync after action to allow high availability with mongofs\n\nChange-Id: I4b8b2411d605de8e1743d835aff994ad788ae997\nSigned-off-by: lloretgalleg \u003cilloret@indra.es\u003e\n"
    },
    {
      "commit": "5b802c9d0ee35b529cdac7e6db237aab2fe409d8",
      "tree": "574f60f61f7702662327d091236f5f0a2fba364d",
      "parents": [
        "9a63e8d905b4b98f567acccce745b39919fa6860"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Nov 11 16:56:06 2020 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Nov 11 17:02:09 2020 +0100"
      },
      "message": "Fix minor bug in configure application\n\nVariable model was unassigned if the connection to the controller was\nfailing\n\nChange-Id: I14764079f505c46ff7c9af7adec8079b43eca14e\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "9a63e8d905b4b98f567acccce745b39919fa6860",
      "tree": "d297ae75adc90eb2f0aff6a7ddcb3d7caacd9707",
      "parents": [
        "667696ef11356f3267df58f2a81c6ecebb0e94b9"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Nov 03 20:37:06 2020 +0100"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Mon Nov 09 14:06:29 2020 +0100"
      },
      "message": "Feature 9952: Distributed Proxy Charms\n\nAdd cloud_name and cloud_credential arguments in these functions to\nallow allocating proxy charms in different clouds:\n  - create_execution_environment\n  - register_execution_environment\n  - install_k8s_proxy_charm\nChange-Id: I3e57c6e5b9e25f9abfb7a579a188cf98d457e2b2\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "667696ef11356f3267df58f2a81c6ecebb0e94b9",
      "tree": "ea2805559407bdbb73a0beacd1aa17973dd5ac9c",
      "parents": [
        "a4f57d6260e6520aa6a89e86f9d1b2ca5e0a3a08"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Sep 22 14:52:32 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Nov 04 13:34:50 2020 +0100"
      },
      "message": "Feature 9751: Centralized VCA for KNFs\n\n- Use libjuju.py for the communication with VCA\n- Add the k8s_cloud as an external cloud to the VCA\n- Add unit tests\n\nChange-Id: Id55bfada3957f35e13cef7b4bfcc7acb72452df0\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "a4f57d6260e6520aa6a89e86f9d1b2ca5e0a3a08",
      "tree": "ade0629b5759e1f62cff3db58a8a42f596e47f85",
      "parents": [
        "168bb198ea5c86aaa2cd8d0e20c634ac896e385f"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Oct 22 10:50:56 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Oct 22 10:56:24 2020 +0200"
      },
      "message": "Fix bug 1263\n\nUpdate database endpoints when a new VCA_HOST_IP is provided\n\nBefore, we were not considering the that the VCA_HOST_IP could be\nupdated, in that case, the old ips stored in the database should be\nreplace by the new one. Of course, this won\u0027t do any model migration\nfrom the previous VCA to the new one. It will only start pointing to\nthe new VCA provided.\n\nChange-Id: I5e259f773f90e4f440d87c4b6342cd82425c0e0c\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "168bb198ea5c86aaa2cd8d0e20c634ac896e385f",
      "tree": "fad8cab927683fb57dc72b7d7f3430716bde2262",
      "parents": [
        "5ef42a14f766aa00a5917845ba1b3e04cc3c15f7"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Oct 21 14:19:45 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Oct 21 18:57:37 2020 +0200"
      },
      "message": "Fix bug 1267: Destroy machines that are pending\n\nWhen osm destroys a NS, and a native charm hasn\u0027t been able\nto finish the provisioning of a machine, it will be in a pending state.\nAs it was seen in the bug 1267, when a model is destroyed and machines\nare pending, the deletion of the model will get stuck.\n\nThis patch solves that by checking (before deleting the model) if there\nare any manually provisioned machines in the juju model (native charms)\nin a pending state. If there are, it will destroy them so that the deletion\nof the model won\u0027t get stuck.\n\nChange-Id: Ia3f6ae7390ccc2bb5d4874d7d08fd446019b0901\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "5ef42a14f766aa00a5917845ba1b3e04cc3c15f7",
      "tree": "3f0c4072d7307bd40de98ef2c35ba83cb8cd2e10",
      "parents": [
        "59f520da90fb12b9d9871889dfbc5d57aa14c591"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Sep 29 19:48:13 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Oct 21 16:24:02 2020 +0200"
      },
      "message": "Fix bug 1216: Force model deletion\n\nChange-Id: I3f41eead305349eba5d404f5f3d61d33f0536aca\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "59f520da90fb12b9d9871889dfbc5d57aa14c591",
      "tree": "56c43333879f27690ea51ccf0d5aa4ef824c8c43",
      "parents": [
        "7077e2601a209a87f7fe397b35586e7701ca759a"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Oct 15 13:16:45 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Oct 21 13:28:23 2020 +0200"
      },
      "message": "Fix bug 1236: Retry if leader unit is not obtained\n\nThere a racing condition when N2VC tries to get the leader unit, but there\nleader-elected hook has not been triggered. In that case, day-1 action might fail.\n\nThis commit solved this issue by retrying a couple of times.\n\nChange-Id: If79cd243aa9ebdf8ed0e6235481eeb9fd2640612\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "7077e2601a209a87f7fe397b35586e7701ca759a",
      "tree": "6736461f7e89817a1df2c664437e810372a933ed",
      "parents": [
        "e22c72017d4756571ea04760ce5059c7ba7cd295"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Oct 16 15:38:13 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Oct 16 15:38:13 2020 +0200"
      },
      "message": "Add credential_name option for add_k8s() and add_cloud()\n\nChange-Id: I4adf740231e4c0d8785768631a8f2daedc198947\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "e22c72017d4756571ea04760ce5059c7ba7cd295",
      "tree": "6d73c979214f7247eb26c6365209c2a2ef46ea5c",
      "parents": [
        "a062074373b1d6dcf94029bd44be32043eff26eb"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Oct 16 14:37:37 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Oct 16 14:37:37 2020 +0200"
      },
      "message": "Add credential_name in Libjuju.add_model() function\n\nChange-Id: Ic3ca0fce931de4b9f7d200e99feb604f21c1ab83\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "a062074373b1d6dcf94029bd44be32043eff26eb",
      "tree": "42903b64eb27784ed7a2759c807a9c3e8c72db30",
      "parents": [
        "475a7221e3598ad1c75ce802c5ad74ef7ecf72f1"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Oct 16 13:00:18 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Oct 16 13:00:18 2020 +0200"
      },
      "message": "Add loop and vca_config options to K8sJujuConnector constructor\n\nChange-Id: I65edb055af2a67d85f495812118721f1eefa53a5\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "475a7221e3598ad1c75ce802c5ad74ef7ecf72f1",
      "tree": "d4d2a9a5d1430567848e4721d9ba7e4eea869189",
      "parents": [
        "85755d17a807df83d0e472e6e73500a4d743296b"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Sep 21 16:19:15 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Sep 22 18:24:22 2020 +0200"
      },
      "message": "Add new kubectl.py functions, modify some libjuju.py functions, add unit tests\n\n- Kubectl.py: two new functions added (get_configuration and get_default_storage_class)\n  - get_configuration(): Returns a kubernetes Configuration object.\n    It can be used to properly parse the kubeconfig.\n  - get_default_storage_class(): Searches for the default storage class of a k8s cluster.\n- Libjuju.py: modified add_k8s function and get_k8s_cloud_credential function was added.\n  - add_k8s(): Improves the way of generation Cloud and CloudCredential objects for the K8s Cloud\n  - get_k8s_cloud_credential(): It parses the kubeconfig to properly determine the authentication\n    method type that should be used for that k8s cluster.\n- Unit tests: Added unit tests for all the new functions added.\n- Exceptions: Make all Juju Exceptions to inherit from N2VC Exception.\n  Now Juju exceptions have the message attribute, that is useful for unit testing, to not only check that\n  an exception raised, but to check the message too.\n- Move get_k8s_cloud_credential() function to n2vc/utils in order to share that code between different connectors.\n\nChange-Id: Ife9027d80663fe95f1f3ad883cb9a3376b047d0b\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "85755d17a807df83d0e472e6e73500a4d743296b",
      "tree": "0fcb9cf17689dbf6ca0c1921afd6a9168988c5fa",
      "parents": [
        "12b29244e5d333341166ea92760b8eb245c16b27"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Sep 21 19:51:23 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Sep 21 19:51:23 2020 +0200"
      },
      "message": "Add get_metrics command to n2vc_juju_conn and libjuju\n\nChange-Id: I6cde1528579c8ca7aa72d935c5e570004468bb1a\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "12b29244e5d333341166ea92760b8eb245c16b27",
      "tree": "2994f77c9ed622a5c1a74f38973a70304cfb49f5",
      "parents": [
        "c38a696d168531e3c067451044262ef4d78ef11f"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Sep 17 16:01:48 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Sep 17 16:01:48 2020 +0200"
      },
      "message": "Add add_k8s, add_cloud, and remove_cloud commands to libjuju.py and unit tests\n\n- add_k8s: Generates Cloud and CloudCredential objects for adding a Kubernetes cloud to the VCA\n- add_cloud: Takes Cloud and CloudCredential as arguments for adding the cloud to the VCA\n- remove_cloud: Remove cloud from VCA\n\nChange-Id: Ia6b4c0cbd06f38df6fe4c52414f5bcb8ffb9a5a8\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "c38a696d168531e3c067451044262ef4d78ef11f",
      "tree": "333db0a26afb040e3daf5c484bd08c2c42ecbb3a",
      "parents": [
        "ba6e532cda6464759381585452b18f9fd1a19dd3"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Sep 16 13:31:33 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Sep 16 18:59:27 2020 +0200"
      },
      "message": "Remove EntityType from juju watcher and workaround juju bug for retrieving the status\n\n- The juju watcher was doing an unnecessary translation with the entity types. The entity already provides an attribute .entity_type\n- Juju has a bug in version 2.8.2 that returns a wrong status. Therefore, charms were getting stuck in waiting for ever.\nChange-Id: I44709190acc41601e8a67f4c52074fda00c3d495\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "ba6e532cda6464759381585452b18f9fd1a19dd3",
      "tree": "efeee69a69dc4c48684b812afb5baeccde361212",
      "parents": [
        "8bfcc14713a71f43f155e3cddec168380134d344"
      ],
      "author": {
        "name": "almagia",
        "email": "silvia.almagia@etsi.org",
        "time": "Wed Sep 16 09:44:40 2020 +0200"
      },
      "committer": {
        "name": "almagia",
        "email": "silvia.almagia@etsi.org",
        "time": "Wed Sep 16 09:44:40 2020 +0200"
      },
      "message": "Revert \"Revert \"\"Remove unused lines of code\"\"\"\n\nThis reverts commit 8bfcc14713a71f43f155e3cddec168380134d344.\n\napproved by TSC on 15/09/20\n\nChange-Id: I176b1b625cbc2d94013921401b2e6048aed675f8\n"
    },
    {
      "commit": "8bfcc14713a71f43f155e3cddec168380134d344",
      "tree": "299eadf613408c0131016accff68e9452e52090a",
      "parents": [
        "e8102d9e28e5c502fc66ca842d14e1ad29efbfda"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Sep 14 15:10:04 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Sep 14 15:10:37 2020 +0200"
      },
      "message": "Revert \"\"Remove unused lines of code\"\"\n\nThis reverts commit e8102d9e28e5c502fc66ca842d14e1ad29efbfda.\n\nChange-Id: Ic22f292f601f45451d3fdd56ab98bfa4ea9161eb\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "e8102d9e28e5c502fc66ca842d14e1ad29efbfda",
      "tree": "efeee69a69dc4c48684b812afb5baeccde361212",
      "parents": [
        "68b007225cc1fd432dba07fe42a5d1362925bc32"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jul 07 10:34:33 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Sep 11 15:57:26 2020 +0200"
      },
      "message": "\"Remove unused lines of code\"\n\nChange-Id: I02be0efe4918083d95a4017c898bfabaf269e779\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "68b007225cc1fd432dba07fe42a5d1362925bc32",
      "tree": "299eadf613408c0131016accff68e9452e52090a",
      "parents": [
        "8331f7ce83ebe7b1c9b2ca25610dfa7fab3a0e64"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Sep 11 15:05:00 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Sep 11 15:08:05 2020 +0200"
      },
      "message": "Add consume to libjuju.py\n\nThis function allows to consume an offered endpoint in another model\n\nChange-Id: I320978aac654fbb8199fdfbf4e928b0e2ba5458b\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "8331f7ce83ebe7b1c9b2ca25610dfa7fab3a0e64",
      "tree": "fa8f12619efc434d25527bff18948c6aec562caf",
      "parents": [
        "bc538e4dc147558118094252f31b762d35392623"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Aug 25 16:10:07 2020 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Fri Sep 11 14:34:31 2020 +0200"
      },
      "message": "Change add_relation function in libjuju.py to accept saas\n\nBefore, app_1, endpoint1, app_2, endpoint2 parameters were needed.\nNow we directly pass the endpoint names of the relation with the right format.\nIf \"app:endpoint\", it is understood that the endpoint it of a charm in the current model.\nIf \"name\", it is understood that the endpoint is a consumed endpoint from another model.\n\nThis function allows to cross-model-relate charms to external models\n\nChange-Id: I84ab45ba735a1960ab742d9ec731c357ec1042c6\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "bc538e4dc147558118094252f31b762d35392623",
      "tree": "7f030a7b791339ef9c7c4b41db987162904865e8",
      "parents": [
        "42f328a34a3ec7c066350de81e1331632a3fee92"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Aug 25 15:22:30 2020 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Fri Sep 11 14:34:10 2020 +0200"
      },
      "message": "Add list_offers function to libjuju.py\n\nThis function return the list of offers available in a model\n\nChange-Id: Iebc9f55c79f27caab5b2f5a2874e1d2d93dc9bc4\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "42f328a34a3ec7c066350de81e1331632a3fee92",
      "tree": "f2116ce23f24c019addea804506f66c6540eca1e",
      "parents": [
        "f414edf8e9f6247e6ededbeed2318abe8027257a"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Aug 25 15:03:01 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Sep 11 14:33:20 2020 +0200"
      },
      "message": "Add models_exist function to libjuju.py\n\nThis function checks if a gives list of model names exist in the controller.\nAdditionally, it returns the list of unexisting models from the given list.\n\nChange-Id: I2a9290ef1a4ee1308626f3a31dba0a83127fdd8c\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "f414edf8e9f6247e6ededbeed2318abe8027257a",
      "tree": "133ce0b38616bc58dad1f2afba050d316deb6366",
      "parents": [
        "4f74f59cf7550185336c0a075205f61d424f214a"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Aug 25 14:38:59 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Aug 25 14:38:59 2020 +0200"
      },
      "message": "Add entries in .gitignore to ignore the files created by venv\n\nChange-Id: I303847624dfb3f8f3a7ce37621f9f72b9344c0a2\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "4f74f59cf7550185336c0a075205f61d424f214a",
      "tree": "cf72428240c6d379b6d379e892cee8a4f684fc22",
      "parents": [
        "2c791b34626ff76ab1886a110599998f9de0df80"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jul 23 15:04:19 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Store k8s controller information in Mongo, and remove controller attribute from K8sJujuConnector\n\n- Storing the k8s controller information in Mongo let us connect to that controller from different LCM units\n- The cacert and secret keys are encrypted\n- The controller attribute in K8sJujuConnector was preventing to have more than 1 connection to different controllers at the same time\n\nChange-Id: Icf96e1eedf84e283dd6b0016cae3695a074b7d24\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "2c791b34626ff76ab1886a110599998f9de0df80",
      "tree": "364c1e3aecba8011fe6e01d12e71d0388c10b88d",
      "parents": [
        "84ebb751f36f724b6ddd7d9925e43534b2420ab2"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jul 22 17:56:12 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Get the kubeconfig credentials from MongoDB\n\nThis the previous approach, the kubeconfig was gotten from the filesystem,\nwhich has issues scaling the LCM, because the kubeconfig was only present\nin the pod that had initialized the environment.\n\nThe kubeconfig is stored in Mongo, and this commit basically gets the config from there, so it doesn\u0027t matter which LCM needs access to it.\n\nChange-Id: I80458db5124122a4b7b3eb3a9b00cb4a4add11ff\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "84ebb751f36f724b6ddd7d9925e43534b2420ab2",
      "tree": "0bb7f1eb23b8d72641941ae79cbc2f5c16d2e94a",
      "parents": [
        "e7b9a5b179648694b7461fd9ac13f2f4728dc86f"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jul 22 13:17:56 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Fix bug 1167\n\nChange-Id: Id0ea5f19d57d2214219eec8f59f13a378d61c870\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "e7b9a5b179648694b7461fd9ac13f2f4728dc86f",
      "tree": "a0e60accffd8f67978ba51f1f6bb115ce553b339",
      "parents": [
        "37004983e8e484d5504ae4253bdb75204ff389d9"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Fri Jul 17 11:47:32 2020 +0000"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "1156 fix path obtained for k8s_helm_conn cluster\n\nminor change at /k8s_juju_conn.py\n\nChange-Id: I1e7f4910bc726d5a693ce50f45798a2fc8363a96\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "37004983e8e484d5504ae4253bdb75204ff389d9",
      "tree": "704c2d727211989aa20768c5ff20047a53e00b52",
      "parents": [
        "810459632a4fb28e1bde897aaef8775cba342b4b"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jul 16 17:53:20 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Fix an issue with the service ports in Kubectl.py\n\nThe ports were retrieved as V1ServicePort classes, and LCM cannot store that in the database\n\nChange-Id: I451ab65478f36c5cb7f33594b4454bd315c22878\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "810459632a4fb28e1bde897aaef8775cba342b4b",
      "tree": "f428dd5dffde55cb33b541a5f20568644bb45003",
      "parents": [
        "0c478257d6bd8126b27d80f76d128c7cc21d0609"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jul 16 12:37:13 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Make API Proxy optional and avoid replacing existing SSH Keys in the provisioner\n\n- Fixes bug 1154\n- Fixes bug 1083\nChange-Id: I0ee5e092f5ff205089c2b80ece9f4262572d58d2\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "0c478257d6bd8126b27d80f76d128c7cc21d0609",
      "tree": "3e33fbcccfbd0b03aa05cd330e3cc2aef590404e",
      "parents": [
        "4d0bef5003a86170683da70259b67a8815a9e865"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Wed Jul 15 14:44:45 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Add unit tests for K8s Proxy Charm Feature\n\nThis commit also makes an initial template for\nfuture test in n2vc_juju_conn.py\n\nChange-Id: I34cb0f52bc2e6ce6b514ea4f99658f109e21875f\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "4d0bef5003a86170683da70259b67a8815a9e865",
      "tree": "a0547aebc8d329cb3534de6a212c3c82b9a50222",
      "parents": [
        "5d79939ab780d4717fe36bfd62f398b922f84829"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jul 15 16:01:17 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Pin libjuju version to 2.8.2\n\nThis fixes bug 1144\n\nChange-Id: I72580c2a2c4614bad2847b436d376ad9b4636031\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "5d79939ab780d4717fe36bfd62f398b922f84829",
      "tree": "bbcb0cd986c1a4d073dd2d20d083f006cc245474",
      "parents": [
        "7ff392f6b60850ac7408f96fd42ab16b005ec2bf"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jul 02 13:56:58 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Implement get_service and get_services methods for K8sJujuConnector\n\n- Add a new class (n2vc.kubectl.Kubectl) for managing the Kubectl commands\n  - Add unit tests\n- Add get_config_file() method for getting the path of the kubeconfig in K8sJujuConnector\n- Implement get_service() and get_services() methods in K8sJujuConnector\n\nChange-Id: I883ec21dad519c2dc65cb9bd601e539685336756\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "7ff392f6b60850ac7408f96fd42ab16b005ec2bf",
      "tree": "9fd2dc9d16915371e3472311a9a01a8563baec6d",
      "parents": [
        "891732a9f4f1381a49e506cb9d39132b328aaa1c"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Tue Jul 07 13:11:19 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Add unit tests to N2VC refactor\n\nThis commit adds unit tests for the following\nmodules:\njuju_watcher.py 96% coverage\nlibjuju.py 72% coverage\nutils.py 100% coverage\n\nMinor libjuju.py fixes found with unit testing\nFix testing with tox\n\nChange-Id: I9f23ce2f18aac6765edfa955ed200802c27d9047\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "891732a9f4f1381a49e506cb9d39132b328aaa1c",
      "tree": "2242dcc7541aeeac3f6b85735bfba6d8801869d6",
      "parents": [
        "d99f3f2f67d693c30494be7ad19b97f3f5528961"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Jul 14 10:29:00 2020 +0000"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "fix bugs 1117 and 1142 at deleting k8scluster helm-chart\n\nbug 1142: When helm is not going to be uninstalled, do not check for kdu releases\n\nbug 1117: When helm is going to be unistalled with kdu releases, just warn and\nskip uninstall helm. This happens because kdu release has been installed\noutside the scope of OSM. NBI already checks that there is not OSM kdu\ndeployments upon k8scluster deletion, denying the operation if any.\n\nChange-Id: Icee2125b790c562130e13dd8c619d1c94c64c0fe\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "d99f3f2f67d693c30494be7ad19b97f3f5528961",
      "tree": "bdc5869e8adaf1419309be2b1a8e12aa5d6a5f22",
      "parents": [
        "ec8a50490e6b0289e60dd8e54905b8ab480c0db8"
      ],
      "author": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Mon Jun 29 14:18:30 2020 +0000"
      },
      "committer": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Wed Jul 08 10:07:03 2020 +0000"
      },
      "message": "Added new functionaliyty  to obtain services data\n\nChange-Id: I140dafb29f7636e4b8e481b865faa414d7fb1136\nSigned-off-by: lloretgalleg \u003cilloret@indra.es\u003e\n"
    },
    {
      "commit": "ec8a50490e6b0289e60dd8e54905b8ab480c0db8",
      "tree": "2005d484b9e8ce742572f97b36c20ee6c6b74334",
      "parents": [
        "a5728bfa2a58437329105d900822274a73cd9356"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Wed Jun 24 13:57:10 2020 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Fri Jul 03 06:43:33 2020 +0000"
      },
      "message": "allow starts N2VCJujuConnector without the parameter api_proxy\n\nChange-Id: I7506f10b89c6837ce019e6db447748de3c811d61\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "a5728bfa2a58437329105d900822274a73cd9356",
      "tree": "2093cc58fc564cad165e4b1a8978fe78cf13ccf6",
      "parents": [
        "2cf8b2e0cd32ab2e8f3913ae9c5e156710465240"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Thu Jun 25 15:48:52 2020 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Fri Jul 03 06:43:33 2020 +0000"
      },
      "message": "fix 1108 enhancement in helm installation and removing\n\nit allows old versions of k8s by creating a serviceaccount\n\nIn addition it stores the namespace used for helm instalation,\nto use it at deletion. For that a \u0027namespace.cluster_id\u0027 is used\n\nChange-Id: I8333cbd02bc681908c4341b592746b144f8a0acd\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "2cf8b2e0cd32ab2e8f3913ae9c5e156710465240",
      "tree": "431a8152d78b2d9581b430b8735eae1590cee241",
      "parents": [
        "d745e229c23053e565c89231c4e239186ba3e332"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jul 01 20:25:30 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jul 01 20:26:47 2020 +0200"
      },
      "message": "Update database with api_endpoints of VCA on initialization\n\nChange-Id: Id5666d8c93d357632efde93e8e60abafdad56e35\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "d745e229c23053e565c89231c4e239186ba3e332",
      "tree": "5eb252863fa976c8da2369c2f9f614356d2ebdf3",
      "parents": [
        "b8ff39bee1fffc09564f911ab522269306163f84"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jun 30 08:39:26 2020 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jun 30 09:13:24 2020 +0200"
      },
      "message": "Fix missing await\n\nChange-Id: I64babbb51193d47122e34498f11b6d380b44a174\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "b8ff39bee1fffc09564f911ab522269306163f84",
      "tree": "327d893d3b4dd535780474633bf13f9a2fb00a28",
      "parents": [
        "7ace6faf03350236447f49ea6435e271a3f84aae"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jun 25 17:18:31 2020 +0200"
      },
      "committer": {
        "name": "garciadav",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jun 30 08:12:40 2020 +0200"
      },
      "message": "Fix model deletion\n\n- Model deletion is failing with Juju 2.8\n\nChange-Id: I6d7fc85ac9166a4eb7ff5851c231490400d64787\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "7ace6faf03350236447f49ea6435e271a3f84aae",
      "tree": "fcca3c6236d987a11c51991f5d27ed915e9bed08",
      "parents": [
        "b95133489d1cd16e1692085b1193d24d52c858fc"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Mon Jun 29 16:16:28 2020 +0200"
      },
      "committer": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Mon Jun 29 16:16:28 2020 +0200"
      },
      "message": "Write to DB when creating K8s Proxy Charm\n\nThis commit adds a call to _write_ee_id_db so\nthat the DB is updated the same way as in LXD\nProxy Charms.\n\nChange-Id: I7ecd815b1a5fbbb0b0222300da39ca99cb6ae584\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "b95133489d1cd16e1692085b1193d24d52c858fc",
      "tree": "59b6bc32b3061d9f221283541f63d324f3ebeb7b",
      "parents": [
        "f8a9d46e66f1222d7aefdf5a641e4490ef1a40b8"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Tue Jun 09 11:57:14 2020 +0200"
      },
      "committer": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Mon Jun 29 13:28:21 2020 +0200"
      },
      "message": "8716 - K8s Proxy Charms\n\nThis commit enables the possibility to deploy\nProxy Charms on Kubernetes.\n\nIt depends on a new LCM environment variable\ncalled `k8s_cloud` which will state the k8s name\nin VCA that will be used for deploying the proxy\ncharms.\n\nIt will also check the k8s model for status\nand delete the k8s model if it exists.\n\nFinally it will now retry the verify ssh\ncredential action when the action fails, instead\nof only retrying when a excpetion is launched.\n\nChange-Id: I09510dcec00f747da945f88d54c2e25c1402d56c\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "f8a9d46e66f1222d7aefdf5a641e4490ef1a40b8",
      "tree": "1b65dfcce22b5a078452f9e9170cf8668c37015c",
      "parents": [
        "2f66c4df28308b5b2747bb207e7797932e502436"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Mar 25 18:19:02 2020 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Jun 26 16:36:47 2020 +0200"
      },
      "message": "Feature 8720: Add scale support\n\nChange-Id: Ie94521fb6a1ce0a765f9558de749f4f438cf8b93\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    }
  ],
  "next": "2f66c4df28308b5b2747bb207e7797932e502436"
}
