)]}'
{
  "log": [
    {
      "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": "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": "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": "682e7df1663e5f80ac50243fe9ed77e426b106b0",
      "tree": "322ef53af505add29d4f05bf394aaa8054c7b17e",
      "parents": [
        "4148552173c5ca56d19d14a3b799a667a61230ce"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Apr 12 17:51:55 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri Apr 12 17:56:58 2019 -0500"
      },
      "message": "Fix for \u0027full\u0027 parameter\n\nChange-Id: Iffdd19e7bd6b0058fefffe24706c4d94d3117665\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "d79dde10ad3a0d2be82d1b6d23de47d45bdd47b0",
      "tree": "f6e815a06ac9edcb3b023304fce71a1a1d6f6b52",
      "parents": [
        "588b2c429b03793013018f5322d7b3882eeb866b"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Mar 13 19:07:46 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Mar 13 19:07:46 2019 -0500"
      },
      "message": "Routes runtime and reclass parsing and matching\n"
    },
    {
      "commit": "73aa99a1f04fa1ae287cb99920808c26a4cd3b4c",
      "tree": "e0fff5c09b0f25d7de0dc1c18dd6674b48513d94",
      "parents": [
        "c9055712b9974f18790776a6751c99d11f936de8"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Mar 06 10:02:43 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Mar 06 10:02:43 2019 -0600"
      },
      "message": "Sniffer init\n"
    },
    {
      "commit": "cba3b368b31f2b560bf9a73d424f41ee6f2a2eff",
      "tree": "fc91016223bc48e28cd2398528b8b90d44acc47b",
      "parents": [
        "06ab17d0a42b3cdae5699c7314502b46a07cc273"
      ],
      "author": {
        "name": "Alexander",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 27 10:06:43 2019 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 27 10:06:43 2019 -0600"
      },
      "message": "Delete net_checks.py"
    },
    {
      "commit": "bd256e888e76fc2fcc83f1fc14fd9d63ee6dfd50",
      "tree": "66680e0fc56023c6524d0158405a655f5d7da2d7",
      "parents": [
        "5d1eebb08c224f803fb420cc3c346a132c010f7b"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Jan 25 18:27:01 2019 +0100"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Jan 25 18:27:01 2019 +0100"
      },
      "message": "upper device var type fix\n"
    },
    {
      "commit": "5d1eebb08c224f803fb420cc3c346a132c010f7b",
      "tree": "b06c79a252d6b53bc1c2bf070c4e87182845adeb",
      "parents": [
        "0137dad43af437cd81eba416eb13c05ff0e8a089"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Jan 25 18:15:36 2019 +0100"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Jan 25 18:15:36 2019 +0100"
      },
      "message": "Added if dev type detection\n"
    },
    {
      "commit": "0137dad43af437cd81eba416eb13c05ff0e8a089",
      "tree": "781774acd36a128dfa7bb91fd75c5f9a989026ab",
      "parents": [
        "f00743b9c6dbc59ae1e15297acae51e933e351e7"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Jan 25 16:18:42 2019 +0100"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Jan 25 16:18:42 2019 +0100"
      },
      "message": "Improvements in ifs_data.py script and some wording\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": "fb9f943433b3e9aadd7dd69b2f808c16a4d83b40",
      "tree": "5bf44797737539b66aa545a9dce090986c147234",
      "parents": [
        "ce010bae8c6500066e93ffd862c5221eea600bf8"
      ],
      "author": {
        "name": "Oleksandr Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Nov 23 17:39:12 2018 +0100"
      },
      "committer": {
        "name": "Oleksandr Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Nov 23 17:39:12 2018 +0100"
      },
      "message": "Script to parse \u0027ip a\u0027 output\n"
    },
    {
      "commit": "4448e1358a791a9c6e6bb0134a0b4ac764be9fb6",
      "tree": "7b3a7a158a3b2e6ac7c3b7a2e65f92a836b4c3cd",
      "parents": [
        "93c34bef69451ca3a366725c6753890b08d8cbe0"
      ],
      "author": {
        "name": "savex",
        "email": "a.savex@gmail.com",
        "time": "Wed Apr 25 15:51:14 2018 +0200"
      },
      "committer": {
        "name": "savex",
        "email": "a.savex@gmail.com",
        "time": "Wed Apr 25 15:51:14 2018 +0200"
      },
      "message": "Initial version of installed packages report\n"
    }
  ]
}
