)]}'
{
  "log": [
    {
      "commit": "9a4ad21edc8398a51f4c834fc0cfa8f7e80100ba",
      "tree": "be89b80a8bce78fdb9b6924d0779b388e105e21b",
      "parents": [
        "7301f22343f8dff8b5ab7c26c3b1b1526169aee3"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Oct 01 18:04:25 2020 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Nov 09 16:06:06 2020 -0600"
      },
      "message": "Multi env support and Kube client integration\n\nKube friendly Beta\n\nPackage versions supports Kube env\n\nAdded:\n  - Env type detection\n  - New option: --use-env, for selecting env\n    when function supports multiple detected envs\n  - Updated config loading\n  - Each module and command type has supported env check\n    and stops execution if it is on unsupported env\n  - Functions can support multiple envs\n  - Kubernetes dependency\n  - Kubenernetes API detection: local and remote\n  - Package checking class hierachy for using Salt or Kube\n  - Remote pod execution routine\n  - Flexible SSH/SSH Forwarder classes: with, ssh,do(), etc\n  - Multithreaded SSH script execution\n  - Number of workers parameter, default 5\n\nFixed:\n  - Config dependency\n  - Command loading with supported envs list\n  - Unittests structure and execution flow updated\n  - Unittests fixes\n  - Fixed debug mode handling\n  - Unified command type/support routine\n  - Nested attrs getter/setter\n\nChange-Id: I3ade693ac21536e2b5dcee4b24d511749dc72759\nRelated-PROD: PROD-35811\n"
    },
    {
      "commit": "f3dbe86b9b1b6ced44a4536fa2ee739e422abfdf",
      "tree": "1d7bde79252c044fa7586ae95f7aabe87cceb2af",
      "parents": [
        "c6566d8737c2a9821745e46c63f3686de17732f9"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Oct 07 15:17:04 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Oct 07 15:17:04 2019 -0500"
      },
      "message": "Fixes for Network check report\n\n - default values if nodee check failed\n - net interface mapping fix\n - net tree creation fix for multi-branched bonds\n\nChange-Id: Ic1a4709d258201c7ed4a7a70aaef98bb9aa53f7b\nRelated-PROD: PROD-32792\n"
    },
    {
      "commit": "760e6336fade08bd3ba6768a6ec09a2d8fcab94f",
      "tree": "68a67550ad751f8820ddf6eb5de13113de45bfca",
      "parents": [
        "1839bbfbba18b60aba82fbfbb1823a6ec678a007"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Sep 19 09:48:01 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Sep 19 09:48:50 2019 -0500"
      },
      "message": "Hotfix for services.list file\n\nChange-Id: I24d02be3b6b2b85152ffa287a8e261c10b96e64f\nRelated-PROD: PROD-38972\n"
    },
    {
      "commit": "d9fd85e5bfd7ba5d800021ac7af0545c5123a7c9",
      "tree": "ec3ba4916481cb7c0173b5223b61d57f38b29213",
      "parents": [
        "e0c5b9ed9c75744676769b45ad0c78199d677551"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu May 16 16:58:24 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu May 16 17:07:25 2019 -0500"
      },
      "message": "Automated Paсkage versions update for tags\n\nModule repos.py\n - ReposInfo(), walks mirror using HTTP and builds\n   all repos map available\n - RepoManager(), using repos map builds package versions map\n   either for specific tags or for all of them\n\nFixes:\n - Progress class clears line remainder on change\n\nUtils:\n - Download GZ file into memory\n - TGZ file interface, CRU (no deletion)\n\nChange-Id: Ifdb37aa4b68fb25f642b2089cf16cd242ed25a0b\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "bab1efe50cbbb7cdb3ecf840d1282a75a6b67d67",
      "tree": "d2c8e491ca80ba0cae18400b2766c792ccfd5f61",
      "parents": [
        "265f45e512bcc5ddade343d798c5560873696d0a"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Apr 23 18:51:23 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Apr 26 11:56:48 2019 -0500"
      },
      "message": "Unified command execution and unit tests\n\n- All arguments inits moved to own clases\n- Added unified way to execute commands\n- Unit test structure and very basic tests\n- Command line script to test coverage\n- Argument parsers moved to corresponding commands\n- Automatic parsers and command mapping\n\nChange-Id: Id099d14702d9590729583dfd9574bd57022efac5\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "4148552173c5ca56d19d14a3b799a667a61230ce",
      "tree": "2d9cdaba78345b72ad1ef1dd616e2280b8ac406b",
      "parents": [
        "3db12a7e1ebe77a19ba33185fd69c18988c62153"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Apr 12 17:26:18 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Apr 12 17:33:57 2019 -0500"
      },
      "message": "Merge upstream version\n\nRelated-PROD: PROD-28199\n\nChange-Id: I5d9dbde1c3ac577fb30fa5d6b1ff18bcee28a0d7\n"
    },
    {
      "commit": "6357683b3bba04e6994604dbdb292e7903246434",
      "tree": "f6bfa7ebb2065bf6c5cb99be1799598a43224db7",
      "parents": [
        "cba3b368b31f2b560bf9a73d424f41ee6f2a2eff"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 27 15:46:26 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 27 15:46:26 2019 -0600"
      },
      "message": "Remote password handling\n"
    },
    {
      "commit": "5118de03b671d109b6cc1ca4398095449cf69279",
      "tree": "30b9a01866460380e4a977275f5feb576c78fac5",
      "parents": [
        "bd256e888e76fc2fcc83f1fc14fd9d63ee6dfd50"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 20 15:50:42 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 20 15:50:42 2019 -0600"
      },
      "message": "Refactor modules execution\n"
    },
    {
      "commit": "d48994d994fd5e3dedd1ef0fdd2bc17a51f38506",
      "tree": "14ae9b71bd1fe1d5923e04bb978ca676a61952ec",
      "parents": [
        "0f77e1403b0a6dab7478d923c8e93bb92e5f41e8"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Dec 13 12:13:00 2018 +0100"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Dec 13 12:13:00 2018 +0100"
      },
      "message": "Refactored to include varios reports and checks\n"
    },
    {
      "commit": "0f77e1403b0a6dab7478d923c8e93bb92e5f41e8",
      "tree": "633d232c1146650c011d060d3e6a7ccce274d263",
      "parents": [
        "fb9f943433b3e9aadd7dd69b2f808c16a4d83b40"
      ],
      "author": {
        "name": "Oleksandr Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Nov 23 17:52:01 2018 +0100"
      },
      "committer": {
        "name": "Oleksandr Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Nov 23 17:52:01 2018 +0100"
      },
      "message": "Example files\n"
    }
  ]
}
