)]}'
{
  "log": [
    {
      "commit": "5302ce044b712e686d9ac31990cf131e26c65cf2",
      "tree": "042d08826d62c49d973c5efcf919748109d291a6",
      "parents": [
        "13e2d154699316929b0742519a99b7b18c111fc6"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Jan 18 18:43:44 2019 +0200"
      },
      "committer": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Jan 18 18:43:44 2019 +0200"
      },
      "message": "REmove flag from config\n\nChange-Id: Ib65dd6d09acf1a317149fc60566bc38195fc4434\n"
    },
    {
      "commit": "eea03e916b31b0213a130d4bfe8673d1b3a9071d",
      "tree": "c72de57d73d9e49e3d4860a1a8affe82465f1e32",
      "parents": [
        "ca770f21aca45c45474553e8a01081215c54624a"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Tue Nov 20 12:51:50 2018 +0200"
      },
      "committer": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Thu Nov 29 10:05:07 2018 +0000"
      },
      "message": "Align static template to runtestmanager\n\n* Add gtw 122 for external net for offline static\n* remove post test resources creation in offline static\n\n* Add docker repo for gtw node on ovs and ctl01 on contral\n  templates, as for tempest run we need the docker\n  and better install it from mirantis repo then from unpredictable source\n\nChange-Id: I9feee9d4b91d840c07002e97fe0f87b0cfcfadc0\n"
    },
    {
      "commit": "4ebd0383571b35440cc6d3004a8345580b871fd9",
      "tree": "54688dfa9af0174cb2c3fdcabef13b911e4121e2",
      "parents": [
        "65b12d665c4a7af6f556d556271d743cb8a358a6",
        "5161167e917ddb6e9252f7dfb2b001554e2440e1"
      ],
      "author": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Nov 23 12:26:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Fri Nov 23 12:26:32 2018 +0000"
      },
      "message": "Merge \"Add additional sleep in publisher of test_k8s_cncf_certification\""
    },
    {
      "commit": "5161167e917ddb6e9252f7dfb2b001554e2440e1",
      "tree": "f19b6e5b64731cb9a7e2ec60044b0480700ede79",
      "parents": [
        "1a9c467d6217e75afc2ce5b6d4363cee337bbec0"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Fri Nov 23 03:10:22 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Fri Nov 23 03:30:09 2018 +0400"
      },
      "message": "Add additional sleep in publisher of test_k8s_cncf_certification\n\nAnd increase timeout of test because its often out of time\n\nChange-Id: I4ae11d4e8441fdf888203559f8ef9687826938d7\nCloses-PROD: PROD-25218\n"
    },
    {
      "commit": "7df6961957a9dfbecdf8ec36f2c84020d3394dac",
      "tree": "a628819f2931399b3ec556ee1282e75690dd3e38",
      "parents": [
        "04bad62029c68c420d1538329c1d1fe86237b7d4",
        "7a3a05ba23a50a4d7fc9e474a38c4acbe724692c"
      ],
      "author": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Mon Nov 19 18:36:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Mon Nov 19 18:36:41 2018 +0000"
      },
      "message": "Merge \"Fix depths for up(down)load in execute_commands.py\""
    },
    {
      "commit": "04bad62029c68c420d1538329c1d1fe86237b7d4",
      "tree": "4e0ce67b679a924997ff300f5ba65bd99614b2b2",
      "parents": [
        "05f79408678ef60172f79a24aab63d6868b4534a",
        "34fd300e453ad5b64f91eed2076540ad23b34e80"
      ],
      "author": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Mon Nov 19 18:12:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Mon Nov 19 18:12:11 2018 +0000"
      },
      "message": "Merge \"Add reporting for k8s virtlet conformance tests\""
    },
    {
      "commit": "34fd300e453ad5b64f91eed2076540ad23b34e80",
      "tree": "a5aea31c83f863b16d2878a94b18fabb4001df38",
      "parents": [
        "716d7d2edb6d0dcb39ad15566c607e1e2acf7ffd"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu Nov 15 18:25:16 2018 +0200"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Nov 19 18:08:23 2018 +0200"
      },
      "message": "Add reporting for k8s virtlet conformance tests\n\n- rename the report name \u0027report.xml\u0027 to\n  \u0027conformance_virtlet_result.xml\u0027\n- report to the testrail suite \u0027[k8s] Virtlet\u0027\n\nRelated-Bug:#PROD-22726\nChange-Id: I3e41c85188dd0169f2f8ebbc61f1514ab952c532\n"
    },
    {
      "commit": "7a3a05ba23a50a4d7fc9e474a38c4acbe724692c",
      "tree": "9098dd9be0cf20d0c5b02b16b1cf01f6eb223968",
      "parents": [
        "cfb69f1579d0f77f5b6e93b36b8e13346b49b7d9"
      ],
      "author": {
        "name": "abaraniuk",
        "email": "abaraniuk@mirantis.com",
        "time": "Thu Nov 15 16:05:35 2018 +0200"
      },
      "committer": {
        "name": "abaraniuk",
        "email": "abaraniuk@mirantis.com",
        "time": "Thu Nov 15 16:47:40 2018 +0200"
      },
      "message": "Fix depths for up(down)load in execute_commands.py\n\nFix search files in current specified directory only\n\nChange-Id: I1f4d95d83b35dff19c43d2ef5b7cd983f3edba6c\n"
    },
    {
      "commit": "cfb69f1579d0f77f5b6e93b36b8e13346b49b7d9",
      "tree": "8f7f34d3cc3e8986c6cce1afb3f507f200a4b30a",
      "parents": [
        "1dcd10c994e871fe9b2173312fc5802664b1a9da",
        "66650fc0ff076fa00f7687e7f01361ee27fd9055"
      ],
      "author": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Thu Nov 15 12:32:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Thu Nov 15 12:32:40 2018 +0000"
      },
      "message": "Merge \"Add k8s ingress and metallb features\""
    },
    {
      "commit": "66650fc0ff076fa00f7687e7f01361ee27fd9055",
      "tree": "30bf238a21dab429a47cf66a90f91fd592e578ef",
      "parents": [
        "c4a14ba34a00410ade7581dfc7ea2f427763b67e"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Nov 02 11:04:37 2018 +0200"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu Nov 15 14:22:33 2018 +0200"
      },
      "message": "Add k8s ingress and metallb features\n\n- enable ingress-nginx and metallb features\n  for the configurations:\n  - cookiecutter-context-k8s-sl\n  - cookied-cicd-k8s-genie\n  - cookied-bm-k8s-contrail\n\n- add \u0027external\u0027 network on cfg, ctl, cmp and prx nodes\n\n- enable DHCP in \u0027external\u0027 network for auto configuration\n  of the external interfaces\n\n- get the status of the ingress and metallb features from\n  the salt pillar instead of environment variables to\n  run the tests on the existing deployments\n\nRelated-Task: PROD-22687\nCloses-Bug: PROD-24580\n\nChange-Id: Ifee60814718abc604008af5e2058a6db1bf92d6d\n"
    },
    {
      "commit": "3e44b601b5cccf658fba06932984cad1e5d8af47",
      "tree": "70258220ae1de5fb3777cdf7ced23193cf6c79e7",
      "parents": [
        "c4a14ba34a00410ade7581dfc7ea2f427763b67e"
      ],
      "author": {
        "name": "obutenko",
        "email": "obutenko@mirantis.com",
        "time": "Tue Nov 13 12:50:22 2018 +0200"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Wed Nov 14 09:25:55 2018 +0000"
      },
      "message": "Add support barbican to runtestmanager\n\nChange-Id: I394202e3e3a1b6d0bcbe7da7a53d0db14b07e799\n"
    },
    {
      "commit": "83cc1d54329e741fb8a1c5e143bbbd31f38c12b7",
      "tree": "ac449356e3099243700680f935d3ba53178e17b7",
      "parents": [
        "31acd3c11de5a1696ca24f7050036225a5ea9ea5"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Nov 09 15:35:30 2018 +0200"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Nov 09 16:03:29 2018 +0200"
      },
      "message": "Refactor the underlay.ssh update process for VCP minions\n\nfuel-devops node names in the underlay.yaml can be\ndifferent from actual hostnames configured on hosts:\n  underlay.yaml: ctl01\n  hostname -f: ctl01.cookied-cicd-k8s-calico.local\n\nShorter names are connected to qemu limitation for\nmonitor.lock path and how the fuel-devops creates\nunique names for the environment nodes.\n\n1. To not double the same nodes in the underlay.ssh, match\n   the VCP nodes to underlay.ssh nodes not by name, but by\n   IP address and address_pool.\n   Add new method update_ssh_data_from_minions() to\n   SaltManager with this functional.\n\n2. Add new attribute to underlay.ssh:  minion_id , which will\n   provide mapping from underlay.ssh to the minion_id for the\n   nodes.\n\n3. Add helper method host_by_minion_id() to UnderlayManager\n   to get host IP by minion_id\n\nChange-Id: I510d9a777df8f308c1a7fede7b4ec2feb314c5bd\n"
    },
    {
      "commit": "31acd3c11de5a1696ca24f7050036225a5ea9ea5",
      "tree": "91b090565fb2b795b6c6392f8206e71cdfaeeef9",
      "parents": [
        "36db09a9019da0cfc3cf83248e497f039d7d4655",
        "cf52b8e54e11b026b5476ce9903b9374e59c83e3"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Fri Nov 09 13:20:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Fri Nov 09 13:20:06 2018 +0000"
      },
      "message": "Merge \"Fix target name in runtestmanager\""
    },
    {
      "commit": "cf52b8e54e11b026b5476ce9903b9374e59c83e3",
      "tree": "509aa59f1979cc094acc56f74f5a0be8d0cf0846",
      "parents": [
        "bd26dbfd4d274f6957c55ea7d98e5e8039d45473"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Tue Nov 06 17:28:38 2018 +0200"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Tue Nov 06 15:30:14 2018 +0000"
      },
      "message": "Fix target name in runtestmanager\n\nUnderlay node names can have short names like \u0027gtw01\u0027 instead of\nfqdn. To target the minions, need to use a wildcard\n\nChange-Id: Icfe7c0c703c8b4e4194a11f0d5bbb6719d324a5e\n"
    },
    {
      "commit": "79abb0d21a277af4bde4befda44979d3c4d9a012",
      "tree": "4e9a09dc36a902ae6414bbcc1b902a2f0745810b",
      "parents": [
        "56a724176706afcde4f05545446c9aaec81fe994"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Tue Nov 06 16:48:30 2018 +0200"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Tue Nov 06 16:49:09 2018 +0200"
      },
      "message": "Catch \"Salt request timed out\" error in execute_commands\n\nChange-Id: I499d29864a08f8b02d3e84ab630df5ce9d4b345f\n"
    },
    {
      "commit": "44f6db215471e6b741c0c1ea16a1c45af5cd91af",
      "tree": "2fb083b641d15d9d7cbc6e6f80745eea4bce43e3",
      "parents": [
        "d24829b1ee069b361221c0c661468f0b8a5c350e"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Wed Oct 31 16:07:56 2018 +0200"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu Nov 01 21:40:18 2018 +0200"
      },
      "message": "Fix deploy cookied-cicd-pike-dpdk\n\nChange-Id: I658d733fed4a04f38473c295d6404fd781ccd6ae\n"
    },
    {
      "commit": "47800169e51fc1358574daeba9a1d747ff57e24f",
      "tree": "d31b07273be720c097e05e763b36440c7c5c97a4",
      "parents": [
        "445e6e3ad250ab6ed388de3f01290dfc0e457219"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Wed Oct 31 11:57:02 2018 +0200"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Oct 31 13:28:10 2018 +0000"
      },
      "message": "Improve exception report from execute_commands\n\n- Add stdout and stderr to the exception message\n- Use only \"deploy_salt.xml\" in swarm-bootstrap-salt-cluster-devops\n  for the job error message instead of completed stderr from pytest\n\nChange-Id: I03afe97f371a49b943523534dd815ba989dc7c6a\n"
    },
    {
      "commit": "2f5aaf614201d788a816608a6d80f3df582a9d74",
      "tree": "a15cdc628a8e35ab3dbb0dc6100fcf9670e31517",
      "parents": [
        "cf2dd4c4a6f2153b1c19cf653b733856477d81d2"
      ],
      "author": {
        "name": "sgudz",
        "email": "sgudz@mirantis.com",
        "time": "Tue Oct 30 13:20:04 2018 +0200"
      },
      "committer": {
        "name": "vortexuelpm",
        "email": "vortexuelpm@gmail.com",
        "time": "Tue Oct 30 11:24:56 2018 +0000"
      },
      "message": "Change path for images for runtest\n\nChange-Id: I56ac58e7e29451fd9a6a535bb6dedcb1da5e902b\n"
    },
    {
      "commit": "a5c901d12cbd1b5626eefc875b7ded0ba9336953",
      "tree": "fec5f8f3b83d7d622c4f11587b7bff4d88b39d64",
      "parents": [
        "75d0a3e8cec9e7cfbcebce02fb79bf2450b96a40"
      ],
      "author": {
        "name": "sgudz",
        "email": "sgudz@mirantis.com",
        "time": "Mon Oct 29 15:08:33 2018 +0200"
      },
      "committer": {
        "name": "sgudz",
        "email": "sgudz@mirantis.com",
        "time": "Mon Oct 29 17:45:57 2018 +0200"
      },
      "message": "Getting dpdk enablement from pillar linux:network:dpdk:enabled\n\nChange-Id: I635b4c4e111032aa19bd8c5ac9b56986840225c7\n"
    },
    {
      "commit": "453547a72b2e52c4904fc4825211a2d29c942ead",
      "tree": "7c01616da8f02bab5dd935232f2de72eabcd03e3",
      "parents": [
        "905ec697ab9943720ff2ee86d554db58205081cc",
        "efe5c0b18d8a352e498a1ff0c9bd8494d13aaf04"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Thu Oct 25 16:39:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Thu Oct 25 16:39:22 2018 +0000"
      },
      "message": "Merge \"Add tool get_logs.py to download node logs\""
    },
    {
      "commit": "efe5c0b18d8a352e498a1ff0c9bd8494d13aaf04",
      "tree": "f592233274548d5547acb8d47d74753981d45d40",
      "parents": [
        "f28ed708bc5a453694c8fc62ab6829bf6688a673"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Wed Oct 24 20:35:26 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Thu Oct 25 15:41:53 2018 +0000"
      },
      "message": "Add tool get_logs.py to download node logs\n\nChange-Id: I834b699ed8968d70b20bf343e4f46df465fc4f5e\n"
    },
    {
      "commit": "905ec697ab9943720ff2ee86d554db58205081cc",
      "tree": "9f11d82730f947472daf726d22c27984808d2028",
      "parents": [
        "f28ed708bc5a453694c8fc62ab6829bf6688a673"
      ],
      "author": {
        "name": "sgudz",
        "email": "sgudz@mirantis.com",
        "time": "Tue Oct 16 15:30:39 2018 +0300"
      },
      "committer": {
        "name": "sgudz",
        "email": "sgudz@mirantis.com",
        "time": "Thu Oct 25 15:05:48 2018 +0300"
      },
      "message": "Enable DPDK in tests preparation for correct flavor creation\n\nChange set vcpu_pinning to wider because 1 cpu is not enough for example\nif we boot 2 VMs.\n\nChanged roles for gtw node to be able to use external network and vxlan\nin case of DPDK.\n\nRemove cinder volume from ctl nodes.\n\nChange dpdk_lcore_mask to use vcpus from both NUMAs (In case of 2 NUMAs\nenabled on virtual machine, we are not able to determine wich NUMA our\ninterfaces belong to. The dpdk_lcore_cpus should be used exactly from\nNUMA wich interface belongs to)\n\nChange pmd-cpu-mask to use vcpus which are not intersect with nova\npinned cpus and cpus from lcore mask.\n\nChange compute_ovs_dpdk_socket_mem to use memory from both NUMAs\n(because we have 2 NUMAs in our computes)\n\nChange-Id: Ic8e7704473e396f181524571f2b0d8826046610b\n"
    },
    {
      "commit": "173e770560a5967f2329f002941d41af11dfa920",
      "tree": "ae0151874b685e7c5d71e6422a76318a38dcd997",
      "parents": [
        "60aea1db987bfe770785313f380908f4f8faaf01"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Wed Oct 24 18:31:12 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Wed Oct 24 18:31:29 2018 +0300"
      },
      "message": "Change timeout for tempest and heat tests\n\nChange-Id: Ibf31549373a275081d5f5c9829a5697e2c70e774\n"
    },
    {
      "commit": "b0ca4cc923b5978a7a423b46e763a77e1f7064da",
      "tree": "8d5ca39e84792510797c667e8e632196315aefac",
      "parents": [
        "9fe01bf8cc8862b482dd1078a1d1595dd6650486"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Mon Oct 22 16:29:54 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Mon Oct 22 16:30:48 2018 +0300"
      },
      "message": "Fix runtestmanager\n\nChange-Id: I9d4cf07d7cc4cf201520588365bc2bc3cae19376\nClose-bug: PROD-24226\n"
    },
    {
      "commit": "b00a8438af070b04fe7df620f86d12c0a1fd5205",
      "tree": "fbe446f84b6264c2db57382015968824bc874b61",
      "parents": [
        "5f71f9ece13370578637827922d3094f3c299983"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Oct 19 17:53:37 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Oct 19 17:53:37 2018 +0300"
      },
      "message": "Remove legacy LVM code\n\nLVM devices can be created using linux:storage:lvm pillar\n\nChange-Id: I44d216a3574351c03b406bde161f91a20582bf96\n"
    },
    {
      "commit": "09cc0cd9a8ed0da31d2d6d7f243d1db9d237433b",
      "tree": "597e5948d695ab23ad98af85106b933c00963e36",
      "parents": [
        "0fd1f9c71f01802d84eaf02088d198428d5eba23"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Tue Oct 16 14:31:57 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Thu Oct 18 12:43:32 2018 +0000"
      },
      "message": "WR for PROD-23915\n\nChange-Id: Ia4aedfd69af0aea2f802be0e3a536a2c78779778\n"
    },
    {
      "commit": "e185cff7049fbe485cc5ddb10c3fab5e31af1321",
      "tree": "483c6fdc6086c3971908bda6ba422f465d19d6fb",
      "parents": [
        "e29d4a8e9a9c2d0da3a58aeef97997b5adead990",
        "f220d97e5f18a4bc9d857db7c8bad375ca5c6899"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Fri Oct 12 16:57:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Fri Oct 12 16:57:30 2018 +0000"
      },
      "message": "Merge \"Add swarm-create-cfg-config-drive.groovy\""
    },
    {
      "commit": "37c2314f9ef589c8b12d6c6bae173a52e7871c88",
      "tree": "bfef4b9bc6adbe4cec6013deeb7d38700f55b652",
      "parents": [
        "301e4dbbf129935776a8bf05ffa253f750249e37",
        "13e804b50a4da7ad971ec42b99b57d0921e570f3"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Fri Oct 12 16:56:53 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Fri Oct 12 16:56:53 2018 +0000"
      },
      "message": "Merge \"Fix timeout processing in CICD jobs\""
    },
    {
      "commit": "f220d97e5f18a4bc9d857db7c8bad375ca5c6899",
      "tree": "807c392fd5cee81acabda03a3ab5c19061ef1eec",
      "parents": [
        "f4587ebd618bf3b59e25cd34388a1f3950f9624b"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Wed Oct 10 15:19:14 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Fri Oct 12 07:36:07 2018 +0000"
      },
      "message": "Add swarm-create-cfg-config-drive.groovy\n\n- Move the groovy script from the job \u0027create-cfg-config-drive\u0027\n- Add possibility to extend user-data YAML with additional\n  options\n- Override the environment variables using the override file\n  /etc/cloud/master_environment_override\n\nRelated-task:#PROD-23809\n\nChange-Id: Id95ec4aa94db2012c2105e8379724a27d1b9a516\n"
    },
    {
      "commit": "7f2b31d801b84cd1de475c72c8e79e08fcba358f",
      "tree": "090ac07435c86c7fa37b0174ab1f973ed205ad9f",
      "parents": [
        "538e76dad6e06fb18c4d2acf7e93d7df85228f42"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Wed Oct 10 17:03:49 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Wed Oct 10 14:14:27 2018 +0000"
      },
      "message": "Remove harcoded params\n\nChange-Id: Ibc6c45d27a575c25e191ad1ac51d3aa79a374899\n"
    },
    {
      "commit": "13e804b50a4da7ad971ec42b99b57d0921e570f3",
      "tree": "24309bc2e00f1e31cd60c75bd9e706fe919594bf",
      "parents": [
        "236db655b37d4fab2f3f01d0e2d5d3ab1810daeb"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Tue Oct 09 19:25:14 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Oct 10 13:29:01 2018 +0000"
      },
      "message": "Fix timeout processing in CICD jobs\n\n- default timeout increased from 1800 to 2400 sec because \u0027core\u0027\n  component deployment takes more than 30 min now\n- print the timeout message in run_jenkins_job.py to stdout along\n  with stderr\n- do not fail get_jenkins_job_stages.py if info[\u0027result\u0027] contains\n  \u0027None\u0027 in cases when the job is failed by timeout. Wait for few\n  seconds, then report the workflow stages \u0027as is\u0027:\n    Create infrastructure: SUCCESS\n    Install core infrastructure: SUCCESS\n    Install infra: IN_PROGRESS\n\nChange-Id: I2ca592a8f5069bb38ec7659f15eb72e4bfba1722\nCloses-Bug:#PROD-23815\n"
    },
    {
      "commit": "5d28ad981c662788d367494aa57213d8f0332f2f",
      "tree": "b6019ca49aab8d80bd900d5c862b87dea64ddd89",
      "parents": [
        "0d04c19fd7c086fc6d97da6ce4064194f91a1c55",
        "445b4326dc9b3c0af46a1b37989e0e734d87a983"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Mon Oct 08 20:26:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Mon Oct 08 20:26:09 2018 +0000"
      },
      "message": "Merge \"Store kubernetes server version after conformance tests\""
    },
    {
      "commit": "445b4326dc9b3c0af46a1b37989e0e734d87a983",
      "tree": "630106d93977cfa8c92973b0b25647cb89ae08b0",
      "parents": [
        "9cc41be4f056f8599554666cddc5c20a6b70f386"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Oct 08 14:32:07 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Oct 08 16:45:56 2018 +0300"
      },
      "message": "Store kubernetes server version after conformance tests\n\nTo use with xunit_reporter\n\nLog output example:\n\n  -- Kubernetes server version is stored to ./env_k8s_version:\n  export KUBE_SERVER_VERSION\u003d1.10\n  export KUBE_SERVER_GIT_VERSION\u003dv1.10.4-4+971831eb5eb3db\n\nUsage example:\n\n  . ./env_k8s_version\n  report ... --testrail-suite \"[MCP][k8s]Hyperkube ${KUBE_SERVER_VERSION}.x\"\n\nChange-Id: Ia27b9e16142d5bb30f5dee5030095c2eb4e8e08c\n"
    },
    {
      "commit": "b6bcc5cc0b76cb7c3562e0f7d064d2084e27ce2d",
      "tree": "3a414b0f15018849095b5c12b2be107a145748a8",
      "parents": [
        "4077242cb6788d543a28f57a7564170aa16e34e7"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Sep 26 11:07:53 2018 +0000"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Oct 03 16:26:06 2018 +0000"
      },
      "message": "\"Fix runtestmanager for CICD deployments Q3\"\n\nThis reverts commit 6d52a45a5b11e015d7beac3ee97f2e1bc486e17e.\n\nChange-Id: I4df498b841a44eda1bc840464fea8e371980e62e\n"
    },
    {
      "commit": "5f87ad00696f58302c301e1f6bbba54e6bae52c0",
      "tree": "8d630fdc636d94ddf0fbb1a10c27fb5fe5a266ad",
      "parents": [
        "e34ab9a5ddbe6a84227d3f6c76775ef0f2f2a4db",
        "90689150d8d466a15f9d16a192e996cd5f67d6dd"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Oct 03 10:50:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Wed Oct 03 10:50:51 2018 +0000"
      },
      "message": "Merge \"Minor fixes in k8s tests\""
    },
    {
      "commit": "90689150d8d466a15f9d16a192e996cd5f67d6dd",
      "tree": "f9e075eb7da76d88334467fff8feae8690689ae3",
      "parents": [
        "5902ae61234a46c8397d71a65f8878928e5a58d0"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed Sep 26 15:38:19 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed Oct 03 14:31:31 2018 +0400"
      },
      "message": "Minor fixes in k8s tests\n\n- Fix test_k8s_externaldns_coredns test\n- Fix K8SSampleDeployment class\n\nChange-Id: I4734e3987af5495c9eb9f4dda4fedd7153964cb6\n"
    },
    {
      "commit": "5775bbb00dc471a14f060eb7c09be80f6059a384",
      "tree": "d9cc3e8fce0cfe3f7502cf3ab314a9163c66bac8",
      "parents": [
        "25f75058bb05183a89e4970dd5698674bd70c231"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed Oct 03 10:34:54 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed Oct 03 14:23:39 2018 +0400"
      },
      "message": "Add test_k8s_ingress_nginx test\n\nChange-Id: I11ae28ddfbe96cd4232ff428857ee69fe09ddffe\nCloses-PROD: PROD-22257\n"
    },
    {
      "commit": "eb50ce1855b1f59e98f6cc336412194b549bff22",
      "tree": "746a243c647b982a61c88045930549726f39f7a4",
      "parents": [
        "d30bf85aeba5e79f50b2d6d8dd08e8ce5bdebac9"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu Sep 27 13:34:32 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Sep 28 19:58:54 2018 +0300"
      },
      "message": "Improve cicd test runner and reported\n\n- run pytest code without capturing stderr, to get solid output\n  in the Jenkins log\n- do not print the error message if something failed,\n  it is already shown in the exception message\n- add re-tries while getting the job results. Jenkins may return\n  \u0027None\u0027 for the job workflow right after the job is finished.\n- add getting k8s version to utils/env_k8s\n- add reporting k8s_conformance suite to TestRail\n- increase number of cmp nodes to 4 on k8s cicd envs\n- increase memory on k8s cmp nodes from 2Gb to 4Gb\n- increase memory on k8s ctl nodes from 2Gb to 8Gb\n- enable verbose in k8s_conformance tests\n\nChange-Id: I672279007fe4d7e3d684f0e49d1bcb7ff42a430f\n"
    },
    {
      "commit": "6d52a45a5b11e015d7beac3ee97f2e1bc486e17e",
      "tree": "b92391e11c8ab197a23ab204ab7beb0243b0aee9",
      "parents": [
        "70cefed6f2de0d31eaeadff55713bec5e3d763d8"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Sep 26 11:06:32 2018 +0000"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Sep 26 11:06:32 2018 +0000"
      },
      "message": "Revert \"Fix runtestmanager for CICD deployments\"\n\nThis reverts commit 70cefed6f2de0d31eaeadff55713bec5e3d763d8.\n\nChange-Id: Ie9087cda7102b2bfd4d0e1b5d4dacc66cc4648be\n"
    },
    {
      "commit": "70cefed6f2de0d31eaeadff55713bec5e3d763d8",
      "tree": "e69e17927dfb2a682a14eba657d44e8c54474a37",
      "parents": [
        "410656d5995a2d443bbcb5ca7299535b858eb3bd"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Sep 17 15:41:35 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Tue Sep 25 15:04:09 2018 +0300"
      },
      "message": "Fix runtestmanager for CICD deployments\n\nIn CICD deployments, there are no workarounds that install\ndocker.io before using \u0027runtest\u0027 formula.\nAdd preparation of necessary packages to runtestmanager.\n\n- Refactor RuntestManager to use salt CLI instead of salt API\n  because salt API dones\u0027t allow to catch errors from modules\n- Add preparations for docker packages, Neutron private and\n  public networks based on underlay.yaml address pools, etc.\n\nChange-Id: Iaff8046b9cde6185cd6718a5c2064998ea7dc507\n"
    },
    {
      "commit": "49d99666e3622979e9874b041e81f8373f2b604c",
      "tree": "300e423e6f716d47faab7ce7fa69f6735d394be2",
      "parents": [
        "69d04d604071b6f88871098a16ba05bd2ed90a5e",
        "ee5ef239b1e80ca4193e0d73a29f83b49fff505e"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Fri Sep 14 21:11:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Fri Sep 14 21:11:17 2018 +0000"
      },
      "message": "Merge \"Run 3rd-party test suites without excess dependences\""
    },
    {
      "commit": "ee5ef239b1e80ca4193e0d73a29f83b49fff505e",
      "tree": "91657f842ecdf9dbc739aedb285f681c0e556ba0",
      "parents": [
        "b01ebed4a84c93c356e6a5bf7e03969350c23d25"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Aug 31 13:53:18 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Sat Sep 15 00:05:18 2018 +0300"
      },
      "message": "Run 3rd-party test suites without excess dependences\n\n- each test method is parametrized with ENV_NAME to\n  get unique names in JUnit reports for different\n  configurations\n\nChange-Id: I8db671d1687f287dc8ca97782cd7bbdf0eaef988\n"
    },
    {
      "commit": "69d04d604071b6f88871098a16ba05bd2ed90a5e",
      "tree": "15abfbd7b556c2ca029733e10ac30cf11e94e5f6",
      "parents": [
        "5902ae61234a46c8397d71a65f8878928e5a58d0",
        "57ecae905e34442eae50bd31814d43d986d2e355"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Sep 12 09:27:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Wed Sep 12 09:27:06 2018 +0000"
      },
      "message": "Merge \"Add test_k8s_dashboard test\""
    },
    {
      "commit": "57ecae905e34442eae50bd31814d43d986d2e355",
      "tree": "21b3edd7fa4354e95204fa0580b60d241069f994",
      "parents": [
        "8c8f8169234090977d65aa39c57b985a03a48afd"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Mon Sep 10 22:51:15 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed Sep 12 12:49:30 2018 +0400"
      },
      "message": "Add test_k8s_dashboard test\n\nAdd \u0027cluster role binding\u0027 api wrapper\nAdd method in TestMCPK8sActions to read testdata yamls\n\nChange-Id: I7b9f7a74ce74ea5e722cb4c958bd60b6a64b6a0c\nRelated-PROD: PROD-22249\n"
    },
    {
      "commit": "745661061a66d21f87f1e5d11b80f0baa704ea43",
      "tree": "c60ceef2d53f81169a7bd7d53e3bae07f2294ac3",
      "parents": [
        "0b8f4436099f25c459c79b199e37aad5bd3b37a7"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Tue Sep 11 11:55:13 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Tue Sep 11 08:55:56 2018 +0000"
      },
      "message": "Fix tempest manager\n\nChange-Id: Iba3910156f55bdbf55096b9b5b0fbfc4757d8501\n"
    },
    {
      "commit": "0c8dd5a46b50bd462e44dff4af0b0fcaf2140edf",
      "tree": "732e5664a82c3f2c7415606bb19cbffb91fd900e",
      "parents": [
        "16d30c8a4416ef769291266638bb10d9e69719ff"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Tue Aug 28 05:08:35 2018 +0400"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Thu Sep 06 08:43:05 2018 +0000"
      },
      "message": "Update test_k8s_cncf_certification\n\nUse sonobuoy directly because\nsonobuoy-conformance.yamly was removed from cncf repo.\nAnd remove unnecessary greps from cncf code.\n\nChange-Id: If47fe7096b06d02c8c3812506f51af81f4e9f08a\nCloses-PROD: PROD-22455\n"
    },
    {
      "commit": "4ad52a8d686be98d7b7bdd3e71b2031426c56be1",
      "tree": "42a833a2d707743de7a3a30e5d9970b401eded4d",
      "parents": [
        "616ca5706f4fb2628eb33f4b511ebeef5a438e7d"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Sun Aug 12 05:51:30 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed Sep 05 13:27:54 2018 +0000"
      },
      "message": "Refactoring of k8s manager and tests\n\nChanges:\n - Official kubernetes python lib\n - Rewrite k8s api wrapper in OOP manner\n - Use api where its possible instead of cli\n - Remove virtlet code because its can be replaced with pod api\n - Remove unused/oudated manager code\n - Remove bug workaround in k8s upgrade template\n - Remove netchecker obsolete code\n - Remove unfinished test_rbd_flexvolume_driver\n\nChange-Id: I446a240123282196a6ba54f588aea84791f175ba\nRelated-PROD: PROD-21700\n"
    },
    {
      "commit": "033163c1590af8f228215886f805542de91c9579",
      "tree": "2f794f0097c5dca8e8f615083754e2dc73553a94",
      "parents": [
        "f88e8cd28f2cff7e86274ae47d4fe418796dbab3",
        "ccb428710ea6a9e81144d6524907a2e29a12f9ad"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Thu Aug 30 10:09:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Thu Aug 30 10:09:33 2018 +0000"
      },
      "message": "Merge \"Fix rabbitmq failover test\""
    },
    {
      "commit": "ccb428710ea6a9e81144d6524907a2e29a12f9ad",
      "tree": "dde5ad4d812c47b96174d1d5602c7fbe1e4d277d",
      "parents": [
        "4521fa28da650ecc05057c7643f93818258ebf8a"
      ],
      "author": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Tue Aug 28 13:41:15 2018 +0300"
      },
      "committer": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Wed Aug 29 15:31:35 2018 +0300"
      },
      "message": "Fix rabbitmq failover test\n\nChange-Id: Ic4d9ba4f4a58b14990a0f153c0ef1f9d6e2fec01\n"
    },
    {
      "commit": "61a821d53eb76c8b041e5db2576b74b97b7db8e5",
      "tree": "3b33959d105ceb5181e33aad248ba8dc3c6a09cc",
      "parents": [
        "28b2d1ccb5f21461a4e34a2ea53806a1975d226e"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Tue Aug 21 12:30:51 2018 +0300"
      },
      "committer": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Tue Aug 21 15:22:47 2018 +0300"
      },
      "message": "WIP Add configuration specific resources\n\nChange-Id: Idcea965d33779d4b8eb62f60f43b2e33b7fd8bf0\n"
    },
    {
      "commit": "19bd2ab88175282c2818ea9b9e6644bd469cdabe",
      "tree": "a22d40b4a198c1db07ead6ee0020a1e232da1a31",
      "parents": [
        "088857dc56e31bd06bc179fabd5d09ec9d924f96"
      ],
      "author": {
        "name": "dbrz",
        "email": "dobrogan5@gmail.com",
        "time": "Thu Jul 26 14:48:32 2018 +0300"
      },
      "committer": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Mon Aug 20 11:48:19 2018 +0000"
      },
      "message": "Change default datasource from influx to prometheus\n\nChange-Id: I8e9ce24d0c92ed646c782841de09301a7fef35b5\n"
    },
    {
      "commit": "a2bd4d04a1e2675c5ea59833688d36eeb4d0f780",
      "tree": "cdc25fef71898024ec403797d074fca78f4d3c7b",
      "parents": [
        "b058fa9173c2dc7abe3e09fcb95ed68309274009",
        "27a9679628355f0ce871731a8e45c65ba6ead6bd"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Mon Jul 30 17:36:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Mon Jul 30 17:36:35 2018 +0000"
      },
      "message": "Merge \"Grab failure details from pipeline jobs\""
    },
    {
      "commit": "27a9679628355f0ce871731a8e45c65ba6ead6bd",
      "tree": "0f8d3e847768dcdbe238aa9c06d57577422de2bc",
      "parents": [
        "7467c4c61094b48e0bbdc57db395282ae885b72e"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Jul 30 07:52:03 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Jul 30 20:31:44 2018 +0300"
      },
      "message": "Grab failure details from pipeline jobs\n\n- if a job fails, try to get the stages from the job\n- if there are stages, get from non-SUCCESS stages all the\n  workflow \u0027nodes\u0027 (the commands performed in the stage, like\n  \u0027running shell script\u0027 or \u0027echo\u0027), and get the log from the\n  failed node only.\n- if there are no stages found (assuming that this is\n  a pipeline job), get the complete job console output\n\nWhen a pipeline job failed, the parent job is failed throwing\nthe exception contaied the found details.\n\nChange-Id: Ie5c2171e5373345b1951de55ba604b5d484340d3\n"
    },
    {
      "commit": "dba4696ed3860bd1f5953e7d569e4f213af745b9",
      "tree": "ce45e4d946e40c88bb3ac161899e9c9d7990a176",
      "parents": [
        "010f02949838fe6a8055b00cb404e8a53031308c",
        "34dfa9423d59eda0575fcb676ed53ee1baef37fa"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Mon Jul 30 10:46:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Mon Jul 30 10:46:38 2018 +0000"
      },
      "message": "Merge \"Add new k8s genie-cni calico+flannel test\""
    },
    {
      "commit": "34dfa9423d59eda0575fcb676ed53ee1baef37fa",
      "tree": "2c965f9af5a256dd793533af6b8cbad179fd284b",
      "parents": [
        "e05033609a74780cfb57f11516e990bfa9d90754"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Mon Jul 23 21:05:48 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Thu Jul 26 21:27:59 2018 +0400"
      },
      "message": "Add new k8s genie-cni calico+flannel test\n\nChange-Id: I9441cf3224358d272abe7d647d7209463f7cae0c\nRelated-PROD: PROD-21550\n"
    },
    {
      "commit": "e0184a07b8e0d84c3b600cd019067e57e9860174",
      "tree": "91274ace6e7d7f4cf7c95b08777a13510c4a06e3",
      "parents": [
        "7467c4c61094b48e0bbdc57db395282ae885b72e"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Thu Jul 26 13:10:03 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Thu Jul 26 13:52:41 2018 +0000"
      },
      "message": "Fix runtestmanager\n\nChange-Id: Ia315e1ef916873b74e78cf8478e926fd2443939d\n"
    },
    {
      "commit": "619a7a3a9d62f84d97808b0494e1c6a2cf9aca57",
      "tree": "d5630551dcd288ee5a875f72e91338957420e27d",
      "parents": [
        "bc2295524f5cf6708553837e414462114bb4e957",
        "fde667fe23178b9f38ee370c7391fcac4c9864df"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Tue Jul 24 17:26:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Tue Jul 24 17:26:40 2018 +0000"
      },
      "message": "Merge \"Add swarm-run-test job\""
    },
    {
      "commit": "bc2295524f5cf6708553837e414462114bb4e957",
      "tree": "3a2c86a4bc39bd5ed73be88c0e97248f6cbd504b",
      "parents": [
        "442c9ee4da1c5caa14a5341e6ce924511b4aef20"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Tue Jul 24 13:54:59 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Tue Jul 24 13:56:46 2018 +0300"
      },
      "message": "Add timeout for archiving logs on the nodes\n\n\u003csalt \u0027*\u0027 ...\u003e may stuck for a long time in case of\nnetworking problems\n\nChange-Id: I3823c42786bc40068decc6e2ce35e50eeb7fc954\n"
    },
    {
      "commit": "fde667fe23178b9f38ee370c7391fcac4c9864df",
      "tree": "38e88fb697e2e68d6c3c994f101c52573e36071d",
      "parents": [
        "d8493ed5c2124896579e9ddda4684f30847b797e"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Jul 23 16:26:50 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Tue Jul 24 11:26:22 2018 +0300"
      },
      "message": "Add swarm-run-test job\n\n- add swarm-run-test job to run pytest tests\n- workaround for timesync\n- common groovy script for k8s and openstack deployments\n\nChange-Id: Icfe13371fbed231bb4f5fd794d0a43edf347c06a\n"
    },
    {
      "commit": "a4dff8633340fee499d25efa2ceadc98324bad78",
      "tree": "cdfcae725b8d603b57ab91dd6159a1a1fcb5acf3",
      "parents": [
        "ae15a77684348e20ca0169ba5e1e3d0fe5c79e55"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Jul 20 17:16:26 2018 +0300"
      },
      "committer": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Jul 20 17:23:39 2018 +0300"
      },
      "message": "Install docker.io if ce fail\n\nChange-Id: I1284a4b170855d833b74462e93f50d2150712eea\n"
    },
    {
      "commit": "ad086a2ab75713a72859a562405963bf76914e2f",
      "tree": "36cd6a299eb1a60a218adbb341586b9d0b16690f",
      "parents": [
        "e451bd4c6613845c08ee83924b66ead88268d5fd",
        "a6b018b4a1aef91e1524f4ec4002a5a56f67277f"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Thu Jul 19 15:15:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Thu Jul 19 15:15:49 2018 +0000"
      },
      "message": "Merge \"Add k8s metallb test and sampleservice class\""
    },
    {
      "commit": "a6b018b4a1aef91e1524f4ec4002a5a56f67277f",
      "tree": "e847a0569392017eb51b963f6d758a5a0e92fc30",
      "parents": [
        "bd93f460366a26d1e94cc83bd53637c6cf22b01f"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed Jul 18 15:19:01 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Thu Jul 19 19:02:40 2018 +0400"
      },
      "message": "Add k8s metallb test and sampleservice class\n\nChange-Id: Ibfae133cc0841f802e93b290c87d411ef69d1a25\nRelated-PROD: PROD-21474\n"
    },
    {
      "commit": "6f691d46b6d6123f78ef5f0976576afae69a85b7",
      "tree": "ae16a1a818f174f31849fd1060db878b7304f2e7",
      "parents": [
        "4ef70d0fca9ec580f435210c2c4ab59d861d61cb"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Thu Jul 19 15:34:15 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Thu Jul 19 15:39:44 2018 +0300"
      },
      "message": "Fix manila scenario\n\nChange-Id: If5e1a388e97a8b3b9c1d09aa9aba1f62eb0427df\n"
    },
    {
      "commit": "4ef70d0fca9ec580f435210c2c4ab59d861d61cb",
      "tree": "359693c763e0b92eae88db9de7cd9223146c65d7",
      "parents": [
        "a97f6616ebadb95748f3450353da78d5e2b8b56a",
        "3c1ea6c330d07ff0fbbea6f6d21ae907cf53a63d"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Thu Jul 19 11:00:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Thu Jul 19 11:00:41 2018 +0000"
      },
      "message": "Merge \"Change k8s xunitmerge reporter download link\""
    },
    {
      "commit": "3c1ea6c330d07ff0fbbea6f6d21ae907cf53a63d",
      "tree": "3687af24afe0e8460fe01ea102d39801ade93d11",
      "parents": [
        "bd93f460366a26d1e94cc83bd53637c6cf22b01f"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Thu Jul 19 13:59:05 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Thu Jul 19 14:03:32 2018 +0400"
      },
      "message": "Change k8s xunitmerge reporter download link\n\nSometimes pip install with git+https protocol can fail with\n\"curl transfer closed with outstanding read data remaining\" error.\nDownloading of archive files instead of repo clonning also much\nfaster.\n\nChange-Id: Iffa7cff23f1182576cafafd33ad4d1783b1194d9\n"
    },
    {
      "commit": "ea48cf532f576e36a89b1b010344e97131d30cbc",
      "tree": "0d63fd20e7a7a4f543616e01b85f760255a3b51b",
      "parents": [
        "b3b3749d7378b10e6bd124431b96d2f40896c098"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Wed Jul 18 18:04:39 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Wed Jul 18 20:29:03 2018 +0300"
      },
      "message": "Rename core fixtures to match the drivetrain component names\n\nThe following changes:\n  common_services_deployed -\u003e core_deployed\n  sl_deployed -\u003e stacklight_deployed\n\nChange-Id: I6e505d2ef96053b19b2d43b0214f5a30f71ae8ea\n"
    },
    {
      "commit": "a0cb270798a9ff2f27f62da9a59d90588c4483b9",
      "tree": "c673bb5659543b7973311f20a40bc5aa86b60f53",
      "parents": [
        "af90e4d25834db86084b19fc5ffc06701655bddd"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Tue Jul 17 12:30:18 2018 +0300"
      },
      "committer": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Tue Jul 17 20:41:18 2018 +0300"
      },
      "message": "Remove nginx wr, update docker\n\n* As models were fixed with deletion of unused pillar in offline models\nremove WR for that\n\n* Also, as it better to use pkg from mcp replace docker.io with docker-ce\n\nChange-Id: Ice8319c2a9268949d4a1a247a0eb1fb0b66ef1c5\n"
    },
    {
      "commit": "0eb5ca30d65c2456f97dc4585d3ef2a0803b4a47",
      "tree": "b156bc8903180c5231ad81bfd784d8cfa2221861",
      "parents": [
        "54018c42dfffa89ebb9c1fc9ac72c0588595de8f"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Jul 13 22:05:17 2018 +0300"
      },
      "committer": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Mon Jul 16 23:10:37 2018 +0300"
      },
      "message": "Runtests manager integration\n\nChange-Id: Ia5e5f562c980453723df48144d29cd1a96a5187f\n"
    },
    {
      "commit": "54018c42dfffa89ebb9c1fc9ac72c0588595de8f",
      "tree": "4d8ecdbe5a9b7b41080ee58d30e8d98b442b15aa",
      "parents": [
        "ed0100cde01bf1760ff63cfa6e1fe871c9ae32b4",
        "ee1faa56d12c350c699d710898394d72915ec34d"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Jul 11 14:53:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Wed Jul 11 14:53:51 2018 +0000"
      },
      "message": "Merge \"Add k8s keepalived failover test\""
    },
    {
      "commit": "ee1faa56d12c350c699d710898394d72915ec34d",
      "tree": "f3158757a7ea27e94a10b7de14aed41944fab169",
      "parents": [
        "835465f226fd899bda396673842a17d2ac924494"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Mon Jun 25 13:00:51 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed Jul 11 16:56:48 2018 +0400"
      },
      "message": "Add k8s keepalived failover test\n\nRewrite openstack_actions to remove hardware dependency from it.\nRewrite conformance method to allow more flexibility.\nAdd timeout after restarting keepalived workaround because\nsometimes it did not have time to go into MASTER state before\ntest starts.\n\nChange-Id: I668844f91f4a8fb473e199977f1ebe6ca7ddc35a\nRelated-PROD: PROD-20878\n"
    },
    {
      "commit": "38e410e17823c64c4f15e28ba058336c9f512e61",
      "tree": "7437dd52094bed9ae355eb340e9d5c33b928fb6f",
      "parents": [
        "3674610909431a3487d9b2d3cfda58cab98ef1c2",
        "86085b4c04a248e08a9ef4e916f3653e06e93641"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Jul 04 13:05:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Wed Jul 04 13:05:45 2018 +0000"
      },
      "message": "Merge \"Fail cfg01 bootstrap if the bootstrap script is failed\""
    },
    {
      "commit": "86085b4c04a248e08a9ef4e916f3653e06e93641",
      "tree": "28acbc6e75a59a7de46a57bdab4f5f0864238947",
      "parents": [
        "701778f194b8a999b624df94bf29a24a28aa1d9f"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Jul 02 14:14:25 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Wed Jul 04 15:48:54 2018 +0300"
      },
      "message": "Fail cfg01 bootstrap if the bootstrap script is failed\n\nChange-Id: I11f3f5c81257bdb0bf0ec5af36be0aaa92af5065\n"
    },
    {
      "commit": "83a5d6c2f608760b07ec2fdb0a18527616cd3c55",
      "tree": "ed99520ef1ba9efe86c99dc0508335c3488bd826",
      "parents": [
        "a202e6d40e4cd6793187b517fb3ad626fefd25cd"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Tue Jul 03 21:59:55 2018 +0300"
      },
      "committer": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Wed Jul 04 00:40:41 2018 +0300"
      },
      "message": "Create cirros image before backup\n\nChange-Id: I9666b867b9d1d04e0d004929f076aa0ce05f4412\n"
    },
    {
      "commit": "e41d39f2da36fa2ffce2987d8f92365f85981054",
      "tree": "bebad3ff07c970bbe7b2a8caeb1c01262a5a4f79",
      "parents": [
        "701778f194b8a999b624df94bf29a24a28aa1d9f"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Fri Jun 22 17:12:41 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Mon Jul 02 16:50:00 2018 +0300"
      },
      "message": "Fox runtestmanager and run all tempest job with\nthis manager\n\nChange-Id: I1251b8681541ee78420cdef8aaa0cc3ac22a26f8\n"
    },
    {
      "commit": "b1f55c1d86e08a52c6020c3e700f087332308879",
      "tree": "ea61f9c2c1af647b5326633e1442a495ca11e539",
      "parents": [
        "dc03cbbda6b5058291d7e864142abf3ccbf7c08a",
        "afe8f958a40d552ce12c185eaec535149a07b16b"
      ],
      "author": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Wed Jun 20 15:11:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Wed Jun 20 15:11:30 2018 +0000"
      },
      "message": "Merge \"Add backup restore for glance images\""
    },
    {
      "commit": "afe8f958a40d552ce12c185eaec535149a07b16b",
      "tree": "2dad22f6f44fad5580cc41488c55bbcb2c42096a",
      "parents": [
        "41eb2ea1e5d36af4261e1819094a94c83ff73767"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Wed Jun 20 15:33:03 2018 +0300"
      },
      "committer": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Wed Jun 20 17:42:24 2018 +0300"
      },
      "message": "Add backup restore for glance images\n\n* copy image\n* delete from fs before restore\n* restore image\n* download restored image over glance\n\nChange-Id: Ibe5759419fe307e3613a89ed7b0da73742e0621c\n"
    },
    {
      "commit": "5cd0a16b7fe7422e31dacb6938d9d2b0e915ad79",
      "tree": "f95026f9c3dad36ae629e6ebf9cc8c4ab55c6bc6",
      "parents": [
        "92e451e8eb710ed640e43984e87da9a58a69b340"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Thu Jun 14 18:18:10 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Wed Jun 20 15:11:17 2018 +0300"
      },
      "message": "Run tempest test from shared-salt\n\nRun tempest test from shared-salt in:\nvirtual-mcp-pike-dvr-ceph-rgw\nvirtual-mcp-pike-dvr-ssl-barbican\nvirtual-mcp-pike-dvr-ssl\nvirtual-mcp-pike-dvr\nvirtual-mcp-pike-ovs-ceph\nvirtual-mcp-pike-ovs\ncookied-mcp-pike-ov\ncookied-mcp-pike-dvr\ncookied-mcp-pike-dpdk\n\nAlso, update runtestmanager\nChange-Id: Id7485e057f2673f93b0c363a6b741845405061fb\n"
    },
    {
      "commit": "835465f226fd899bda396673842a17d2ac924494",
      "tree": "f52a0041b65dadacbf14db8ff729938a48586ce8",
      "parents": [
        "faa01720638433686c253ac6f7babde2b273e394"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Thu Jun 14 16:42:23 2018 +0300"
      },
      "committer": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Mon Jun 18 18:11:21 2018 +0000"
      },
      "message": "WIP restore cfg\n\nChange-Id: Icbc9a86c1fb3e5f89b0852eaf9720c446d66519a\n"
    },
    {
      "commit": "e82441d79b980de682acf8bdaf7188e46d0bec2c",
      "tree": "c502edf37ecfd0200a47c151e0268fc38a3f766e",
      "parents": [
        "a2f84c27cfb577f66004e7da64ee91aca54a0c57"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Tue Jun 12 16:01:33 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Thu Jun 14 16:07:55 2018 +0300"
      },
      "message": "Use runtestmanager on ci\n\nUse runtestmanager for static model:\nvirtual-mcp-pike-*\n\nChange-Id: If5cd634b005b342c8b724ff99f4d8861e4a2bee9\n"
    },
    {
      "commit": "71d76f3d762f684f4a971250116f2fe96ec24f59",
      "tree": "30dbc563c28f57a5d343ae240077ad0eacd5eeee",
      "parents": [
        "c23abc980eeb0d466f168ee2c3346ccf929792ad"
      ],
      "author": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Tue Jun 05 17:46:34 2018 +0300"
      },
      "committer": {
        "name": "obutenko",
        "email": "obutenko@mirantis.com",
        "time": "Mon Jun 11 21:57:29 2018 +0300"
      },
      "message": "Update tempest config for runtestmanager\n\nChange-Id: Ia3253be7b6c545f4b8acb628a9cc438dc272bf46\n"
    },
    {
      "commit": "2675691dfa3484273c7483b7e8f1160c0cfd7e78",
      "tree": "a4bbd5b41e7d55013b89617057bbd64de1f24da8",
      "parents": [
        "e259dad62ca137e272426d1cdb71fb73e4aa0521"
      ],
      "author": {
        "name": "Tatyana Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Wed Jun 06 20:11:05 2018 +0300"
      },
      "committer": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Mon Jun 11 09:03:06 2018 +0000"
      },
      "message": "Add initial backup support\n\n* sahred backup with backup feature configuration steps\n* Initial structure for backup  manager\n* include backup configuration steps into ceph_rgw\n\nChange-Id: I0b88eef4e0e5e6eab93488ac99d8ea9face1c205\n"
    },
    {
      "commit": "c5a569a4b47b2eb10d261782c52bb4eb957a18f6",
      "tree": "289cb2ad30c385cd7b59034896f5ff60deb50ae5",
      "parents": [
        "ef3178be34ab0713a703b14fbb69f79d6600de66",
        "3ec2e53d4b55ecf267671dcd0ac1745c5f69aaf8"
      ],
      "author": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Jun 08 18:37:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Fri Jun 08 18:37:26 2018 +0000"
      },
      "message": "Merge \"Add tools to run jenkins jobs and remote commands\""
    },
    {
      "commit": "ef3178be34ab0713a703b14fbb69f79d6600de66",
      "tree": "46ee80218941b89c7cbd4b560fca7b741e6ed7b8",
      "parents": [
        "692d931d3f696d80d9f44c71a8434ab1ac62e505",
        "b01b90ebc400e6ad25833c3367a266fe5f7d2d5b"
      ],
      "author": {
        "name": "Tatyanka Leontovich",
        "email": "tleontovich@mirantis.com",
        "time": "Fri Jun 08 18:37:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Fri Jun 08 18:37:19 2018 +0000"
      },
      "message": "Merge \"Bootstrap with opened SSH on nodes\""
    },
    {
      "commit": "b01b90ebc400e6ad25833c3367a266fe5f7d2d5b",
      "tree": "679b865633dcfb4994b4c23ee458f923b0542e0a",
      "parents": [
        "aa53d49d0914619c4f02d84da390ab8ad44d29c7"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu Jun 07 14:57:53 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Jun 08 21:23:50 2018 +0300"
      },
      "message": "Bootstrap with opened SSH on nodes\n\nmaster_config.sh script for cfg01-day01 image requires working\nSSH service to perform \u0027ssh-keyscan\u0027 to prepare Jenkins.\n\n1. To wait the end of the bootstrap process with opened SSH,\n  two flags added:\n\n  /is_cloud_init_started - file on the node, indicates that the\n  bootstrap process should wait for the flag /is_cloud_init_finished\n\n  /is_cloud_init_finished - file on the node, indicates that the\n  bootstrap process can be finished successfully\n\n2. Backward compatibility:\n  - if the SSH service is available, but /is_cloud_init_started not\n    found, then the bootstrap process will be finished as successful.\n  - if any of (AuthenticationException, BadAuthenticationType)\n    exceptions caused, the bootstrap process will be finished as\n    successful.\n\n3. For each node, at least 2 successful (in terms of #1 or #2 above)\n   SSH checks should pass before the bootstrap is finished.\n\n   That allows to avoid intermediate allowness of ssh service during\n   bootstrap using the second check.\n\n   It is necessary for cases when ssh service is started by the\n   preparation process but is stopped for a while until the\n   cloud-init script is finished or the node is rebooted.\n\nChange-Id: I82fb10efa8a67d080b725a66a3185fc845d2b1a0\n"
    },
    {
      "commit": "3ec2e53d4b55ecf267671dcd0ac1745c5f69aaf8",
      "tree": "73797b09f3ee58a7711ed6ebb250d50642ce391c",
      "parents": [
        "a397f2649cbda6f976583ec6b145035a848c6243"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Jun 08 04:33:34 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Fri Jun 08 20:58:08 2018 +0300"
      },
      "message": "Add tools to run jenkins jobs and remote commands\n\n- ./tcp_tests/utils/create_devops_env.py\n  Creates a fuel-devops enviromnet with VMs in disabled\n  state, to generate networks and addresses for inventory.\n  Required parameters:\n    export ENV_NAME\u003dtest\n    export LAB_CONFIG_NAME\u003d\u003ctemplate directory with underlay.yml\u003e\n    export MANAGER\u003ddevops\n  Other parameters may be required for the underlay.yml\n\n  CLI example:\n    export PYTHONPATH\u003d$(pwd)\n    python ./tcp_tests/utils/create_devops_env.py\n\n- ./tcp_tests/utils/run_jenkins_job.py\n  Run a jenkins job with parameters, wait for completion,\n  print the console output to stdout while waiting.\n  Required parameters:\n    export JENKINS_URL\u003dhttp://host:port/\n    export JENKINS_USER\u003dadmin\n    export JENKINS_PASS\u003dadmin\n  CLI example:\n\n    JOB_PARAMETERS\u003d\"{\n      \\\"SALT_MASTER_URL\\\": \\\"${SALTAPI_URL}\\\",\n      \\\"STACK_INSTALL\\\": \\\"core,cicd\\\"\n    }\"\n    JOB_PREFIX\u003d\"[ {job_name} #{build_number}:cicd {time} ] \"\n\n    python ./tcp_tests/utils/run_jenkins_job.py \\\n        --verbose \\\n        --job-name\u003ddeploy_openstack \\\n        --job-parameters\u003d\"$JOB_PARAMETERS\" \\\n        --job-output-prefix\u003d\"$JOB_PREFIX\"\n\n- ./tcp_tests/utils/get_param.py\n  Get a single parameter from the salt pillar.\n  Useful to get addresses and other scalar values.\n  Required parameters are the same as for \u0027pepper\u0027 CLI:\n    export SALTAPI_URL\u003dhttp://${SALT_MASTER_IP}:6969/\n    export SALTAPI_USER\u003d\u0027salt\u0027\n    export SALTAPI_PASS\u003d\u0027icecream12345!\u0027\n    export SALTAPI_EAUTH\u003d\u0027pam\u0027\n  CLI example:\n  export JENKINS_HOST\u003d$(./tcp_tests/utils/get_param.py \\\n    -C \u0027I@docker:client:stack:jenkins\u0027 \\\n    pillar.get jenkins:client:master:host)\n\n- ./tcp_tests/utils/run_template_commands.py\n  Run remote commands from the ./tcp_tests/templates/\n  No environment varialbes are required, but may be\n  useful to provide the INI config from some completed\n  deployment.\n  CLI example:\n\n    export TESTS_CONFIGS\u003d$(pwd)/test_salt_deployed.ini\n    ./tcp_tests/utils/run_template_commands.py \\\n        ./tcp_tests/templates/\u003clab_name\u003e/common_services.yaml\n\n- some env files for sourcing to get access to different APIs.\n  This will simplify using the scripts above.\n\n    . ./tcp_tests/utils/env_salt          # salt-api access\n    . ./tcp_tests/utils/env_jenkins_day01 # jenkins on salt-master\n    . ./tcp_tests/utils/env_jenkins_cicd  # jenkins on cicd\n    . ./tcp_tests/utils/env_k8s           # k8s api access\n\n- fixed UnderlayManager.sudo_check_call() to remove\n  deprecation warning.\n\nImprovements to JenkisClient:\n- Add JenkinsWrapper class to workaround the bug\n  https://bugs.launchpad.net/python-jenkins/+bug/1775047\n  which is happened to CICD Jenkins behind the haproxy\n- improved waiting for start of the job in run_build()\n- new argument \u0027interval\u0027 in wait_end_of_build(), to set\n  the polling interval while waiting the job\n- new argument \u0027job_output_prefix\u0027 in wait_end_of_build(),\n  which allows to set the prefix to each line of the console\n  output of the job; with some pre-defined template keys.\n- improved printing the job output in case of non-unicode characters\n\nChange-Id: Ie7d1324d8247e55ba9c0f0492ca39fc176ff4935\n"
    },
    {
      "commit": "6d77ce4775d105cb6fd5f04e7aaaa4946cbce896",
      "tree": "85cb6a49039736d4918d29485f2b6f7bf2cf6cf7",
      "parents": [
        "aa53d49d0914619c4f02d84da390ab8ad44d29c7"
      ],
      "author": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Wed Jun 06 18:39:31 2018 +0300"
      },
      "committer": {
        "name": "Oleksii Butenko",
        "email": "obutenko@mirantis.com",
        "time": "Fri Jun 08 08:59:13 2018 +0000"
      },
      "message": "Copy keystonercv3 from ctl01 to gtw01\n\nPROD-20549\n\nChange-Id: I03647512298e5359961e50f3646f026db8248ffd\n"
    },
    {
      "commit": "edc0e03f3a52bc76ef1e63263a699c1ee648ffe2",
      "tree": "9d3f39906515a86a7ef68c57ac10a0390d1b2004",
      "parents": [
        "9d50e899bd9c80fb70865f352e9e64c78c7e641c",
        "62bcf461e462d0210585325b64d1c2742bb2e9a2"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Wed Jun 06 09:05:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Wed Jun 06 09:05:15 2018 +0000"
      },
      "message": "Merge \"Add \u0027k8s chain update\u0027 test\""
    },
    {
      "commit": "9d50e899bd9c80fb70865f352e9e64c78c7e641c",
      "tree": "4e9919675f5c772b6c173d65ba6a01866ef2b460",
      "parents": [
        "0d3c7b998e4be326970cd9a7e294f6120e452183",
        "d2604517d4edb734b8220d6724cf712cf02ec7ec"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Tue Jun 05 15:26:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Tue Jun 05 15:26:26 2018 +0000"
      },
      "message": "Merge \"Set keepalive interval for paramiko SSHClient\""
    },
    {
      "commit": "c56b77edaf59b7ec528638215932f81923be130b",
      "tree": "acba832abb7f4343b5428fbc148d0f8b979b9f7d",
      "parents": [
        "48a6af9eb5ba5652c001a2e2a8dfb5e75a6aff5d"
      ],
      "author": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Mon May 21 11:01:43 2018 +0300"
      },
      "committer": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Tue Jun 05 12:52:46 2018 +0300"
      },
      "message": "Runtest manager\n\nChange-Id: Iadb11e7a9d4af3a8dea803d23fc487cb3647b168\n"
    },
    {
      "commit": "62bcf461e462d0210585325b64d1c2742bb2e9a2",
      "tree": "263eaa7fef249b8e2c43ed295b3d02b469bc80f5",
      "parents": [
        "30e16d389bd7fbe458ad1136f0eafc8fb8a99e7f"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Mon May 28 18:17:01 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Mon Jun 04 15:27:38 2018 +0400"
      },
      "message": "Add \u0027k8s chain update\u0027 test\n\nChange-Id: Ica0cdf83e3a3b3a74e1eef8557d7064e97db1967\nRelated-PROD: PROD-17808\n"
    },
    {
      "commit": "d2604517d4edb734b8220d6724cf712cf02ec7ec",
      "tree": "8c2b619c131f4c9926c49d171933e07024dce494",
      "parents": [
        "1fe62a816658493a0298d7793034156f11cd6045"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Jun 04 05:34:44 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Mon Jun 04 05:45:32 2018 +0300"
      },
      "message": "Set keepalive interval for paramiko SSHClient\n\nIf the ssh server has set the option ClientAliveInterval, it will\nsend an \u0027empty\u0027 packet to a client and closes the connection if\nthe client is not responding.\nLooks like paramiko ignores such keepalive packages from server.\n\nBut paramiko has an option similar to ServerAliveInterval, which\nallows to send an \u0027empty\u0027 package from the client to the server,\nso the server will never reach it\u0027s own timeout\nfor ClientAliveInterval, and the connection won\u0027t be closed.\n\n- export SSH_SERVER_ALIVE_INTERVAL\u003d60 # 60 is default, 0 to disable\n- remove workarounds for ClientAliveInterval. If the platform set\n  this value to 300 for all nodes, the same timeouts may\n  happen inside the platform between different components\n  and should be catched by the tests in that case.\n\nChange-Id: I552cb7fdca59b51a3fc0e9e7d2cff7f28cb444dc\n"
    },
    {
      "commit": "a5bd16593a80e272883ed98c45d923a8db345aa8",
      "tree": "c76ae4c12786b7b4b45067c915737e20bb71f488",
      "parents": [
        "940453e873f0e1a070cb9da0743e7f1d642cf44a"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu May 31 20:57:19 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu May 31 21:34:13 2018 +0300"
      },
      "message": "Add waiting for the correct build_id in the JenkinClient:run_build()\n\nIf the job is queued while waiting for the free executors, then\nthe method was getting the wrong build_id belonging to the\nprevious job, for instance it will return build_id\u003d28 in this example:\n\n  №2​9 (pending—Build #28 is already in progress (ETA:17 min))\n  №2​8 [In progress]  May 31, 2018 6:07 PM\n\n* Add \u0027timeout\u0027 parameter (default 600sec) in run_build()\n  to wait until the queued build is started\n* Add pooling the queue until the build is started, get the\n  build number assigned to build in queue object\n* Add \u0027verbose\u0027 parameter (default False) to show the reason\n  from Jenkins why the build is not started yet, for example:\n\n    pending the job \u0027deploy_openstack\u0027 : Build #22 is already in progress (ETA:1 min 48 sec)\n    pending the job \u0027deploy_openstack\u0027 : Build #22 is already in progress (ETA:1 min 18 sec)\n    pending the job \u0027deploy_openstack\u0027 : Build #22 is already in progress (ETA:48 sec)\n\n* Rename the parameter \u0027print_job_output\u0027 to \u0027verbose\u0027\n  in the method wait_end_of_build() to have the common parameter\n  naming.\n\nChange-Id: Id49b5b45a8127e769b89860b19424081f37f6f38\n"
    },
    {
      "commit": "35413c0724ce8e70465400ae7bbf5056e17e5510",
      "tree": "8f02ed4836f40183b8853b2b722ad068d6146868",
      "parents": [
        "6111511ab86962c8524c3fd7807b492e31c52a19"
      ],
      "author": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Mon Mar 05 14:12:37 2018 +0200"
      },
      "committer": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Thu May 31 13:40:07 2018 +0300"
      },
      "message": "Use MaaS in system tests\n\nChange-Id: Ibaa90ab8a5f290c2a076976243ec0d2511ce8295\n"
    },
    {
      "commit": "6111511ab86962c8524c3fd7807b492e31c52a19",
      "tree": "c3e10c9244df7c9c491fcfefc47fb7edc1cb376b",
      "parents": [
        "8b26b6519dd96aa40dbbad7d3483e2dcd8981ab2"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu May 31 06:48:43 2018 +0300"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu May 31 06:57:29 2018 +0300"
      },
      "message": "Add possibility to follow a Jenkins job output during building\n\n* New parameter for JenkinsClient:wait_end_of_build()\n  \u0027print_job_output\u0027: bool\n\nIf \u0027print_job_output\u0027 is True, wait_end_of_build() prints\nthe job output to stdout \u0027as is\u0027, with all html and color tags.\n\n- add the method get_progressive_build_output() to jenkins manager.\n  It is pulling the ./logText/progressiveHtml and gets the\n  text chunks from \u0027start\u0027 to the current latest position of the\n  job console output.\n\nChange-Id: I25112c4c46715aa1837714740c7ee6b327704d4a\n"
    },
    {
      "commit": "30e16d389bd7fbe458ad1136f0eafc8fb8a99e7f",
      "tree": "e9b3f3e8ae20f9bf5312358df6313ee938a5734a",
      "parents": [
        "39b21eadbf2063db1a9b6cc67d4eccc2baa0f25a",
        "4e4126ce55a58a4d937f37ccb05276735ed42c5c"
      ],
      "author": {
        "name": "Dennis Dmitriev",
        "email": "dis.xcom@gmail.com",
        "time": "Fri May 25 12:56:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "support@gerrithub.io",
        "time": "Fri May 25 12:56:06 2018 +0000"
      },
      "message": "Merge \"Do not fail finalizer if conformance was not enabled\""
    },
    {
      "commit": "b76d33f6cc1922d76a0076319cb50df252593be4",
      "tree": "e17de51039d35a7590d237dfc9c4aa23b556b47f",
      "parents": [
        "da7a2c502e8282b7c8b68a8d5f60144e474d6059"
      ],
      "author": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Wed May 23 21:04:06 2018 +0400"
      },
      "committer": {
        "name": "Vladimir Jigulin",
        "email": "vjigulin@mirantis.com",
        "time": "Thu May 24 17:08:57 2018 +0400"
      },
      "message": "Use our patched version of xunitmerge\n\nThe patched version of xunitmerge prioritizes non-skipped results\nover skipped if there is a collision of test case\u0027s results with\nthe same name. The original version of xunitmerge doesn\u0027t use\ntest case\u0027s results and doesn\u0027t track collisions at all.\n\nCorrect merging requires that non-skipped results will not be\nduplicated over input files.\n\nChange-Id: I1db3daab7c37577e3be6bf694c1a58227f074928\nRelated-PROD: PROD-20207\n"
    },
    {
      "commit": "4e4126ce55a58a4d937f37ccb05276735ed42c5c",
      "tree": "105c2e041bfc6695e36056a358ce22259f579b5a",
      "parents": [
        "da7a2c502e8282b7c8b68a8d5f60144e474d6059"
      ],
      "author": {
        "name": "Victor Ryzhenkin",
        "email": "vryzhenkin@mirantis.com",
        "time": "Tue May 22 19:09:20 2018 +0400"
      },
      "committer": {
        "name": "Victor Ryzhenkin",
        "email": "vryzhenkin@mirantis.com",
        "time": "Tue May 22 15:26:53 2018 +0000"
      },
      "message": "Do not fail finalizer if conformance was not enabled\n\nChange-Id: Iede3d27962555ca78eda7c08130439e03f086019\n"
    },
    {
      "commit": "d3feedf59aa8f5084939179fbd8c1ec932bbaa75",
      "tree": "fdf26f31e326ed214e055819672419ddf0c9e61c",
      "parents": [
        "99592d4e9450adb8c640a04ca47ccc5a2fbcc8fb"
      ],
      "author": {
        "name": "ibumarskov",
        "email": "ibumarskov@mirantis.com",
        "time": "Mon May 21 14:19:10 2018 +0400"
      },
      "committer": {
        "name": "ibumarskov",
        "email": "ibumarskov@mirantis.com",
        "time": "Mon May 21 14:19:10 2018 +0400"
      },
      "message": "Fix run_tempest function\n\nNode_name is specified incorrectly because parameter \u0027target_name\u0027\nisn\u0027t a list.\n\nChange-Id: I427c6ac23c19ed3368973c037924d016356122c6\n"
    },
    {
      "commit": "b610afd6e3bd7c332c25abca7a0a504bdea58f23",
      "tree": "10a33350bed36f0b573c86e5727e302554c2bff0",
      "parents": [
        "d444b6db04ac04ef01f0440b8602470bf6b6bcd7"
      ],
      "author": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Mon Feb 19 15:43:45 2018 +0200"
      },
      "committer": {
        "name": "Dennis Dmitriev",
        "email": "ddmitriev@mirantis.com",
        "time": "Thu May 17 16:05:40 2018 +0300"
      },
      "message": "Update offline deployment test\n\nChange-Id: I3c935be8ad6f038ce6c25221de6d09e93619c94d\n"
    },
    {
      "commit": "11db68e48f794ddbe706085c2dc634130a3240f2",
      "tree": "09cc5b4a7c0cb6a13c83e294723b33e9b73a0ab2",
      "parents": [
        "9d9b05028eefe4aaa762e78185badf01cd4f5509"
      ],
      "author": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Wed May 16 18:11:35 2018 +0300"
      },
      "committer": {
        "name": "Dmitry Tyzhnenko",
        "email": "t.dmitry@gmail.com",
        "time": "Wed May 16 18:11:35 2018 +0300"
      },
      "message": "Fix typo in run_sl_tests_json\n\nChange-Id: I6bb45deeeef6270da9cc4e9f576545296c519468\n"
    }
  ],
  "next": "da828e37c795fce60bd8cebac53f93d306af1cd8"
}
