)]}'
{
  "log": [
    {
      "commit": "475a7221e3598ad1c75ce802c5ad74ef7ecf72f1",
      "tree": "d4d2a9a5d1430567848e4721d9ba7e4eea869189",
      "parents": [
        "85755d17a807df83d0e472e6e73500a4d743296b"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Sep 21 16:19:15 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Sep 22 18:24:22 2020 +0200"
      },
      "message": "Add new kubectl.py functions, modify some libjuju.py functions, add unit tests\n\n- Kubectl.py: two new functions added (get_configuration and get_default_storage_class)\n  - get_configuration(): Returns a kubernetes Configuration object.\n    It can be used to properly parse the kubeconfig.\n  - get_default_storage_class(): Searches for the default storage class of a k8s cluster.\n- Libjuju.py: modified add_k8s function and get_k8s_cloud_credential function was added.\n  - add_k8s(): Improves the way of generation Cloud and CloudCredential objects for the K8s Cloud\n  - get_k8s_cloud_credential(): It parses the kubeconfig to properly determine the authentication\n    method type that should be used for that k8s cluster.\n- Unit tests: Added unit tests for all the new functions added.\n- Exceptions: Make all Juju Exceptions to inherit from N2VC Exception.\n  Now Juju exceptions have the message attribute, that is useful for unit testing, to not only check that\n  an exception raised, but to check the message too.\n- Move get_k8s_cloud_credential() function to n2vc/utils in order to share that code between different connectors.\n\nChange-Id: Ife9027d80663fe95f1f3ad883cb9a3376b047d0b\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "c38a696d168531e3c067451044262ef4d78ef11f",
      "tree": "333db0a26afb040e3daf5c484bd08c2c42ecbb3a",
      "parents": [
        "ba6e532cda6464759381585452b18f9fd1a19dd3"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Sep 16 13:31:33 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Sep 16 18:59:27 2020 +0200"
      },
      "message": "Remove EntityType from juju watcher and workaround juju bug for retrieving the status\n\n- The juju watcher was doing an unnecessary translation with the entity types. The entity already provides an attribute .entity_type\n- Juju has a bug in version 2.8.2 that returns a wrong status. Therefore, charms were getting stuck in waiting for ever.\nChange-Id: I44709190acc41601e8a67f4c52074fda00c3d495\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "2f66c4df28308b5b2747bb207e7797932e502436",
      "tree": "4dd7b55986e55b0cf59fab4b36bf27f589b65262",
      "parents": [
        "41b40a10384cd725be87f1800242cc8eba38e991"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Jun 19 11:40:18 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Jun 26 13:40:16 2020 +0200"
      },
      "message": "Feature 8681: Add VCA HA capabilities\n\n- juju watcher: fix exception handling when websocket is closed\n- libjuju.py:\n  - Get vca endpoints from database (if exists)\n  - Update vca endpoints in database\n  - Get controller per operation (remove controller from class attribute)\n  - Add health check: Every 5 minutes the connection to the controller will be tested.\n- Dockerfile: update it to 18.04\n\nChange-Id: Ifa0a3a705d48fd736a9634b0722bdc914003b497\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "4fee80e46dff88732b7927e502007203fcd8a15c",
      "tree": "cafcf533d4c649c7a3b30e2f699c52fc0e138f27",
      "parents": [
        "d3de135758e35c4d511b067c6ebeea378f63d79e"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed May 13 12:18:38 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jun 18 14:21:31 2020 +0200"
      },
      "message": "Initial refactor of N2VC\n\n- Add libjuju.py to encapsulate all code related with the communication using libjuju\n- Replace juju_observer with juju_watcher\n- Add utils with some utilities like EntityType, FinalStatus, and JujuStatusToOSM\n\nChange-Id: I5d46ad65d6ed37b49bf2504209bfdd46d1b5a7e4\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    }
  ]
}
