)]}'
{
  "log": [
    {
      "commit": "65ddf85ef9d11aa4d4f9dc7cb2912ff7069f7c94",
      "tree": "4cc2a114bf8602da108843bef8ab75c734c44a2c",
      "parents": [
        "1ac78b3b0c1440f4c69834387c7ceafdff27ac28"
      ],
      "author": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Thu Feb 20 12:01:17 2020 +0100"
      },
      "committer": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Thu Feb 27 01:47:07 2020 +0100"
      },
      "message": "Synchronize helm repos on ns instantiation instead of creation\n\nChange-Id: Ia4f35283399d2777ff3df1fb2824a68cbaec4804\nSigned-off-by: lloretgalleg \u003cilloret@indra.es\u003e\n"
    },
    {
      "commit": "1ac78b3b0c1440f4c69834387c7ceafdff27ac28",
      "tree": "0f0dc85ee0e0a2ba46eb8d2e6cfe15258b82590b",
      "parents": [
        "af133268a39188bd941f4a682c07f919f1da9690"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Wed Feb 26 19:58:25 2020 +0100"
      },
      "committer": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Wed Feb 26 19:58:25 2020 +0100"
      },
      "message": "1000: Fix authentication when deleting service\n\nThis fixes 1000 where the creation of k8sclusters\nwas failing once a k8scluster had been deleted. This\nwas due to N2VC not logging out correctly from the\njuju controller. Error handling was added to the\nadd_model funciton.\n\nhttps://osm.etsi.org/bugzilla/show_bug.cgi?id\u003d1000\n\nChange-Id: I144ddf7ed16a3aa65e145459e49f41b9fd936353\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "af133268a39188bd941f4a682c07f919f1da9690",
      "tree": "a705005ae245d12bea6d6ce2db60d691604de921",
      "parents": [
        "5f8f97d44884429210c04c16cd647c9bf2a22c28",
        "02ee754cc2d2546013205d6f5cad68f06f184222"
      ],
      "author": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Wed Feb 26 19:48:38 2020 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Wed Feb 26 19:48:38 2020 +0100"
      },
      "message": "Merge \"Revert \"Bug 1000: Fix authentication when deleting service\"\""
    },
    {
      "commit": "02ee754cc2d2546013205d6f5cad68f06f184222",
      "tree": "d427776580be9953f36c12e19b491fafae066f5f",
      "parents": [
        "4d193dc97be946877fc9b033e5d267b103a7cc45"
      ],
      "author": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Wed Feb 26 19:46:43 2020 +0100"
      },
      "committer": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Wed Feb 26 19:46:43 2020 +0100"
      },
      "message": "Revert \"Bug 1000: Fix authentication when deleting service\"\n\nThis reverts commit 4d193dc97be946877fc9b033e5d267b103a7cc45.\n\nChange-Id: I231f152421c839d1604710bd0707a91c634fd0bc\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "5f8f97d44884429210c04c16cd647c9bf2a22c28",
      "tree": "0f0dc85ee0e0a2ba46eb8d2e6cfe15258b82590b",
      "parents": [
        "dd0cdee63d1ce9441e7e3076e3a301304cf9b4cd",
        "4d193dc97be946877fc9b033e5d267b103a7cc45"
      ],
      "author": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Wed Feb 26 19:45:53 2020 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Wed Feb 26 19:45:53 2020 +0100"
      },
      "message": "Merge \"Bug 1000: Fix authentication when deleting service\""
    },
    {
      "commit": "4d193dc97be946877fc9b033e5d267b103a7cc45",
      "tree": "d65ded378a6f9f24f4464f00ff8d9a2e23f73d1b",
      "parents": [
        "68eb809576112cf59add5f62f87e99b07c3ac17a"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Wed Feb 26 13:25:00 2020 +0100"
      },
      "committer": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Wed Feb 26 13:25:00 2020 +0100"
      },
      "message": "Bug 1000: Fix authentication when deleting service\n\nThis fixes bug 1000 where the creation of k8sclusters\nwas failing once a k8scluster had been deleted. This\nwas due to N2VC not logging out correctly from the\njuju controller. Error handling was added to the\nadd_model funciton.\n\nhttps://osm.etsi.org/bugzilla/show_bug.cgi?id\u003d1000\n\nChange-Id: I46f9a89e004c918b4f0104489ca4edfa7e386c95\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "dd0cdee63d1ce9441e7e3076e3a301304cf9b4cd",
      "tree": "a705005ae245d12bea6d6ce2db60d691604de921",
      "parents": [
        "68eb809576112cf59add5f62f87e99b07c3ac17a"
      ],
      "author": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Wed Feb 26 10:00:16 2020 +0100"
      },
      "committer": {
        "name": "lloretgalleg",
        "email": "illoret@indra.es",
        "time": "Wed Feb 26 10:03:42 2020 +0100"
      },
      "message": "Fixed issue canceling status task\n\nChange-Id: I29d842351f23f0464bc230e8b97dacf24edff0bd\nSigned-off-by: lloretgalleg \u003cilloret@indra.es\u003e\n"
    },
    {
      "commit": "68eb809576112cf59add5f62f87e99b07c3ac17a",
      "tree": "d427776580be9953f36c12e19b491fafae066f5f",
      "parents": [
        "847f3c055188614da2cd7ea8028db8ab025eb1d8"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Feb 11 10:22:12 2020 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Feb 11 12:33:54 2020 +0000"
      },
      "message": "Fix 1015. Remove non used paramiko dependencies at k8s_helm_conn\n\nChange-Id: Id5c6333fb7feac8dce85f87641676771f346d062\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "847f3c055188614da2cd7ea8028db8ab025eb1d8",
      "tree": "aa9a75d36941a4d18f82e0b4b874d47c1d5b6c22",
      "parents": [
        "601697a71710893f45f3c00c4fdb9d612cc99b59"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Tue Feb 04 15:32:42 2020 +0100"
      },
      "committer": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Thu Feb 06 18:49:40 2020 +0100"
      },
      "message": "1007 Use KDU name and NS id for model names\n\nThis commit is part of the fix for Bug 1007. Previously\nThe wrong naming was used in the uninstall function and\nit was deleting each application one by one. Now the whole\nmodel will be deleted automatically.\nThis commit is dependent on this one in LCM:\nhttps://osm.etsi.org/gerrit/#/c/osm/LCM/+/8555/\n\nAdditionally the naming for models has changes so that\neach KDU gets is own model with the following naming:\n\u003ckdu-name\u003e-\u003cns-id\u003e . This will fix multi KDU support.\n\nChange-Id: I912105417d67d5f3d95b997b91d7a5b7388bdf0d\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "601697a71710893f45f3c00c4fdb9d612cc99b59",
      "tree": "48daeece8b82b0dc42aeef5e0e0d5e367fa86e05",
      "parents": [
        "54771fa2e857c92aa8454e80389ee7461e4a9773"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Feb 04 15:26:25 2020 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Feb 04 15:26:37 2020 +0000"
      },
      "message": "fix 1010. Proper exception handling when looking for used kdu name\n\nChange-Id: Ieaa07ddd0dcd3901a242665ef8306e6f08b23c3a\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "54771fa2e857c92aa8454e80389ee7461e4a9773",
      "tree": "55f74690c0d81ad51b3049365576ed3518a313a7",
      "parents": [
        "32dc3c64b74491a4058822a3d6f6371ff74c835f"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri Dec 13 13:39:03 2019 +0100"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Jan 30 21:59:58 2020 +0100"
      },
      "message": "k8s_juju_conn.py: fix cloud name for k8s\n\nChange-Id: Id0e605f010306bd71728e1335636340674bbfb2d\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "32dc3c64b74491a4058822a3d6f6371ff74c835f",
      "tree": "d68675b29448f4fc0bd96811254062e91caa49d7",
      "parents": [
        "bc355a11bd4f77d67cec3a5a979c42cbdff5a92e"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Thu Jan 23 16:30:04 2020 +0000"
      },
      "committer": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Thu Jan 30 17:39:52 2020 +0100"
      },
      "message": "Fix bug 996. Error status when cluster is not ready\n\nChange-Id: I194932ac67aa9a04a1fd4a7e4789103b13477e6e\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "bc355a11bd4f77d67cec3a5a979c42cbdff5a92e",
      "tree": "4fe8dd65b6804ad807967543a4bb208f9ce5672a",
      "parents": [
        "aae10b40873737c1cc783868ce13c33c0b4c2846"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Thu Jan 23 09:28:26 2020 +0000"
      },
      "committer": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Thu Jan 30 17:39:36 2020 +0100"
      },
      "message": "Generate names for K8s pods when file or url\n\nChange-Id: I99e50cda65df2462c90775eb84a096232428ffc4\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "aae10b40873737c1cc783868ce13c33c0b4c2846",
      "tree": "8def9e29656a94094e48c21a6b798c8c04b10a65",
      "parents": [
        "3419aba44ae1829dab01b9eceb39a0425e8af973"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Thu Jan 09 08:49:10 2020 +0000"
      },
      "committer": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Thu Jan 30 17:02:21 2020 +0100"
      },
      "message": "juju relations implementation\n\nChange-Id: I1ed4744e5d616a7674fb8232041aa64820a322f0\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "3419aba44ae1829dab01b9eceb39a0425e8af973",
      "tree": "5fb22317b7369e55049270b228dde589beccad7c",
      "parents": [
        "bd5a0c9bcbcd078a2c914f77671d23d4e2afca98"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Jan 29 09:35:35 2020 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Jan 29 11:15:41 2020 -0500"
      },
      "message": "Fix bug 1002\n\nThis patch fixes bug 1002 by using the async-friendly `asyncio.create_subprocess_exec` instead of `subprocess.run`.\n\nChange-Id: Ie290e3f879ee83345c0b783116ef2f1e8982e537\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "bd5a0c9bcbcd078a2c914f77671d23d4e2afca98",
      "tree": "2654b69ec28ebff2b0763e25dd313620b1d23cce",
      "parents": [
        "7ac3f38c67105b94505496b5e321410e8e09fa4e"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Wed Jan 15 12:30:09 2020 +0000"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Wed Jan 22 12:23:34 2020 +0000"
      },
      "message": "Destroy machines before destroying the model\n\nChange-Id: If42c99ac9ec88a492d89a201f12a93872a476783\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "7ac3f38c67105b94505496b5e321410e8e09fa4e",
      "tree": "3180a1e408b6d6d66648772a6263f2aa7b6c6baf",
      "parents": [
        "923510cbae1b6abf0b90f4b4ec0e2e37504111de",
        "ace992dd8c55fb909832bc26e05a9eb7e2e21055"
      ],
      "author": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Tue Jan 21 14:54:39 2020 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Tue Jan 21 14:54:39 2020 +0100"
      },
      "message": "Merge \"Add check for local k8s\""
    },
    {
      "commit": "ace992dd8c55fb909832bc26e05a9eb7e2e21055",
      "tree": "5667e1736b482b0f8075edac49c3409c0c7a05d2",
      "parents": [
        "776ab399e7a5468ab8ae08ac54af96b795a15457"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Dec 11 15:25:15 2019 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Jan 20 17:05:05 2020 +0100"
      },
      "message": "Add check for local k8s\n\nChange-Id: Ib408bb3d2412c064cb8ad14c3ff16fd537d84a49\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "923510cbae1b6abf0b90f4b4ec0e2e37504111de",
      "tree": "cec3bd6d5af18621a041bce1bec2f6dcc8dce359",
      "parents": [
        "776ab399e7a5468ab8ae08ac54af96b795a15457"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Tue Dec 17 15:02:11 2019 +0100"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri Jan 17 11:28:46 2020 +0100"
      },
      "message": "Quick deployment of charms: added apt_mirror and enable_os_upgrade model config options\n\nChange-Id: Ied84a77d43aa02314c6e24a17148af1b19d76993\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "776ab399e7a5468ab8ae08ac54af96b795a15457",
      "tree": "468cc5dc93d17ba053a91f9fdedbced4b8876759",
      "parents": [
        "ad3a05447418afef1d7b1998f9d7e351ccf9fe40"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Thu Dec 12 16:10:54 2019 +0000"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Fri Dec 13 08:05:41 2019 +0000"
      },
      "message": "Changes in NS and operation status\n\nChange-Id: I649c19f13e2679163f5ea993f91368cc1c433208\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "ad3a05447418afef1d7b1998f9d7e351ccf9fe40",
      "tree": "d5a13442215b1a03dd972ac5f1efb93f9a39d92d",
      "parents": [
        "9ae8fa51d23e2373a7e25187b16401341051575e"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Thu Dec 12 17:35:38 2019 +0100"
      },
      "committer": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Thu Dec 12 17:35:38 2019 +0100"
      },
      "message": "Use NS uuid when creating a juju k8s model\n\nThis commit fixes bug 972, previously it was using the namespace\nvalue that was always assigned to kube-system. This caused an error\nin Juju due to kube-system already existing.\nhttps://osm.etsi.org/bugzilla/show_bug.cgi?id\u003d972\n\nChange-Id: I840d65ef9991f64eba42a205900d42cb0a9bbeef\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "9ae8fa51d23e2373a7e25187b16401341051575e",
      "tree": "111e180241572ad71d315bbf6cf5a2b05a897909",
      "parents": [
        "18046070fb9abe4f21be255e533c2a96c047e50c"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Dec 09 18:50:03 2019 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Dec 09 18:50:03 2019 +0100"
      },
      "message": "Fix bug 957: Return pubkey properly\n\nChange-Id: I1265e972ee0a085733c5597dc2c793021713ee62\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "18046070fb9abe4f21be255e533c2a96c047e50c",
      "tree": "eeff6154c017620ed8b2a900c18580a917dc3be3",
      "parents": [
        "073e16973231a76119fa70fee46c35b0a98ad540"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Sun Dec 08 21:44:29 2019 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Sun Dec 08 21:57:17 2019 -0500"
      },
      "message": "Workaround bug 936\n\nApply a workaround for bug 936 that shortens the vnf and vdu id to no more than 12 characters, to keep the application name under the juju limit of 50 characters\n\nChange-Id: I2bb49032f9f3432d304139b6e6b5ae0f62dc2a2a\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "073e16973231a76119fa70fee46c35b0a98ad540",
      "tree": "2766ea8e99e5130ad790ed265367471d1fdbe528",
      "parents": [
        "a6748412b421c7abd8eae504ae6205da2e113cba"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Fri Nov 29 11:19:14 2019 +0000"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Wed Dec 04 07:53:49 2019 +0000"
      },
      "message": "Fix flake8\n\nChange-Id: Ia81b37958ab03630cf9f3c65ab1ec59a95f82d68\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "a6748412b421c7abd8eae504ae6205da2e113cba",
      "tree": "fe326217f6fa931f4fb6336bdf3781750cef0282",
      "parents": [
        "43c2e79e783aa65dba1234ae4c299944c5f1702e"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Wed Dec 04 07:51:26 2019 +0000"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Wed Dec 04 07:53:49 2019 +0000"
      },
      "message": "Fix rjust error. Adding K8sException\n\nChange-Id: I778f74d0f059954225deb0371edf191f134cfed1\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "43c2e79e783aa65dba1234ae4c299944c5f1702e",
      "tree": "c6d493fd5b371a0e5f140fa2202d14455b931c4f",
      "parents": [
        "408992171fc8c4f1456f2ebdf6d51ed82214c64c",
        "d909b0765206a62aabcb1299b371768f121e9b31"
      ],
      "author": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Tue Dec 03 21:51:18 2019 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Tue Dec 03 21:51:18 2019 +0100"
      },
      "message": "Merge \"Add missing argument in notify_callback\""
    },
    {
      "commit": "408992171fc8c4f1456f2ebdf6d51ed82214c64c",
      "tree": "03b3dd010e8df680f322f98ae3cb0e54b4ad46e1",
      "parents": [
        "9e5eddb16371662937cb1bfb216ff5d155eb861f"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Dec 02 16:33:05 2019 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Dec 02 16:33:05 2019 -0500"
      },
      "message": "Juju/k8s fixes\n\nFix how non-microk8s clusters are bootstrapped\n\nChange-Id: Idf771fdd4d14f2876e0107f1d636eabc5169e170\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "9e5eddb16371662937cb1bfb216ff5d155eb861f",
      "tree": "d1f4e855d943cdd3c9b89f108b9a677ee790e356",
      "parents": [
        "eef6893d5f83014dc6299e231590023421a99501"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Sun Dec 01 12:55:09 2019 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Sun Dec 01 12:55:09 2019 -0500"
      },
      "message": "Add NotImplemented exception\n\nChange-Id: I5b94d60c9ce166163d5320cbbdef2cc0a549468f\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "eef6893d5f83014dc6299e231590023421a99501",
      "tree": "5dd18d33f424bb7b563dc69d7798833cc566487e",
      "parents": [
        "1be063005248b51228cca94c7b5dd807ead01368"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Nov 28 16:27:46 2019 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Sun Dec 01 11:24:27 2019 -0500"
      },
      "message": "Sync with k8s api\n\nUpdates to sync with changes to the underlying k8s API\n\nChange-Id: I8c4022c9783a1c87c7c61a36074a614d211d0c81\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "1be063005248b51228cca94c7b5dd807ead01368",
      "tree": "5d6ca41523416036c81b8886ba3440c787606d6f",
      "parents": [
        "ac4e0dec95b3f18b57ee176136cb9885a8f3e2e1"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Fri Nov 29 11:17:11 2019 +0000"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Fri Nov 29 11:44:13 2019 +0000"
      },
      "message": "Adding inspect methods for K8s\n\nChange-Id: I45fba22073e7dfdfab2f3a1d1cca1f0705145e0c\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "ac4e0dec95b3f18b57ee176136cb9885a8f3e2e1",
      "tree": "30ea8181f6601d2fae317e2d246f16f7c3f94848",
      "parents": [
        "ca6eb9540fb659eb36f0ec9d5bbf1ebfce3f1958"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Wed Nov 27 16:12:02 2019 +0000"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Fri Nov 29 11:44:13 2019 +0000"
      },
      "message": "Fix native charms for feature 7928\n\nChange-Id: Iba37a42152b2674c80bd887b2761827ffa19e4a8\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "d909b0765206a62aabcb1299b371768f121e9b31",
      "tree": "9c2dded304471e551eeffaac25a7af9c33274bb1",
      "parents": [
        "ca6eb9540fb659eb36f0ec9d5bbf1ebfce3f1958"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Thu Nov 28 16:27:36 2019 +0100"
      },
      "committer": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Thu Nov 28 16:27:36 2019 +0100"
      },
      "message": "Add missing argument in notify_callback\n\nThis fix is related to bug 866 and caused an exception when\nthe charm was not found. Nonetheless it did not fix the bug.\nhttps://osm.etsi.org/bugzilla/show_bug.cgi?id\u003d866\n\nChange-Id: I641834461ac508eac131c32a4c4ef3557e192b1a\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "ca6eb9540fb659eb36f0ec9d5bbf1ebfce3f1958",
      "tree": "4b3e78644dab8e022c946502b044f9774a9f0d12",
      "parents": [
        "14c779a7a979ba58499ee8f7310a9565d7fd78d3"
      ],
      "author": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Wed Nov 27 16:38:18 2019 +0100"
      },
      "committer": {
        "name": "Dominik Fleischmann",
        "email": "dominik.fleischmann@canonical.com",
        "time": "Wed Nov 27 16:38:18 2019 +0100"
      },
      "message": "Add License headers to all code files\n\nThis was related to bug 547\nhttps://osm.etsi.org/bugzilla/show_bug.cgi?id\u003d547\n\nChange-Id: Ief72f6e3b3de828be033729298ae905d163c6988\nSigned-off-by: Dominik Fleischmann \u003cdominik.fleischmann@canonical.com\u003e\n"
    },
    {
      "commit": "9a1bd31f1e8d0a70b8837a057582cb2e82e66194",
      "tree": "7bdd428ca182a366d293c0ab6a6f7c604c2d2ae4",
      "parents": [
        "0d648c93b6f03dc221a9e34bfa021003e17f1992"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Nov 26 09:23:52 2019 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Nov 26 09:23:52 2019 -0500"
      },
      "message": "Update deprecated use of yaml.load\n\nUpdate the deprecated use of `yaml.load` without a loader, replacing it with a call to the sugar method `yaml.safe_load`. See also: https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation\n\nChange-Id: Ia5b591349ba6da4260545335315d3d07191f76cf\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "0d648c93b6f03dc221a9e34bfa021003e17f1992",
      "tree": "268ed548bbdb8cc441f656713580c0d4f7fab7d6",
      "parents": [
        "8b1bcf0b86fe042703a59f14ba62537406d69eee"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Nov 25 09:23:16 2019 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Nov 25 09:23:16 2019 +0000"
      },
      "message": "Revert change 8b1bcf0\n\nChange-Id: I85fd9a038aa123eaf9b216e9d15f709cef7a808a\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "8b1bcf0b86fe042703a59f14ba62537406d69eee",
      "tree": "7eac13f738274c7504c542d17c19b3307c32df78",
      "parents": [
        "2d413435b8530cf7b2c8e49cf8cf157679e72432"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Sat Nov 23 22:41:22 2019 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Sat Nov 23 22:41:22 2019 +0000"
      },
      "message": "minor fix in yaml load with Loader\n\nChange-Id: I1bc0e7197f6057c942490b710fbaf25013202ecb\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "9ae4d929c2b739d146e3e27388dc4825ca046e50",
      "tree": "194b5476f361a3f43c996df0f5b8f88f3547c1ac",
      "parents": [
        "8ca38ed92090ce6cbd1f8e1cdb802b259d31e9d5",
        "2911434d2a0e24292c73f640f5df4cac9c447867"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri Nov 22 13:39:20 2019 +0100"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri Nov 22 13:39:31 2019 +0100"
      },
      "message": "Merge branch \u0027feature7928\u0027\n\nChange-Id: Iccb5e5fa854394da873b9c8c3bade3358f9db6f0\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "8ca38ed92090ce6cbd1f8e1cdb802b259d31e9d5",
      "tree": "e3b066b088f1f614c40e270481b0b2a2e02871cb",
      "parents": [
        "d030ff576501a5d13dd1406b8fa3fc0ead769197",
        "cda5f41db80360640c9665018325f29b57fd8878"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri Nov 22 12:07:49 2019 +0100"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri Nov 22 12:07:49 2019 +0100"
      },
      "message": "Merge branch \u0027feature5837\u0027\n\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\nChange-Id: I31abc0d7de97c1dd3fb45fd7798fbab5d1bad5b4\n"
    },
    {
      "commit": "2911434d2a0e24292c73f640f5df4cac9c447867",
      "tree": "28c1e038cb58c161d1975208aad8c576854fee7a",
      "parents": [
        "64538d299dd5f23a5c843e2eafd6d32193f34aae"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Tue Oct 29 09:30:44 2019 +0100"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Fri Nov 22 09:38:21 2019 +0100"
      },
      "message": "New N2VC API: generic connector and juju connector\n\nChange-Id: Ib53fc2eaae4287a34a36f03f654ce2076feaad01\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "cda5f41db80360640c9665018325f29b57fd8878",
      "tree": "158476c60adf9eba35f018d62555256014cc038e",
      "parents": [
        "3957ba32d3a898b7ccbb7ec1bd0c7df8fd88f367"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Mon Nov 18 11:32:12 2019 +0100"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Thu Nov 21 16:52:34 2019 +0100"
      },
      "message": "Enhancements K8s helm connector\n\nChange-Id: If7619c257d3e64b54c1268bf0b5c51712a5586f5\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "3957ba32d3a898b7ccbb7ec1bd0c7df8fd88f367",
      "tree": "a8c6954f053844fe56540fbb2dfca3840025f9ae",
      "parents": [
        "26c78a4b25fcbfc92362d730403460d736031736",
        "d4ec83bbe1d74a7432ea472dfe5b748d1611bde4"
      ],
      "author": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Mon Nov 18 09:30:25 2019 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Mon Nov 18 09:30:25 2019 +0100"
      },
      "message": "Merge \"K8s Juju connector\" into feature5837"
    },
    {
      "commit": "26c78a4b25fcbfc92362d730403460d736031736",
      "tree": "df5721e088e48588bf863d7827a6134bd719a3a3",
      "parents": [
        "a049b7ce5d1606440447a88a98dd70548a1a0c74"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Mon Oct 28 18:10:42 2019 +0100"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Tue Nov 12 10:37:54 2019 +0100"
      },
      "message": "K8s helm connector\n\nChange-Id: I5332ec8e053643bc582f7979af98b46a3f9f31ee\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "a049b7ce5d1606440447a88a98dd70548a1a0c74",
      "tree": "b30d7186f2886c4fdf4c33710c4d8d388b25d686",
      "parents": [
        "630a806b8f85c5d6c2eeadccfbae536d7ea21e2b"
      ],
      "author": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Mon Oct 28 18:08:00 2019 +0100"
      },
      "committer": {
        "name": "quilesj",
        "email": "e.nvi001.tid@telefonica.com",
        "time": "Tue Nov 12 10:37:54 2019 +0100"
      },
      "message": "K8s generic connector\n\nChange-Id: I7c7879d556783785f5510dcf0e63d8f6dda43d2c\nSigned-off-by: quilesj \u003ce.nvi001.tid@telefonica.com\u003e\n"
    },
    {
      "commit": "d4ec83bbe1d74a7432ea472dfe5b748d1611bde4",
      "tree": "cfacaf49326dbed5e5b43ca575b40138bcc6a550",
      "parents": [
        "e8e6de12ba5fb659891be3181cca4b48776bc193"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Nov 07 09:46:59 2019 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Nov 11 20:45:09 2019 -0800"
      },
      "message": "K8s Juju connector\n\nJuju connector for Kubernetes\n\nChange-Id: I2a020aa55840dd7e76391d7ad751be7c56db5eeb\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "d238b03584451451ffcea345ffc5d02c657003bd",
      "tree": "bd229a2b0c8dd1daa424bd780b7baf0f75c4e916",
      "parents": [
        "fbac7c59fe1c3bbfefc070ca8b7f719cf0fd626a"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Nov 11 16:42:02 2019 -0800"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Nov 11 16:42:02 2019 -0800"
      },
      "message": "Update exceptions\n\nAdd NotImplemented exception and fix flake8 issues (spacing)\n\nChange-Id: I675ff7156084c41f1dc3b5ed4823f237e0835ad1\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "f5b4b20b4ea114432a2096047262e874155b5c41",
      "tree": "6453b753df43ea8141e2f8abbbd05a53645d4cef",
      "parents": [
        "19c5cfca317615597be6bf1051e9d2fa903adb97"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Nov 11 17:45:17 2019 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Mon Nov 11 17:48:00 2019 +0000"
      },
      "message": "Accept None for parameter ca_cert at vnf.py: N2VC.__init__\nTo be backward compatible with old LCM versions\n\nChange-Id: I05c90d329051f948a569c17e0864a4c2123c28b0\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "19c5cfca317615597be6bf1051e9d2fa903adb97",
      "tree": "ba5e04e382618f7258cd99b6d13b5ba89277899a",
      "parents": [
        "e8e6de12ba5fb659891be3181cca4b48776bc193"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Oct 03 12:35:38 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Oct 09 09:36:02 2019 -0400"
      },
      "message": "Remove dependency on vendored libjuju\n\nThis patch removes the dependency on the embedded version of libjuju,\ninstead relying on the upstream library.\n\nChange-Id: I88bd762006e5a182eaea74b5eba636ad03d524b0\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "e8e6de12ba5fb659891be3181cca4b48776bc193",
      "tree": "c210d07919d10c723799e018f100a4c4f83113f0",
      "parents": [
        "0cd1c02c85f5dbd6d06bd28b79f964fb209ee90a"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 07 17:01:16 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 07 17:01:16 2019 -0400"
      },
      "message": "Fix provisoner timeout\n\nRun `apt-get update` before attempting to install a package, for cloud\nimages without an apt cache.\n\nChange-Id: Id67a347d90edbaa862a6d9c48ed1613f3fe2ad0d\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "0cd1c02c85f5dbd6d06bd28b79f964fb209ee90a",
      "tree": "a2b8fb613b01c67c391b35573a46be5946cef7f9",
      "parents": [
        "93a3db12e79d8e35ab8ca9a518a56631d8fd0707"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Sep 03 18:26:08 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Sep 30 14:30:35 2019 -0400"
      },
      "message": "Native charm support\n\nThis patch adds a provisioner which will prepare a VM, via SSH, to run the Juju\nagent, enabling a native charm to run on the VM.\n\nChange-Id: Icd5d873a12e2d7b2e7cb5424e87d8083a7921c16\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "32a1519183709fbcdd4fe02fe901f34a42f6cf6b",
      "tree": "e335fdb67edb712a076e9420a19bd03832575bd3",
      "parents": [
        "bc0daf83db3d783039db7c8c8496a4eb0ceddfe0"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Jun 24 11:44:47 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Jun 24 11:44:47 2019 -0400"
      },
      "message": "Fix bug 760\n\nThis commit fixes bug 670 by introducing a new PrimitiveDoesNotExist\nexception that will be raised if ExecutePrimitive is called but the\nprimitive does not exist in the charm.\n\nThis also bumps the required version of websocket to match libjuju,\nalong with other minor tweaks to the test framework\n\nChange-Id: I028c3c9c19fbfa87c8feb788446a290d66112043\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "bc0daf83db3d783039db7c8c8496a4eb0ceddfe0",
      "tree": "629248a8eb4efdfb3ff7cd1612d76c1e4930ed47",
      "parents": [
        "edc419027117245c0edd198d21719a7ed4e12ac9"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Jun 12 17:08:36 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Jun 12 17:10:12 2019 -0400"
      },
      "message": "Fix reference to information model\n\nThis fixes a bug where the information model for relations was referred\nto as \"vca-relations\" rather than the proper \"vca-relationships\".\n\nChange-Id: I3f961ab750df647e2d2086e887d7e9ac0a01c034\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "34cc6609cad010420aee843c15c0ded8fa608835",
      "tree": "54620881aed8d57e64bd318c95d58f7830c9619c",
      "parents": [
        "e5406c6f652b4248763e114629764633da941650"
      ],
      "author": {
        "name": "endika",
        "email": "endika.aldecoa@ehu.eus",
        "time": "Wed Jun 05 14:48:44 2019 +0200"
      },
      "committer": {
        "name": "endika",
        "email": "endika.aldecoa@ehu.eus",
        "time": "Mon Jun 10 10:22:15 2019 +0200"
      },
      "message": "Bug 733 fixed\n\nChange-Id: Ibb0891e4cde4bb2db52df43159a94c102809aa9c\nSigned-off-by: Endika Aldecoa \u003cendika.aldecoa@ehu.eus\u003e\n"
    },
    {
      "commit": "e5406c6f652b4248763e114629764633da941650",
      "tree": "bf1670e72069881c9c041013a3c31136d3dad2be",
      "parents": [
        "47998e0a2e15749f7da945a97cef1dc792c86353"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Jun 04 08:30:51 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Jun 04 08:30:51 2019 -0400"
      },
      "message": "Additional fix for bug 733\n\nAn additional fix for bug 733\n\nChange-Id: I0b6d82f7ba8030f28e82a3d68e249fbcb299979c\n"
    },
    {
      "commit": "47998e0a2e15749f7da945a97cef1dc792c86353",
      "tree": "35de98035374ace2556c2b34370f6cb3fe1c85b3",
      "parents": [
        "cb9dacdfa0853aa727bc01a6288432ddedb5cf63"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Jun 03 11:21:27 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Jun 03 11:21:27 2019 -0400"
      },
      "message": "Fix bug 733\n\nThis fixes bug 733, which identified that N2VC was not properly adhering\nto the Information Model regarding the vca-relationships grouping.\n\nChange-Id: I778777446d1d4f8e8b630abfd42bd36f8479ca56\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "38bf16409f00241925f7d09eb14fab49a3096e80",
      "tree": "6eb9c538022bb193bebaa651e2f09c68841871a1",
      "parents": [
        "8bf1041b5ce6398f9997aeb3564dfbe7e732bf0c"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri May 31 09:59:52 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Sat Jun 01 12:33:25 2019 -0400"
      },
      "message": "Feature \u0027ns primitive\u0027\n\nThis contains a bug fix to enable deployment of NS charms\n\nChange-Id: I9a0adc5dc1a357c6ae3d5e50e4a5905a344d8087\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "8bf1041b5ce6398f9997aeb3564dfbe7e732bf0c",
      "tree": "9d6bda88381a4a291758b05cd9e325fd964dd5f8",
      "parents": [
        "ce31bc3e331c7050d1d74e9b0821dbf99c12fc96",
        "c92163f142d07c6bb213354398d9befd70efaacd"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon May 27 15:28:13 2019 +0200"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Mon May 27 15:28:13 2019 +0200"
      },
      "message": "Merge \"Complete Feature 6297\""
    },
    {
      "commit": "c92163f142d07c6bb213354398d9befd70efaacd",
      "tree": "082a7b7198130aa399d2013a773e79a58104a2d6",
      "parents": [
        "04eee1fda9fe592e9055ac23af71f07603c8ceff"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon May 27 08:39:19 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon May 27 08:44:17 2019 -0400"
      },
      "message": "Complete Feature 6297\n\nThis makes feature 6297 functionally complete, with a bug fix and an\nintegration test that demonstrates the functionality\n\nChange-Id: I1d993f81ce19778ff8cf0c93514837fb88f4eac0\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "ce31bc3e331c7050d1d74e9b0821dbf99c12fc96",
      "tree": "58b467ffd7aaef6ac2f7267e0b50fe9817199e5a",
      "parents": [
        "04eee1fda9fe592e9055ac23af71f07603c8ceff"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed May 22 16:30:25 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed May 22 16:30:25 2019 -0400"
      },
      "message": "Align machine_spec with pydoc\n\nAlign the name of the machine_spec keys as defined in the pydoc\n\nChange-Id: I3e9c3609ea81b53b77cefcda63bbb4a8b0c6510c\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "04eee1fda9fe592e9055ac23af71f07603c8ceff",
      "tree": "4843b8e1d084b0d47bcac8c56e97fa38dc3d54aa",
      "parents": [
        "e3a05f81eb77deac1fa0f2901960597d38f45d54"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Apr 29 14:59:45 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Apr 29 16:42:19 2019 -0400"
      },
      "message": "Fix bug 680\n\nThis patch adds two new methods, Subscribe and Unsubscribe, allowing the\ncaller to subscribe to callback messages for an already deployed charm.\n\nChange-Id: I1e34b488914feb488cf80b157fd664ca37037e76\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "e3a05f81eb77deac1fa0f2901960597d38f45d54",
      "tree": "31a6dc3152ac135b90a23c59f9fff36ec282b8fb",
      "parents": [
        "b2a07f566be558a8b59b8b5dedfe8da5ae1b0132"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Apr 26 13:12:47 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Apr 26 13:12:47 2019 -0400"
      },
      "message": "Add ENV default for bug 585\n\nPer Bug 585, this uses an ENV variable as the default value if one is\nnot used to instantiate N2VC.\n\nIf neither is present, N2VC will raise an exception on calls to\nCreateNetworkService and DestroyNetworkService.\n\nChange-Id: Ia5761c7eb1954ffb7a3a46390e850de059f0d2a4\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "b2a07f566be558a8b59b8b5dedfe8da5ae1b0132",
      "tree": "c4232cd2cc9df6f612eb3d0859a5aa53c75306b5",
      "parents": [
        "d420a8b6f1fecde3983369b131da1f042c7c8a14"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Apr 25 17:17:05 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Apr 26 12:35:41 2019 -0400"
      },
      "message": "Add Juju Public Key\n\nThis commit adds the requirement to provide the Juju public key to N2VC\n\n- Updates integration testing to use public key\n- Updates N2VC to accept juju_public_key and ca-cert\n- Updated docstring of N2VC constructor\n\nChange-Id: I4cad1f8c39024137a23060000d7502aad56ac644\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "d420a8b6f1fecde3983369b131da1f042c7c8a14",
      "tree": "467e098c80e2cf56b414ad222ad857771b79f6ac",
      "parents": [
        "b2c234b2056b9d8cb9f6eda268c2cf1845f88371"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Apr 09 16:07:53 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Apr 09 16:24:20 2019 -0400"
      },
      "message": "Fix bug 659: Don\u0027t use static member variables\n\nThis fixes bug 659, where static member variables were used by the\nVCAMonitor, causing unexpected behaviour when deploying and destroying a\nnetwork service multiple times.\n\nChange-Id: Icc5e4da62aeb11e4c89ba3cf5f148c6959acf7e3\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "29ad6453fb8cdece73b8c2f623cf81d5d730982d",
      "tree": "9b313b74b392cfdc3131b915c6a83d1c35bddb45",
      "parents": [
        "7bf2f4d5ba51d8a6909a8709aeda200ddb153b03",
        "c4f393e2cc27e8beb337d0058c11f7413f6639f6"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Mar 19 22:21:08 2019 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Tue Mar 19 22:21:08 2019 +0100"
      },
      "message": "Merge \"Fix bug 564\""
    },
    {
      "commit": "c4f393e2cc27e8beb337d0058c11f7413f6639f6",
      "tree": "07693ca8ff375474c68efe9f4ef069b3cc2e0204",
      "parents": [
        "6d84dbd8746388114361e09300697da471de20ca"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Mar 19 16:33:30 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Mar 19 16:35:58 2019 -0400"
      },
      "message": "Fix bug 564\n\nThis fixes bug 684, which noted that the workload message was not being\npassed to the callback when removing charms.\n\nThis also fixes some lint errors and adds tear-down of the per-ns model\nin integration tests\n\nChange-Id: I83be9e3d951cf10a7479ea2e55074526403cf674\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "7bf2f4d5ba51d8a6909a8709aeda200ddb153b03",
      "tree": "1a8ceb63da8130ddcab092bcdb394b53c8d0e895",
      "parents": [
        "6d84dbd8746388114361e09300697da471de20ca"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Mar 15 15:28:47 2019 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Mar 15 15:28:47 2019 -0400"
      },
      "message": "Fix bug 601\n\nThis fixes bug 601, where a charm in a broken state would fail to be\nremoved.\n\nThis builds of of the new DestroyNetworkService method, which will\nremove a model containing a network service.\n\nThere is no way, currently, to resolve errors on an individual charm\nthrough the Juju API (client), but removing the model will force the\nremoval of a broken charm.\n\nChange-Id: I47f41991ed444395061b5a20e5a51059950e5200\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "6d84dbd8746388114361e09300697da471de20ca",
      "tree": "efa9accf616e79a2311e81c71d62fbfe958d9e8f",
      "parents": [
        "1afb30a22cc175cf67572b7195609be6a484258c"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Mar 08 18:33:35 2019 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Mar 14 12:33:12 2019 -0400"
      },
      "message": "Fix bug 628 - Better handling of model management\n\nIn order to address the issue raised in bug 628, we\u0027ve improved the\nhandling of how N2VC creates and destroys models. Previously this was\ndone transparently, but now they are explicit operations that will need\nto be performed by the LCM.\n\nThe LCM will be required to call `CreateNetworkService()` prior to\ncalling `DeployCharms`. This will return True if successful, or raise an\nexception if the model can\u0027t be created.\n\nAfter LCM has called `RemoveCharms()`, it will need to call\n`DestroyNetworkService()` to remove the model from the Juju controller.\n\n- Fix lint errors\n- Implement the `DestroyNetworkService` method, which will destroy the\nmodel per Network Service, and any applications deployed to it.\n- Adds a new test for creating and deleting models\n- Add `CreateNetworkService` to explicitly create a new model for a\nNetwork Service.\n- Add proper return values from `logout()` so we can assert against it\nduring tests\n- Add dependency on pytest-assume so we can test multiple failures per\ntest. This allows us to properly assert and still tear down the juju\nclient.\n- Use pytest.assume. If a method asserts, we can continue with the\nteardown of the client.\n\nChange-Id: I3031b008f4ed79f978ecd84ade72e125153729a7\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "1afb30a22cc175cf67572b7195609be6a484258c",
      "tree": "c96f154d6384be4aaf5ff07cbf85d3a46b10db62",
      "parents": [
        "85a4b210d2353ae209e3269498220febf0172270"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Fri Dec 21 13:42:43 2018 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Tue Jan 15 16:19:15 2019 +0000"
      },
      "message": "User parameters provided at instantiation time for Day-1 configuration mapping initial-config-primitive\n\nChange-Id: Ide239b0a37100c093f66b27f926fa2b616ba4705\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "85a4b210d2353ae209e3269498220febf0172270",
      "tree": "d4ddf0550a9a64f9989ba14aeea948e230fb8d31",
      "parents": [
        "bf79352ca652b228c5c216564cc512b635e3c5e4"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Nov 29 20:30:24 2018 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Nov 30 11:05:16 2018 -0500"
      },
      "message": "Add per-network service models\n\nIn part to address, Bug 585, this patch drops the use of the \"default\"\nJuju model and instead creates a model per network service (which is\nrequired to be passed to N2VC methods).\n\nChange-Id: I31cfd56d71697066ff9c11df9c7607c791470cfa\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "bf79352ca652b228c5c216564cc512b635e3c5e4",
      "tree": "9deadf3e69981df0eb7d3b40daa31d273a3d43fe",
      "parents": [
        "5963cb495a42f8ca820774124db57dd4e45bec07"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Nov 20 13:54:13 2018 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Nov 20 13:56:20 2018 -0500"
      },
      "message": "[bug 581] Fix parameter checking if no data-type\n\nFix bug #581, which reported that the deployment of the simplecharm\nfailed because the filename parameter was invalid.\n\nThis turned out to be an issue introduced with the parameter\ntype-checking added for R5. This has been fixed, and an integration test\nhas been added that exercises the simplecharm example.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "5963cb495a42f8ca820774124db57dd4e45bec07",
      "tree": "19e0778e045b9a1891cec3b619810eb0f3a4969f",
      "parents": [
        "ee41df85fe2424b32e3504162360f372ba09bfb8"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Sep 14 11:26:13 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Nov 12 13:28:13 2018 -0500"
      },
      "message": "Secure Key Management\n\nThis patchset implements the Secure Key Management feature\nas described in Gerrit 1429, enabling support for native charms\ndeployed to machines provisioned by the Resource Orchestrator.\n\n- Implement GetPublicKey, which will provide the public key to be\ninjected into new machines\n- Support machine placement, to provision an existing machine for use\nwith juju\n- Automatically create a SSH keypair to be used for provisioning\n- Add method to check if a charm is deployed (CI)\n- Update integration tests to use new ssh key workflow\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "ee41df85fe2424b32e3504162360f372ba09bfb8",
      "tree": "e3088808967380b093b492093bda41b1a207f1cc",
      "parents": [
        "cf253202ee98f285720c18d5c7bae382ea900934",
        "40047485047c68ae78cdc780a91728de323f18c3"
      ],
      "author": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Fri Nov 02 18:18:55 2018 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Fri Nov 02 18:18:55 2018 +0100"
      },
      "message": "Merge \"fix minor error\""
    },
    {
      "commit": "cf253202ee98f285720c18d5c7bae382ea900934",
      "tree": "9b433327bdb6b9727cc68f0fc9f3f689b210cfe9",
      "parents": [
        "bf0b8e751a1a939cafc4a16bb2bc14752077bcf8"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Oct 31 16:29:09 2018 -0700"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Oct 31 16:33:31 2018 -0700"
      },
      "message": "bug 563: Return initial-config-primitive uuids\n\nFixes bug #563, by returning the uuids of the executed initial-config-primitives when calling DeployCharms.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: I5c5735618a3b0ab91a1f461e367ecae1fa177f21\n"
    },
    {
      "commit": "bf0b8e751a1a939cafc4a16bb2bc14752077bcf8",
      "tree": "f0dcb5c456285c581b8351b71467a9651f49c3ef",
      "parents": [
        "95e2d7d8fd3798c521909164656bf568bf3bff85"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Oct 31 13:59:51 2018 -0700"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Oct 31 13:59:51 2018 -0700"
      },
      "message": "Fix FormatApplicationName\n\nRemove the @staticmethod decorator, which introduced some unintended\nbehavior.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "40047485047c68ae78cdc780a91728de323f18c3",
      "tree": "5b15bc6ca11187c01ac5df82dc3edd41f1f03ccd",
      "parents": [
        "95e2d7d8fd3798c521909164656bf568bf3bff85"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Fri Oct 26 14:54:26 2018 +0200"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Fri Oct 26 14:54:26 2018 +0200"
      },
      "message": "fix minor error\n\nChange-Id: Id1e90d7e45a78c45d6c1e2720f3688a79d43941d\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "commit": "95e2d7d8fd3798c521909164656bf568bf3bff85",
      "tree": "1397c7afc8075218cedc044b958319d4b32f1bb5",
      "parents": [
        "1ddca81e7e1863b0a7d45d1b9b9d5cabccd4e628",
        "136186e189027698662452ee00a5e50ebe82384f"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 15 19:12:07 2018 +0200"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Mon Oct 15 19:12:07 2018 +0200"
      },
      "message": "Merge \"Relation support for multi-charm VNFs\""
    },
    {
      "commit": "1ddca81e7e1863b0a7d45d1b9b9d5cabccd4e628",
      "tree": "3b933b586a2055995bc49da650c34da27a1f542c",
      "parents": [
        "ea14f890f054d5eb85416a5b6c8c7713e2506ad8"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Sep 14 11:32:35 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Oct 11 19:24:13 2018 -0400"
      },
      "message": "Full charm support\n\nThis work adds the ability to deploy charms directly to an\nexternally instantiated VM, which is expected to have N2VC\u0027s public key\ninjected into it, by using the VCA\u0027s manual provisioning function.\n\nThis allows the VCA to ssh to the target machine and provision it. The\ncharm will then be deployed directly to that machine, allowing the charm\nto fully manage the VNF lifecycle.\n\nChange-Id: I935e432fbd60a9a6bc10a499ae1b8e07c1e70c14\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "136186e189027698662452ee00a5e50ebe82384f",
      "tree": "e495dbf621c5d25e44f8c3ace8c2cc0914e177d0",
      "parents": [
        "fa32907c02582fc105166c33c5106ccf6b9389c6"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Sep 14 12:01:12 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Oct 11 19:13:08 2018 -0400"
      },
      "message": "Relation support for multi-charm VNFs\n\nAdds support for establishing relations between charms\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: I9a0b7725013e06635875cd824e219ab6a023efb3\n"
    },
    {
      "commit": "fa32907c02582fc105166c33c5106ccf6b9389c6",
      "tree": "4b0ee912c1da78a74695f4403d067e333a023e67",
      "parents": [
        "fc511ed0e2f3bbbdc0ccaa6b0d6ae7cc57b029f9"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Sep 14 11:26:13 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Oct 02 18:18:10 2018 -0400"
      },
      "message": "Secure Key Management\n\nThis patchset implements the Secure Key Management feature\nas described in Gerrit 1429, enabling support for native charms\ndeployed to machines provisioned by the Resource Orchestrator.\n\n- Implement GetPublicKey, which will provide the public key to be\ninjected into new machines\n- Support machine placement, to provision an existing machine for use\nwith juju\n- Automatically create a SSH keypair to be used for provisioning\n- Add method to check if a charm is deployed (CI)\n- Update integration tests to use new ssh key workflow\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: Iacd2f02800484fd90945f9b9c1ac2d8951115a76\n"
    },
    {
      "commit": "fc511ed0e2f3bbbdc0ccaa6b0d6ae7cc57b029f9",
      "tree": "0fff4cfc832ed8a26577e5e77954bca5aa300caf",
      "parents": [
        "13950825f557fdc7f8e0859c1d10b63c5e57cfea"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Sep 21 14:20:55 2018 +0200"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Sep 25 13:59:28 2018 -0400"
      },
      "message": "Improved integration tests\n\nThis merge includes a refactored integration test framework, to better\ntake advantage of asyncio, and clarifies the test logic so it\u0027s easier\nto extend in the future. It also supports testing of more complex VNFs,\nsuch as multi-vdu, multi-charm VNFs.\n\nn2vc/vnf.py:\n- Remove duplicate status filtering, as it was a poor solution and lead\nto situations where some callbacks were not sent.\n- Added an internal refcount to track libjuju instantiation (helpful in\ndebugging)\n\ntests/charms/layers/proxy-ci/reactive/proxy_ci.py:\n- Fix name of install function (remove confusion while reading logs)\n\ntests/base.py:\n- Add debug() for more consistent and useful logging\n- Refactor: remove parse_metrics\n- Improved error handling\n- Better LXD network connectivity verification\n- Refactor test framework:\n    - Better use of async coded\n    - Make handling of test phase more robust\n    - Support more complex test cases, such as multi-vdu, multi-charm\n\ntests/integration/*\n- Update to use refactored test framework\n\nOther:\n- `make clean` now removes charm artifacts in tests/charms/builds/\n- `make lint` now ignores charm artifacts\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: I43a6d573a7bafdfe3ccb0bb0f0f7d75dcc9c42b1\n"
    },
    {
      "commit": "5e08a0e8fa4fd9d0156d28f8f4e53e5b176c704a",
      "tree": "9c54be88e745853203f046e6d2a4eb542e6563b1",
      "parents": [
        "427f57893cb4bf8aebc0b6f56d0cb3f178d23cf1"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Sep 06 19:22:47 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Sep 13 13:01:10 2018 -0400"
      },
      "message": "Tox + Integration testing\n\nThis commit implements a VNF Descriptor-driven integration\ntest framework, which will lead to integration tests being able\nto run via jenkins, and more robust testing in general.\n\nN2VC:\n\n- Allow the use of an event loop passed when instantiating N2VC\n- Refactor the execution of the initial-config-primitive so that it can\nbe easily re-run, such as the case of when a proxy charm is deployed\nbefore the VNF\u0027s VM is created.\n- Refactor GetPrimitiveStatus, to return the status (queued, running,\ncomplete, failed) of a primitive.\n- Add GetPrimitiveOutput, to return the output of a completed primitive\n- Fix model disconnection when executing a primitive (it was happening\nin the wrong scope)\n- Fix wait_for_application, which was previously unused and broken\n- Add support for parameter\u0027s \u0027data-type\u0027 field\n- Add support for better SSH key management, allowing for a proxy charm\nto be deployed before the VNF, so that it\u0027s public SSH key can be\ninjected when the VNF\u0027s VM is created.\n\nIntegration Tests:\n\nThe integration tests are intended to exercise the expected\nfunctionality of a VNF/charm: deploy the charm, configure it as required\n(i.e., ssh credentials), and execute the VNF\u0027s\ninitial-config-primitives.\n\n- test_native_charm: deploy a native charm to a juju-managed machine and\nverify primitive execution works\n- test_proxy_charm: deploy a proxy charm, configured to talk to a remote\nmachine, and verify primitive execution works\n- test_metrics_native: deploy a native charm and collect a metric\n- test_metrics_proxy: deploy a proxy charm and collect a metric from the\nvnf\n- test_no_initial-config-primitive: deploy a vnf without an\ninitial-config-primitive\n- test_non-string_parameter: deploy a vnf with a non-string parameter in\ninitial-config-primitive\n- test_no_parameter: deploy a vnf with a primitive with no parameters\n\nGeneral:\n- Add a build target to tox.ini so that a .deb is built via Jenkins\n\nTODO (in a follow-up commit):\n- test multi-vdu, multi-charm\n- test deploying a native charm to a manually-provisioned machine\n- Update inline pydoc\n- Add more integration tests\n- Add global per-test timeout to catch stalled tests\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: Id322b45d65c44714e8051fc5764f8c20b76d846c\n"
    },
    {
      "commit": "427f57893cb4bf8aebc0b6f56d0cb3f178d23cf1",
      "tree": "db2b4570ee74584211b87e6036d1b16b2dc02de9",
      "parents": [
        "7b4702c2e118bab49def498b4b4c236d430dbc13",
        "5afe05434f65dabf514636eff28cbb2069ccb419"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Sep 13 18:20:21 2018 +0200"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Thu Sep 13 18:20:21 2018 +0200"
      },
      "message": "Merge \"Integration test for metrics + bug fix\""
    },
    {
      "commit": "7b4702c2e118bab49def498b4b4c236d430dbc13",
      "tree": "a6ef4536bc27598f08dcef83ee0e2ce2d18705e3",
      "parents": [
        "f7c0922f9ddcdee33df3783a97d8c7978dae8210",
        "75a869a0a6a224d7f70a9306fd2a0b26002fff21"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Aug 23 16:45:10 2018 +0200"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Thu Aug 23 16:45:10 2018 +0200"
      },
      "message": "Merge \"Fix bug #502\""
    },
    {
      "commit": "5afe05434f65dabf514636eff28cbb2069ccb419",
      "tree": "86192d73b32d30dd44199a71e49ec84622f5e237",
      "parents": [
        "b09436613925b2eb334c10f219b743868e4b3fe5"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Aug 08 12:54:55 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Aug 08 12:59:39 2018 -0400"
      },
      "message": "Integration test for metrics + bug fix\n\nThis commit:\n- adds the beginnings of an integration testing framework\n- adds an integration test to exercise metric collection\n- adds a test charm with metrics collection\n- fixes a potential bug that can cause N2VC to fail if no\ninitial-config-primitive is specified in the VNF descriptor\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "b09436613925b2eb334c10f219b743868e4b3fe5",
      "tree": "0a096012dca203b727b09f174fb2e36cb85e0647",
      "parents": [
        "421c4a23dc5e60db9596b79ea87cdc19cc463e9b"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Aug 02 15:32:00 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Aug 02 15:34:51 2018 -0400"
      },
      "message": "Improved Primitive support and better testing\n\nThis changeset addresses several issues.\n\n- Improve primitive support so the status and output of an executed\nprimitive can be retrieved\n- Merge latest upstream libjuju (required for new primive features)\n- New testing framework\n    This is the start of a new testing framework with the ability to\ncreate and configure LXD containers with SSH, to use while testing proxy\ncharms.\n- Add support for using ssh keys with proxy charms\n    See Feature 1429. This uses the per-proxy charm/unit ssh keypair\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "75a869a0a6a224d7f70a9306fd2a0b26002fff21",
      "tree": "5d76d78e3849518c42d59ffd3d5540c1810c1974",
      "parents": [
        "421c4a23dc5e60db9596b79ea87cdc19cc463e9b"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Jul 23 15:39:57 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Jul 23 15:39:57 2018 -0400"
      },
      "message": "Fix bug #502\n\nThis patch, in addition to change #6341 (Extend data-type to\ninitial-config-primitive), enables type casting of primitive parameters.\nThis enables primitives with non-string parameters from being executed.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "421c4a23dc5e60db9596b79ea87cdc19cc463e9b",
      "tree": "e56c0d6ede85b83096f48d617d6bc4e3d5b6cd79",
      "parents": [
        "42d88e6b4854c4088e8b2c42ef5155274612db97",
        "7d871fb2c3d543959b20e3245294faa1b999e014"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Jul 17 18:37:31 2018 +0200"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Tue Jul 17 18:37:31 2018 +0200"
      },
      "message": "Merge \"Bug 502 improvements\""
    },
    {
      "commit": "7d871fb2c3d543959b20e3245294faa1b999e014",
      "tree": "80ee63fd2e47d499366bdd12e00f3b1a2ef39d67",
      "parents": [
        "98bf3866dcbc9ec0d9f34536cb50112df7e31790"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Jul 17 12:17:06 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Jul 17 12:17:06 2018 -0400"
      },
      "message": "Bug 502 improvements\n\nWhile investigating bug 502, I found that the type mismatch is actually\nbeing generated elsewhere (being investigated).\n\nThis adds a test that will trigger the exception, and makes sure that\nexecuting a primitive will return the correct type of exception if it\nfails.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "42d88e6b4854c4088e8b2c42ef5155274612db97",
      "tree": "82ef2efc3cbb80dc391c3e34995100dc77ed05ff",
      "parents": [
        "98bf3866dcbc9ec0d9f34536cb50112df7e31790"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Jul 16 14:18:41 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Jul 16 14:18:41 2018 -0400"
      },
      "message": "Fix bug #501\n\nThis fixes bug #501, where initial-config-primitive always expected a\nparameter to be present.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "9562f43a108d17a263bf84bcc1aa96a8170586fa",
      "tree": "a693ae6c9d9930e1f6146fdf02c6ff5d634ae77a",
      "parents": [
        "c9df96f0699cb656166a696219749646f12052d1"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed May 09 13:55:28 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu May 10 08:14:52 2018 -0400"
      },
      "message": "Add workload message to callback\n\nAdd the charm\u0027s workload status message to the callback so more detailed\ninformation can be provided to the user.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: I1bcd502a2470dd5a527bc88cf24f2e3e6753da91\n"
    },
    {
      "commit": "c9df96f0699cb656166a696219749646f12052d1",
      "tree": "6b6e42de5180f1e1aee2e0f00f0111ebad4179f8",
      "parents": [
        "839299d635bb7b739aace1a242e28918577b13e2"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu May 03 14:49:56 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon May 07 15:25:31 2018 -0400"
      },
      "message": "Documentation update\n\n - Updates of the pydoc and README.md\n - Rebase\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: I9da9c2fd4432af00f7c655ce4789ce6dac629bc9\n"
    },
    {
      "commit": "839299d635bb7b739aace1a242e28918577b13e2",
      "tree": "b022565c92299c1d68e9e660c2c28d924fe52841",
      "parents": [
        "b521451dfde089dcce9ae160734d401a1030517f",
        "6817f6171d26cdcc7eeba36d3a93a832becd360b"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon May 07 18:28:11 2018 +0200"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Mon May 07 18:28:11 2018 +0200"
      },
      "message": "Merge \"Return the uuid of the executed primitive\""
    },
    {
      "commit": "b521451dfde089dcce9ae160734d401a1030517f",
      "tree": "bd62b528b2dd31e32988ebb6bd77ed4a698177bb",
      "parents": [
        "28a43c00327abc29f66688ff1cfa84c46d7d0e0a"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu May 03 10:00:04 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu May 03 10:00:04 2018 -0400"
      },
      "message": "Bug fixes + Metrics\n\n- Fix bugs with setting Day 2 config\n- Initial implementation of GetMetrics\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "28a43c00327abc29f66688ff1cfa84c46d7d0e0a",
      "tree": "7ce24d8aa6c3074532b73627adf00b376254acac",
      "parents": [
        "74d895f6646849667fde51e01f23a5a6eb4f7e9e"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Apr 23 16:04:54 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Apr 23 16:04:54 2018 -0400"
      },
      "message": "Improve event monitoring/callbacks\n\nImprove the way we monitor changes within the Juju model, by maintaining\na single observer with an Application filter. This reduces the number of\nduplicate callbacks being fired, and decreases the chatter between the\ncontroller and client.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "6817f6171d26cdcc7eeba36d3a93a832becd360b",
      "tree": "7319418a00dbf2608d0444c4493e58a05e1d192e",
      "parents": [
        "88a49630895a6045586e6f547c0b6ad118110f25"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Apr 13 08:41:43 2018 -0600"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Apr 13 08:41:43 2018 -0600"
      },
      "message": "Return the uuid of the executed primitive\n\nReturn the uuid of the queued primitive from ExecutePrimitive, the first\nstep in allowing the orchestrator check the status and output of the primitive.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "88a49630895a6045586e6f547c0b6ad118110f25",
      "tree": "f271ba046d2a8ff8ee95e86bc00f09a1bc5dabf2",
      "parents": [
        "c3e6c2ec9a1fddfc8e9bd31509b366e633b6d99e"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Apr 10 13:04:57 2018 -0600"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Wed Apr 11 00:06:45 2018 -0600"
      },
      "message": "Improve N2VC performance/functionality\n\n- Refactor test to support multi-vdu charms.\n- Add support for deploying multi-vdu charms.\n- Execute the initial-config-primitives\n\nThis is the first commit to add support for executing the\ninitial-config-primitive(s). There are some decisions that still need to\nbe made: how do we report primitive execution back to the\ncaller/callback in a meaningful way.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: Icc0ce41d256930b337c9097af9edcae2694207e8\n"
    },
    {
      "commit": "c3e6c2ec9a1fddfc8e9bd31509b366e633b6d99e",
      "tree": "d4d32d63c22297f7443eb3e9f1960c3e7e970e4d",
      "parents": [
        "1a15d1c84fc826fa7996c1c9d221a324edd33432"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Mar 01 09:31:50 2018 -0500"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Apr 06 19:45:40 2018 -0400"
      },
      "message": "New N2VC interface + updated libjuju\n\nThis commit introduces the Python3 N2VC module, which acts as a standard\ninterface to the VCA.\n\nThe goal of this is to provide a common way for modules to interface\nwith the VCA.\n\n- Updated libjuju from 0.6.1 to 0.7.3\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: Ide70fb5ae5797eb6486de24653dc09a23f9c009e\n"
    }
  ]
}
