)]}'
{
  "log": [
    {
      "commit": "5aff90c635e4f97af0191fa90f80ceab705b2ecb",
      "tree": "4af20b198406fcc5e2174b7dfe32f08be71a6ece",
      "parents": [
        "e9f3a611555cbfc2071ac76b61601cf14c04d6cd"
      ],
      "author": {
        "name": "melissaml",
        "email": "ma.lei@99cloud.net",
        "time": "Mon Oct 03 16:36:33 2016 +0800"
      },
      "committer": {
        "name": "melissaml",
        "email": "ma.lei@99cloud.net",
        "time": "Mon Oct 03 16:36:33 2016 +0800"
      },
      "message": "Replace assertTrue(isinstance()) with assertIsInstance()\n\nSome of tests use different method of assertTrue(isinstance(A, B)) or\nassertEqual(type(A), B). The correct way is to use assertIsInstance(A,\nB) provided by testtools.\n\nChange-Id: I32afee50ebabab9595b05bbfdf83d49aa09858f1\n"
    },
    {
      "commit": "e9f3a611555cbfc2071ac76b61601cf14c04d6cd",
      "tree": "a4bb77bc8c95d52ca9391bc31fdd684f236e9eb8",
      "parents": [
        "3600054181032ef63d7ddca749ec0a034995ccca"
      ],
      "author": {
        "name": "Kyrylo Romanenko",
        "email": "kromanenko@mirantis.com",
        "time": "Wed Sep 14 15:11:20 2016 +0300"
      },
      "committer": {
        "name": "Kyrylo Romanenko",
        "email": "kromanenko@mirantis.com",
        "time": "Wed Sep 14 15:11:20 2016 +0300"
      },
      "message": "Fix docstrings in Tempest Plugin REST client for Ironic API\n\nFix misprints in docstrings.\n\nChange-Id: I68a6f98a626acccb404fb3088e7533e8340473da\n"
    },
    {
      "commit": "3600054181032ef63d7ddca749ec0a034995ccca",
      "tree": "c21a8a2ad3f9758fb218cbda5b4218ff9270358a",
      "parents": [
        "e22fbe10aafc57883869d6d77ee6a08c3ae5e887"
      ],
      "author": {
        "name": "Kyrylo Romanenko",
        "email": "kromanenko@mirantis.com",
        "time": "Fri Sep 16 15:07:40 2016 +0300"
      },
      "committer": {
        "name": "Kyrylo Romanenko",
        "email": "kromanenko@mirantis.com",
        "time": "Fri Sep 16 15:07:40 2016 +0300"
      },
      "message": "[trivial] Fix typo in docstring\n\nChange-Id: Ie142198b868d91f386319bdc253f7be34dedc55b\n"
    },
    {
      "commit": "e22fbe10aafc57883869d6d77ee6a08c3ae5e887",
      "tree": "6216044861b8f6d143112b020bd6a4504e133258",
      "parents": [
        "efc7fefcd0732531e5822d73641a87d2befa031c"
      ],
      "author": {
        "name": "Luong Anh Tuan",
        "email": "tuanla@vn.fujitsu.com",
        "time": "Mon Sep 12 16:32:14 2016 +0700"
      },
      "committer": {
        "name": "Luong Anh Tuan",
        "email": "tuanla@vn.fujitsu.com",
        "time": "Mon Sep 12 16:32:14 2016 +0700"
      },
      "message": "Replace six iteration methods with standard ones\n\n1.As mentioned in [1], we should avoid using six.iterXXX\nto achieve iterators. We can use dict.XXX instead, as it will\nreturn iterators in PY3 as well.\n\n2.In py2, the performance about list should be negligible,\nsee the link [2].\n\n[1] https://wiki.openstack.org/wiki/Python3\n[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html\n\nChange-Id: I801290be0a2afa929a657821c419f935a908c5b4\n"
    },
    {
      "commit": "efc7fefcd0732531e5822d73641a87d2befa031c",
      "tree": "20c3bee812ac241cf76dc67c082481d1c4126ad2",
      "parents": [
        "690bfe5c597dfd57da9f5c6b5227ea9763ca9539"
      ],
      "author": {
        "name": "zhufl",
        "email": "zhu.fanglei@zte.com.cn",
        "time": "Thu Sep 01 15:33:23 2016 +0800"
      },
      "committer": {
        "name": "zhufl",
        "email": "zhu.fanglei@zte.com.cn",
        "time": "Thu Sep 01 15:33:23 2016 +0800"
      },
      "message": "Remove unused LOG and CONF\n\nThis is to remove unused LOG and CONF to keep code clean.\n\nChange-Id: I5bca3cb114a4074fa2d837233723d1a94d1f6434\n"
    },
    {
      "commit": "690bfe5c597dfd57da9f5c6b5227ea9763ca9539",
      "tree": "44f3ab924750be4f76f0c3bb815b933844dc6597",
      "parents": [
        "d4e69163c4658492ce2f1948ae69df9cccc2906f"
      ],
      "author": {
        "name": "Luong Anh Tuan",
        "email": "tuanla@vn.fujitsu.com",
        "time": "Wed Aug 24 10:59:33 2016 +0700"
      },
      "committer": {
        "name": "Luong Anh Tuan",
        "email": "tuanla@vn.fujitsu.com",
        "time": "Wed Aug 24 10:59:33 2016 +0700"
      },
      "message": "Fix incorrect order of params of assertEqual()\n\nThe correct order of params is assertEqual(expected, actual).\n\nChange-Id: I4bbbe4b89411ebacfe76e4fd9a96b5d2e1bfd678\n"
    },
    {
      "commit": "d4e69163c4658492ce2f1948ae69df9cccc2906f",
      "tree": "c648a6aebd413d2a8f596f010b4cd2b99bbf647b",
      "parents": [
        "6f3a8a0884501172429491c65916084f6931756e"
      ],
      "author": {
        "name": "Luong Anh Tuan",
        "email": "tuanla@vn.fujitsu.com",
        "time": "Mon Aug 22 12:45:22 2016 +0700"
      },
      "committer": {
        "name": "Luong Anh Tuan",
        "email": "tuanla@vn.fujitsu.com",
        "time": "Mon Aug 22 12:45:22 2016 +0700"
      },
      "message": "Using assertIsNone() is preferred over assertEqual()\n\nFollowing OpenStack Style Guidelines[1].\n[H203] Unit test assertions tend to give better messages for more specific assertions.\nAs a result, assertIsNone(...) is preferred over assertEqual(None, ...)\n\n[1] http://docs.openstack.org/developer/hacking/#dictionaries-lists\n\nChange-Id: I46681aad0e7bae5c4b1f62db7987da24f516613d\n"
    },
    {
      "commit": "6f3a8a0884501172429491c65916084f6931756e",
      "tree": "24895bd5c60cf204fc6249236cd101b1a7237cd0",
      "parents": [
        "eb612d96c2c88bfafdf3471943210441adb66a9f"
      ],
      "author": {
        "name": "Luong Anh Tuan",
        "email": "tuanla@vn.fujitsu.com",
        "time": "Tue Aug 16 10:43:56 2016 +0700"
      },
      "committer": {
        "name": "Luong Anh Tuan",
        "email": "tuanla@vn.fujitsu.com",
        "time": "Tue Aug 16 10:43:56 2016 +0700"
      },
      "message": "Fix incorrect order of params of assertEqual()\n\nThe correct order of params is assertEqual(expected, actual).\n\nChange-Id: I5c6e2de98319c4381ea7dc6e7f3c86985477f1a3\n"
    },
    {
      "commit": "eb612d96c2c88bfafdf3471943210441adb66a9f",
      "tree": "a9f841d321f84df21c0c6576e91959c2a8378d2c",
      "parents": [
        "409789b5f49356db94ed8a4f0dad68e7f25fd96f"
      ],
      "author": {
        "name": "Yuriy Yekovenko",
        "email": "yyekovenko@mirantis.com",
        "time": "Mon Jan 18 17:49:47 2016 +0200"
      },
      "committer": {
        "name": "Yuriy Yekovenko",
        "email": "yyekovenko@mirantis.com",
        "time": "Mon Jan 18 17:49:47 2016 +0200"
      },
      "message": "Add test to verify ironic multitenancy\n\n  * Create two tenants with own networks.\n  * Boot 2 baremetal instances in the same IP subnet in\n    different tenants.\n  * Verify L3 connectivity between instances IP\u0027s\n  * Verify L3 connectivity between instances floating IP\u0027s\n\nCo-Authored-By: Vasyl Saienko (vsaienko@mirantis.com)\n\nChange-Id: I4fe31ecae3393abc2779a5e80e348899f9113f1b\nRelated-Bug: 1520230\n"
    },
    {
      "commit": "409789b5f49356db94ed8a4f0dad68e7f25fd96f",
      "tree": "e496f469472a01cee611d108895321e2f01337da",
      "parents": [
        "8ec4542638636e367a31ffce4ace7214c763d765"
      ],
      "author": {
        "name": "Gary Kotton",
        "email": "gkotton@vmware.com",
        "time": "Thu Jun 16 06:36:19 2016 -0700"
      },
      "committer": {
        "name": "Gary Kotton",
        "email": "gkotton@vmware.com",
        "time": "Thu Jun 16 06:36:19 2016 -0700"
      },
      "message": "No need for \u0027default\u003dNone\u0027 in config variable\n\nBy default the value is None. There is no need to specify\nthis.\n\nChange-Id: Iffb9dcaad366330e1bad3a3a0e707bb833953c08\n"
    },
    {
      "commit": "8ec4542638636e367a31ffce4ace7214c763d765",
      "tree": "e145a29241b573e176adaff81e94619619d92d48",
      "parents": [
        "f20979c86b5a407f77ba35c0cc45d27d7a70b07d"
      ],
      "author": {
        "name": "Emilien Macchi",
        "email": "emilien@redhat.com",
        "time": "Sun May 29 21:56:23 2016 -0400"
      },
      "committer": {
        "name": "Emilien Macchi",
        "email": "emilien@redhat.com",
        "time": "Sun May 29 21:56:23 2016 -0400"
      },
      "message": "tempest: start using get_configured_admin_credentials\n\nTempest removed get_configured_credentials in [1].\nThis patch aims to update the way we get admin credentials in Tempest\nclient code.\n\n[1] https://github.com/openstack/tempest/commit/bc0a7a6d8022c7240f5f1f80c0c93b43e9037ad4\n\nChange-Id: Ic97c011f8beec8df4253949285794be21b10f7cf\n"
    },
    {
      "commit": "f20979c86b5a407f77ba35c0cc45d27d7a70b07d",
      "tree": "0cc9d759de6ec602a9622098c6d27502571b5815",
      "parents": [
        "cbc6ed7c443fd4085dc66e44a02e0f21ca09cbf0"
      ],
      "author": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Fri May 27 11:25:01 2016 +0300"
      },
      "committer": {
        "name": "Vasyl Saienko",
        "email": "vsaienko@mirantis.com",
        "time": "Fri May 27 11:25:01 2016 +0300"
      },
      "message": "Fix signature for request method\n\nNew param was introduced to request method by [0]\nIt leads to broken jobs, because ironic redefines this method.\nReplace arguments by *args, **kwargs to do not depend on signature.\n\nReference:\n[0] https://github.com/openstack/tempest/commit/4408c4a5fe5a862a7e05d0df8b7990fd1c6053e1\n\nChange-Id: I09ada4fc12b58aaa9df4bb248a866999c681d822\nCloses-Bug: #1586299\n"
    },
    {
      "commit": "cbc6ed7c443fd4085dc66e44a02e0f21ca09cbf0",
      "tree": "cbaa51ba42b43cebaf6bae555cfdb59272caa0d6",
      "parents": [
        "ff78500ed4fd49b56372e57b49b48a3c588d868f"
      ],
      "author": {
        "name": "dparalen",
        "email": "vetrisko@gmail.com",
        "time": "Wed May 25 20:38:30 2016 +0200"
      },
      "committer": {
        "name": "dparalen",
        "email": "vetrisko@gmail.com",
        "time": "Wed May 25 20:38:30 2016 +0200"
      },
      "message": "Introduce provision states: AVAILABLE, ENROLL\n\nBaremetalProvisionStates.NOSTATE (``None``) was replaced by AVAILABLE\n(\"available\") in Ironic version 1.2. ENROLL (\"enroll\") state was introduced\nin version 1.12.  This patch also updates the\nBaremetalScenarioTest.terminate_instance method to wait for etiher NOSTATE\nor AVAILABLE.\n\nChange-Id: I067504e49f68929298c91e61819aa9a61169fe52\n"
    },
    {
      "commit": "ff78500ed4fd49b56372e57b49b48a3c588d868f",
      "tree": "a41e3e760fa193c348e0fd290717286dcb545f73",
      "parents": [
        "013f611064ed5c04f296e1fb60b26cd007e41acc"
      ],
      "author": {
        "name": "Yuiko Takada",
        "email": "takada-yuiko@mxn.nes.nec.co.jp",
        "time": "Thu Dec 17 15:56:42 2015 +0900"
      },
      "committer": {
        "name": "Yuiko Takada",
        "email": "takada-yuiko@mxn.nes.nec.co.jp",
        "time": "Thu Dec 17 15:56:42 2015 +0900"
      },
      "message": "Add support for API microversions in Tempest tests\n\nThis adds support for testing Ironic API microversions, specified\nas an additional \u0027X-OpenStack-Ironic-API-Version\u0027 header. This change\nalso adds tests for Ironic API /v1/nodes/(node_ident)/states/*\nendpoint for microversions that were changing state machine.\n\nCo-Authored-By: Vladyslav Drok \u003cvdrok@mirantis.com\u003e\nChange-Id: Ibf0c73aa6795aaa52e945fd6baa821de20a599e7\n"
    },
    {
      "commit": "013f611064ed5c04f296e1fb60b26cd007e41acc",
      "tree": "4e9b9ac35cb9c334d3a4e3f9f2bcb69e63facb0b",
      "parents": [
        "12b2ce6b423acdd71272219cdc4834e9b6fa6fab"
      ],
      "author": {
        "name": "ghanshyam",
        "email": "ghanshyam.mann@nectechnologies.in",
        "time": "Thu Apr 21 17:19:06 2016 +0900"
      },
      "committer": {
        "name": "ghanshyam",
        "email": "ghanshyam.mann@nectechnologies.in",
        "time": "Thu Apr 21 17:19:06 2016 +0900"
      },
      "message": "Fix usage of rest_client expected_success() in tests\n\nrest_client expected_success() method expect read_code\nmust be int and states the same in doc string .\n\nTempest is converting that to error instead of false pass.\nDetails: I3f4c58bdbb172805514831103927d3464d65d7f3\n\nChange-Id: Ic4b0af5701df99621e3abb693644c4824c92dc4c\n"
    },
    {
      "commit": "12b2ce6b423acdd71272219cdc4834e9b6fa6fab",
      "tree": "15bf423bf8d6877e433b5dc526208b560e754d2e",
      "parents": [
        "c608de53a2e175ff2cf344bcdf07be626df71f8d"
      ],
      "author": {
        "name": "Lucas Alvares Gomes",
        "email": "lucasagomes@gmail.com",
        "time": "Tue Apr 19 11:26:01 2016 +0100"
      },
      "committer": {
        "name": "Lucas Alvares Gomes",
        "email": "lucasagomes@gmail.com",
        "time": "Tue Apr 19 11:26:01 2016 +0100"
      },
      "message": "Document how to run the tempest tests\n\nThis patch is extending the developer quick-start guide to include\ninformation about how one can run the integration tests (tempest) against\na running devstack cloud (the setup for such a cloud is already part of\nthe documentation).\n\nThe patch also removes the information about how to run tests from the\nironic_tempest_plugin/README.rst file and add a link pointing to our\ndocumentation.\n\nChange-Id: I6aeb3a4fa735ff08cbb62b0b15cf95be57d1a308\n"
    },
    {
      "commit": "c608de53a2e175ff2cf344bcdf07be626df71f8d",
      "tree": "6915b9f206963f7038d5cbc2ccc68633c980d155",
      "parents": [
        "886250417ba1d446af54f0cabdc6bc151212acdd"
      ],
      "author": {
        "name": "vsaienko",
        "email": "vsaienko@mirantis.com",
        "time": "Thu Mar 31 10:51:22 2016 +0300"
      },
      "committer": {
        "name": "vsaienko",
        "email": "vsaienko@mirantis.com",
        "time": "Thu Mar 31 10:51:22 2016 +0300"
      },
      "message": "Tune interval for node provision state check\n\nBy default node_provision_state is checked each 1 second.\nIt may cause test to fail while actual test result is success due to\ntestr bug #1382579\nAlso it creates additional load on service and increase execution\ntime for test.\nThis patch set interval to 30 sec.\nIt should speed up the test on overloaded nodes.\n\nRelated-Bug: #1382579\nChange-Id: I631b0ee5fd8ff7c1d655b52496cf920d088c253d\n"
    },
    {
      "commit": "886250417ba1d446af54f0cabdc6bc151212acdd",
      "tree": "17ab6628284ab0035f6b1247b4ff1d36dbe4cbab",
      "parents": [
        "27cbcee45705efddcd19a7ab7cdf1a6f283dc3c2"
      ],
      "author": {
        "name": "Lenny Verkhovsky",
        "email": "lennyb@mellanox.com",
        "time": "Tue Mar 08 17:44:00 2016 +0200"
      },
      "committer": {
        "name": "Lenny Verkhovsky",
        "email": "lennyb@mellanox.com",
        "time": "Tue Mar 08 17:44:00 2016 +0200"
      },
      "message": "Replace depricated tempest-lib with tempest.lib\n\nChange-Id: Ia674f69f5e5b2a94f3aac5ed497a39e6b71816c0\n"
    },
    {
      "commit": "27cbcee45705efddcd19a7ab7cdf1a6f283dc3c2",
      "tree": "852863c5a9acbae3b710ec8813b33d57d1fa87ed",
      "parents": [
        "7af9b379a9dbd1e1cc0b8b57b0b9cc7b38fa0c96"
      ],
      "author": {
        "name": "Mauro S. M. Rodrigues",
        "email": "maurosr@linux.vnet.ibm.com",
        "time": "Wed Feb 03 14:14:58 2016 -0500"
      },
      "committer": {
        "name": "Mauro S. M. Rodrigues",
        "email": "maurosr@linux.vnet.ibm.com",
        "time": "Wed Feb 03 14:14:58 2016 -0500"
      },
      "message": "Comment out test options that already exists on tempest\u0027s tree\n\nSince we can\u0027t remove ironic\u0027s  tests and options from tempest\u0027s tree\nuntil liberty-eol (to tests stable branches) we can\u0027t have such options\non our tree, except of course new options like deploywait_timeout.\n\nChange-Id: If98cfea3e1235f6ffcdb1f47d6c64e65d094168f\n"
    },
    {
      "commit": "7af9b379a9dbd1e1cc0b8b57b0b9cc7b38fa0c96",
      "tree": "b84416324ab2d7f1bb42a93743d7178c77fefff2",
      "parents": [
        "a7cb4be8cfb9ba1bbe5f5f9c700d1527189d0131"
      ],
      "author": {
        "name": "Mauro S. M. Rodrigues",
        "email": "maurosr@linux.vnet.ibm.com",
        "time": "Wed Feb 03 13:23:14 2016 -0500"
      },
      "committer": {
        "name": "Mauro S. M. Rodrigues",
        "email": "maurosr@linux.vnet.ibm.com",
        "time": "Wed Feb 03 13:23:14 2016 -0500"
      },
      "message": "Refresh ssh verification mechanism\n\nLast week there was a change in how ssh_verification in done in tempest\n(see I76d818bf9e1bd26b1e499464fc9213764afee279) since those mechanisms\nare shared and used by Ironic\u0027s scenario test we should also update it.\n\nChange-Id: I68e9ee3faf747697cd5f50600ecadb15972cdd48\n"
    },
    {
      "commit": "a7cb4be8cfb9ba1bbe5f5f9c700d1527189d0131",
      "tree": "82435ab5e705ad45f81dfc454102de61efdb8afa",
      "parents": [
        "b65270011435eeab661de78bc93adbf97bbf7fe3"
      ],
      "author": {
        "name": "Mike Turek",
        "email": "mjturek@linux.vnet.ibm.com",
        "time": "Mon Jan 18 19:35:29 2016 +0000"
      },
      "committer": {
        "name": "Mike Turek",
        "email": "mjturek@linux.vnet.ibm.com",
        "time": "Mon Jan 18 19:35:29 2016 +0000"
      },
      "message": "Remove hard-coded DEPLOYWAIT timeout from Baremetal Scenario\n\nCurrently the baremetal scenario is hardcoded to wait 15 seconds\nfor the ironic node to reach the wait-callback state. This patch\nadds a configuration option for this timeout and replaces the\nhardcoded value with it.\n\nCloses-Bug: #1526466\n\nChange-Id: I8cded9467dc03d9e1a75222bb4b017604ae946af\n"
    },
    {
      "commit": "b65270011435eeab661de78bc93adbf97bbf7fe3",
      "tree": "bd0ed3a703d28848337d54cae7a60f1eaf6f7896",
      "parents": [
        "d22378da76874a282a132af5d7fb4684ad091128"
      ],
      "author": {
        "name": "Yuiko Takada",
        "email": "takada-yuiko@mxn.nes.nec.co.jp",
        "time": "Mon Dec 07 11:49:12 2015 +0900"
      },
      "committer": {
        "name": "Yuiko Takada",
        "email": "takada-yuiko@mxn.nes.nec.co.jp",
        "time": "Mon Dec 07 11:49:12 2015 +0900"
      },
      "message": "Migrate Tempest tests into Ironic tree\n\nBy using Tempest External Plugin, Tempest tests no longer\nneed to live in Tempest tree.\nThis patch set migrates Tempest tests from Tempest tree to Ironic.\n\nChange-Id: Ic52806987dae9f9df561ebd662f12c3445d0e2af\n"
    },
    {
      "commit": "d22378da76874a282a132af5d7fb4684ad091128",
      "tree": "86b8f8abe45e7fdfef1e09d2cb23540a4e486e5c",
      "parents": [
        "4f8f2299fdf9c4197c0b9c337f8ce26d4e7951ff"
      ],
      "author": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Tue Aug 01 14:47:54 2017 -0700"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Thu Aug 03 13:07:32 2017 -0700"
      },
      "message": "Script to extract the ironic_tempest_plugin/ directory\n\nAdd a script to extract the ironic_tempest_plugin/ directory from the\nopenstack/ironic repository. Then cherry-pick all of those commits\ninto this repository.\n\nAlso make ironic_tempest_plugins/__init__.py an empty file so \u0027diff\u0027\nwill be correct.\n\nRemove the following files, so \u0027diff\u0027 will be correct:\n    ironic_tempest_plugin/tests/base.py\n    ironic_tempest_plugin/tests/test_ironic_tempest_plugin.py\n\nIgnore E129 errors in flake8, like we do in Ironic. As it will fail\npep8 when we import all the upcoming patches.\n\nChange-Id: I1625128717c8a848c6d673314b09d0a6c9c96679\n"
    },
    {
      "commit": "4f8f2299fdf9c4197c0b9c337f8ce26d4e7951ff",
      "tree": "7867fe71838e4d19c9039f3e2e7d7a9f0cb29d80",
      "parents": [
        "a1ac40d94fda152b1214b6399aa217d3d2b7ce42"
      ],
      "author": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Fri Nov 18 06:22:18 2016 -0500"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Fri Jan 27 15:55:29 2017 -0800"
      },
      "message": "Initial commit from cookiecutter\n\nChange-Id: Ia8fd7b9310e598b1e9d7c1eb3d2a484bc667432a\n"
    },
    {
      "commit": "a1ac40d94fda152b1214b6399aa217d3d2b7ce42",
      "tree": "5a1f555cacbdf7c552cab69fb5f80d0e66a33450",
      "parents": [],
      "author": {
        "name": "OpenStack Project Creator",
        "email": "openstack-infra@lists.openstack.org",
        "time": "Fri Nov 18 08:29:25 2016 +0000"
      },
      "committer": {
        "name": "root",
        "email": "root@review.openstack.org",
        "time": "Fri Nov 18 08:29:25 2016 +0000"
      },
      "message": "Added .gitreview\n"
    }
  ]
}
