)]}'
{
  "log": [
    {
      "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": "571bf15cda8945886319104d5db519902a12fa67",
      "tree": "fb1b19f6befdbce6a1db84941f8d4484ffbadfd4",
      "parents": [
        "92e07cebbcd2dea0b38f23dc465a7a1384af60bf"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 16:28:30 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 16:29:33 2019 -0500"
      },
      "message": "Cross module init hotfix\n\nChange-Id: Ie72ffcf1d4142cf49a089c85c5d9ce922f2dfe7f\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": "cf91b18b916874ea5f669297cd9cc386445fa0b2",
      "tree": "797d1337d4cf1e7a79b6c01682c01f62b3e07842",
      "parents": [
        "d0391d4103f0378fdbdeb2b07783f14267c45fa5"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 11:57:07 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 31 11:57:07 2019 -0500"
      },
      "message": "Regression fixes for command execution\n\nChange-Id: I8591a206268b7afcb8f561f2eab4fc21b2172fc1\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": "29ee76f6ff8ca61d1783173a376057826f79af2e",
      "tree": "35b4bd4fa9181fcde979255c639a33ba0b5107c2",
      "parents": [
        "0ed4f7688d7d8d836af71199b440a389b6e9fce3"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 17 18:52:29 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Fri May 17 18:52:29 2019 -0500"
      },
      "message": "Mainteiner names special chars fix\n\nChange-Id: I4855094c2b1c4d32192a3d2d943d22e1260e9f3a\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": "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": "ec688e099a2dcdef147db3a0d61477ade519479e",
      "tree": "781d1c4fc1cc0ba41da27718dadc46cee2aa0465",
      "parents": [
        "a05f74ed4492d68932438c9e476188beb9928705"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Apr 22 12:05:06 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Apr 22 12:06:38 2019 -0500"
      },
      "message": "Network checks updates\n\n- Node specific network errors\n\nChange-Id: I4cc830aeaa129db20895a6902a429facf8622b20\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "a05f74ed4492d68932438c9e476188beb9928705",
      "tree": "95f5f0809437dfc8d70405fbf229861d6617ddfb",
      "parents": [
        "7c9494ea784eb07457bef105fef4290451bf0b14"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Apr 22 10:57:25 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Apr 22 10:57:25 2019 -0500"
      },
      "message": "Quick fix on network mapping output\n\nChange-Id: I1966b681f718729f82a507bfde55319d4a996344\nRelated-PROD: PROD-28199\n"
    },
    {
      "commit": "7c9494ea784eb07457bef105fef4290451bf0b14",
      "tree": "89bf15a4b0093e34d56977084aad192068c53cf1",
      "parents": [
        "3ebc5637dd19e6c87680e44bac5dc4f8d680bd47"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Apr 22 10:40:59 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Mon Apr 22 10:41:13 2019 -0500"
      },
      "message": "Quick fix for pkg_dir\n\nChange-Id: Id03036fb3ed04b364cf610f6c45706cb000925c6\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": "b8af13af4ef2d307fefbe50034c4da66a0430e67",
      "tree": "d0cd49bcb3aaa8ef183dbf2ab35213729acfea9c",
      "parents": [
        "682e7df1663e5f80ac50243fe9ed77e426b106b0"
      ],
      "author": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Apr 16 18:38:12 2019 -0500"
      },
      "committer": {
        "name": "Alex",
        "email": "osavatieiev@mirantis.com",
        "time": "Tue Apr 16 18:38:24 2019 -0500"
      },
      "message": "Fixes for reclass diff and README:\n\nChange-Id: Id7b8aa425cd7e4317ba8f2e1e640bb515392c7d1\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": "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": "3db12a7e1ebe77a19ba33185fd69c18988c62153",
      "tree": "5ae8bc0fb35d8cb8046bee7db55cd949562f98e6",
      "parents": [
        "0c8f0db18f5a80ecf56594cacea0eac8f49b4e72"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Mar 22 16:32:31 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Fri Mar 22 16:32:31 2019 -0500"
      },
      "message": "Package versions report updates\n"
    },
    {
      "commit": "0c8f0db18f5a80ecf56594cacea0eac8f49b4e72",
      "tree": "bba94efefd3886835f2e0102d7a84787b4e50dcb",
      "parents": [
        "fa5910adcf52b3758ae8d55b989976dcad6a7c00"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 18:15:39 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 18:15:39 2019 -0500"
      },
      "message": "Package versions debug data\n"
    },
    {
      "commit": "fa5910adcf52b3758ae8d55b989976dcad6a7c00",
      "tree": "abf73a1b09b06a9c26ad17f1cb68f501f2ba8888",
      "parents": [
        "ccebcbe415b2bfc6751f1ca5ff8247ea693130fc"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 18:12:24 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 18:12:24 2019 -0500"
      },
      "message": "Error handling for package versions collecting\n"
    },
    {
      "commit": "ccebcbe415b2bfc6751f1ca5ff8247ea693130fc",
      "tree": "b46a4882e28c1e26d1dbeecfd30d5eb94db07362",
      "parents": [
        "30d8c5294c58a3e00ca0f9475f39533ca33e2f99"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 17:31:15 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 17:31:15 2019 -0500"
      },
      "message": "gateway search quickfix\n"
    },
    {
      "commit": "30d8c5294c58a3e00ca0f9475f39533ca33e2f99",
      "tree": "b3f1efb22f7081c15198ed097f5da0221a824a1b",
      "parents": [
        "a1f6f8ca4af207e1f5186fa40d853763cdfc589a"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 17:27:21 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 17:27:21 2019 -0500"
      },
      "message": "no IF handling\n"
    },
    {
      "commit": "a1f6f8ca4af207e1f5186fa40d853763cdfc589a",
      "tree": "be37abce3d84b5a81815f04002700ccb3ee846c9",
      "parents": [
        "08428f260e2b700d01fdfa036baa03642c68546e"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 17:13:55 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 18 17:13:55 2019 -0500"
      },
      "message": "Node skip on no IF in reclass\n"
    },
    {
      "commit": "08428f260e2b700d01fdfa036baa03642c68546e",
      "tree": "776382438f020bd3b45d2c14a82a7942722e899a",
      "parents": [
        "efa79c4dffabfc5aa3b3042fe5e6e3e62591be55"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Mar 14 21:21:31 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Mar 14 21:21:31 2019 -0500"
      },
      "message": "Reverted to simple network matching\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": "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": "588b2c429b03793013018f5322d7b3882eeb866b",
      "tree": "f9e4c392f65775bb12d9fa8e65c5f17ee5431323",
      "parents": [
        "6d010be027c6c41bdb011354ea365f5fd96cc1dd"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 11 10:39:21 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 11 10:39:21 2019 -0500"
      },
      "message": "Network  cli formatting\n"
    },
    {
      "commit": "6d010be027c6c41bdb011354ea365f5fd96cc1dd",
      "tree": "afe5640b9fcc00e0e275a67b3bb788b9148389af",
      "parents": [
        "42b89fa5e55dec37e75371dce776ee1aee86e748"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 11 10:36:59 2019 -0500"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Mon Mar 11 10:36:59 2019 -0500"
      },
      "message": "templates dir fix\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": "01f0d7f4867073b93a1012f3db42432603367c3f",
      "tree": "b7bb20bf20652fcc7a641bb05c5108c3cffad524",
      "parents": [
        "f526dc0c913c3080b11b8db6ce2946f71f9d4afb"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Mar 07 17:53:29 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Mar 07 17:53:29 2019 -0600"
      },
      "message": "Reclass networks and data collection refactoring\n"
    },
    {
      "commit": "f526dc0c913c3080b11b8db6ce2946f71f9d4afb",
      "tree": "513ed37fa66e9aa025052766f33be8615c39acec",
      "parents": [
        "73aa99a1f04fa1ae287cb99920808c26a4cd3b4c"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Mar 06 10:11:32 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Mar 06 10:11:32 2019 -0600"
      },
      "message": "Import fixes\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"
    },
    {
      "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": "4c40632429ff4fe1fe7b7fd79eda1816bd575bd5",
      "tree": "b625123f02049b2e17021f76acd664142e47b4b2",
      "parents": [
        "30862b83e1718b9f2c7781ce2545de7ae7aa61a4"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Feb 28 17:37:09 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Feb 28 17:37:09 2019 -0600"
      },
      "message": "Entrypoint  fixes\n"
    },
    {
      "commit": "4f149d063492b631f9dc35f3ff582463d6403322",
      "tree": "4c20cd916e8075246b2a42bce4b96c08dc949046",
      "parents": [
        "9df93a90ad1f3488dde7c1cf048817b98e108da0"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Feb 28 17:15:29 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Feb 28 17:15:29 2019 -0600"
      },
      "message": "Reclass Diff reorganize and updates\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": "06ab17d0a42b3cdae5699c7314502b46a07cc273",
      "tree": "6a17051b69409647e8e285a6f6969dab7276ba74",
      "parents": [
        "9c6421186ee5a58b2622205dda02890220f46eb1"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Tue Feb 26 18:40:48 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Tue Feb 26 18:40:48 2019 -0600"
      },
      "message": "Reclass diff and list commands\n"
    },
    {
      "commit": "9c6421186ee5a58b2622205dda02890220f46eb1",
      "tree": "63e8765dbd78bc6a4e993448ee08f8894391025b",
      "parents": [
        "a05921f7e2b384b30ed0a421d36db5f8efa89395"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Tue Feb 26 13:55:43 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Tue Feb 26 13:55:43 2019 -0600"
      },
      "message": "Command execution structure and error handling\n"
    },
    {
      "commit": "a05921f7e2b384b30ed0a421d36db5f8efa89395",
      "tree": "2f02c90f27c5d22fda713d5a1c45dc81d5eeea72",
      "parents": [
        "e961399ac91fc8446022850b797529c0401ac9a2"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Feb 21 18:21:39 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Feb 21 18:21:39 2019 -0600"
      },
      "message": "fixes typo\n"
    },
    {
      "commit": "e961399ac91fc8446022850b797529c0401ac9a2",
      "tree": "448c73a1ab9f9b8db00649478e3595f249e077e8",
      "parents": [
        "9b2f6511b097916dca90cc50f29ea0543b45d508"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Feb 21 18:20:35 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Thu Feb 21 18:20:35 2019 -0600"
      },
      "message": "network check and text output\n"
    },
    {
      "commit": "9b2f6511b097916dca90cc50f29ea0543b45d508",
      "tree": "8ab427d4e876bc72859421759886b51d26e900f6",
      "parents": [
        "799bee304aea51ca461e58b864482af4b763d855"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 20 18:05:00 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 20 18:05:00 2019 -0600"
      },
      "message": "WIP for network check\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": "e47f7f4cb0b7a14da5b7bd1d23cc1d20a2afc655",
      "tree": "8d609342ee18df2d431365183a8ee20fa5a955db",
      "parents": [
        "5118de03b671d109b6cc1ca4398095449cf69279"
      ],
      "author": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 20 16:41:23 2019 -0600"
      },
      "committer": {
        "name": "Alex Savatieiev",
        "email": "a.savex@gmail.com",
        "time": "Wed Feb 20 16:41:23 2019 -0600"
      },
      "message": "package versions implemented\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"
    }
  ]
}
