)]}'
{
  "log": [
    {
      "commit": "e4de1142fe5a3c210d024af568e89b92dd7b39b5",
      "tree": "5c421d418588bed107b8919a63aeebf7268df9c2",
      "parents": [
        "0f9b2655aed6c11c2963452e8d1b2284a91445d6"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Nov 04 19:26:03 2022 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Nov 04 19:26:03 2022 -0500"
      },
      "message": "ceph bench module hotfixes after client run\n\n  Related-PROD: PROD-37028\n\nChange-Id: Ied20709e367877ca0be1c9bd531476070059de10\n"
    },
    {
      "commit": "0989ecf8c7a726af65ba89a36a85c4e98c6f4884",
      "tree": "583cac67bdcbf201b3504af67a5ef2f94eda501e",
      "parents": [
        "41dd0ccfc44bd496a363c4af276c0e5d7f5b63ee"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Mar 29 13:43:21 2022 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Mar 29 13:43:21 2022 -0500"
      },
      "message": "Add copyright info to all python files and bump version\n\n  Related-PROD: PROD-36846\n\nChange-Id: I47c25d81d4173286e1729cef7a1cc321a495316f\n"
    },
    {
      "commit": "bfa947c5cef340a7acbaa08194e1be7a0e560b72",
      "tree": "7d085bf4f1d69d744b660a3692f8a3a0d7ba0d23",
      "parents": [
        "2a7657c7eb06163e9a75ee4bd29230825052b2a0"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Nov 11 18:14:28 2021 -0600"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Nov 11 18:14:28 2021 -0600"
      },
      "message": "cfg-checker ceph bench debug part 3\n\n - cleanup procedure\n - agent json loading updates\n - bool argument detection updates\n\n Related-PROD: PROD-36669\n\nChange-Id: I9e2417a2bfc03883d9a6ef69f60f000cb5bacf54\n"
    },
    {
      "commit": "5cace3be38521e252fad8ad3701444ce9007d3d4",
      "tree": "6bfb4eed3c607937f2c73cd193463560ac27ea86",
      "parents": [
        "b78191f88af533c428b67a54a01740a9d7f4b80e"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Wed Nov 10 16:40:37 2021 -0600"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Wed Nov 10 16:40:37 2021 -0600"
      },
      "message": "cfg-checker bench part 1\n\n - first single test debug portion\n - updated fio option extraction\n - updated date interaction\n - fixed agent error showing and handling\n\n Related-PROD: PROD-36669\n\nChange-Id: I7c1014c01b5b84429f112bff8db5ad34944c4644\n"
    },
    {
      "commit": "b78191f88af533c428b67a54a01740a9d7f4b80e",
      "tree": "94491e0d8b241755205b9c992526df78dfe359e4",
      "parents": [
        "df9cc3adbaf9180c1750e2a4828d5e2171a28dee"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Nov 02 16:35:46 2021 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Nov 04 15:07:17 2021 -0500"
      },
      "message": "mcp-agent mode for mcp-checker with web-info and REST API\n\nNew:\n - agent index page serving on 0.0.0.0:8765\n - REST API with modular approach to modules\n - \u0027fio\u0027 module working via thread-safe Thread able to return\n   real-time info on its status\n - \u0027fio\u0027 module scheduled run option\n - ability to preserve multiple testrun results while active\n - dockerfile for agent image\n\nFixed:\n - Network report fixes to work on Kube envs\n - Fixed function for running commands inside daemonset pods\n\n Related-PROD: PROD-36669\n\nChange-Id: I57e73001247af9187680bfc5744590eef219d93c\n"
    },
    {
      "commit": "1f90e7bf57e879abae4e474e47273741b50fd3f3",
      "tree": "2e459768906c6c496318e41947fdb885000261d4",
      "parents": [
        "c4f596293b9e049a575a73cae1718d7a506a5c5d"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Sep 03 15:31:28 2021 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Sep 03 15:31:28 2021 -0500"
      },
      "message": "Network check for MCC/MOS\n\n - Network info gathering using DaemonSet with \u0027hostNetwork\u003dTrue\u0027\n - DaemonSet handling routines\n - Mapper and Checker refactoring for Kube\n\nFixes\n - SSH timeouts handling using env vars\n   MCP_SSH_TIMEOUT when connecting\n   MCP_SCRIPT_RUN_TIMEOUT when running command\n - Progress class supports 0 as an index\n\n Related-PROD: PROD-36575\n\nChange-Id: Ie03a9051007eeb788901acae3696ea2bfdfe33e2\n"
    },
    {
      "commit": "e8643648b25e23c35f05406861dd61fb24db3fd2",
      "tree": "ed4ed92df4c1eaefa719375d8cf90fadff6b09a4",
      "parents": [
        "359e57542081f8b6fa92032fd91787e118571a1b"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Aug 23 14:08:46 2021 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Aug 23 14:08:46 2021 -0500"
      },
      "message": "Update package versions to 2019.2.15 and fix flake8\n\nChange-Id: I491a6f23065189390f7287b1ce756ac5e88d2b99\n"
    },
    {
      "commit": "ccb72e034b0efcba641bb86ec9c655082c220258",
      "tree": "a9644db2fb5aecf4dcb1669b4e542bf44dba5f68",
      "parents": [
        "c85654542f012792c5af429cf74ce6d004f0d24c"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Wed Jan 20 16:38:03 2021 -0600"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Jan 21 13:46:27 2021 -0600"
      },
      "message": "Updated env file and kube config file handling\n\nNew:\n   - Imported kaas/* repositories (1100+)\n   - Options for use of specific configs (env and kaas)\n\nFixes:\n   - updated header index search\n   - fixed package name handling\n   - fixed --force-tag option\n\nChange-Id: Ib51ea9a47db93d6dd0868c32cb389d70053af26c\nRelated-PROD: PROD-35903\n"
    },
    {
      "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": "e9908f7008af986053465f73224dbdacca8e5f0a",
      "tree": "00ecc3c2723dfbf49aa2de0c16a2d961747c352a",
      "parents": [
        "386a2b4e209e8094c434011cd2cd48175ff5380e"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue May 19 16:04:53 2020 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Wed Jun 17 16:27:55 2020 -0500"
      },
      "message": "Skip nodes functionality for Package and Network modules\n\nAdded to main entrypoint\n- Skip nodes using simple argument with \u0027*\u0027 as a trailing wildcard\n- Skip nodes using file list\n\nUsability improovement\n- Node list preview in status line\n- Node stats alignment in net report\n\nMinor fixes:\n- Python version detection (3.5+)\n- Node counter for each status\n- Proper node skip handling\n\nChange-Id: I086ef501bc06f0e739df25349257f1c63a2e2fcf\nRelated-PROD: PROD-35009\n"
    },
    {
      "commit": "3bc95f6ff248b80380f709db4e92b42fc1da18c8",
      "tree": "ab345bd216403f13fff388a8b141daa1b7cd0b0c",
      "parents": [
        "2e213b2573f84188872a4ed0bf1cf76b901d9ddf"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Mar 05 17:00:04 2020 -0600"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Mar 10 18:27:36 2020 -0500"
      },
      "message": "Migrating to Python v3\n\n - support for Python v3.8.x\n - support for Python v3.5.x\n - new tag, 2019.2.8\n - updates class generation and iterators\n - unittests updated with coverage \u003e75%\n - new coverage routines\n - unittests profiling\n - full fake data for unittests\n - unittest testrun is ~1.5 seconds long\n\nBugfixes\n - 34834, proper use of \u0027sudo\u0027 option\n - multiple proper iterator use\n - 37919, show warning when installed and candidate versions\n   are newer comparing to release version\n\nChange-Id: Idd6b889f7ce94ae0c832e2f0a0346e4fdc3264a3\nRelated-PROD: PROD-34834 PROD-34664 PROD-34919\n"
    },
    {
      "commit": "836fac892c2e094ea6e5e121bf3f9d6d3073633f",
      "tree": "73435e2fee445eadb49afdf00d40d7072cf01bee",
      "parents": [
        "c12e7995b6c1eea7ddb54cfad62e85bc6e85fbda"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Aug 22 13:36:16 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Aug 22 13:36:16 2019 -0500"
      },
      "message": "Network check HTML report\n\n- uniform map generation\n- POC for additional checks on env\n\nChange-Id: I52edcc94f4d9826cbfb1159e5311514097a15f62\nRelated-PROD: PROD-32792\n"
    },
    {
      "commit": "6df29ad5441bbc72150a77a0a0d154cc7ebdf7f1",
      "tree": "b9d1924cb63c4b2db9ba592027c819bae68f92a1",
      "parents": [
        "7f69a6ac50483c62d1ce424459c6d862d8232aaa"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 17:55:32 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 17:55:32 2019 -0500"
      },
      "message": "Fixes for building TGZ labelfile and build actions\n\nChange-Id: I62c2a930aa23c1d1d4bdac9d82b3e38370677ff4\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "7f69a6ac50483c62d1ce424459c6d862d8232aaa",
      "tree": "22d54d337e00dfb0885d5d6dce76373785fe79da",
      "parents": [
        "571bf15cda8945886319104d5db519902a12fa67"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 16:53:35 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 16:53:35 2019 -0500"
      },
      "message": "Folder exists routine\n\nChange-Id: I6e17d24bb7d087754c26eee3cd944336aecd710e\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "92e07cebbcd2dea0b38f23dc465a7a1384af60bf",
      "tree": "aabf3d117bf9a95c9ea26c52c736fd859e30cbd7",
      "parents": [
        "cf91b18b916874ea5f669297cd9cc386445fa0b2"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 16:00:03 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 16:11:22 2019 -0500"
      },
      "message": "Parsing Ping return codes and saving iteration details\n\n - ping command detects error types and saves events\n - exit on no packets to send\n - ping now uses runtime map (as reclass can have DHCP set)\n\nChange-Id: Iad66bd90d0c5a43e04fd785f02f8e1c2769dda62\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "d0391d4103f0378fdbdeb2b07783f14267c45fa5",
      "tree": "5d3a9624157f1ef4e429267e48cd402ee0699e80",
      "parents": [
        "29ee76f6ff8ca61d1783173a376057826f79af2e"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue May 21 18:48:55 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Wed May 29 20:53:09 2019 -0500"
      },
      "message": "Package report/repo parser integration\n\n - parser able to filter package versions using keywords\n - warning message on missing tag\n - on the fly versions lookup (excluding \u0027*.hotfix\u0027)\n - updated versions compare routine\n - lexical compare uses numbers, not ordinal values\n - updated release version detection\n - final report lists pkg section/app if no description given\n - final report shows repo info for detected release version\n\nFixes:\n - shorter alternate entrpoints: mcp-pkg, mcp-net, cmp-reclass\n - flake8 syntax\n - proper mirantis/non-mirantis versions getting\n - exit on unexpected arguments\n - salt-master class now gets linux codename by default and architecture\n\nChange-Id: I0a2daadca8a1acaecafc8680226dc00d20cc24ce\nRelated-PROD: PROD-28199\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": "e0c5b9ed9c75744676769b45ad0c78199d677551",
      "tree": "f853192fcdefa6c3e1cab90910ec480122188e3a",
      "parents": [
        "bab1efe50cbbb7cdb3ecf840d1282a75a6b67d67"
      ],
      "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 May 03 15:07:21 2019 -0500"
      },
      "message": "Refactor working with Networks and Pinger class\n\n- Mapper moved to separate module\n- Other modules can use Mapper to get desired networks\n- salt_master is now a separate single instance\n- Updated file handling on salt\n- ping.py, an scripted flexible interface to ping command\n  multithreaded ping execution, 15 at once\n- New commands in network: \u0027ping\u0027 and \u0027list\u0027\n- New error when runtime has no network listed in reclass\n\nFixes:\n- Master node code handling\n- Unknown node codes detection\n- Proper node code search and handling\n- File upload procedures updated\n- Packages report fix\n\nChange-Id: I5959210aed53b20b04b05ea880218e93239bb661\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": "265f45e512bcc5ddade343d798c5560873696d0a",
      "tree": "ea085ddc2d1888b7626b98486833e7eb3e30a703",
      "parents": [
        "b151fbeca03fb2ee6625d23d9c64317191b1d3d0"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Apr 23 18:51:23 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Apr 23 19:02:03 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\nChange-Id: I10bc973776595779b563b84548d46367bcd0886f\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "b151fbeca03fb2ee6625d23d9c64317191b1d3d0",
      "tree": "780d4ecda3bde7c1e71d0448151d3ee0fccb351d",
      "parents": [
        "ec688e099a2dcdef147db3a0d61477ade519479e"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Apr 22 16:53:30 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Apr 22 16:53:30 2019 -0500"
      },
      "message": "Updates on error logging and handling\n\n- iterative error log storage\n- config like value storage\n- updates logging format for improved readablility\n\nChange-Id: I171a1b44452c1225340a7d7b1f7593ab9b8ce7c2\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "3ebc5637dd19e6c87680e44bac5dc4f8d680bd47",
      "tree": "ad60a9a1d611868ee54cf43611f2f7e448bf6bb0",
      "parents": [
        "fa3b0f26e72824d0215c86ecc95feb4042f66f2b"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Apr 18 16:47:18 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Apr 19 18:39:23 2019 -0500"
      },
      "message": "Network check fixes\n\n- Proper network mapping\n- Proper reclass lookup\n- VIP detection\n- Simple error gathering\n- IP shown as \u0027exploded\u0027, i.e. in CIDR format\n- MTU matching and detection\n- Errors class for handling errors, including codes and indices\n- Summary and detailed errors view\n- Flake8 refactoring\n\nChange-Id: I8ee37d345bdc21c7ad930bf8305acd28f8c121c8\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": "c9055712b9974f18790776a6751c99d11f936de8",
      "tree": "c00f31730be98a45b6f8a1d54a18298181bc3fe0",
      "parents": [
        "f808cd25aa60c6d85e17e8baa6e8d0ed64e1d961"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Mar 01 14:43:56 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Mar 01 14:43:56 2019 -0600"
      },
      "message": "Module refactoring and dynamic loading\n"
    }
  ]
}
