)]}'
{
  "log": [
    {
      "commit": "a43217d0a1c1b6d21ff678ee5ac81302b22613c3",
      "tree": "d77bf974fc0b17abad2bc7f075acc3e2657ea8db",
      "parents": [
        "5d8490b994cae0fb1cf6102e2b8a8911d72ba06b"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Tue Oct 22 10:00:49 2024 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Tue Oct 22 10:00:49 2024 +0200"
      },
      "message": "Update kubectl methods for generic objects to enable cluster scope\n\nChange-Id: I6508bd4f147331c4f3d04ba5c30c485947a3a24b\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "5d8490b994cae0fb1cf6102e2b8a8911d72ba06b",
      "tree": "b634536a19e8db0747230d85c6b4039d98e51f0f",
      "parents": [
        "f291215acf9be3a5a0f0b77444ee02fb724d5e0a"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Sep 26 18:30:01 2024 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri Oct 04 13:45:12 2024 +0200"
      },
      "message": "Test OKA creation with sleeps\n\nChange-Id: I75663fc13b6f128077fcb3c77e5e63cc954a06e2\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "f291215acf9be3a5a0f0b77444ee02fb724d5e0a",
      "tree": "eb1c2e1bf28d8a7ccafa13c11cfd888bf654f3ff",
      "parents": [
        "c1d37d089d7f6a7cb72e2784b9dbd324d1b788e8"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Tue Sep 24 14:41:40 2024 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Tue Sep 24 14:41:40 2024 +0200"
      },
      "message": "Pass src_file and dest_filename in kubectl.create_pvc_with_content\n\nChange-Id: I81d530c170aad0f3d4e84ef9b687863a4c1983b9\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "c1d37d089d7f6a7cb72e2784b9dbd324d1b788e8",
      "tree": "46b9dd6dcd437e023dada276e047bd11d20a9d42",
      "parents": [
        "c057eb3d407518373fb40c47a2fecb0452165f87"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Aug 22 09:59:05 2024 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Aug 22 09:59:05 2024 +0200"
      },
      "message": "Make sync the routines to create and delete generic objects in kubectl.py\n\nChange-Id: I68ec4948d7950210958e500afc37c84757d2861f\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "c057eb3d407518373fb40c47a2fecb0452165f87",
      "tree": "6200453d74ed6dc725c060fbdc826658f58a595d",
      "parents": [
        "fc12ea6d4f011014de0f3637cdc63562ce525920"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Thu Jul 04 11:00:13 2024 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Tue Aug 13 13:40:59 2024 +0200"
      },
      "message": "Features 11020,11022-11026: Advanced cluster management\n\nChange-Id: I15c910f146f31fb10b56dddae4027825441afdfc\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "fc12ea6d4f011014de0f3637cdc63562ce525920",
      "tree": "c28af93409017f762901affec1716abdb57a6309",
      "parents": [
        "5821b7f0ca676a5cf4ba74c8a6b9b6dacd73abe3"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Wed Aug 07 02:35:10 2024 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Wed Aug 07 02:35:10 2024 +0200"
      },
      "message": "Update pip dependencies\n\nChange-Id: I66c9047f6b607f9417bd5c0880c5eb7a7b806027\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "d21509c14b0bef94d5ace71a4b5c7592851b453d",
      "tree": "20bb6157744a98bbf58caeb2494fffd047824197",
      "parents": [
        "5f069332606e512f74791c6497af40326b611344"
      ],
      "author": {
        "name": "Gabriel Cuba",
        "email": "gcuba@whitestack.com",
        "time": "Wed May 17 01:30:15 2023 -0500"
      },
      "committer": {
        "name": "Gabriel Cuba",
        "email": "gcuba@whitestack.com",
        "time": "Mon May 29 00:48:55 2023 -0500"
      },
      "message": "Feature 10948: Set labels to new namespaces\n\nChange-Id: I0f40d198d398c79f3e9badd8def8f884f60fb7f8\nSigned-off-by: Gabriel Cuba \u003cgcuba@whitestack.com\u003e\n"
    },
    {
      "commit": "5f069332606e512f74791c6497af40326b611344",
      "tree": "2d074ceaa579fa23a0d753e2a16d54d1d77ec9c9",
      "parents": [
        "fb79786bd154505ea9c7578e6247dea565ea9c41"
      ],
      "author": {
        "name": "Gabriel Cuba",
        "email": "gcuba@whitestack.com",
        "time": "Tue Apr 25 19:26:19 2023 -0500"
      },
      "committer": {
        "name": "Gabriel Cuba",
        "email": "gcuba@whitestack.com",
        "time": "Mon May 22 15:31:30 2023 -0500"
      },
      "message": "Feature 10957: Add methods for creation of namespace, secret and RBAC\n\nChange-Id: Iada9d3caa9e8a926e421fe96894be618f36fb37e\nSigned-off-by: Gabriel Cuba \u003cgcuba@whitestack.com\u003e\n"
    },
    {
      "commit": "fb79786bd154505ea9c7578e6247dea565ea9c41",
      "tree": "ff6ad1c940782cd672c5c13171fffbe2a304b662",
      "parents": [
        "714d8874783b507cd66a37d1dcd2f1d3ac980257"
      ],
      "author": {
        "name": "Mark Beierl",
        "email": "mark.beierl@canonical.com",
        "time": "Thu May 18 22:21:06 2023 -0400"
      },
      "committer": {
        "name": "Mark Beierl",
        "email": "mark.beierl@canonical.com",
        "time": "Thu May 18 22:26:33 2023 -0400"
      },
      "message": "Wrapping Retry for Py3.10\n\nThe retrying_async library is not Python 3.10 ready, so we are providing\na 3.10 compatible callback for it to use instead of the default one\n\nChange-Id: I15e9b64c70d4d294c9ff0c6c7048cd257f6e1b61\nSigned-off-by: Mark Beierl \u003cmark.beierl@canonical.com\u003e\n"
    },
    {
      "commit": "fb03e9084403d6fc2adf427a371ff9827f3c1238",
      "tree": "e84565ae643426d81515d3c939737a71c2ba5c37",
      "parents": [
        "085fa8d4658a9b621354d5a08853086e2696abdc"
      ],
      "author": {
        "name": "Gabriel Cuba",
        "email": "gcuba@whitestack.com",
        "time": "Fri Oct 07 11:40:03 2022 -0500"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri Nov 25 12:47:27 2022 +0100"
      },
      "message": "Feature 10947: Add methods to create certificates\n\nChange-Id: Icc85c4b23e3f22c4b1b34dfd86e90cb0b53819d8\nSigned-off-by: Gabriel Cuba \u003cgcuba@whitestack.com\u003e\n"
    },
    {
      "commit": "6343d434fa3cec28d8b9b470054d3a13ada8865a",
      "tree": "459f69824adfc238dfd87f2ec6611316b7bf90c6",
      "parents": [
        "015abee87f591b8e28f6b982ae4fb9c67e8791bb"
      ],
      "author": {
        "name": "Patricia Reinoso",
        "email": "patricia.reinoso@canonical.com",
        "time": "Tue Aug 23 06:22:01 2022 +0000"
      },
      "committer": {
        "name": "calvinosanc1",
        "email": "guillermo.calvino@canonical.com",
        "time": "Mon Aug 29 11:22:04 2022 +0200"
      },
      "message": "Fix bug 2071: create secret\n\nManually create a service-account-token secret\nfor service account when k8s cluster is created\nin case k8s version \u003e\u003d1.24.\n\nServiceAccount object should be created first.\nWhen deleting a k8s cluster. Corresponding\nServiceAccount and Secret are automatically\ndeleted as well.\n\nIn k8s \u003c 1.24, secret is automatically created.\n\nChange-Id: I160b1f87a64cf7a1bbb1fa8587259d8fbd3e6cd4\nSigned-off-by: Patricia Reinoso \u003cpatricia.reinoso@canonical.com\u003e\n"
    },
    {
      "commit": "4ae527ee394a9794c25e7a90fe895aa446c6c797",
      "tree": "6b7ef933262741b2d1701bd73b31a348c94dce83",
      "parents": [
        "d8d4b6e70c0e4410a4b5c274faecd37ee821f3b7"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Mon Jul 26 16:04:59 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Tue Jul 27 11:09:58 2021 +0200"
      },
      "message": "Unit tests improvements\n\n- From now on, black must pass. Jenkins will give a -1 if it doesn\u0027t\n- Ignore E203 because it is not pep8 compliant, and conflicts with black\n    https://github.com/psf/black/issues/315#issuecomment-395457972\n- Black fixes and minor fix in unit test\n- Fix devops-stages/stage-test.sh: jenkins was not giving a -1 when tox\nwas failing\n\nChange-Id: Ic7318dcb6d4006a271607cd064a1f36d0936b7b9\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "d8d4b6e70c0e4410a4b5c274faecd37ee821f3b7",
      "tree": "9de6fb7e8dcc56292a905d50432384cba3d4c836",
      "parents": [
        "2a3ffde1771ec4431eef96f4908b3572a883ef01"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jun 24 18:47:22 2021 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jun 30 16:55:30 2021 +0200"
      },
      "message": "Upgrade to libjuju 2.9.2\n\n- The upgrade to libjuju enables Pebble support\n- Libjuju requires a newer version of Kubernetes so I updated it to the\nlatest one\n- Additionally, a group of functions were moved from k8s_juju_conn.p to\nkubectl.py, because they fit better there.\n\nRelated feature number: 10884\n\nChange-Id: I354a2f49e7fc7b87a204bf60131a8d52a4f74cac\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "979c54e4633964caf15a0f7e157be75a08cb0723",
      "tree": "981f1060e03fd2569ae2ebee763224b10fba9efa",
      "parents": [
        "82b591ceed704c798ead2d9104085a08e75b511b"
      ],
      "author": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri May 28 14:10:59 2021 +0200"
      },
      "committer": {
        "name": "garciadeblas",
        "email": "gerardo.garciadeblas@telefonica.com",
        "time": "Fri May 28 14:10:59 2021 +0200"
      },
      "message": "Fix bug 1542 to allow juju to add Azure AKS\n\nStorage classes in Azure might have no metadata annotations. This\nchange takes into account that situation.\n\nChange-Id: I4f7151d2481b41fd8434e0d95ea5d1a156b68309\nSigned-off-by: garciadeblas \u003cgerardo.garciadeblas@telefonica.com\u003e\n"
    },
    {
      "commit": "f6e9b00b6f7cd35e45ace4c84b53fe8d12b2438c",
      "tree": "86711bb6ca5aaf63d032860441dc8f605e067a2d",
      "parents": [
        "1c83f2e4d061ad37ba898e114cb42e70fdee5145"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Fri Nov 27 15:32:02 2020 +0100"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Sat Nov 28 11:12:41 2020 +0100"
      },
      "message": "Fix bug 1298\n\nThis bug was caused because a bad parsing of the kubeconfig.\nThe token should be the secret from k8s for the created service\naccount.\n\nWhen adding a k8s cluster, a clusterrole, clusterrolebinding, and\nserviceaccounts are created.\n\nTests are needed for oauth2 and userpass kubeconfigs.\n\nChange-Id: I6a4a2834bd6477f255e8ca48e7f53cd3a0d3fddf\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "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": "84ebb751f36f724b6ddd7d9925e43534b2420ab2",
      "tree": "0bb7f1eb23b8d72641941ae79cbc2f5c16d2e94a",
      "parents": [
        "e7b9a5b179648694b7461fd9ac13f2f4728dc86f"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Wed Jul 22 13:17:56 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Fix bug 1167\n\nChange-Id: Id0ea5f19d57d2214219eec8f59f13a378d61c870\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "37004983e8e484d5504ae4253bdb75204ff389d9",
      "tree": "704c2d727211989aa20768c5ff20047a53e00b52",
      "parents": [
        "810459632a4fb28e1bde897aaef8775cba342b4b"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jul 16 17:53:20 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Fix an issue with the service ports in Kubectl.py\n\nThe ports were retrieved as V1ServicePort classes, and LCM cannot store that in the database\n\nChange-Id: I451ab65478f36c5cb7f33594b4454bd315c22878\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    },
    {
      "commit": "5d79939ab780d4717fe36bfd62f398b922f84829",
      "tree": "bbcb0cd986c1a4d073dd2d20d083f006cc245474",
      "parents": [
        "7ff392f6b60850ac7408f96fd42ab16b005ec2bf"
      ],
      "author": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Jul 02 13:56:58 2020 +0200"
      },
      "committer": {
        "name": "David Garcia",
        "email": "david.garcia@canonical.com",
        "time": "Thu Aug 20 11:47:32 2020 +0200"
      },
      "message": "Implement get_service and get_services methods for K8sJujuConnector\n\n- Add a new class (n2vc.kubectl.Kubectl) for managing the Kubectl commands\n  - Add unit tests\n- Add get_config_file() method for getting the path of the kubeconfig in K8sJujuConnector\n- Implement get_service() and get_services() methods in K8sJujuConnector\n\nChange-Id: I883ec21dad519c2dc65cb9bd601e539685336756\nSigned-off-by: David Garcia \u003cdavid.garcia@canonical.com\u003e\n"
    }
  ]
}
