)]}'
{
  "log": [
    {
      "commit": "c3c91c4267ae5bc70a05a56b8cfc362638f266f1",
      "tree": "172b76c7a784d996e83093d51ec4e7c0e8344730",
      "parents": [
        "ced2e414c0c3feedb00385649a70d6e991034207",
        "7ae97298c55d9ba21d2dc037cc7d9fae54afa183"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 20:04:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 20:04:55 2016 +0000"
      },
      "message": "Merge \"Minor fixes for bashate trunk\""
    },
    {
      "commit": "a91d7d8d05e31d7cd5a8bdc350ac42dd0cc6da6f",
      "tree": "8da17a024216e11841d11fafafa36e4c3509eafa",
      "parents": [
        "6bb429359d4f1c8d2fe814c7cc90cc469cc1f5bd",
        "8a4dea24faa51e79507aa3f1655cea46a382e95d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 19:40:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 19:40:46 2016 +0000"
      },
      "message": "Merge \"Ironic: Update is_ironic_hardware function\""
    },
    {
      "commit": "1ff75ff87fc2a46d1f88918d94be48e5d59e3aab",
      "tree": "203549ad410877cb51e85b8f463730ed3352d7bc",
      "parents": [
        "ef0129c7ce0e1a7704ba390b851f5d4a787e247b"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 19 14:28:37 2016 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 19 14:39:45 2016 +1100"
      },
      "message": "Always strip package comments\n\nIn the \"I can\u0027t believe I missed this\" category -- the existing strip\nmethod removes shortest match (%); which fails when you put another #\nin the comment (like \"refer to bug#1234\").  Change to the longest\nmatch which should strip everything from the first \"#\" to the end\n(since that\u0027s going to be the longest).\n\nChange-Id: I47f5e710ebd87b0f54549732e7d64cf42c7a6b65\n"
    },
    {
      "commit": "8a4dea24faa51e79507aa3f1655cea46a382e95d",
      "tree": "12854d178d834c55c0bb807a1066962e712d27b5",
      "parents": [
        "4bcf6529d5096c16fd1b9c418d5c40d2bb8a2831"
      ],
      "author": {
        "name": "Lucas Alvares Gomes",
        "email": "lucasagomes@gmail.com",
        "time": "Thu Feb 18 15:52:22 2016 +0000"
      },
      "committer": {
        "name": "Lucas Alvares Gomes",
        "email": "lucasagomes@gmail.com",
        "time": "Thu Feb 18 15:58:32 2016 +0000"
      },
      "message": "Ironic: Update is_ironic_hardware function\n\nThe DevStack module of Ironic added a new configuration variable called\nIRONIC_IS_HARDWARE that can be set to True/False to indicate that we are\nsetting up devstack to deploy physical or virtual machines (see the\ndepends flag). Prior to that, the devstack code assumed that if the\ndriver name loaded is !\u003d *_ssh then it\u0027s a physical hardware but now we\nneed to kill this assumption because we have means (see the virtualbmc\nutility) to test drivers such as pxe_ipmitool and agent_ipmitool using\nvirtual machines.\n\nDepends-On: I5edc51c7fc8b6f0bb7fe4ca129596709a32eb93e\nRelated-Bug: #1544642\nChange-Id: I8b6363bbe280ddd2720c570851bc40e2804a40e2\n"
    },
    {
      "commit": "4bcf6529d5096c16fd1b9c418d5c40d2bb8a2831",
      "tree": "ca651ad35111e3e3f4b0e49b331eba68858d941d",
      "parents": [
        "772e914769dcaba6494ad1427ff0e340d73bfc5b",
        "edc11c2f834e45dea9c9c0fcda21369d2afa30e2"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 18 06:50:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 18 06:50:18 2016 +0000"
      },
      "message": "Merge \"Keystone support deploy in uwsgi\""
    },
    {
      "commit": "7ae97298c55d9ba21d2dc037cc7d9fae54afa183",
      "tree": "f6dfe9c2e05a9f2b3bb9f8b3613ed91341f0bc2f",
      "parents": [
        "f130b283d9603477c0ffa7705eec39d73798b4d2"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Feb 16 14:50:53 2016 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Feb 16 14:50:53 2016 +1100"
      },
      "message": "Minor fixes for bashate trunk\n\nWe don\u0027t have a new bashate release yet, but this fixes some minor\nissues when used with bashate trunk.\n\nThe only two things triggered are stricter checking of assignment in\nlocal declartions (catches quotes) and one instance of evaluating\narithmetic result in tools/xen/functions.\n\nTherefore, hopefully, this change has no effect!\n\nChange-Id: I3fd5d55236e90c2f2c25243af87adaf0c1b763e2\n"
    },
    {
      "commit": "96006658bedbdfa98e4d0685852f057aeb2ae1a6",
      "tree": "87617fa281e59d0d713f8004c76b6fba7b9888d6",
      "parents": [
        "f130b283d9603477c0ffa7705eec39d73798b4d2"
      ],
      "author": {
        "name": "ptoohill1",
        "email": "phillip.toohill@rackspace.com",
        "time": "Mon Feb 15 16:07:50 2016 -0600"
      },
      "committer": {
        "name": "ptoohill1",
        "email": "phillip.toohill@rackspace.com",
        "time": "Mon Feb 15 18:41:14 2016 -0600"
      },
      "message": "Add LinuxMint to distro check\n\nAdds LinuxMint to the distro checking. This allows linux mint with\nthe FORCE option to run. This will not fix for other distros that\ndo not pass the checks.\n\nChange-Id: I42599c1bd851d2b61a56a3960f42ad051aab1727\nCloses-Bug: #1545864\n"
    },
    {
      "commit": "edc11c2f834e45dea9c9c0fcda21369d2afa30e2",
      "tree": "7a87388c66878822d5454dbe82279019e4680f82",
      "parents": [
        "a03053660a3867b4f7622303c0499a6b79292cca"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon Dec 14 15:32:05 2015 -0600"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon Feb 15 08:45:22 2016 -0600"
      },
      "message": "Keystone support deploy in uwsgi\n\nKeystone is going to remove support for eventlet. Rather than only\nhave one way to run keystone (in Apache Httpd with mod_wsgi), we\nshould continue to gate on multiple wsgi containers to ensure that\nkeystone remains container-agnostic. The suggested alternative\ncontainer is uwsgi.\n\nTo run keystone in uwsgi rather than httpd or eventlet, set the\nfollowing env var in local.conf:\n\n KEYSTONE_DEPLOY\u003duwsgi\n\nThere\u0027s a lot of options to uwsgi. Here\u0027s some protips:\nhttp://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html\n\nChange-Id: If3b49879ce5181c16f0f0ab0db12fa55fe810a41\n"
    },
    {
      "commit": "5073896cc9f47d4f8c489250bb5585b2190abb5a",
      "tree": "ca5af5c4c22cb30d0b9ee7d33b1e408171657bda",
      "parents": [
        "cd23ab9644ddd9b355632d1d0d6ed07206b876da",
        "7710e7fc273dd9af6799ea565bbd21ce03745a44"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Feb 14 14:42:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Feb 14 14:42:43 2016 +0000"
      },
      "message": "Merge \"Only use lsb_release for distro tags\""
    },
    {
      "commit": "4723e618ccf5e3dda01776221f95f289ae97540d",
      "tree": "f0d24e5cafe02e98155ee662ea2398716185ed7f",
      "parents": [
        "e20cb43fd691c77919d77618bce46bc8c3e4de11",
        "5dcbf7aeffb6c98f723f3045c22de23ed38f4510"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Feb 08 23:07:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Feb 08 23:07:29 2016 +0000"
      },
      "message": "Merge \"Don\u0027t die when yum fails.\""
    },
    {
      "commit": "e20cb43fd691c77919d77618bce46bc8c3e4de11",
      "tree": "d5f7974081b0564c6d2d7e8bba2ebf0b69db9f76",
      "parents": [
        "25fe1be8b151b4ac529fdf03be50f7db65033abf"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Feb 05 12:00:18 2016 -0800"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Feb 05 12:00:18 2016 -0800"
      },
      "message": "Set different cloud name for alt_demu user\n\nHaving multiple clouds with the same name in clouds.yaml confuses\nopenstack client config and it may not choose the intended cloud.\nUnfortunately the new alt_demo user\u0027s clouds.yaml config used a\nduplicate name creating confusion for clouds.yaml consumers.\n\nCorrect this by using a unique cloud name, devstack-alt, for use by the\nalt_demo user.\n\nChange-Id: I2cb8f10ab5abfedf76ead309f237730ce8ce2ad4\n"
    },
    {
      "commit": "c67d22e2ed0eb3fa0786f4314752ab7b26758ea3",
      "tree": "03819d602686d9c625b27cf1a48e85138df8c672",
      "parents": [
        "3c92590101bffc53cadcc04f8774d9deca01e44b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Feb 02 05:51:14 2016 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Feb 02 05:51:14 2016 -0500"
      },
      "message": "make the alt_demo user during normal install\n\nFor testing reasons it\u0027s typically very useful to have a second non\nadmin user to cross check that it can\u0027t do a thing to the first\nuser. It was useful enough we always created it with tempest (though\nwe didn\u0027t always use it).\n\nThis makes devstack always create an alt_demo user, which is available\nin occ as devstack-alt. This will help us unwind some of the keystone\nv3 breaks with functional tests using keystone cli to build this\nsecond user.\n\nChange-Id: Iaaf02469180563e2d8c413fee0ee66ada2296cfa\n"
    },
    {
      "commit": "74379df11f6ce2e76d1448f4ffd6db9528768727",
      "tree": "a17daf765a3194ce5c4bf67d6ca0b6c441700cb0",
      "parents": [
        "dd60f2cd1c348cfdccfd4838812853e41cb26ae2"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jan 21 10:20:08 2016 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jan 21 10:20:08 2016 -0500"
      },
      "message": "Remove leftover homedir clouds.yaml files\n\nWe don\u0027t write files here anymore, but it\u0027s higher in the precedence\norder than the /etc/openstack/clouds.yaml file we do write. Some\ndevelopers who have long-lived devstacks who update infrequently have\nbeen bitten by the leftover file.\n\nChange-Id: I8af6bd465f74099c560dddba6b5221dd79cbc965\n"
    },
    {
      "commit": "5dcbf7aeffb6c98f723f3045c22de23ed38f4510",
      "tree": "760f28708debe4cecd6e71b37d69d1d46431d2da",
      "parents": [
        "1d27155f650e9b8e4053a201f1f08c494b820de2"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Wed Jan 13 12:17:32 2016 +0000"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Wed Jan 20 09:06:55 2016 +0000"
      },
      "message": "Don\u0027t die when yum fails.\n\nNot all yum failures has to be considered\ncatastrofic failures also because install_package\nfunction should implement the same behavior in Fedora,\nCentOS and Ubuntu. Let return the error to be solved at higher\nlevel.\n\nChange-Id: I93e9f312a94aeb086925e069a83ec1d3d3419423\nCloses-Bug: #1522590\n"
    },
    {
      "commit": "c461db4a2f75333dceb85c9fb5c90660c0623b11",
      "tree": "6cf38275bcec909855db4059a3f003e54ac6e8ce",
      "parents": [
        "ea7fd5515344c18a5cec308fada67b6f3f6ab482",
        "f568c3a141f04c86ba2d971eb0fa908b4a060731"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 15 21:49:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 15 21:49:15 2016 +0000"
      },
      "message": "Merge \"Fix SIGITIN hang with apt-get\""
    },
    {
      "commit": "ed9487a885caf81b9283f39702261d91c94ac393",
      "tree": "d67abab37bc44dc4162ab704d668ecce00ead9ef",
      "parents": [
        "2cb3db338a17bd26fef1f56fc155be5d01a6ef7e"
      ],
      "author": {
        "name": "Davanum Srinivas (dims)",
        "email": "davanum@gmail.com",
        "time": "Mon Jan 11 21:20:34 2016 +0000"
      },
      "committer": {
        "name": "Surojit Pathak",
        "email": "suro@yahoo-inc.com",
        "time": "Tue Jan 12 18:57:37 2016 +0000"
      },
      "message": "Revert \"Don\u0027t die when yum fails.\"\n\nThis reverts commit 2babf3963f4eea8558b0c287c51e6faeb7069c70.\n\nThis breaks oslo.messaging jobs:\nhttp://logs.openstack.org/32/265932/1/check/gate-oslo.messaging-dsvm-functional-amqp1-centos7/f5f3eb9/console.html#_2016-01-11_20_03_33_162\n\n@kgiusti reports that PIPESTATUS[0] is always 1 on his centos7 box\n\nChange-Id: I013c22a3545f22c79a0616b4a98622d41bb17d77\n"
    },
    {
      "commit": "7710e7fc273dd9af6799ea565bbd21ce03745a44",
      "tree": "46bee50accf6f4c0ada1d89382ab92de5d0eebea",
      "parents": [
        "2cb3db338a17bd26fef1f56fc155be5d01a6ef7e"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Aug 27 16:15:32 2014 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jan 12 09:23:35 2016 +1100"
      },
      "message": "Only use lsb_release for distro tags\n\nThe existing GetOSVersion has a lot of unused code which is wrong in\nseveral ways\n\n - the only path tested in upstream CI is with lsb_release, because\n   it\u0027s pre-installed on all nodes\n\n - the /etc/redhat-release checking probably still works, but is\n   unnecessary\n\n - If using lsb_release, os_UPDATE has never actually been set.\n\n - the /etc/SuSE-release branch checking is broken if the lsb package\n   is actually installed.  lsb checking does not set os_UPDATE but yet\n   the SuSE DISTRO setting relies on this to set a patch level (and so\n   does some of the rpm tags).  SuSE 11 is up to update 3, but the rpm\n   matching is stuck hard-coded to update 2.  I\u0027m guessing\n   installation is actually broken there.\n\n - the debian checking branch is broken.  The VERSION tags have been\n   removed and were not supposed to be relied on anyway (see notes in\n   [1])\n\nThis simplifies things:\n\n - remove OSX checking (moved here after discussions in\n   I31d0fdd30928ecc8d959a95838b1d3affd28ac6f)\n\n - only use the output of lsb_release.\n\n - A small best-effort check to pre-install lsb packages if not\n   detected (that avoids chicken-egg-problem of package-install\n   wrappers relying on os_* flags).\n\n - The unset os_UPDATE is removed.  It\u0027s only previous use was for\n   setting separate suse versions in the DISTRO element for matching\n   during package installs (since removed)\n\n - DISTRO setting is modified to use the parts of os_RELEASE it wants.\n   Per-above, this is the correct place to parse out specifics.\n\n - Call out the is_* functions, which are a better way to detect\n   platforms\n\n - Export the variables as read-only, since they shouldn\u0027t be reset\n\n[1] http://sources.debian.net/src/base-files/7.5/debian/changelog/\n\nChange-Id: I46a2c36d95327087085df07cb797eb91249a893c\n"
    },
    {
      "commit": "2cb3db338a17bd26fef1f56fc155be5d01a6ef7e",
      "tree": "1a3967e0315924419c90f8754d16c5a213677b60",
      "parents": [
        "5453cdd392148db4af45fd950542085c2083de09",
        "2babf3963f4eea8558b0c287c51e6faeb7069c70"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jan 11 17:01:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jan 11 17:01:33 2016 +0000"
      },
      "message": "Merge \"Don\u0027t die when yum fails.\""
    },
    {
      "commit": "8df31a107d9d55233aef290733c56e2f953e5dd3",
      "tree": "4b3f0103d49a4670a476151beddfa00231c596b9",
      "parents": [
        "a3ab6865ff870b81f95a0e77da8881cb8a407a06",
        "59c6377ae51c024c28a6fba72de567bc97edda10"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jan 09 07:49:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jan 09 07:49:35 2016 +0000"
      },
      "message": "Merge \"Assign admin role for admin user on default domain\""
    },
    {
      "commit": "f568c3a141f04c86ba2d971eb0fa908b4a060731",
      "tree": "ef3539bbe11b20434cc48e661fb2f99be1ebb531",
      "parents": [
        "a5ea08b7526bee0d9cab51000a477654726de8fe"
      ],
      "author": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Thu Jan 07 19:10:50 2016 -0800"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Fri Jan 08 15:01:05 2016 -0800"
      },
      "message": "Fix SIGITIN hang with apt-get\n\nFix an issue where apt-get consistently hangs due to a SIGTTIN being\nreceived. This occurs on a \u0027vanilla\u0027 devstack-gate VM, when running an\nironic-grenade job.\n\nUpstream has a bug related to this:\nhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d555632\n\nhttp://www.gnu.org/software/libc/manual/html_node/Job-Control-Signals.html\nMacro: int SIGTTIN\n\n    A process cannot read from the user\u0027s terminal while it is running\n    as a background job. When any process in a background job tries to\n    read from the terminal, all of the processes in the job are sent a\n    SIGTTIN signal. The default action for this signal is to stop the\n    process. For more information about how this interacts with the\n    terminal driver, see Access to the Terminal.\n\nChange-Id: I8b1f3dccf329bb88e017eff7492da5e701b4892c\nCloses-Bug: #1532080\n"
    },
    {
      "commit": "2babf3963f4eea8558b0c287c51e6faeb7069c70",
      "tree": "0d6db3f2eea9ae396368b4a745d10a9a83c52363",
      "parents": [
        "828936c6ac8045fbb985ed2e89cdaa9a7c01241a"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Sun Jan 03 20:20:12 2016 +0000"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Fri Jan 08 15:30:02 2016 +0000"
      },
      "message": "Don\u0027t die when yum fails.\n\nNot all yum failures has to be considered\ncatastrofic failures also because install_package\nfunction should implement the same behavior in Fedora,\nCentOS and Ubuntu. Let return the error to be solved at higher\nlevel.\n\nChange-Id: Ia33bb98f47017f6ec00eb3b7261ed42d72efc573\nCloses-Bug: #1522590\n"
    },
    {
      "commit": "ecc1f41d5053807a70b51bcf2247b51d0ac81ae1",
      "tree": "ae6f491f51f5d14101b841e24b7b5a9519a05171",
      "parents": [
        "828936c6ac8045fbb985ed2e89cdaa9a7c01241a"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Mon Dec 28 15:14:13 2015 +0100"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Fri Jan 08 15:29:16 2016 +0000"
      },
      "message": "Don\u0027t reinstall package just after installing.\n\nBoolean logic used in install_package was wrong:\non nominal flow packages were actually installed twice.\nThis should fix it.\n\nChange-Id: Ia465414936b272d04523a11f83d6ded378fe1daf\nCloses-Bug: #1518544\n"
    },
    {
      "commit": "7792bd20254e5df4ee2e18b751c07be0b7d68152",
      "tree": "4539bafc1b48e9f517c39202246621cf9c3d9100",
      "parents": [
        "a5ea08b7526bee0d9cab51000a477654726de8fe",
        "f73263d47a85f1fe6d1b80d10e85fe35a46aa8ef"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 08 07:23:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 08 07:23:41 2016 +0000"
      },
      "message": "Merge \"Remove uses of --os-url and --os-token\""
    },
    {
      "commit": "a5ea08b7526bee0d9cab51000a477654726de8fe",
      "tree": "690fe0ea16522a540f40433461eb670b5273424f",
      "parents": [
        "b6156915768b65fbc588c7601fc5a6a1e89d186c"
      ],
      "author": {
        "name": "Alexander Schmidt",
        "email": "alexs@linux.vnet.ibm.com",
        "time": "Wed Dec 02 15:30:44 2015 +0000"
      },
      "committer": {
        "name": "Markus Zoeller",
        "email": "mzoeller@de.ibm.com",
        "time": "Thu Jan 07 10:14:39 2016 +0100"
      },
      "message": "Add distro support for KVM for IBM z Systems\n\nAdd \"KVM for IBM z Systems\" to the list of Fedora-like distros.\n\nAs the distribution does not have a dedicated kvm package,\nprevent the installation of the kvm package during the libvirt\nsetup.\n\nChange-Id: Ibb5c60797d6867264f9dea7fea85cdf1d7c72ded\n"
    },
    {
      "commit": "feb2babd07a5aa8583f68332d6fdceba8b3eb7f9",
      "tree": "2140cd14e0f63b9f59cefe81fe643cc39abba4bd",
      "parents": [
        "9f8cf83e6914165543d619e053557aa21a8cf4ee",
        "af0801de3c1b1c51cf1a995c2939e182d2ef4926"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 06 18:28:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 06 18:28:26 2016 +0000"
      },
      "message": "Merge \"Make logfile symlinks with relative names.\""
    },
    {
      "commit": "c6dbfdeb6bf21de7f0c645b86f1cc74f8cb872c4",
      "tree": "a533cb9f7ddd7ca5dd4cb576004d1e188494a40f",
      "parents": [
        "8ba3cf0132f1d97ccf5e55aa82f67efbd601da6a",
        "2ca8af45a78226f29c3251cbef6449a0a51a4c1f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 05 19:24:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 05 19:24:10 2016 +0000"
      },
      "message": "Merge \"Add 5 time measurement points\""
    },
    {
      "commit": "e208d060e17e2ad622c7b06cd90baed0eeed89f8",
      "tree": "da018a768b076a2d5938af9c36ae1748c6a713b3",
      "parents": [
        "7bd9ca8a3be6aeb50bffdce48b220615b1297f79"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Sat Nov 21 11:15:39 2015 +0000"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Tue Jan 05 08:21:05 2016 +0000"
      },
      "message": "Preserve result returned by apt-get and pip\n\nChange I855ffe9c7a75e9943106af0f70cf715c34ae25c5 and\nI368fec44858bd97fc6a314fb20eed2b10932cbb1 added timing\ninfrastructure which hides the return value of\nthe main commands.  Restore the prior behaviour.\n\nChange-Id: I4a536abefa7824ac6d42e7bbbf1079d9cc055984\nCloses-Bug: #1518545\n"
    },
    {
      "commit": "85c466c2d743382cc7da81c6d9091273d0566bf8",
      "tree": "76843bd86667253a09d0738b69197af810ef0ff7",
      "parents": [
        "227f20ceb2667944a20adb54e48e47f51ede79c1",
        "5979f47a3df4e7662c70236e7ddf0bedcbe5ea25"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 05 04:55:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 05 04:55:21 2016 +0000"
      },
      "message": "Merge \"Fix get_plugin_packages when multiple plugins are in use\""
    },
    {
      "commit": "f73263d47a85f1fe6d1b80d10e85fe35a46aa8ef",
      "tree": "e126c78a212790b72faf066aeaf64e29c82abcb5",
      "parents": [
        "227f20ceb2667944a20adb54e48e47f51ede79c1"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Dec 25 08:29:32 2015 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Jan 04 09:12:05 2016 -0600"
      },
      "message": "Remove uses of --os-url and --os-token\n\nThose were originally used to bootstrap with admin-token from keystone,\nbut the openstack client is fully configured now, leaving no reason to\nnot just use the actual users that are there.\n\nChange-Id: I80bdee33a78a97f5d3910aa36dc331f19780d2f1\n"
    },
    {
      "commit": "227f20ceb2667944a20adb54e48e47f51ede79c1",
      "tree": "1cc80ca6291dac797aed94a55d3e6456d30cd874",
      "parents": [
        "0d81785bbe1228e477e395595d37bef9775f1cab",
        "4ce859ab2b99e68ce937c9c9df83d9270c8ef9fb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jan 04 13:59:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jan 04 13:59:56 2016 +0000"
      },
      "message": "Merge \"update create_heat_accounts, don\u0027t use os_url and os_token\""
    },
    {
      "commit": "5979f47a3df4e7662c70236e7ddf0bedcbe5ea25",
      "tree": "6ada6cbdb2983aaa21dac6370e84338eafd85ee2",
      "parents": [
        "e8788c0129e0634bbefe0382ad82b70a38f38bc6"
      ],
      "author": {
        "name": "Dmitry Tantsur",
        "email": "dtantsur@redhat.com",
        "time": "Sun Jan 03 18:08:14 2016 +0100"
      },
      "committer": {
        "name": "Dmitry Tantsur",
        "email": "dtantsur@redhat.com",
        "time": "Mon Jan 04 11:53:31 2016 +0100"
      },
      "message": "Fix get_plugin_packages when multiple plugins are in use\n\nDue to missing space no plugin packages are installed in this case.\n\nChange-Id: I56b105510e4d31a411f2531fdb20c4ddf1ebff20\nCloses-Bug: #1530675\n"
    },
    {
      "commit": "4ce859ab2b99e68ce937c9c9df83d9270c8ef9fb",
      "tree": "762f2168ff84b832c5e2d197ca766a5cbe3eefc5",
      "parents": [
        "1adb2e1c119c0862d2661f2492a9352257954c4a"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sun Dec 20 01:27:30 2015 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sun Dec 20 01:27:30 2015 -0500"
      },
      "message": "update create_heat_accounts, don\u0027t use os_url and os_token\n\nCurrently, the function create_heat_accounts uses the OS_URL and\nOS_TOKEN environment variables. This is a bad choice for several\nreasons, most importantly we are sending the \"ADMIN_TOKEN\" value\nas a header. There is also no reason to not use a standard admin\nuser to create these resources.\n\nChange-Id: I70b41d69917b9e53ad09c2c61e022ef09a50acfd\n"
    },
    {
      "commit": "47367071cdc110c40ec5c92d12f4dbe50cc553d4",
      "tree": "f4fd1c71781800adc16a2a9adf220414d98f599b",
      "parents": [
        "6f8048589873e4fe526e850bb6a02cd653d76b56"
      ],
      "author": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Thu Dec 10 14:24:00 2015 +0000"
      },
      "committer": {
        "name": "vsaienko",
        "email": "vsaienko@mirantis.com",
        "time": "Fri Dec 18 17:26:02 2015 +0200"
      },
      "message": "Remove ironic code from tree\n\nThis removes all of the ironic code from the devstack tree, in favor of\nthe devstack plugin in Ironic\u0027s tree.\n\nDepends-On: I659e3de5c64df798441798ff48ba5c9c0506585a\nDepends-On: I2c52bc014f1b0dbc6b0ae22a4deb4132b4c28621\nChange-Id: I5125fce295c79600781469c2f48bea80e7600081\n"
    },
    {
      "commit": "2ca8af45a78226f29c3251cbef6449a0a51a4c1f",
      "tree": "9db1b9497e9b199ec86b1f9ca74282020e779004",
      "parents": [
        "63b7d7bcae863a22feab34079d2d4b5fc1c845f3"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Tue Dec 08 15:36:13 2015 +0900"
      },
      "committer": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Dec 17 20:28:54 2015 +0900"
      },
      "message": "Add 5 time measurement points\n\nrun_process           process starting time\ntest_with_retry       process starting time (for neutron legacy)\nrestart_apache_server Apache HTTPD restart time\nwait_for_service      HTTP server waiting time\ngit_timed             git command execution time\n\nexample\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nDevStack Components Timed\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nrun_process - 52 secs\ntest_with_retry - 3 secs\napt-get-update - 8 secs\npip_install - 76 secs\nrestart_apache_server - 9 secs\nwait_for_service - 11 secs\ngit_timed - 127 secs\napt-get - 15 secs\n\nChange-Id: I66140726617450cd9fe9b702092cacf053a20065\n"
    },
    {
      "commit": "fe25a2a7343a56ec4b2b194d7d180cd8f9e56705",
      "tree": "69d8b8eb2ca55a90577e5a607dc5f46be81f9a98",
      "parents": [
        "c81fb988143052fffa3d75ceb7cd15fbac1449f5",
        "41d01104b16bf5d0d6d4d7d2a1e5883d34bff810"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Dec 15 12:47:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Dec 15 12:47:54 2015 +0000"
      },
      "message": "Merge \"remove generic extras.d support\""
    },
    {
      "commit": "af0801de3c1b1c51cf1a995c2939e182d2ef4926",
      "tree": "c7a156d9a17419dabce87ffd727c9b749324daa0",
      "parents": [
        "7b7101f1c5ccd4d0722245613df8c8f7a67e79b9"
      ],
      "author": {
        "name": "Philipp Marek",
        "email": "philipp.marek@linbit.com",
        "time": "Wed Dec 09 13:51:56 2015 +0100"
      },
      "committer": {
        "name": "Philipp Marek",
        "email": "philipp.marek@linbit.com",
        "time": "Wed Dec 09 13:52:05 2015 +0100"
      },
      "message": "Make logfile symlinks with relative names.\n\nUsing absolute names for the symlink breaks in quite a few ways;\n * when creating a tar file of the logs,\n * when serving via NFS,\n\nor any other case where the directory gets transferred to\na different machine.\n\nSo just create the symlink with relative names, then they\u0027ll work\nin any location.\n\nChange-Id: I432a69754985fc71feb0068b7adca01066d7bc1b\n"
    },
    {
      "commit": "41d01104b16bf5d0d6d4d7d2a1e5883d34bff810",
      "tree": "58daac01ad8f530c00d6cedccf068c08dbca66d5",
      "parents": [
        "b889294af7aa1ccf613da28fb08f547306e0f581"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 03 08:12:23 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 03 08:12:23 2015 -0500"
      },
      "message": "remove generic extras.d support\n\nThis removes the generic extras.d support, which we said we\u0027d do at\nMitaka-1. In tree extras.d continues to function as before, though we\nneed stories to get ceph and ironic into plugins, and a better\nsolution for Tempest.\n\nChange-Id: I8b134446dc08a2c3852423ca71af2f469f85496e\n"
    },
    {
      "commit": "88ee8ce4684e13865123636dd5d2baa5d6a44ef7",
      "tree": "f94f7c019fc2e280cbc68360e7088809672e6f27",
      "parents": [
        "b889294af7aa1ccf613da28fb08f547306e0f581"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Dec 02 07:47:31 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 03 07:44:15 2015 -0500"
      },
      "message": "create apt_get_update to try to work around broken mirrors\n\nUbuntu\u0027s apt mirroring mechanism produces inconsistent mirrors pretty\nregularly. The devstack-gate apt-get update model seems to have been\nmore effective getting past this than what we did in devstack. Adopt\nthat method for our updates.\n\nChange-Id: I97c7896ef38b275aacb4f933fc849acee1bab858\n"
    },
    {
      "commit": "523f48803609b35350b624244fa73b1030c1d5fa",
      "tree": "17f99ab223f42eec58523fa89a49f243efba754b",
      "parents": [
        "307730acd9d271bc4c3d44f2dfed0eab67e1657d"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Oct 13 11:03:03 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Nov 27 15:36:04 2015 +1100"
      },
      "message": "Namespace XTRACE commands\n\nI noticed this when debugging some grenade issues failures.\n\nAn include of grenade/functions stores the current value of XTRACE\n(on) and disables xtrace for the rest of the import.\n\nWe then include devstack\u0027s \"functions\" library, which now overwrites\nthe stored value of XTRACE the current state; i.e. disabled.\n\nWhen it finishes it restores the prior state (disabled), and then\ngrenade restores the same value of XTRACE (disabled).\n\nThe result is that xtrace is incorrectly disabled until the next time\nit just happens to be turned on.\n\nThe solution is to name-space the store of the current-value of xtrace\nso when we finish sourcing a file, we always restore the tracing value\nto what it was when we entered.\n\nSome files had already discovered this.  In general there is\ninconsistency around the setting of the variable, and a lot of obvious\ncopy-paste.  This brings consistency across all files by using\n_XTRACE_* prefixes for the sotre/restore of tracing values.\n\nChange-Id: Iba7739eada5711d9c269cb4127fa712e9f961695\n"
    },
    {
      "commit": "3bc6f042e4d93bcae25841915f84184a9799df2d",
      "tree": "8ffdc729b4de56b7d761455b40be4897371bf298",
      "parents": [
        "e0b2af0b476dd42da8b820dc2583f547e7d9457a",
        "0ec80802735163fdbdb4ceaa339aa73f93bbd87a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 16 05:15:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 16 05:15:49 2015 +0000"
      },
      "message": "Merge \"Remove multi-region workaround\""
    },
    {
      "commit": "0f1a4aba5e4010c9590e56ee785e0bad5c8e23d9",
      "tree": "a30ed872d8d8005997c024cbd9bb7142eb0a431a",
      "parents": [
        "075535d31130db08f823687fb38fe00bec0e5e66",
        "33c9a67ead4b61a9eb423f71ca4f8e062c3b5ebd"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Nov 12 22:06:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 12 22:06:23 2015 +0000"
      },
      "message": "Merge \"Fix typos on three comments and one message\""
    },
    {
      "commit": "33c9a67ead4b61a9eb423f71ca4f8e062c3b5ebd",
      "tree": "98caf8ff2fc95e33520d86aaca5ade57bd202bcb",
      "parents": [
        "1987cfb1bea276202926d5de624754ed6f5c8e7f"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Nov 12 19:50:00 2015 +0900"
      },
      "committer": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Nov 12 19:53:06 2015 +0900"
      },
      "message": "Fix typos on three comments and one message\n\nFixes typos on three comments and one message\nin functions/functions-common\n\nChange-Id: I2c926ca29b284afd4534b92860fa46f248676a83\n"
    },
    {
      "commit": "9329290183c96be45363325a244861065413562d",
      "tree": "e5b4c301b107c227cc90603e2b6c64d5c5cb9a52",
      "parents": [
        "4622fd682eced182b0b47c64e5ca3779b780ea24"
      ],
      "author": {
        "name": "Tony Breeds",
        "email": "tony@bakeyournoodle.com",
        "time": "Mon Nov 09 15:45:04 2015 +1100"
      },
      "committer": {
        "name": "Tony Breeds",
        "email": "tony@bakeyournoodle.com",
        "time": "Thu Nov 12 09:56:21 2015 +1100"
      },
      "message": "Update comments to reflect current USE_SCREEN usage\n\nIn a couple of places the tracking of USE_SCREEN has drifted from the\ncomments.\n\nCorrect that.\n\nChange-Id: I63bdd5ca4de49bf653f5bc8f8e0e5efe67ef605c\n"
    },
    {
      "commit": "7eaeefac80d40bf117d6a263f2fae02e129959da",
      "tree": "1329e7aa0e5dbc7349a729e7f11506e3ff5a246a",
      "parents": [
        "6a9641753c667231b4e310d5320c43472acd5c63",
        "536b8c1d2cf9d2523dc60f74190ef566a8c3fc4b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 11 05:13:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 11 05:13:07 2015 +0000"
      },
      "message": "Merge \"Allow screen without logging to disk\""
    },
    {
      "commit": "6a9641753c667231b4e310d5320c43472acd5c63",
      "tree": "3a96e865f7a0acd4b16961810725119fc26018d3",
      "parents": [
        "ef0d320981c6934d50cbd1deeef07edd38f80602",
        "7d515b5db8e98a54ff9c8c5211383f9f2c33b2db"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Nov 10 22:04:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 10 22:04:51 2015 +0000"
      },
      "message": "Merge \"Add check for get_packages argument\""
    },
    {
      "commit": "536b8c1d2cf9d2523dc60f74190ef566a8c3fc4b",
      "tree": "8c9b3d883fe9dc299ebb239a723c67f6da88f515",
      "parents": [
        "390e2b954496c18c812f4b9d45652880b203c664"
      ],
      "author": {
        "name": "Tony Breeds",
        "email": "tony@bakeyournoodle.com",
        "time": "Mon Nov 09 10:05:37 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Nov 11 06:21:45 2015 +1100"
      },
      "message": "Allow screen without logging to disk\n\nIn some niche setups it is desirable to run OpenStack services under\nscreen, but undesirable to automatically keep a persistent log from\neach service.\n\nAdd a new variable SCREEN_IS_LOGGING that controls if screen logs each\nwindow to disk automatically.\n\nIdeally screen itself would be configured to log but just not activate.\nThis isn\u0027t possible with the screerc syntax.  Temporary logging can still\nbe used by a developer with:\n    C-a : logfile foo\n    C-a : log on\n\nChange-Id: I2a3abf15dea95ae99ddbdfe1309382df601b7d93\n"
    },
    {
      "commit": "fff4d8ef9dc5fd59caba5491ce725a1730407bf8",
      "tree": "e1315da5fd85ec3a3b120dfd38011b8d18454c06",
      "parents": [
        "70db365592c2199d619a32c9942d1a8f1ba5b985",
        "ee9bb76647e1424e0dc84d32df6ab8607dc4ec96"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 09 18:37:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 09 18:37:15 2015 +0000"
      },
      "message": "Merge \"Write clouds.yaml to only /etc\""
    },
    {
      "commit": "7d515b5db8e98a54ff9c8c5211383f9f2c33b2db",
      "tree": "acc9bbf5f1d5601db423656f8d8d402ceb95405a",
      "parents": [
        "a5e4c0f279b6101436820dbb6b3da3d06131c12d"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Nov 09 15:04:32 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Nov 09 15:04:32 2015 +1100"
      },
      "message": "Add check for get_packages argument\n\nAdd a quick check so we don\u0027t reintroduce bad arguments as in\nIe1b8d09369281059d21da61b2725a457f708ae9e\n\nChange-Id: Ibebc71791f2743eef64d6f7c2596d54a73ea92aa\n"
    },
    {
      "commit": "6b0a3c6745e9add33329924f19d5875ed2550790",
      "tree": "7e59225e4aad391e092d806ac9768134f295ebbf",
      "parents": [
        "9013bb0c24623ce8d064b561d4fd331e370762e1",
        "8043bfaf5ec6059e7245ff397672b1da0e563013"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Nov 05 21:46:38 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 05 21:46:38 2015 +0000"
      },
      "message": "Merge \"Turn off tracing for service functions\""
    },
    {
      "commit": "0ec80802735163fdbdb4ceaa339aa73f93bbd87a",
      "tree": "a28e46096f4dc817d23ce077f740bad2b3080eef",
      "parents": [
        "a9e92c225c2144bbcfe553294b5c579364dece45"
      ],
      "author": {
        "name": "Daniel Gonzalez",
        "email": "daniel@gonzalez-nothnagel.de",
        "time": "Fri Oct 30 14:25:41 2015 +0100"
      },
      "committer": {
        "name": "Daniel Gonzalez",
        "email": "daniel@gonzalez-nothnagel.de",
        "time": "Fri Oct 30 15:01:46 2015 +0100"
      },
      "message": "Remove multi-region workaround\n\nWhen keystone API v3 was introduced, filtering regions when listing\nendpoints was not supported (see [1]). This caused multi-region devstack\ndeployments to fail (see [2]). A workaround was introduced to devstack\nto enable for multi-region deployments until region filtering would work\nin keystone API v3.\nNow that the bug related to region filtering in keystone is resolved,\nthe workaround should be removed.\n\n[1]: https://bugs.launchpad.net/keystone/+bug/1482772\n[2]: https://bugs.launchpad.net/devstack/+bug/1483784\n\nCloses-Bug: #1511745\nRelated-Bug: #1483784\nRelated-Bug: #1482772\nChange-Id: I52d13c3f5e7b77a7f8fb1be4dcea437988ebddfe\n"
    },
    {
      "commit": "2cee71865f96f2e08be0e7bb7c6f64cf1c796dbd",
      "tree": "00bde6eddec9a5b64b7ec9c0ef0676a39a8ddbe4",
      "parents": [
        "f1d34ec8c015d2e3c6fe450f4e2f6dcb039a31b6",
        "313ddaee6102fc03a3885bec3bf5e0d1e0214878"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 29 05:04:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 29 05:04:55 2015 +0000"
      },
      "message": "Merge \"Remove sudo from mkdir in $STACK_USER folder\""
    },
    {
      "commit": "5cdee8dd3311e501302993cd8c81b39cb6b45090",
      "tree": "665bbd6ec1aab84f2b3a910cd13a6db1fe935469",
      "parents": [
        "a692810ef05304856e5fd12ec786f3445ecca576"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Oct 19 14:17:18 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Oct 29 11:30:20 2015 +1100"
      },
      "message": "Update to bashate 0.3.2\n\nBashate 0.3.2 has a few new checks -- firstly make sure some of the\nplugins have #!/bin/bash, and fix up a couple of \"local\" changes that\nwere missed by I9c8912a8fd596535589b207d7fc553b9d951d3fe\n\nChange-Id: I9e4b1c0dc9e0f709d8e76f9c9bf1c9478b2605ed\n"
    },
    {
      "commit": "ee9bb76647e1424e0dc84d32df6ab8607dc4ec96",
      "tree": "dba1f678b0e60644d21ebec1b68e9ff423a50ebf",
      "parents": [
        "313ddaee6102fc03a3885bec3bf5e0d1e0214878"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Oct 19 15:16:18 2015 -0400"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 28 14:28:28 2015 +1100"
      },
      "message": "Write clouds.yaml to only /etc\n\nAfter having migrated the copies of clouds.yaml to just consume from\n/etc, remove the duplicate copy.\n\nChange-Id: I036704734785958c95d2234917d7b40bd797a375\n"
    },
    {
      "commit": "313ddaee6102fc03a3885bec3bf5e0d1e0214878",
      "tree": "1fd9e830d2f8e940104f36ca42ab428a77c31d9e",
      "parents": [
        "0afcac2e01580b7aee886272b8ed7eaf9c13132c"
      ],
      "author": {
        "name": "Lenny Verkhovsky",
        "email": "lennyb@mellanox.com",
        "time": "Tue Oct 20 11:26:34 2015 +0300"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 28 12:18:24 2015 +1100"
      },
      "message": "Remove sudo from mkdir in $STACK_USER folder\n\nThis fails in the environment where sudo does not have permissions to\nwrite in /home/$USER folder, e.g. [1]\n\nAlso clean-up the comment/variable usage a bit; the location isn\u0027t\nactually variable at all (and that\u0027s fine, but we don\u0027t need a global\nhere)\n\n[1] http://144.76.193.39/ci-artifacts/228979/10/Nova-ML2-Sriov/console.html.gz\n\nChange-Id: I6807eae9d1c27219aa7c19de29f24fa851aa787c\n"
    },
    {
      "commit": "8f385dde22815de5e7487e52cf78374f5c2967b3",
      "tree": "783e4c9c49d62c1f062c055efea90e23f5f40824",
      "parents": [
        "80fcf354ed6d45c3db257a9ce9181d83dd5aca65"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Oct 19 15:13:30 2015 -0400"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Oct 20 11:54:00 2015 +1100"
      },
      "message": "Write clouds.yaml to /etc as well\n\nThere are more than one user that need to access clouds.yaml values\nin tests. Rather than copying the file everywhere, simply output\nit to /etc/openstack.\n\nHowever, we have things copying it at the moment, so output to\nboth places. A follow up patch will remove the homedir version.\n\nChange-Id: I21d3c2ad7a020a5ab02dc1ab532feae70b718892\n"
    },
    {
      "commit": "6e9bee1ae587cccc278dc24ae0d9820a222409fe",
      "tree": "db87e22509c52e7e92ba0b70160219bb0fd4dea9",
      "parents": [
        "188b38fc808d0713476dec30f15d60618acd692b",
        "e82bac04981c8e41a919907d16621c9c952d9224"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 15 02:56:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 15 02:56:19 2015 +0000"
      },
      "message": "Merge \"Detect blank variable in trueorfalse\""
    },
    {
      "commit": "8043bfaf5ec6059e7245ff397672b1da0e563013",
      "tree": "52ff4b8ebf097e92fca6a4e77764bbe42378e6b1",
      "parents": [
        "46d50a6b8ed2c6f76bd0e3589eaff557133d10be"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 14 14:53:18 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 14 16:36:08 2015 +1100"
      },
      "message": "Turn off tracing for service functions\n\nThese functions commonly externally called (as part of stackrc\ninclusion, even) and do a fair bit of iteration over long\nservice-lists, which really fills up the logs of devstack and grenade\nwith unnecessary details.\n\nThe functions are well tested by unit-tests, so we are very unlikely\nto need to debug internal issues with them in a hurry.  Thus turn\nlogging down for them.\n\nChange-Id: I63b9a05a0678c7e0c7012f6d768c29fd67f090d2\n"
    },
    {
      "commit": "d111182f218094dfdd88bda63af024c0c6e5d8cd",
      "tree": "6efbaec54afc4965767c187b5743c25b8346f438",
      "parents": [
        "5a98d4f7d0a1cf00f2aca9e0f3f6cdc285c1ee79",
        "ada886dd43ccc07f48d3a82d8d3d840fe5096c03"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 14 02:43:52 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 14 02:43:52 2015 +0000"
      },
      "message": "Merge \"Don\u0027t mix declaration and set of locals\""
    },
    {
      "commit": "95c33d532f5d69516c0fbe123595f00f00792995",
      "tree": "a0665687ed27e97e010d40acf7ba884980ebb92b",
      "parents": [
        "64be3210e6bae709ee88736f2b7554db6e82f28e"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Oct 07 11:05:59 2015 -0400"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Oct 12 23:08:56 2015 +0000"
      },
      "message": "add timing infrastructure to devstack\n\nthis adds a timing infrastructure to devstack to account for time\ntaken up by set of operations. The first instance of this is\naccounting the time taken up by doing apt_get calls.\n\nChange-Id: I855ffe9c7a75e9943106af0f70cf715c34ae25c5\n"
    },
    {
      "commit": "64be3210e6bae709ee88736f2b7554db6e82f28e",
      "tree": "2dfdcda131b89c63963ea144ef1846bcfa1c345f",
      "parents": [
        "0914d04343b60392c5227559dcaa0da39b2d1c64"
      ],
      "author": {
        "name": "Dmitry Tantsur",
        "email": "dtantsur@redhat.com",
        "time": "Mon Oct 12 13:10:24 2015 +0200"
      },
      "committer": {
        "name": "Dmitry Tantsur",
        "email": "dtantsur@redhat.com",
        "time": "Mon Oct 12 13:36:30 2015 +0200"
      },
      "message": "Don\u0027t assume that $i variable won\u0027t be overriden in extras.d plugins\n\nThis causes an incorrect warning about ironic jobs putting an unexpected\nfile in extras.d.\n\nChange-Id: I57acf91fba3fe13b3cc8dd739034e146a0b237c4\n"
    },
    {
      "commit": "c6d470142e0a0359a7322e9b76d61ba15caf95bc",
      "tree": "e2cd8f7b1a192d0bee8e870b22e3369ac6d759ca",
      "parents": [
        "b2b82a0f34d84ecf5329703bf6e63c89272ef2da"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Fri Oct 09 14:57:05 2015 +0000"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Fri Oct 09 16:34:32 2015 +0000"
      },
      "message": "Perform additional disable_service checks\n\nWith the advent of plugins and their settings files it has become\npossible to disable_service in local.conf only to have the service\nre-enabled in a plugin settings file. This happens because of\nprocessing order.\n\nTo get around this the disable_service function now aggregates\nservice names into a DISABLED_SERVICES variable which is then checked\nduring enable_service. If something tries to enable something that\nwas previously disabled, a warning is produced in the log and the\nservice is not enabled.\n\nThen after all configuration has been sourced a final check is to\ndone by verify_disabled_services to confirm that something has not\nmanually adjusted ENABLED_SERVICES to overcome a previously called\ndisable_service. If something has, the stack dies with an error.\n\nChange-Id: I0f9403f44ed2fe693a46cd02486bd94043ce6b1a\nCloses-Bug: #1504304\n"
    },
    {
      "commit": "e82bac04981c8e41a919907d16621c9c952d9224",
      "tree": "d94a1380349e0154da2581b80b281b13dad3aaab",
      "parents": [
        "c1561f84fb421d2ce28d3c2b07fd7b53f57264bf"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Aug 25 14:29:08 2015 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Oct 09 19:07:50 2015 +1100"
      },
      "message": "Detect blank variable in trueorfalse\n\nAs a follow-on to I8cefb58f49dcd2cb2def8a5071d0892af520e7f7, put in\nsome detection around missing variable-to-test arguments in\ntrueorfalse.\n\nCorrect a couple of places where we were passing in blank strings,\nresulting in the default always being applied.\n\nAdd test-cases and enhance the documentation a little.\n\nDepends-On: I8cefb58f49dcd2cb2def8a5071d0892af520e7f7\nChange-Id: Icc0eb3808a2b6583828d8c47f0af4181e7e2c75a\n"
    },
    {
      "commit": "e3fe3fd8389cf6b887e1f12ae0c4fe81e2b91ff6",
      "tree": "c1711cb8eaef0111bb4fb04e8654fc7ec5fe224a",
      "parents": [
        "c756b5b5d4665e8e0a3e16acb38f0f4e863d9cb5",
        "433a9b10ddd6fa67d7459c4943a92ce4f488cebc"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 08 11:45:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 08 11:45:17 2015 +0000"
      },
      "message": "Merge \"Don\u0027t set xtrace directly in local call\""
    },
    {
      "commit": "d111c2174e2f6c19975448f0271aa0c51e714624",
      "tree": "87d6b50eccd83011a2d7678d62c46d51988d0dae",
      "parents": [
        "ca9f00874af6323a2ad6d5f113873d37a747a1ac",
        "1de9e330de9fd509fcdbe04c4722951b3acf199c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 08 05:42:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 08 05:42:48 2015 +0000"
      },
      "message": "Merge \"add big warning for extras.d usage\""
    },
    {
      "commit": "17491f37d7163c069fe1cca46ae5d272c288d47a",
      "tree": "717470c49a29025d0180b2d565ff707d863c108b",
      "parents": [
        "0989cf9512ae827413bc13ba0856125b1bdac375",
        "050a0d5b304a013e23cd5909abf6e11b7dda5f18"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 07 19:30:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 07 19:30:18 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Convert identity defaults to keystone v3 api\"\"\""
    },
    {
      "commit": "1de9e330de9fd509fcdbe04c4722951b3acf199c",
      "tree": "a2df114497927184dab66e623ce259258a6d3422",
      "parents": [
        "1e7be9f9eae83306ed2b4ad43d8532a2a010c50c"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Oct 07 08:46:13 2015 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Oct 07 15:15:16 2015 -0400"
      },
      "message": "add big warning for extras.d usage\n\nThis adds a warning for extras.d usage. This will give us something to\nkeep an eye on in logstash to build up the list of projects that will\nbreak at Mitaka-1.\n\nThis also makes the deprecated handling done through a function, which\nwill hopefully make it more consistent in the future.\n\nChange-Id: Icd393bc3e7095fe58be0fd13ef74fece3aa5c5f1\n"
    },
    {
      "commit": "ada886dd43ccc07f48d3a82d8d3d840fe5096c03",
      "tree": "93d62f1c82edc08d813b7f9f7eb9270e7024e055",
      "parents": [
        "433a9b10ddd6fa67d7459c4943a92ce4f488cebc"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 07 14:06:26 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 07 17:03:32 2015 +1100"
      },
      "message": "Don\u0027t mix declaration and set of locals\n\nIa0957b47187c3dcadd46154b17022c4213781112 proposes to have bashate\nfind instances of setting a local value.  The issue is that \"local\"\nalways returns 0, thus hiding any failure in the commands running to\nset the variable.\n\nThis is an automated replacement of such instances\n\nDepends-On: I676c805e8f0401f75cc5367eee83b3d880cdef81\nChange-Id: I9c8912a8fd596535589b207d7fc553b9d951d3fe\n"
    },
    {
      "commit": "433a9b10ddd6fa67d7459c4943a92ce4f488cebc",
      "tree": "4db530838dadc2fc4e1e4ae4d37c6213f747919c",
      "parents": [
        "561137e88a513f1c1e1cc9f08b7d3bd909702282"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 07 13:29:31 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 07 16:54:29 2015 +1100"
      },
      "message": "Don\u0027t set xtrace directly in local call\n\nIa0957b47187c3dcadd46154b17022c4213781112 detects setting local\nvariables with subshell commands.\n\nAlthough this is a particuarly benign case, it trips the test.  Rather\nthan putting in an ignore for this, we can easily change it to make\nthe test pass.  This seems better than putting in special work-arounds\nto bashate, etc.\n\nChange-Id: I37c3967c0f2d780a636a7d26cda83755085c5c69\n"
    },
    {
      "commit": "ce7246a34ba51a5ccff0ac08d6e85a8cda7d275b",
      "tree": "b6f4bc2aa2337691750b50638de663955d709542",
      "parents": [
        "f4485bae9c719ee6b0c243cf5a69a6461df0bf23"
      ],
      "author": {
        "name": "Dan Smith",
        "email": "dansmith@redhat.com",
        "time": "Thu Apr 23 09:41:06 2015 -0700"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Oct 02 06:27:43 2015 -0400"
      },
      "message": "Workaround potential failure to shutdown services\n\nKill them twice to make sure they\u0027re good\u0027n\u0027dead. There is a supposed\nfix to oslo-incubator code, but we\u0027re working around that here in the\nmeantime with this change.\n\nThis returned in Liberty.\n\nChange-Id: I02a7af995dc7de857c4efcf2cef2f95d357c007a\nRelated-Bug: #1446583\n(cherry picked from commit 953baa7998f253681ed31013fd18bd8aa8098b34)\n"
    },
    {
      "commit": "050a0d5b304a013e23cd5909abf6e11b7dda5f18",
      "tree": "5d3dcb78f29469d8fee79ca9d235398326fd5f14",
      "parents": [
        "d2999d0d0cc4d283873ff0d0951c4fdacd234dd1"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sun Sep 06 22:03:54 2015 +0000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Tue Sep 29 19:52:28 2015 +0000"
      },
      "message": "Revert \"Revert \"Convert identity defaults to keystone v3 api\"\"\n\nThis reverts commit f768787bdd6dddf2790f83a884618d29677ca77c.\nAnd sets OS_AUTH_VERSION so swift CLI doesn\u0027t fall flat when\nnot using v2 keystone\n\nChange-Id: If44a7e0d85e48020a3c90d8c5c027513129f0f3b\n"
    },
    {
      "commit": "f5255eb1c7fedf7086ac619cc281850f54ca9973",
      "tree": "747d95a4434bc1cd8b0675d65098c7ad4f5cd72b",
      "parents": [
        "0cb86e15f2bd22c0efe427dc759ac164fb1eb032",
        "ebe63d826b7909b992bff988b3eac65e7b6bfa88"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Sep 28 21:06:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Sep 28 21:06:08 2015 +0000"
      },
      "message": "Merge \"Improve ERROR_ON_CLONE message\""
    },
    {
      "commit": "dae0e463b812b4e86b0ad98d08e8dee74ef09275",
      "tree": "2e9e07de7221555d0f33c37ccc7fb13d993e3e07",
      "parents": [
        "1de69ff47d3bebc83864642029e17cbb0717eae9",
        "50821bed081e94dfd4b75cf02121a42a56cdbaac"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Sep 28 21:05:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Sep 28 21:05:58 2015 +0000"
      },
      "message": "Merge \"Fix return value of get_or_add_user_project_role\""
    },
    {
      "commit": "f845b22a459b4bf88f54ebc8c569ef217cd76738",
      "tree": "f19d0233dc6e719d3402f9ee85c4486a3f013420",
      "parents": [
        "983c07c297e51a86b44c226491e62b3abfeefb5d",
        "e9a4750fe1b111eeb457378c26ca9eea1b5e0085"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Sep 28 17:49:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Sep 28 17:49:32 2015 +0000"
      },
      "message": "Merge \"Remove ceilometer in favor of plugin\""
    },
    {
      "commit": "ebe63d826b7909b992bff988b3eac65e7b6bfa88",
      "tree": "867ff436935df6e6ee4fe970f78fb26f5084debf",
      "parents": [
        "b6249dc2ad630ecb9a231d0ce65d0f14f2116598"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@linux.vnet.ibm.com",
        "time": "Thu Sep 24 07:43:50 2015 -0700"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@linux.vnet.ibm.com",
        "time": "Thu Sep 24 09:26:01 2015 -0700"
      },
      "message": "Improve ERROR_ON_CLONE message\n\nIn case ERROR_ON_CLONE is true and triggers a failure for a missing\nproject, suggest a remedial action.  On their own, people have\ncome up with remedies that include altering the value of ERROR_ON_CLONE\nwhich rather defeats the purpose.\n\nChange-Id: I28d7f2c184f8440b774fefaa8ec7002d6708db95\n"
    },
    {
      "commit": "50821bed081e94dfd4b75cf02121a42a56cdbaac",
      "tree": "a17675bf20289b9c0f9f63072f65fc2a68df2137",
      "parents": [
        "c4c08686f81384c90386228a45583667d877b6ef"
      ],
      "author": {
        "name": "Roxana Gherle",
        "email": "roxana.gherle@hp.com",
        "time": "Tue Sep 22 10:52:46 2015 -0700"
      },
      "committer": {
        "name": "Roxana Gherle",
        "email": "roxana.gherle@hp.com",
        "time": "Tue Sep 22 11:11:36 2015 -0700"
      },
      "message": "Fix return value of get_or_add_user_project_role\n\nget_or_add_user_project_role function was always returning an\nempty user_role_id because the role assignment command does not\nreturn any output. Added a command to get the user_role_id after\nthe assignment happens.\n\nCloses-Bug: #1498599\nChange-Id: If1b77eef0d4f0ebdcdf761ecb5e2011484f73871\n"
    },
    {
      "commit": "59c6377ae51c024c28a6fba72de567bc97edda10",
      "tree": "c2673ac180ffcb08d36520ffb736124baec10f2f",
      "parents": [
        "f25c9ec3662ace97639b03bbbf3943e981793c11"
      ],
      "author": {
        "name": "Roxana Gherle",
        "email": "roxana.gherle@hp.com",
        "time": "Wed Sep 09 18:22:31 2015 -0700"
      },
      "committer": {
        "name": "Roxana Gherle",
        "email": "roxana.gherle@hp.com",
        "time": "Tue Sep 22 10:15:28 2015 -0700"
      },
      "message": "Assign admin role for admin user on default domain\n\nThis patch adds an admin role assignment for the admin user on\nthe default domain as part of the Keystone configuration stage.\n\nCloses-Bug: #1494081\nChange-Id: I91c88917bd51be4572e4970c94e65d866798df26\n"
    },
    {
      "commit": "debd216a7338e4023f5ea38506dae7882379f6d6",
      "tree": "06e24964962553d5f1d358d74f189cc6b1fb1dac",
      "parents": [
        "fa88c8913458a9e9c7bb6560dc82cb0a9d1b0e90",
        "3db0aad63c182a88830ec61fc048240058c02d85"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 22 13:03:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 22 13:03:54 2015 +0000"
      },
      "message": "Merge \"Fix is_service_enabled when using multiple arguments\""
    },
    {
      "commit": "c64b16ce7fded4cd80d399d096f7e3e219228acb",
      "tree": "f5cfb1b48e1f1c40ee5cae731e1c34538d5e45ce",
      "parents": [
        "0ddd92a235fd97b91b53b815dc3489e40aa60052",
        "e3340f1fe6a79166e50dc2a89e7a74fa038e9014"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 22 07:18:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 22 07:18:01 2015 +0000"
      },
      "message": "Merge \"Fix typo: falure \u003d\u003e failure\""
    },
    {
      "commit": "7224eecb98883a91e9da445baefc23a194e8fd68",
      "tree": "e6e3155ced9985e6fbec9ada076626fdf6ff8965",
      "parents": [
        "16a2d64f379974e7c88ef9f7879c88511e43c2eb"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sat Sep 19 11:26:18 2015 -0400"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Sep 21 15:45:23 2015 -0500"
      },
      "message": "Extract writing clouds.yaml to function\n\nIt\u0027s a bit wordy to be directly in stack.sh and not in a function.\n\nChange-Id: Ibddfd8018d861191f1b1dc3270e0e81c274733cd\n"
    },
    {
      "commit": "e3340f1fe6a79166e50dc2a89e7a74fa038e9014",
      "tree": "03424366073f1078cf183b523fe2870d4e5e63bd",
      "parents": [
        "be65c6f88d5922e356178a2958afa9ae452fb85e"
      ],
      "author": {
        "name": "Wei Jiangang",
        "email": "weijg.fnst@cn.fujitsu.com",
        "time": "Mon Sep 21 17:52:14 2015 +0800"
      },
      "committer": {
        "name": "Wei Jiangang",
        "email": "weijg.fnst@cn.fujitsu.com",
        "time": "Mon Sep 21 17:53:08 2015 +0800"
      },
      "message": "Fix typo: falure \u003d\u003e failure\n\nChange-Id: Ic1a53eec71d5e20194505aa8655a99b2fedd7632\n"
    },
    {
      "commit": "3db0aad63c182a88830ec61fc048240058c02d85",
      "tree": "aa520b3ce8845a7f3f328ebe09228b6661c87ebe",
      "parents": [
        "f25c9ec3662ace97639b03bbbf3943e981793c11"
      ],
      "author": {
        "name": "Christian Schwede",
        "email": "cschwede@redhat.com",
        "time": "Thu Sep 10 11:15:39 2015 +0000"
      },
      "committer": {
        "name": "Christian Schwede",
        "email": "cschwede@redhat.com",
        "time": "Thu Sep 10 11:31:55 2015 +0000"
      },
      "message": "Fix is_service_enabled when using multiple arguments\n\nis_service_enabled might actually fail to return the expected result if\nthere is a is_${service}_enabled function available and multiple\nservices are checked.\n\nFor example, if one defines swift as a service but disables glance, the\nfollowing check fails:\n\n if is_service_enabled swift glance horizon; then\n     install_swiftclient\n fi\n\nThis is because the second for-iteration resets the local \"enabled\" var\nagain to 1 and finally exits with 1 as a return code.\n\nThis patch fixes this.\n\nChange-Id: Ic76b72897efe9597d1412470353895001a1a4c66\n"
    },
    {
      "commit": "e9a4750fe1b111eeb457378c26ca9eea1b5e0085",
      "tree": "d7ef7ebdc7c61f9c2e70516858b57be1b8f30828",
      "parents": [
        "633e740dcfb0a8a107880a6fc6b9aeff8ee43b11"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Sat Jun 27 11:29:09 2015 +0000"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Wed Sep 09 16:44:29 2015 +0000"
      },
      "message": "Remove ceilometer in favor of plugin\n\nThe ceilometer project is moving to using a devstack plugin rather\nthan having ceilometer in the base devstack. This is to allow\ngreater control and flexibility.\n\nChange-Id: I413ab159474b7d7231ad66d3a482201f74efe8a8\n"
    },
    {
      "commit": "f768787bdd6dddf2790f83a884618d29677ca77c",
      "tree": "446cdfc69c372b710996abd20752060417c22ba0",
      "parents": [
        "d21a29cb9ebb3c3ce2fa31d0b5b6ff19d57e9652"
      ],
      "author": {
        "name": "Lucas Alvares Gomes",
        "email": "lucasagomes@gmail.com",
        "time": "Fri Sep 04 15:34:06 2015 +0100"
      },
      "committer": {
        "name": "Lucas Alvares Gomes",
        "email": "lucasagomes@gmail.com",
        "time": "Fri Sep 04 15:35:01 2015 +0100"
      },
      "message": "Revert \"Convert identity defaults to keystone v3 api\"\n\nThis change have broke the Ironic tests. Reverting to unblock the Ironic\ngate.\n\nThis reverts commit 4b115ad526df7e12bbdc71e0280b3c691e53ed04.\n\nCloses-Bug: #1492216\nChange-Id: I03acfdf47caf435cede1df08fd79b288a6662435\n"
    },
    {
      "commit": "7594b100128bdd4f6397dacf8de4d4c3059f6bb3",
      "tree": "0ed6cf2aa925a4120e2b594da3249af5fbb75612",
      "parents": [
        "1d0b0d363e23896e72d9c66028d59c6046eb6046",
        "4b115ad526df7e12bbdc71e0280b3c691e53ed04"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 03 22:24:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 03 22:24:40 2015 +0000"
      },
      "message": "Merge \"Convert identity defaults to keystone v3 api\""
    },
    {
      "commit": "d20435bdd4fb5ea856497c797376517ed516d833",
      "tree": "61a605f69c0c0abc6e91747e40e7ff98baa2dce7",
      "parents": [
        "ca802bcfcc1d45697da9f4c26683d2887eb63f39"
      ],
      "author": {
        "name": "Sean M. Collins",
        "email": "sean@coreitpro.com",
        "time": "Tue Aug 25 19:24:51 2015 -0400"
      },
      "committer": {
        "name": "Sean M. Collins",
        "email": "sean@coreitpro.com",
        "time": "Tue Aug 25 19:24:51 2015 -0400"
      },
      "message": "Filter out temporary addresses\n\nSome IPv6 addresses are temporary and are generated by IPv6 privacy\nextensions. They eventually expire and are regenerated, so we should\nfilter them out.\n\nChange-Id: I916d6a335bab096f765ae8c7e0e540a4349dd15f\nCloses-Bug: #1488691\n"
    },
    {
      "commit": "987dc6453e8e3a8a46d748059378564c42bafc5c",
      "tree": "419f9579903c924b3ea61e4315468bbc50ec4e5d",
      "parents": [
        "92d996bf3a6a21a178d1ae4b3d29bcf84bc0d146",
        "05aa3846a0402edc9cc49f4ba36f09592004b273"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 18 23:07:53 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 18 23:07:53 2015 +0000"
      },
      "message": "Merge \"Just use constraints everywhere\""
    },
    {
      "commit": "05aa3846a0402edc9cc49f4ba36f09592004b273",
      "tree": "2ec4bb8ed899b1a9a89736d79b057a0bad9cb2e4",
      "parents": [
        "57aafb5a9ad20e19e2c248a8e853a32d5b719c03"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Mon Aug 03 11:14:13 2015 -0700"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Aug 18 09:39:04 2015 -0700"
      },
      "message": "Just use constraints everywhere\n\nHaving behavior on your laptop diverge from behavior in the gate is\nconfusing. Just use constraints on every devstack run to be consistent.\nUsers of devstack can edit the requirements repo in order to change\nthese constraints locally if necessary.\n\nChange-Id: I843208e2e982eb04931b76f5cb4bd219fbcd70de\n"
    },
    {
      "commit": "4d223251e8b12a1118d8f089615e091be1a90883",
      "tree": "9f42ea03b77f707c5633066156a666ba9be471e7",
      "parents": [
        "d103f47ffac9282a3abae535e50077c5755e0079",
        "4ffb4541452a95ae964c562c89e31c49e39dbaa7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Aug 17 19:38:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Aug 17 19:38:05 2015 +0000"
      },
      "message": "Merge \"Add header guard to functions/functions-common\""
    },
    {
      "commit": "4b115ad526df7e12bbdc71e0280b3c691e53ed04",
      "tree": "096a16d3c09880b0783674c5af649a80c95e188d",
      "parents": [
        "b1ea5eacbc173a0acc162dc486d17154d509a430"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri May 29 08:36:40 2015 +0000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Sat Aug 15 05:03:41 2015 +0000"
      },
      "message": "Convert identity defaults to keystone v3 api\n\nAt this point all our function calls should be using the V3 APIs anyway\nso switch the authentication credentials to v3 compatible ones and\nremove all the hacks we added to force v3 API calls.\n\nImplements: bp keystonev3\nChange-Id: If92d3e11b9a363454f77527783b6d25f4da9c249\n"
    },
    {
      "commit": "1991e7599313cdbc75cf7674df94f32e9443cc60",
      "tree": "3af71b83f26d1005bfcb68a801f14f929aebc712",
      "parents": [
        "2f605b0f4da2493d004b0893a850792ef20e13ec"
      ],
      "author": {
        "name": "Daniel Gonzalez",
        "email": "daniel@gonzalez-nothnagel.de",
        "time": "Tue Aug 11 19:34:22 2015 +0200"
      },
      "committer": {
        "name": "Daniel Gonzalez",
        "email": "daniel@gonzalez-nothnagel.de",
        "time": "Thu Aug 13 02:25:56 2015 +0200"
      },
      "message": "Fix creation of endpoints in multi-region\n\nKeystone API v3 does currently not support filtering for region names.\nAs a consequence an additional check is needed in get_or_create_endpoint\nto check if an endpoint must be created for a given region or if it\nalready exists.\nSee related bug for more information regarding the missing region\nfiltering in keystone.\n\nCloses-Bug: #1483784\nRelated-Bug: #1482772\nChange-Id: Ia6a497b9fb58f7474636ab52dc01b99857bed3a2\n"
    },
    {
      "commit": "9cdde34319feffc7f1e27a4ffea43eae40eb6536",
      "tree": "d613354ebaa6199971786cfe81e53d560fdc89b0",
      "parents": [
        "b5c37243886a2289b0a98a3ec0d2344eb326b59e",
        "11d276c73cdd848c0287f6718d0163369cefd157"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jul 22 23:36:02 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jul 22 23:36:02 2015 +0000"
      },
      "message": "Merge \"local call masks errors in subshells\""
    },
    {
      "commit": "d9b425df06b6d556c8a38a213bb240957d565177",
      "tree": "27f3cb0905c9ed85007f6a91273d5bebc553aadd",
      "parents": [
        "56f4c3c8197bdeaa23f56f370acee078c0dfdf0a",
        "e6f37b91e5cd5b0f70d2be1e75eb4f61adc1e16a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jul 21 04:58:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jul 21 04:58:31 2015 +0000"
      },
      "message": "Merge \"libvirt virt_type\u003dparallels support enchancement\""
    },
    {
      "commit": "11d276c73cdd848c0287f6718d0163369cefd157",
      "tree": "9ebb8fb33d5b1e2ca858a946593d194f3b4f2bd9",
      "parents": [
        "32a3e322b428d83fa5922c1b9e6adce047064bd6"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Jul 02 09:34:34 2015 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Jul 16 13:44:47 2015 +1000"
      },
      "message": "local call masks errors in subshells\n\nIn another \"things from the man page\"\n\n   The return status is 0 unless local is used outside a function, an\n   invalid name is supplied, or name is a readonly variable.\n\nThus if anything fails in \"cmd\" of \"local foo\u003d$( cmd )\" we don\u0027t\nnotice.\n\nChange-Id: I22b10d5d39f014b6c92d2e101b167cbacf81afca\n"
    },
    {
      "commit": "e6f37b91e5cd5b0f70d2be1e75eb4f61adc1e16a",
      "tree": "cfe5bff2c6ed711a16d7c412f3c161003f2284dc",
      "parents": [
        "98b652419a896ffb6fca5ecf4cd6cf07eb0d1c47"
      ],
      "author": {
        "name": "Maxim Nestratov",
        "email": "mnestratov@virtuozzo.com",
        "time": "Tue Jun 30 14:54:12 2015 +0300"
      },
      "committer": {
        "name": "Maxim Nestratov",
        "email": "mnestratov@virtuozzo.com",
        "time": "Wed Jul 15 11:59:53 2015 +0300"
      },
      "message": "libvirt virt_type\u003dparallels support enchancement\n\nAs soon as Parallels Cloud Server/Virtuozzo is based on CloudLinux distribution\nthis new rpm kind of distribution is introduced.\nAlso we setup vnc and set vnc_encoding parameter to None as soon it isn\u0027t\nsupported by parallels.\n\nChange-Id: Ib97a09f397f950227498cfc2ce162d19b700f6f4\n"
    },
    {
      "commit": "a13e08707dc6c47727f7c7d6f02ec37f822baed9",
      "tree": "691f50216f60c7f6c791f65097d2bced95f6d3ff",
      "parents": [
        "07387ebdd52d7687c812430a244a9f42fd71d495",
        "72ce6acd22a553e4d34f0ffdc429aaaed7ed1212"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jul 15 05:35:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jul 15 05:35:26 2015 +0000"
      },
      "message": "Merge \"Use Keystone V3 API for role creation\""
    },
    {
      "commit": "aaae79b095fb4d4029077ed490adc61bf9e1eb46",
      "tree": "a76931c3ff60d7bf6a8d57dca7b2fdbfa3fb239e",
      "parents": [
        "a3c94468baa159840a47c34cf94d97d816208313",
        "b17ad7560d7d67e3464b489e124c540e025b9299"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jul 14 04:53:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jul 14 04:53:34 2015 +0000"
      },
      "message": "Merge \"Use identity V3 API for endpoint creation\""
    },
    {
      "commit": "71828f756fe3fd28ed9db1ba0812d932a079d782",
      "tree": "e87486ba516bd747a760b37c7745e0d466989b29",
      "parents": [
        "ac3d3f336caa4264022f18cae1dd2921f342fb2c",
        "5d04db20ec5a89c6f04df7c798efa41a4259d22e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jul 08 12:49:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jul 08 12:49:41 2015 +0000"
      },
      "message": "Merge \"Add IPv6 support to openrc files\""
    },
    {
      "commit": "ac3d3f336caa4264022f18cae1dd2921f342fb2c",
      "tree": "20d22053aa8641ee655c852a12018f0b7ee98cc3",
      "parents": [
        "7eaaba4844a892c260a41dd32790ca23a2d25c0a",
        "180f5eb652c73463cd5ae7d0dbede6d9d31a5df5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jul 08 12:44:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jul 08 12:44:51 2015 +0000"
      },
      "message": "Merge \"Add IPv6 support to devstack infrastructure\""
    },
    {
      "commit": "72ce6acd22a553e4d34f0ffdc429aaaed7ed1212",
      "tree": "14f6851b6b661f50b80763bacbfdaaf6f142b941",
      "parents": [
        "b17ad7560d7d67e3464b489e124c540e025b9299"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Thu Jul 02 09:19:01 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jul 08 05:17:00 2015 +1000"
      },
      "message": "Use Keystone V3 API for role creation\n\nAlways use the V3 API for role creation.\n\nGroups only exist in the v3 identity API and so we must specify\n--os-identity-api-version in these commands.\n\nImplements: bp keystonev3\nCloses-Bug: #1470668\nChange-Id: I5e01d23ebcb5a0c7de56233071a4eb9b16d3b813\n"
    },
    {
      "commit": "b17ad7560d7d67e3464b489e124c540e025b9299",
      "tree": "4af18b24b59bded064806f15b0f2c8b69e7d9183",
      "parents": [
        "68f9172dbd18688db188454c775dbf139224aeca"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri May 29 06:04:47 2015 +0000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jul 08 05:17:00 2015 +1000"
      },
      "message": "Use identity V3 API for endpoint creation\n\nAlways use the keystone V3 API when creating services and endpoints. The syntax\nhere is slightly different but we maintain the function interface.\n\nChange-Id: Ib3a375918a45fd6e37d873a1a5c0c4b26bdbb5d8\nImplements: bp keystonev3\n"
    }
  ],
  "next": "aedb8b97f60e7ff5bf5d0bafc192cc6e3e289cbe"
}
