)]}'
{
  "log": [
    {
      "commit": "d2f1bbebd734e853f4afd762a9f76d6584df21c5",
      "tree": "7634a8de41d3ab3f884fe0beded1659a594c16ca",
      "parents": [
        "5a7f7fd645f3a8244e1d4fe93960b7508afbb878"
      ],
      "author": {
        "name": "Filip Pytloun",
        "email": "filip@pytloun.cz",
        "time": "Mon Feb 27 19:03:51 2017 +0100"
      },
      "committer": {
        "name": "Filip Pytloun",
        "email": "filip@pytloun.cz",
        "time": "Mon Feb 27 19:06:00 2017 +0100"
      },
      "message": "Fix wrong method name\n\nChange-Id: Icf22fa8dbf93bb29618ab2ef9fa9daedde68720b\n"
    },
    {
      "commit": "5a7f7fd645f3a8244e1d4fe93960b7508afbb878",
      "tree": "ca50d95f643577bb65aef80a3d261f10c7d0c3a8",
      "parents": [
        "f06ca0f512dc3b3b97a46a3817e49c080ee384f5"
      ],
      "author": {
        "name": "Filip Pytloun",
        "email": "filip@pytloun.cz",
        "time": "Mon Feb 27 18:50:25 2017 +0100"
      },
      "committer": {
        "name": "Ivan Berezovskiy",
        "email": "iberezovskiy@mirantis.com",
        "time": "Mon Feb 27 17:52:06 2017 +0000"
      },
      "message": "Always use compound match for salt minions\n\nChange-Id: Ief6ae8463181eaadb3e4d29c8ae98d829abd2c09\n"
    },
    {
      "commit": "f06ca0f512dc3b3b97a46a3817e49c080ee384f5",
      "tree": "aa4e34c10dd34c0c68fb166cdbc8bdefb97719e5",
      "parents": [
        "fb7cbcb2c31c4c38a16f6fa483db3fc60a9f78f7"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Mon Feb 27 15:18:50 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Mon Feb 27 15:18:50 2017 +0100"
      },
      "message": "fix missing salt class in installOpenstackMkControl\n\nChange-Id: Id553668b441df6b1c1134efbd3e442a60149063d\n"
    },
    {
      "commit": "fb7cbcb2c31c4c38a16f6fa483db3fc60a9f78f7",
      "tree": "090366752fb617e2c7d7cd60c96b7d041b912b18",
      "parents": [
        "c3964e573f72db201a1f0649dea84afe4738d802"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Fri Feb 24 14:02:03 2017 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Fri Feb 24 14:02:03 2017 +0100"
      },
      "message": "Git operation methods\n\nChange-Id: I401f9c4ff2dd5349fa881d71a06defd7080e8425\n"
    },
    {
      "commit": "c3964e573f72db201a1f0649dea84afe4738d802",
      "tree": "f2b7918306bec85c8351ded57bb118fad13c1074",
      "parents": [
        "b1fe964cd78badd992de452ca7cc53a09f2520c9"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Wed Feb 22 14:07:37 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Wed Feb 22 14:14:24 2017 +0100"
      },
      "message": "use NonCPS annotated method for working with dicts\n\nChange-Id: I56ef5098dd0ea95d57d80397e445a8bc1fab915c\n"
    },
    {
      "commit": "b1fe964cd78badd992de452ca7cc53a09f2520c9",
      "tree": "d4bd5002b2135d6ecf2f0ad5a5f3767416e45daf",
      "parents": [
        "ee878cd5c90c0826cc892a3e368acaac7e74a642"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Wed Feb 22 11:21:17 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Wed Feb 22 11:21:17 2017 +0100"
      },
      "message": "fix serializable errors\n\nprevious code fails with java.io.NotSerializableException\n\nChange-Id: I47866d320612fdf6dd1223d75a9cc7e452fbec44\n"
    },
    {
      "commit": "ee878cd5c90c0826cc892a3e368acaac7e74a642",
      "tree": "4c513844eaec2eae155869a6b133e141dd0ef163",
      "parents": [
        "03029447ba10fbf6b1b518934c5eacafe72c1d56"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Wed Feb 22 10:17:16 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Wed Feb 22 10:17:16 2017 +0100"
      },
      "message": "remove result formater\n\nFormater is buggy as hell, lets move back to simple \u0026 always working\necho.\n\nChange-Id: Ica12aa345b5d83d183c4df3a0563088c03793263\n"
    },
    {
      "commit": "03029447ba10fbf6b1b518934c5eacafe72c1d56",
      "tree": "ad498ee3cf249bde237aefe889f28f8cc6fe4b98",
      "parents": [
        "e19ddeab29a5b7987b0e8b0d3bc6901f8e6f95b4"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Tue Feb 21 17:14:29 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Tue Feb 21 17:14:29 2017 +0100"
      },
      "message": "fix heat env params\n\nPrevious code was not working.\n\nChange-Id: I87e8f003ada62de989543d3ff7a95b443fc9db46\n"
    },
    {
      "commit": "e19ddeab29a5b7987b0e8b0d3bc6901f8e6f95b4",
      "tree": "4ad3ee8e5085aa1abcee160f1fb9bed20361ae92",
      "parents": [
        "7bec05300e58e07ec11828de6c911f50e96cb454"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Tue Feb 21 11:09:40 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Tue Feb 21 11:12:49 2017 +0100"
      },
      "message": "print more information about jobs and states\n\nKeep all options (raw + formated) and check which one is better.\n\nChange-Id: Iab0cb012a6620a36fb81f91c24c6fed4c30191bd\n"
    },
    {
      "commit": "7bec05300e58e07ec11828de6c911f50e96cb454",
      "tree": "5fede92af3d011cb8d4fd71ebbe64c57d3151f71",
      "parents": [
        "ead12d977dfc5c8bbd3b002c65387124d80f3153"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Mon Feb 20 15:39:31 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Mon Feb 20 15:51:33 2017 +0100"
      },
      "message": "fix restGet in Salt\n\nChange-Id: I03179ddd77a6c74b581fc179e7c9d0a1c95047e9\n"
    },
    {
      "commit": "ead12d977dfc5c8bbd3b002c65387124d80f3153",
      "tree": "250ae9854412779c1d1a16f6705825cae39062a7",
      "parents": [
        "d4240b5a6ea777f86429bb9098ac9f63b0603429"
      ],
      "author": {
        "name": "Ryabin Sergey",
        "email": "sryabin@mirantis.com",
        "time": "Mon Feb 20 16:52:01 2017 +0400"
      },
      "committer": {
        "name": "Sergey Ryabin",
        "email": "sryabin@mirantis.com",
        "time": "Mon Feb 20 13:23:43 2017 +0000"
      },
      "message": "Reject k8s credentials in k8s api url\n\nChange-Id: Ia9a864a10107018d98684e3e7044b95c659cee28\n"
    },
    {
      "commit": "d4240b5a6ea777f86429bb9098ac9f63b0603429",
      "tree": "9c27685145082ecd69b83728c5ca46bf27e0b5d1",
      "parents": [
        "79ecec3428e4660b4728ffdcd37f9bc7daf75dd9"
      ],
      "author": {
        "name": "iberezovskiy",
        "email": "iberezovskiy@mirantis.com",
        "time": "Mon Feb 20 17:18:28 2017 +0400"
      },
      "committer": {
        "name": "iberezovskiy",
        "email": "iberezovskiy@mirantis.com",
        "time": "Mon Feb 20 17:18:28 2017 +0400"
      },
      "message": "Fix to uppercase for mk libs\n\nChange-Id: I2bc2d592a41c1c3d7fb5a0a2fb8d489a19daba0b\n"
    },
    {
      "commit": "79ecec3428e4660b4728ffdcd37f9bc7daf75dd9",
      "tree": "25b568a10a6c8ea029f7ddb989eb985849bb7cfc",
      "parents": [
        "7c0abfe2bc316e258e1b170f347227ae0eb1bf68"
      ],
      "author": {
        "name": "Jakub Josef",
        "email": "jakub.josef@gmail.com",
        "time": "Fri Feb 17 14:36:28 2017 +0100"
      },
      "committer": {
        "name": "Filip Pytloun",
        "email": "filip@pytloun.cz",
        "time": "Mon Feb 20 13:41:39 2017 +0100"
      },
      "message": "MCP pipeline library merged with ccp-pipeline-libs repo.\n\nChange-Id: I74080e18c5a482b7bf44b5516228b7bfe1fe3586\n"
    },
    {
      "commit": "7c0abfe2bc316e258e1b170f347227ae0eb1bf68",
      "tree": "4602d7d18d677d8ca4704c3857ecfc5865354524",
      "parents": [
        "a78ee8d560b34b285793b5de74a43f2709eaa02f"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Tue Feb 14 15:42:02 2017 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Fri Feb 17 13:33:01 2017 +0000"
      },
      "message": "Add ability to search images by their tag\n\nChange-Id: Ic3e05896018bb160fdc6b3a9b2ed591d2b69e99f\n"
    },
    {
      "commit": "a78ee8d560b34b285793b5de74a43f2709eaa02f",
      "tree": "7c9248fbe8d8f52e8ac90ef8f795ff21d830a701",
      "parents": [
        "40d384e78dbb9bb91dffd9ea55815279c8e1b284"
      ],
      "author": {
        "name": "Ryabin Sergey",
        "email": "sryabin@mirantis.com",
        "time": "Tue Feb 07 12:52:18 2017 +0400"
      },
      "committer": {
        "name": "Ryabin Sergey",
        "email": "sryabin@mirantis.com",
        "time": "Tue Feb 14 19:10:47 2017 +0400"
      },
      "message": "ccp CI/CD object model\n\nExample usage (bvt pipeline):\n\n  def ccpCiCd \u003d new com.mirantis.mcp.CCPCICD().newInstance(this, env)\n\n  ccpCiCd.applyPipelineParameters()\n\n  ccpCiCd.fetchEnvConfiguration()\n  ccpCiCd.parametrizeConfig()\n\n  ccpCiCd.build()\n  ccpCiCd.deploy()\n  ccpCiCd.cleanup()\n\nChange-Id: Ie4a8328947f77334943b6dc6343960721985ad84\n"
    },
    {
      "commit": "40d384e78dbb9bb91dffd9ea55815279c8e1b284",
      "tree": "f6856aac8f11206b7a2f630f9c3a0fb6357b86d0",
      "parents": [
        "86e19c7e1f6843e54cffc7f33b00fca9ff9162fa"
      ],
      "author": {
        "name": "azvyagintsev",
        "email": "azvyagintsev@mirantis.com",
        "time": "Mon Feb 06 15:11:05 2017 +0200"
      },
      "committer": {
        "name": "azvyagintsev",
        "email": "azvyagintsev@mirantis.com",
        "time": "Mon Feb 06 18:21:23 2017 +0200"
      },
      "message": "Extend gitSSHCheckout\n\n  * Seperate ssh and http to new function\n  * add default behavior for protocol\n\nChange-Id: Ib3072a529c71a88e9c7b6469ef0304c5847031b4\n"
    },
    {
      "commit": "86e19c7e1f6843e54cffc7f33b00fca9ff9162fa",
      "tree": "4276cdade55cbce0017ee7ab48e622472704cc8c",
      "parents": [
        "85ae52b6580cd5584c4aacfe906b9e5e7bdf1049"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Tue Jan 31 13:09:42 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Feb 06 12:15:20 2017 +0000"
      },
      "message": "Don\u0027t override user provided by credentials\n\nThere is no need to specify user/login in repository\nURL if credentials are used.\n\nChange-Id: Id9e998e5ed618daa07f6e661de01d8280e0fa50b\n"
    },
    {
      "commit": "85ae52b6580cd5584c4aacfe906b9e5e7bdf1049",
      "tree": "e6807a871c927288c2ac9a142b7c28b8b30040a4",
      "parents": [
        "9a58e142d97ac2959b2b62ae4577a87809470f44"
      ],
      "author": {
        "name": "asledzinskiy",
        "email": "asledzinskiy@mirantis.com",
        "time": "Thu Feb 02 17:59:20 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Fri Feb 03 12:49:56 2017 +0000"
      },
      "message": "Install requirements on env preparation\n\nChange-Id: I5479137974bed4f8309d41bc5f2c2f320519686a\n"
    },
    {
      "commit": "9a58e142d97ac2959b2b62ae4577a87809470f44",
      "tree": "3f5406c5e549e3cfc960112cb39e117078a1c30b",
      "parents": [
        "21c936c88c009b702a8e27ad334e906af492279a"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Thu Feb 02 16:09:33 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Thu Feb 02 16:09:33 2017 +0100"
      },
      "message": "remove batch run of kubernetes.master.setup\n\nBatch runs are broken starting from Salt 2016.3.5 (Boron)\nUsing run targeted on exact host is sufficient.\n\nWe may add pillar target when it is added to reclass cluster level.\n\nChange-Id: I9e59d81ad0767af345dff52395c8d34d7a926d3a\n"
    },
    {
      "commit": "21c936c88c009b702a8e27ad334e906af492279a",
      "tree": "bf33d9752fb577977b265b3727317387234dd9f2",
      "parents": [
        "6e3beae2dbceba0365851badb1b399a2fc4a7e54"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Feb 02 13:43:14 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Feb 02 11:49:56 2017 +0000"
      },
      "message": "Add method for jinjaTemplates rendering\n\nAlso add custom bool filter\n\nChange-Id: I69ba0bc21c325fd37108331fba86e3f66f74bcbd\n"
    },
    {
      "commit": "6e3beae2dbceba0365851badb1b399a2fc4a7e54",
      "tree": "14b98299f7d7963e6fc503853b7d3c9166c64f61",
      "parents": [
        "62747d4b5798455d50cf7afe5575788715fca18b"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Feb 02 15:30:26 2017 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Feb 02 15:38:18 2017 +0400"
      },
      "message": "Fix shell for kill command\n\nBase shell is not support -SIG notation, so directly\nspecify QUIT command.\n\nChange-Id: I98aa7c96f59cb366eef4f012238cdc222305c1ef\n"
    },
    {
      "commit": "62747d4b5798455d50cf7afe5575788715fca18b",
      "tree": "45c5523beb047780c1d6153138d30ca26fd858be",
      "parents": [
        "d6dc108ee1d355b4da03f42f5e43f8a98ce76fa8"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Feb 02 14:23:59 2017 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Feb 02 14:23:59 2017 +0400"
      },
      "message": "Kill nginx process with SIGQUIT\n\nBy default kill sends SIGTERM which doesn\u0027t propertly handled\nport release if such opened. Instead of that SIGQUIT correctly\ncloses process and releases opened by this propess ports.\n\nChange-Id: I0c513c26315ffc53303b2ea79a166d7bdf6587be\n"
    },
    {
      "commit": "d6dc108ee1d355b4da03f42f5e43f8a98ce76fa8",
      "tree": "44f52aa30d68f5cd00ace02b056499ef11ac964f",
      "parents": [
        "def4df08c6df092a88ad8d22d66b011788fd3e52"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Jan 25 19:29:03 2017 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Feb 01 13:13:42 2017 +0000"
      },
      "message": "Add functionaly for configuring and deploying nginx proxy\n\nChange-Id: I107e33c8fa5f4d51abb28931db1cf927cb8fe4da\n"
    },
    {
      "commit": "def4df08c6df092a88ad8d22d66b011788fd3e52",
      "tree": "4409df23b08ae9211c306391855beac0d1df164f",
      "parents": [
        "d79430f203c1deaa16f148485bfae925b37c9100"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Feb 01 14:17:46 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Feb 01 14:17:46 2017 +0200"
      },
      "message": "[calico] Fix glide cache issues with libcalico-go\n\nChange-Id: Icbfcd4c789d3eb237464f5ea54d79c0748971889\n"
    },
    {
      "commit": "d79430f203c1deaa16f148485bfae925b37c9100",
      "tree": "c5f467b3e3749081026f4edb0b318cf1ccc681cd",
      "parents": [
        "70b1fe634693f9b611f38ad9de4ba4d8068d1e89"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Wed Feb 01 00:34:21 2017 +0200"
      },
      "committer": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Wed Feb 01 12:35:58 2017 +0200"
      },
      "message": "[calico] Perform cleanup before building calico/cni\n\nSince we modify \u0027glide.lock\u0027 file manually to fetch\ndownstream libcalico-go into \u0027vendor\u0027 directory,\ngit reports that repository state is \u0027dirty\u0027. Reset\nall changes before starting binary and image build\nin order to get clean versions.\n\nChange-Id: I266c793a6c0fddbf09dc1e8aa1157a86da603b17\n"
    },
    {
      "commit": "70b1fe634693f9b611f38ad9de4ba4d8068d1e89",
      "tree": "684f541dcbfd0d9d85a7b5dba05728a70d803cd5",
      "parents": [
        "a9e6504f30f27c5d816b54aad571312fe46187b0"
      ],
      "author": {
        "name": "Sergey Reshetnyak",
        "email": "sreshetniak@mirantis.com",
        "time": "Tue Jan 31 22:27:06 2017 +0300"
      },
      "committer": {
        "name": "Sergey Reshetnyak",
        "email": "sreshetniak@mirantis.com",
        "time": "Tue Jan 31 22:27:33 2017 +0300"
      },
      "message": "Move yaml helpers to common module\n\nChange-Id: I99ca47817b9d6913cd240d1533d68f74916a342c\n"
    },
    {
      "commit": "a9e6504f30f27c5d816b54aad571312fe46187b0",
      "tree": "bc24847c31cf655a018cd6624b9b2933eb0b1d43",
      "parents": [
        "d10610b909b6364a7666eba98229614cc59ad4f2"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Jan 31 14:20:24 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Jan 31 14:20:24 2017 +0200"
      },
      "message": "[calico] Set dockerRepo as mandatory parameter\n\ndockerRepo should be an artifactory repo which is not virtual and\nthis paramter must be mandatory\n\nChange-Id: I4da7659287e3161d8407b6e8eb6fe2eaeed31d99\n"
    },
    {
      "commit": "d10610b909b6364a7666eba98229614cc59ad4f2",
      "tree": "251b676ea575a0eadf01b2b331c5f5b4ea340be9",
      "parents": [
        "bc13d2645229d20c8fc4aae9d2c6b3b2c20dbc89"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Fri Jan 27 18:09:52 2017 +0200"
      },
      "committer": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Fri Jan 27 18:09:52 2017 +0200"
      },
      "message": "Fix gerrit credentials in Calico module\n\nReplace temporary used \u0027credentialsId\u0027 by a\nproduction one.\n\nChange-Id: I0cf0a27202df8e053ecb9ec0f65b2a0f6bd58160\n"
    },
    {
      "commit": "bc13d2645229d20c8fc4aae9d2c6b3b2c20dbc89",
      "tree": "1db7756109e84eb0ff7c0447c79a4f298c9c555d",
      "parents": [
        "c4cd5b70fe1607ba371f3061d27041530116e312"
      ],
      "author": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Fri Jan 20 12:40:58 2017 +0200"
      },
      "committer": {
        "name": "Artem Panchenko",
        "email": "apanchenko@mirantis.com",
        "time": "Fri Jan 27 12:57:13 2017 +0200"
      },
      "message": "Move Calico test/build/publish stuff to library\n\nSince we use the same stages by different Calico\npipelines, moved them to library in order to\nmake DRY jobs.\n\nChange-Id: Ibf4dc7712e463cb0e137f1de87289e30dff46fa1\n"
    },
    {
      "commit": "c4cd5b70fe1607ba371f3061d27041530116e312",
      "tree": "2818b7fd74683f9d5b9e65ec3a57add4028b7c87",
      "parents": [
        "b36e36ea262faf333e4a283fc62987110df145fb"
      ],
      "author": {
        "name": "asledzinskiy",
        "email": "asledzinskiy@mirantis.com",
        "time": "Wed Jan 25 16:50:56 2017 +0200"
      },
      "committer": {
        "name": "asledzinskiy",
        "email": "asledzinskiy@mirantis.com",
        "time": "Wed Jan 25 16:57:51 2017 +0200"
      },
      "message": "Remove env erase from runTest\n\n- Env erase shouldn\u0027t be part of runTest because it erases\nenvs between stages and so that all starts from scratch.\n- Env erase moved to separate function\n\nChange-Id: I49ed4ca05606486f5d4955d99cfa4e42f6cd9663\n"
    },
    {
      "commit": "b36e36ea262faf333e4a283fc62987110df145fb",
      "tree": "e24f6b3e5009a716d863f34dfbdf6d8ca3c27f61",
      "parents": [
        "b1aa0ff6d49751d98f41c35ee493619d58100b1b"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 18:26:40 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 18:26:40 2017 +0200"
      },
      "message": "[k8s-slave] Running function can potentially return values\n\nWe can expect reutrning values from function which is running\non k8s cluster\n\nExample:\n  def artifacts \u003d common.runOnKubernetes([\n    function : this.\u0026buildCalicoContainers,\n    jnlpImg  : jnlpSlaveImg,\n    slaveImg : jenkinsSlaveImg\n  ])\n  // run system test\n  node (\u0027calico\u0027){\n    stage (\"Run system tests\") {\n       build job: \u0027calico.system-test.deploy\u0027, propagate: true, wait: true, parameters:\n        [\n            [$class: \u0027StringParameterValue\u0027, name: \u0027CALICO_NODE_IMAGE_REPO\u0027, value: artifacts[\"CALICO_NODE_IMAGE_REPO\"]],\n            [$class: \u0027StringParameterValue\u0027, name: \u0027CALICOCTL_IMAGE_REPO\u0027, value: artifacts[\"CALICOCTL_IMAGE_REPO\"]],\n            [$class: \u0027StringParameterValue\u0027, name: \u0027CALICO_VERSION\u0027, value: artifacts[\"CALICO_VERSION\"]],\n            [$class: \u0027StringParameterValue\u0027, name: \u0027MCP_BRANCH\u0027, value: \u0027mcp\u0027],\n        ]\n    }\n  }\n\nChange-Id: I058537700e0bec06d9e14b422d452e2e7eb45e23\n"
    },
    {
      "commit": "b1aa0ff6d49751d98f41c35ee493619d58100b1b",
      "tree": "930b089887a5e22003240ab2a69023431ef87ca3",
      "parents": [
        "e897d8f3b7e343516fb7a45b7b6a4f6a952405c5"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 17:48:44 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 17:48:44 2017 +0200"
      },
      "message": "Fix type if instead of id\n\nChange-Id: I59ef5a2f05d7f9b1fc82e84075e9e18c5e4d3491\n"
    },
    {
      "commit": "e897d8f3b7e343516fb7a45b7b6a4f6a952405c5",
      "tree": "15c19281a2b99d570780aa487eb620ede0d6a7fb",
      "parents": [
        "e9e6faaed041bd3ab1813f6c366f63e6259f390f"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 16:44:03 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Mon Jan 23 15:18:11 2017 +0000"
      },
      "message": "Allow to run code on k8s-slave\n\nRun function on k8s cluster\n\n@param config LinkedHashMap\n   config includes next parameters:\n   - label, pod label\n   - function, code that should be run on k8s cluster\n   - jnlpImg, jnlp slave image\n   - slaveImg, slave image\n\nUsage example:\n def runFunc \u003d new com.mirantis.mcp.Common()\n  runFunc.runOnKubernetes ([\n    function : this.\u0026buildCalicoContainers,\n    slaveImg : \u0027sandbox-docker-dev-local.docker.mirantis.net/skulanov/jenkins-slave-images/calico-slave:1\u0027,\n    jnlpImg: \u0027docker-prod-virtual.docker.mirantis.net/mirantis/jenkins-slave-images/jnlp-slave:latest\u0027\n  ])\n\n //promotion example. In case of promotion we need only jnlp container\n def runFunc \u003d new com.mirantis.mcp.Common()\n runFunc.runOnKubernetes ([\n   jnlpImg: \u0027docker-prod-virtual.docker.mirantis.net/mirantis/jenkins-slave-images/jnlp-slave:latest\u0027,\n   function : this.\u0026promote_artifacts\n ])\n\nChange-Id: I167157a70d732455e5263d0a5e97854e5dc6a248\n"
    },
    {
      "commit": "e9e6faaed041bd3ab1813f6c366f63e6259f390f",
      "tree": "1bef1507c906c62f0cd3b846115d2551124d47a1",
      "parents": [
        "69307daca0723efff45b5a939521e5416f2df37f"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Jan 20 18:50:36 2017 +0200"
      },
      "committer": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Mon Jan 23 17:13:45 2017 +0200"
      },
      "message": "Add function run_e2e tests\n\nChange-Id: I8a84f35d9be4dcb43c96bff10495dc43ac2c3f35\n"
    },
    {
      "commit": "69307daca0723efff45b5a939521e5416f2df37f",
      "tree": "0fbe8a65eb19448cbcaddf69dd65d4f1b8f3d63a",
      "parents": [
        "f36af07eeafeea7e17921485857aa7ed472a5424"
      ],
      "author": {
        "name": "asledzinskiy",
        "email": "asledzinskiy@mirantis.com",
        "time": "Thu Jan 19 16:37:16 2017 +0200"
      },
      "committer": {
        "name": "Mateusz Matuszkowiak",
        "email": "mmatuszkowiak@mirantis.com",
        "time": "Fri Jan 20 12:30:58 2017 +0000"
      },
      "message": "Fix hyphen in package name\n\nChange-Id: Ie69e35996f90f5dad62a8f13df8b83bb009672fd\n"
    },
    {
      "commit": "f36af07eeafeea7e17921485857aa7ed472a5424",
      "tree": "e2c480d74784be1168901725217d4c09e2cfb6a7",
      "parents": [
        "e65f7b061dcc8e951bbeff470df53e0bc032575d"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Fri Jan 20 13:35:57 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Fri Jan 20 12:10:34 2017 +0000"
      },
      "message": "Re-use already running ssh-agent if any\n\nprepareSshAgentKey() will not start ssh-agent if there is already\nrunning any ssh-agent process, as the result there will be no\n\"config\" file (~/.ssh/ssh-agent.sh) and runSshAgentCommand fails\n\nInstead we need to re-use already running ssh-agent and re-construct\n  * SSH_AUTH_SOCK\n  * SSH_AGENT_PID\n\nE.g:\n  [env-01-configure-system] Running shell script\n   + head -n 1\n   + grep /tmp/ssh-.*/agent.*\n   + find /tmp/ -type s -name agent.*\n   + export SSH_AUTH_SOCK\u003d/tmp/ssh-NQmNvs9SM9wu/agent.5363\n   + echo /tmp/ssh-NQmNvs9SM9wu/agent.5363\n   + cut -d. -f2\n   + export SSH_AGENT_PID\u003d5363\n   + ssh-add /home/jenkins/.ssh/id_rsa_deployments-key\n   Identity added: /home/jenkins/.ssh/id_rsa_deployments-key (/home/jenkins/.ssh/id_rsa_deployments-key)\n\nChange-Id: I1e7126513fa623c83b5fdd3448a4654e24f09e33\n"
    },
    {
      "commit": "e65f7b061dcc8e951bbeff470df53e0bc032575d",
      "tree": "b66d87650b8d9cf3dbd768009a2439148476536c",
      "parents": [
        "e0948fd5ef25d25ca6f603014203d2af53ddc277"
      ],
      "author": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Thu Jan 19 13:16:43 2017 +0100"
      },
      "committer": {
        "name": "Tomáš Kukrál",
        "email": "tkukral@mirantis.com",
        "time": "Thu Jan 19 16:04:22 2017 +0100"
      },
      "message": "Update k8s deploy steps\n\nChange deploy steps to comply with updated salt-formula-kubernetes\n\nChange-Id: I4ef1a542d82e4d241828873b40e261934538368a\n"
    },
    {
      "commit": "e0948fd5ef25d25ca6f603014203d2af53ddc277",
      "tree": "7aacf83cf56ac78a449ecd067721a4c4f89bd684",
      "parents": [
        "9fcec461a53ece5f5501c3473b2876ad780a7863"
      ],
      "author": {
        "name": "asledzinskiy",
        "email": "asledzinskiy@mirantis.com",
        "time": "Fri Jan 06 16:23:54 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Jan 18 11:08:10 2017 +0000"
      },
      "message": "Add common functions to run mcp-qa tests\n\n- Added RunTest package with function to run test\n- Added EnvActions package with functions to manipulate env\n- Added Common package with common functions\n\nChange-Id: I921c75f990e182c1264aeecf29780b2390cfcc9c\n"
    },
    {
      "commit": "88054e65efdfa90da645f59313d6dac9804ceda7",
      "tree": "f219f9382d146f30e6e97a3138b2dbe665760e31",
      "parents": [
        "e945ec9b39a50c8173f409cd653097023c66bcb9"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Jan 17 16:21:54 2017 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Jan 17 16:34:04 2017 +0200"
      },
      "message": "Add ability for anonymous gerrit code checkout\n\nChange-Id: I80eb5c651ff8a481b60616cb7f3170125e22387a\n"
    },
    {
      "commit": "e945ec9b39a50c8173f409cd653097023c66bcb9",
      "tree": "e4490dcb3a41bef4ece84541f48e04d1ea1d21fc",
      "parents": [
        "f89a188e398bfb1acbc803e655054df89077f5c8"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 19:15:10 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Fri Jan 13 09:04:28 2017 +0000"
      },
      "message": "Switch *Checkout functions from closure to simple function\n\nBecause of scope visible problems for groovy closure in pipelines\nis better to switch to simple function.\n\nChange-Id: I993b2ba3cf311205e692c31e962f6a92b0a68100\n"
    },
    {
      "commit": "f89a188e398bfb1acbc803e655054df89077f5c8",
      "tree": "f4b117f40c766a5996d895e9246eba75c77a1b10",
      "parents": [
        "6f2bc66a3328d907a4ddaaa13b65caa376fce29d"
      ],
      "author": {
        "name": "Alexander Tivelkov",
        "email": "ativelkov@mirantis.com",
        "time": "Wed Jan 11 13:29:35 2017 +0300"
      },
      "committer": {
        "name": "Alexander Tivelkov",
        "email": "ativelkov@mirantis.com",
        "time": "Wed Jan 11 13:37:43 2017 +0300"
      },
      "message": "Screened credentials printing in openstack env\n\nAdded \"set +x\" / \"set -x\" commands to the generated openstack\nenvironment file to prevent password to be logged when the file is\nsourced during job execution.\n\nChange-Id: Id8622019a648619a5ea6c814fc06e430316af2f3\n"
    },
    {
      "commit": "6f2bc66a3328d907a4ddaaa13b65caa376fce29d",
      "tree": "55974f33e9664b7c9e81431cf55c32bff47c5d0b",
      "parents": [
        "ddb44d08c385c4d0bd4f89233a9fe363c10cac6f"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Thu Jan 05 11:52:47 2017 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Thu Jan 05 11:52:47 2017 +0100"
      },
      "message": "Avoid batch runs as we need to handle salt async calls first\n\nChange-Id: I3ac78edd57f18edc1fea5493da0865bb363bebb1\n"
    },
    {
      "commit": "ddb44d08c385c4d0bd4f89233a9fe363c10cac6f",
      "tree": "0d7d139d1e182e912ba2fe5124ed6e4909a20862",
      "parents": [
        "eeed8658c183d990b9df8da23a51285f15b0819c"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Wed Jan 04 13:17:04 2017 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Wed Jan 04 14:18:42 2017 +0100"
      },
      "message": "Overhauled Salt workflows to cope with NoCPS issue\n\nChange-Id: Ie5038233ad464e2b07f3e212354f78665e1f9494\n"
    },
    {
      "commit": "eeed8658c183d990b9df8da23a51285f15b0819c",
      "tree": "33544c68ffd79629d3f7f40a16010fe4df8f3987",
      "parents": [
        "bfd10f4804669a3b9db9a8c1d8df824a1eefc587"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 15:20:21 2017 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 15:20:30 2017 +0100"
      },
      "message": "No CSP for saltCommand function to fix hashmap serialization error\n\nChange-Id: I5c637ca3deb61649ae963be0be5b963c4b7025d1\n"
    },
    {
      "commit": "bfd10f4804669a3b9db9a8c1d8df824a1eefc587",
      "tree": "b17f621aca08b0c588d56e143e1588933d96b9b7",
      "parents": [
        "fc65ea7aae475030a4bc704f4f5a972a5e6e5750"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 13:40:12 2017 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 13:40:12 2017 +0100"
      },
      "message": "Fixed ommited http module include\n\nChange-Id: Id0fedc52b6501c9dadb88ba1359a6871aa72e86c\n"
    },
    {
      "commit": "fc65ea7aae475030a4bc704f4f5a972a5e6e5750",
      "tree": "55ff31ea91eda598e09d8ee80e11d8bdb3b66b09",
      "parents": [
        "7ebd00629546905be114e372002a5707f7828e8e"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 12:13:36 2017 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 12:13:36 2017 +0100"
      },
      "message": "Simple echo\n\nChange-Id: Icfc28f6fa08521d274f55762d22f895815850f97\n"
    },
    {
      "commit": "7ebd00629546905be114e372002a5707f7828e8e",
      "tree": "3b8ffad09fcbedd2a1c9fe8d83831c5281b7931d",
      "parents": [
        "eedc222d33857dbd51da9eb297c776fda9e45ee1"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 10:59:29 2017 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 10:59:29 2017 +0100"
      },
      "message": "Hackfix\n\nChange-Id: Ia09d93153ac5e62666db11ec9c895b2074686ada\n"
    },
    {
      "commit": "eedc222d33857dbd51da9eb297c776fda9e45ee1",
      "tree": "5a32f0a63c7c09bd39b7d9856aed45174902a4e8",
      "parents": [
        "dce8b479cba49663035bece7db4bfe3078d87506"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 10:10:03 2017 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Tue Jan 03 10:10:03 2017 +0100"
      },
      "message": "Debug output\n\nChange-Id: Ia3d3bb51c68529e1b1345f6d90b619e6bbe89d28\n"
    },
    {
      "commit": "dce8b479cba49663035bece7db4bfe3078d87506",
      "tree": "c5b0aae8fb7be6e420fdaa072d5fee356899e6a9",
      "parents": [
        "c6d28dda61d002412f688e36fcef36962f5b5231"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Fri Dec 30 16:56:07 2016 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Fri Dec 30 16:56:07 2016 +0100"
      },
      "message": "Fixed status condition\n\nChange-Id: If78b271ecd70efb812e980037952d36563db518a\n"
    },
    {
      "commit": "c6d28dda61d002412f688e36fcef36962f5b5231",
      "tree": "3eed3a16286a66d22f1294b9dff342a4dafe0be9",
      "parents": [
        "e11e87940ec5c1098b398af3217cc94245f99c04"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Wed Dec 28 12:59:38 2016 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Wed Dec 28 12:59:38 2016 +0100"
      },
      "message": "No python module prefix\n\nChange-Id: I6e9a6da78eb69bb536087f4d232a0beb23ac48ae\n"
    },
    {
      "commit": "e11e87940ec5c1098b398af3217cc94245f99c04",
      "tree": "c97b6e55376ff5b5d865f75684b16f0bbc0ca526",
      "parents": [
        "6307d34c4ae19260ea45813cdc0fbd5062dff532"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Wed Dec 28 09:42:25 2016 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Wed Dec 28 09:42:25 2016 +0100"
      },
      "message": "Fixed abdundant parameter\n\nChange-Id: I54778c982d7958107564119dc4f399bed502cbc3\n"
    },
    {
      "commit": "6307d34c4ae19260ea45813cdc0fbd5062dff532",
      "tree": "63b9ab437255702a649b8ebc780e6f30c26bc17f",
      "parents": [
        "67af6c2a675e1d0640849e5e35d743f70fcc215b"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Dec 27 14:29:31 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Dec 27 14:29:31 2016 +0200"
      },
      "message": "Supress private key output in jenkins console\n\nChange-Id: I0fa3f48388da50daac16dc4532952cbcde48719a\n"
    },
    {
      "commit": "67af6c2a675e1d0640849e5e35d743f70fcc215b",
      "tree": "4227667d6e1ea4cdc9a1c7e6761d43f4b49b6c10",
      "parents": [
        "d874d480bf2edae5389c6a5642af0a0752b1ece2"
      ],
      "author": {
        "name": "iberezovskiy",
        "email": "iberezovskiy@mirantis.com",
        "time": "Mon Dec 26 18:17:21 2016 +0400"
      },
      "committer": {
        "name": "iberezovskiy",
        "email": "iberezovskiy@mirantis.com",
        "time": "Mon Dec 26 18:18:48 2016 +0400"
      },
      "message": "Fix prepareSshAgentKey method in MK ssl\n\nWe need to include MK common to use\ngetSshCredentials method inside prepareSshAgentKey.\n\nChange-Id: Ia94a9cb6f019bfbc8fadb7d133694fc1d7460f8d\n"
    },
    {
      "commit": "d874d480bf2edae5389c6a5642af0a0752b1ece2",
      "tree": "d9032c7252a14fef2a028b17b3b2c0110b79d198",
      "parents": [
        "c000c150eae946a26d315c71cd15283e678c258a"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Mon Dec 26 10:33:29 2016 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Mon Dec 26 10:33:29 2016 +0100"
      },
      "message": "Pip based docutols\n\nChange-Id: I09d51954f01d8dac5e651852b5b164ad1166e7cd\n"
    },
    {
      "commit": "c000c150eae946a26d315c71cd15283e678c258a",
      "tree": "022707416c46f43f72536ab992406daa6345a449",
      "parents": [
        "0e558ee30998e405ddc27669cdc5b1b208a0eeda"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Fri Dec 23 15:32:54 2016 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Fri Dec 23 15:36:37 2016 +0100"
      },
      "message": "Escaped new line character and added MCP processes\n\nChange-Id: If537b3b908d7690542282765c5dba37674cfe691\n"
    },
    {
      "commit": "0e558ee30998e405ddc27669cdc5b1b208a0eeda",
      "tree": "ecb0eab29620b6c729adb2cbf53943e828e80dde",
      "parents": [
        "ba20398337517c47040f10774ef1da91afd198c0"
      ],
      "author": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Fri Dec 23 13:02:55 2016 +0100"
      },
      "committer": {
        "name": "Ales Komarek",
        "email": "akomarek@mirantis.com",
        "time": "Fri Dec 23 13:03:41 2016 +0100"
      },
      "message": "Fix Keystone RC and parser\n\nChange-Id: I0b4657bcbd46917e355916aa62cbd1578563ee67\n"
    },
    {
      "commit": "ba20398337517c47040f10774ef1da91afd198c0",
      "tree": "4b77810760db3c77042a74a1150d5606bf6e53d1",
      "parents": [
        "a56d231cb26d376f99ee1e222bdb1687a7d29630"
      ],
      "author": {
        "name": "Sergey Kolekonov",
        "email": "skolekonov@mirantis.com",
        "time": "Wed Dec 21 18:32:17 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Thu Dec 22 09:15:55 2016 +0000"
      },
      "message": "Add mk libraries\n\nChange-Id: I829b299b6329e8f4d4424c89717d432513d1eece\n"
    },
    {
      "commit": "bb1f8795e1c4d5dd510931abf1bcb9c6dd1e4582",
      "tree": "58eb8af0cc54194d50a7582281fe7b2cfb2839e3",
      "parents": [
        "2bc89179c01bf0f5d9befd0f32a3d56f58e2725f"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 13:13:24 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 13:41:42 2016 +0000"
      },
      "message": "Allow to wipe workspace before cloning for gitSSHCheckout for Mirantis package\n\nPatch I0a1c8491584b7e50140b738303bad9240fd7f347 missed this change for\nmain lib package, so let\u0027s add it, because basic \u0027vars\u0027 functions will\nbe removed.\n\nChange-Id: Ic1dec6bd48ca82d87a730e85b4730d25cbcafa8f\n"
    },
    {
      "commit": "2bc89179c01bf0f5d9befd0f32a3d56f58e2725f",
      "tree": "5e41fec8d8135aa55b39060a591900e878c26544",
      "parents": [
        "0327d507ee3c32240bb21c7b9280c8ec4a0cf864"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 17:31:19 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 21 17:33:27 2016 +0400"
      },
      "message": "Add missed definition for Docker function\n\nChange-Id: I7e07ff3d1ad0fb518c1762d77288babeaaeeccc5\n"
    },
    {
      "commit": "8c60655dc08ab26968359621cba838d6a4f1eddb",
      "tree": "a14d3ee0429926f2c218e7197d9df9db0eee54ec",
      "parents": [
        "33043c1cfd630c7f16db7fb358e647168eef2e5a"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Wed Dec 07 14:22:50 2016 +0400"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Mon Dec 12 18:18:40 2016 +0400"
      },
      "message": "Refactor var functions of Pipeline library\n\nMove all named functions under com.mirantis.mcp package\n\nChange-Id: I98002e038173fce2325d069e951b221c61109e69\n"
    },
    {
      "commit": "4d3951c56113d0a970e7f497bb79633466b18681",
      "tree": "5db08c8fe4d7cbc05c62538dadba0646640fe01f",
      "parents": [
        "1c15df01827e560293863531abf9a8631c564473"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Nov 24 13:58:15 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Nov 24 13:58:15 2016 +0200"
      },
      "message": "Add com.mirantis.targetImg property to docker image property\n\ncom.mirantis.targetImg property allows to search docker\nartifacts by image name, for example\n\n  def properties \u003d [\n    \u0027com.mirantis.gerritChangeId\u0027: \"${env.GERRIT_CHANGE_ID}\",\n    \u0027com.mirantis.gerritPatchsetNumber\u0027: \"${env.GERRIT_PATCHSET_NUMBER}\",\n    \u0027com.mirantis.gerritChangeNumber\u0027 : \"${env.GERRIT_CHANGE_NUMBER}\",\n    \u0027com.mirantis.targetImg\u0027: \"${projectNamespace}/calico/node\"\n  ]\n\nChange-Id: I8f6cdb0b90edb263e2d24e987eee8b8be2e54df3\n"
    },
    {
      "commit": "8cd6d22a439db05e6edb5fab35d53671e8c6ea20",
      "tree": "a6c18e092a3b23af78631bfeca0353c44ce4405b",
      "parents": [
        "8567272fbc1f2df7e1faafb00ab05e8b5a700c8b"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Nov 17 13:42:47 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Thu Nov 17 13:42:47 2016 +0200"
      },
      "message": "Extend uploadImageToArtifactory function\n\nWe need to publish BuildInfo object as well (as for binary) for\ndocker images.\n1. Replace:\n    String artifactoryURL\n   by\n    ArtifactoryServer server\n2. If buildInfo is defined, let\u0027s publish it to artifactory\n\nChange-Id: Iadb724307b81a8f40cf1852b909bbb25208dc143\n"
    },
    {
      "commit": "8567272fbc1f2df7e1faafb00ab05e8b5a700c8b",
      "tree": "84ffbf23fb44772df36b0bd7db1db6b98f5d5392",
      "parents": [
        "c70f1c21c8e9ebd7776ed4c065fd1aa05115ba3c"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Nov 16 17:46:58 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Nov 16 19:05:22 2016 +0200"
      },
      "message": "Update getGitDescribe function\n\nParametrize getGitDescribe(Boolean useShort \u003d false):\n  useShort Boolean, returns String in format:\n       false (Default): {gitTag}-{numCommits}-g{gitsha}\n       true:            {gitTag}-{numCommits}\n\nChange-Id: Ibf2e90f2fdef0611c3622b817d5f4e174fa90200\n"
    },
    {
      "commit": "c70f1c21c8e9ebd7776ed4c065fd1aa05115ba3c",
      "tree": "661410ac8d0e544c6d19e6284b96531557662a3b",
      "parents": [
        "edba5a547578272921ae33929424e36173f68ca1"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Nov 16 13:05:20 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Wed Nov 16 13:05:20 2016 +0200"
      },
      "message": "Artifactory refactoring\n\n* Define new mandatory properties in artifactory:\n  \u0027com.mirantis.buildName\u0027:\"${env.JOB_NAME}\"\n  \u0027com.mirantis.buildNumber\u0027: \"${env.BUILD_NUMBER}\"\n\n* All mandatory properties MUST be the same both for binary\n  and docker images\n\n* Remove overloaded uriByProperties() with String as second\n  paramter, it\u0027s better to use the original one with LinkedHashMap\n\nChange-Id: I2c6ea7e4fd035a1b68122ee4bc00562c0f4d8814\n"
    },
    {
      "commit": "edba5a547578272921ae33929424e36173f68ca1",
      "tree": "3c5a6babe9cb57de0de25600d1ef632a6a1e37f2",
      "parents": [
        "91d8def7ed5c57ea5d4cadf375ecb7e8a9fb6105"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Tue Nov 15 19:55:56 2016 +0300"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Tue Nov 15 19:58:00 2016 +0300"
      },
      "message": "Update MCPArtifactory package according to actual code in Tools\n\nMinor update of uploadImageToArtifactory function:\n- explicity set type of function parameters;\n- remove external ENV var;\n- add reminder what should be improved;\n\nChange-Id: I116294a317dcf610f9fb4043c48593ea96212b04\n"
    },
    {
      "commit": "91d8def7ed5c57ea5d4cadf375ecb7e8a9fb6105",
      "tree": "e5d080c530b30b16e61a5c38a66938a1c9fa79f3",
      "parents": [
        "90d4e679b3ced71175587ba95dba99635ace4df5"
      ],
      "author": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Nov 15 13:53:17 2016 +0200"
      },
      "committer": {
        "name": "Sergey Kulanov",
        "email": "skulanov@mirantis.com",
        "time": "Tue Nov 15 15:42:12 2016 +0200"
      },
      "message": "Fix uploadBinariesToArtifactory function\n\nChange-Id: I51eac8b39d772dc84a6166f5d66c7e8f316afe41\n"
    },
    {
      "commit": "90d4e679b3ced71175587ba95dba99635ace4df5",
      "tree": "9575beb9488f81e5bf5746e5a5fa986cfac126fc",
      "parents": [
        "b28156cd51cef8f316f4fe339f77c1b0fc230b46"
      ],
      "author": {
        "name": "Ruslan Kamaldinov",
        "email": "rkamaldinov@mirantis.com",
        "time": "Fri Nov 11 18:31:00 2016 +0300"
      },
      "committer": {
        "name": "Ruslan Kamaldinov",
        "email": "rkamaldinov@mirantis.com",
        "time": "Mon Nov 14 18:55:27 2016 +0300"
      },
      "message": "Refactor structure of Pipeline library\n\n* Moved everything under com.mirantis.mcp package\n* Functions are grouped under different files, each with specific\n  functionality (e.g Artifactory, Docker, Git, etc)\n* Tools.groovy remains as is to avoid breaking existing jobs that\n  use it\n\nNext steps:\n* Modify existing pipelines to use functions from new package\n* Gradually get rid of Tools.groovy\n\nChange-Id: I56386f994666baa1c6db51b27beef4de4284ecb8\n"
    }
  ]
}
