)]}'
{
  "log": [
    {
      "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": "2e213b2573f84188872a4ed0bf1cf76b901d9ddf",
      "tree": "176081bc746034dd97d37a42d5d4e0816f14f8d8",
      "parents": [
        "db4c4108b28ea16d5edf43067e5c91a38328c00d"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Dec 05 10:40:29 2019 -0600"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Dec 05 10:40:29 2019 -0600"
      },
      "message": "New package versions and Network ping hotfix\n\n- added packages for 2.6 and 2.7\n- method hotfix for --detailed option in mcp-net ping command\n- some draft routines to get BIOS versions in net report\n\nChange-Id: I927a95eb6a3041989e9d3099a1fa11b5edfd9757\nRelated-PROD: PROD-34257\n"
    },
    {
      "commit": "db4c4108b28ea16d5edf43067e5c91a38328c00d",
      "tree": "442d951b1cbbf04da428649633bd706dbd3c05f0",
      "parents": [
        "c96fdd3d6732cf01ec80c2c86b27fdab9c50dafa"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Oct 15 16:04:12 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Oct 15 16:04:12 2019 -0500"
      },
      "message": "Node code lookup hotfix\n\nChange-Id: I0cd37193504c23a1321d093d343cb995926f651c\nRelated-PROD: PROD-38972\n"
    },
    {
      "commit": "26b8a8c05c5fbecc6f48d0d54ceaf0fbc777a6ad",
      "tree": "1a90916f2c46590c8f8ab1c7516e90dfbb6d512f",
      "parents": [
        "f3dbe86b9b1b6ced44a4536fa2ee739e422abfdf"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Wed Oct 09 17:09:07 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Wed Oct 09 17:09:07 2019 -0500"
      },
      "message": "Packages report updates\n\n- All Errors are warnings by default\n- If package version differs across nodes\n  warning becomes error\n\nChange-Id: I1e6d338cfae252cc5d8ee6ededdd757ec070eb2c\nRelated-PROD: PROD-38972\n"
    },
    {
      "commit": "1839bbfbba18b60aba82fbfbb1823a6ec678a007",
      "tree": "0bd6cd1792a3acd0dddd8bec3d8e17f2dfdf1b4a",
      "parents": [
        "836fac892c2e094ea6e5e121bf3f9d6d3073633f"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Aug 22 17:17:21 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Thu Sep 05 11:45:43 2019 -0500"
      },
      "message": "Additions and fixes to network check\n\n- Per interface tree maps\n- proper virtial nodes detection\n- KVM nodes listing\n- CPU count fix\n- Basic service fail check (wip)\n\nChange-Id: I62b68793404eeff957ef70468c954df2fda869a5\nRelated-PROD: PROD-38972\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": "9e4bfafc262405b51c88aed7423846f489b57424",
      "tree": "053d2e2a9fc6f12ac20308bb1e47c2a4accde66c",
      "parents": [
        "3b8e543bf8516d576b74b5bf96aa075f59bc6667"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Jun 11 15:21:59 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Jun 14 12:43:42 2019 -0500"
      },
      "message": "Fixed net errors, optimizations and sniffer WIP\n\nQuick fix for package versions compare logic:\n - repo update is OK when candidate is the same\n - repo update is not ok when all versions different\n\nChange-Id: I6602d5486b98375b254d0d92a6071fb26582b770\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": "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": "0ed4f7688d7d8d836af71199b440a389b6e9fce3",
      "tree": "42bb9d72d93dabe43c7cfbf98510957dd93ea35f",
      "parents": [
        "74dc135db14885b7fb315b80a30a64c3c94e5d97"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 17 17:55:33 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 17 17:55:33 2019 -0500"
      },
      "message": "Package versions divided by mainteiners\n\n- Mirantis packages\n- Other packages\n\nChange-Id: I0bdbed7d03aa577c12afc504506896d887de7b16\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "74dc135db14885b7fb315b80a30a64c3c94e5d97",
      "tree": "7084fe6609befc60ce221e58c7249c40201d1849",
      "parents": [
        "d9fd85e5bfd7ba5d800021ac7af0545c5123a7c9"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 17 13:18:24 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 17 13:18:24 2019 -0500"
      },
      "message": "Show package and other improvements\n\nChange-Id: I449a32a68be7d9c87c874c641b353866030297ae\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": "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": "efa79c4dffabfc5aa3b3042fe5e6e3e62591be55",
      "tree": "38f5d1df7dbb74a990447df4de327d114d54507a",
      "parents": [
        "d79dde10ad3a0d2be82d1b6d23de47d45bdd47b0"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Mar 14 19:14:04 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Mar 14 19:14:04 2019 -0500"
      },
      "message": "Skipping nodes, error handling\n"
    },
    {
      "commit": "42b89fa5e55dec37e75371dce776ee1aee86e748",
      "tree": "9d70f80bc07a912cd2a92cfc9138b492830dd04d",
      "parents": [
        "01f0d7f4867073b93a1012f3db42432603367c3f"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Mar 07 18:45:26 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Mar 07 18:45:26 2019 -0600"
      },
      "message": "Reclass values print and message updates\n"
    },
    {
      "commit": "f808cd25aa60c6d85e17e8baa6e8d0ed64e1d961",
      "tree": "568b54c9edf96df6e2d04e337efcaf707edf9ec3",
      "parents": [
        "4c40632429ff4fe1fe7b7fd79eda1816bd575bd5"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Mar 01 13:17:59 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Mar 01 13:17:59 2019 -0600"
      },
      "message": "Messages refactoring\n"
    },
    {
      "commit": "9df93a90ad1f3488dde7c1cf048817b98e108da0",
      "tree": "d38308a798702bb554753dfc419b80749cb26ee1",
      "parents": [
        "6357683b3bba04e6994604dbdb292e7903246434"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 27 17:40:16 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 27 17:40:16 2019 -0600"
      },
      "message": "Automatic nodes listing from API\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": "799bee304aea51ca461e58b864482af4b763d855",
      "tree": "c40d2c149b96804f1e4682a092b126253c88f213",
      "parents": [
        "e47f7f4cb0b7a14da5b7bd1d23cc1d20a2afc655"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 20 17:19:26 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 20 17:19:26 2019 -0600"
      },
      "message": "Added debug option\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"
    }
  ]
}
