)]}'
{
  "log": [
    {
      "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": "ea14f890f054d5eb85416a5b6c8c7713e2506ad8",
      "tree": "08b519edacda211b18ad6492b3cb931fba2f4beb",
      "parents": [
        "f32b6f276457966347ed0d80ec7673ebc1357dc0",
        "fa32907c02582fc105166c33c5106ccf6b9389c6"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Oct 11 18:25:22 2018 +0200"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Thu Oct 11 18:25:22 2018 +0200"
      },
      "message": "Merge changes Iacd2f028,I43a6d573,Ibb6c93bb\n\n* changes:\n  Secure Key Management\n  Improved integration tests\n  [WIP] Multi-vdu, multi-charm support\n"
    },
    {
      "commit": "f32b6f276457966347ed0d80ec7673ebc1357dc0",
      "tree": "8c104c62503c70ecdde839434295aa2d9d7dd379",
      "parents": [
        "beedfecaa39c24cba059e6e562d890b4358021be"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Oct 09 15:17:50 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Oct 09 15:17:50 2018 -0400"
      },
      "message": "Add debian packaging\n\nAdds debian packaging, including the vendored version of libjuju\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\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": "beedfecaa39c24cba059e6e562d890b4358021be",
      "tree": "79748dc6d0675629cb28e4d678c9c5f7b8527127",
      "parents": [
        "6099b69094f8463445655f31892924c7d4f53dc4"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 01 10:35:42 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 01 10:35:42 2018 -0400"
      },
      "message": "Update package versioning\n\nUpdate the package versioning to include git hash\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\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": "13950825f557fdc7f8e0859c1d10b63c5e57cfea",
      "tree": "2f9852e35e98d56884e589067969698ec03575c1",
      "parents": [
        "6099b69094f8463445655f31892924c7d4f53dc4"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Thu Sep 13 17:14:51 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Fri Sep 14 13:33:15 2018 -0400"
      },
      "message": "[WIP] Multi-vdu, multi-charm support\n\nThis work-in-progress adds support + integration testing for multi-vdu, multi-charm VNFs\n\nTODO:\n- Resolve race condition causing some tests to hang or not clean up\nproperly\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: Ibb6c93bb622c5807ed136cabc0c3b1cfcc50bdbf\n"
    },
    {
      "commit": "6099b69094f8463445655f31892924c7d4f53dc4",
      "tree": "ceaf582e0f49ac93d654e7a507bbd6d479f8e317",
      "parents": [
        "5e08a0e8fa4fd9d0156d28f8f4e53e5b176c704a"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Sep 13 11:35:31 2018 +0200"
      },
      "committer": {
        "name": "israelad",
        "email": "adam.israel@canonical.com",
        "time": "Thu Sep 13 20:53:32 2018 +0100"
      },
      "message": "Added LICENSE file to root of the repo\n\nChange-Id: I36d495f1c5613663f321eed9fb3629ff29b5462f\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\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": "f7c0922f9ddcdee33df3783a97d8c7978dae8210",
      "tree": "b42c9723340bd3e134fb09aab5c498773c96e4c3",
      "parents": [
        "b09436613925b2eb334c10f219b743868e4b3fe5"
      ],
      "author": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Thu Aug 23 10:31:02 2018 +0000"
      },
      "committer": {
        "name": "tierno",
        "email": "alfonso.tiernosepulveda@telefonica.com",
        "time": "Thu Aug 23 10:31:02 2018 +0000"
      },
      "message": "adding paramiko as required package\n\nSigned-off-by: tierno \u003calfonso.tiernosepulveda@telefonica.com\u003e\n"
    },
    {
      "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": "98bf3866dcbc9ec0d9f34536cb50112df7e31790",
      "tree": "5f0336f2522ccda148c44835f78162bcf204a3af",
      "parents": [
        "9562f43a108d17a263bf84bcc1aa96a8170586fa"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue May 22 10:03:35 2018 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue May 22 10:57:54 2018 -0400"
      },
      "message": "Fix libjuju install versioning\n\nThis updates the libjuju setup.py with the upstream version that pins\nseveral python module version requirements.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\nChange-Id: I47a4723d1b3db7ace141dc106e6e781281c0ae61\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": "74d895f6646849667fde51e01f23a5a6eb4f7e9e",
      "tree": "a00ebfd4e122fd02524e1285ff2f899317cd3125",
      "parents": [
        "4b81dfabae6b883bd5cde9c97614bcb410103429"
      ],
      "author": {
        "name": "Mike Marchetti",
        "email": "mmarchetti@sandvine.com",
        "time": "Wed Apr 18 11:17:45 2018 -0400"
      },
      "committer": {
        "name": "Mike Marchetti",
        "email": "mmarchetti@sandvine.com",
        "time": "Wed Apr 18 11:17:45 2018 -0400"
      },
      "message": "add python-all for build\n\nSigned-off-by: Mike Marchetti \u003cmmarchetti@sandvine.com\u003e\n"
    },
    {
      "commit": "4b81dfabae6b883bd5cde9c97614bcb410103429",
      "tree": "6f31ecbdae26291f8f903c6624a62e1dc670d0a6",
      "parents": [
        "88a49630895a6045586e6f547c0b6ad118110f25"
      ],
      "author": {
        "name": "Mike Marchetti",
        "email": "mmarchetti@sandvine.com",
        "time": "Wed Apr 18 10:52:18 2018 -0400"
      },
      "committer": {
        "name": "Mike Marchetti",
        "email": "mmarchetti@sandvine.com",
        "time": "Wed Apr 18 11:10:13 2018 -0400"
      },
      "message": "add devops stages for pipeline\n\nSigned-off-by: Mike Marchetti \u003cmmarchetti@sandvine.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"
    },
    {
      "commit": "1a15d1c84fc826fa7996c1c9d221a324edd33432",
      "tree": "8fab352bd0816a37ca935a6a8af80bbe0100669e",
      "parents": [
        "fd577a36aaf408c845f3bb8b3f28ecbbf3332107"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 23 12:00:49 2017 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 23 12:06:27 2017 -0400"
      },
      "message": "Update libjuju\n\n- fix licensing quirks\n- refresh against libjuju master\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "fd577a36aaf408c845f3bb8b3f28ecbbf3332107",
      "tree": "759400a970042b994d4e405b93968dd942618a21",
      "parents": [
        "68858c1915122c2dbc8999a5cd3229694abf5f3a"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 23 11:41:44 2017 +0200"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Mon Oct 23 11:52:17 2017 +0200"
      },
      "message": "Initial import of N2VC\n\nThis import kicks off the N2VC module.\n\nSigned-off-by: Adam Israel \u003cadam.israel@canonical.com\u003e\n"
    },
    {
      "commit": "68858c1915122c2dbc8999a5cd3229694abf5f3a",
      "tree": "1976663b3203b39fdd5039e90b762467722ae575",
      "parents": [
        "032a71b2a6692b8b4e30f629a1f906d246f06736",
        "dcdf82bbc1ef310379f746518b2dd3b006353cb3"
      ],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Aug 15 15:26:43 2017 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Aug 15 15:26:43 2017 -0400"
      },
      "message": "Merge commit \u002719031b24b523c872c1ac367821dc60c950a09755\u0027 as \u0027modules/libjuju\u0027\n"
    },
    {
      "commit": "dcdf82bbc1ef310379f746518b2dd3b006353cb3",
      "tree": "b9682d216c9aafbe4b3c09f08bd43313a59b49a0",
      "parents": [],
      "author": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Aug 15 15:26:43 2017 -0400"
      },
      "committer": {
        "name": "Adam Israel",
        "email": "adam.israel@canonical.com",
        "time": "Tue Aug 15 15:26:43 2017 -0400"
      },
      "message": "Squashed \u0027modules/libjuju/\u0027 content from commit c50c361\n\ngit-subtree-dir: modules/libjuju\ngit-subtree-split: c50c361a8b9a3bbf1a33f5659e492b481f065cd2\n"
    },
    {
      "commit": "032a71b2a6692b8b4e30f629a1f906d246f06736",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "almagia",
        "email": "silvia.almagia@etsi.org",
        "time": "Fri May 12 10:06:20 2017 +0200"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "root@osm.etsi.org",
        "time": "Fri May 12 10:06:20 2017 +0200"
      },
      "message": "Initial empty repository\n"
    }
  ]
}
