)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "aedb8b97f60e7ff5bf5d0bafc192cc6e3e289cbe",
      "tree": "4c1820fdbe2ccad4d40e4431e226c9077427159f",
      "parents": [
        "52844a11dddb7e0631f9d11eb74251b17e05beb5"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Thu Jul 02 17:39:07 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri Jul 03 09:36:02 2015 +1000"
      },
      "message": "Search for service by type\n\nWhen you get or create service it first checks to see if an existing\nservice matching these parameters exists. The definition of existing is\nhaving a service with the same name, however name is not a unique field.\nSahara for example creates two services, one with data-processing, one\nwith data_processing with the same sahara name.\n\nSearch for existing services by service type, not by service name.\n\nChange-Id: I6148e2254aa3968039b0e7c178e7cabc53b6be68\n"
    },
    {
      "commit": "5d04db20ec5a89c6f04df7c798efa41a4259d22e",
      "tree": "95f6115eaf7cf8e39b0150c8f4a5eec3c4908068",
      "parents": [
        "180f5eb652c73463cd5ae7d0dbede6d9d31a5df5"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Jun 16 13:14:31 2015 -0400"
      },
      "committer": {
        "name": "Jeremy Alvis",
        "email": "jeremy.alvis@hp.com",
        "time": "Thu Jul 02 21:18:16 2015 +0000"
      },
      "message": "Add IPv6 support to openrc files\n\nAssumes devstack was configured with SERVICE_IP_VERSION in\nlocal.conf\n\nSERVICE_IP_VERSION is stored in .stackenv and checked in\nopenrc. If SERVICE_IP_VERSION is set to 6, openrc will use\nIPv6.\n\nNOTE: At first, I added a \u0027-6\u0027 option to the openrc call\nwhich would set the HOSTS accordingly. I then simplified\nthe code by saving SERVICE_IP_VERSION to the .stackenv file\nwhich is sourced by openrc. After that, I simplified the\ncode even more by removing an extra, unnecessary, variable.\n\nChange-Id: I5d46d5438d3e56fea788720ca17f0010caef3df1\n"
    },
    {
      "commit": "180f5eb652c73463cd5ae7d0dbede6d9d31a5df5",
      "tree": "7170199543e18d917777de98c56723731fe6c424",
      "parents": [
        "52844a11dddb7e0631f9d11eb74251b17e05beb5"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Jun 16 13:14:31 2015 -0400"
      },
      "committer": {
        "name": "Jeremy Alvis",
        "email": "jeremy.alvis@hp.com",
        "time": "Thu Jul 02 15:16:34 2015 -0600"
      },
      "message": "Add IPv6 support to devstack infrastructure\n\nBy default, most Openstack services are bound to 0.0.0.0\nand service endpoints are registered as IPv4 addresses.\nWith this change we introduce two new variables to control\nthis behavior:\n\nSERVICE_IP_VERSION - can either be \"4\" or \"6\".\n\nWhen set to \"4\" (default if not set) devstack will operate\nas today - most services will open listen sockets on 0.0.0.0\nand service endpoints will be registered using HOST_IP as the\naddress.\n\nWhen set to \"6\" devstack services will open listen sockets on ::\nand service endpoints will be registered using HOST_IPV6 as the\naddress.\n\nThere is no support for \"4+6\", more work is required for that.\n\nHOST_IPV6 - if SERVICE_IP_VERSION\u003d6 this must be an IPv6\naddress configured on the system.\n\nSome existing services, like the Openvswitch agent, will continue\nto use IPv4 addresses for things like tunnel endpoints.  This is\na current restriction in the code and can be updated at a later\ntime.  This change is just a first step to supporting IPv6-only\ncontrol and data planes in devstack.\n\nThis change is also partly based on two previous patches,\nhttps://review.openstack.org/#/c/140519/ and\nhttps://review.openstack.org/#/c/176898/\n\nChange-Id: I5c0b775490ce54ab104fd5e89b20fb700212ae74\nCo-Authored-By: Sean Collins \u003csean@coreitpro.com\u003e\nCo-Authored-By: Baodong Li \u003cbaoli@cisco.com\u003e\nCo-Authored-By: Sridhar Gaddam \u003csridhar.gaddam@enovance.com\u003e\nCo-Authored-By: Adam Kacmarsky \u003cadam.kacmarsky@hp.com\u003e\nCo-Authored-By: Jeremy Alvis \u003cjeremy.alvis@hp.com\u003e\n"
    },
    {
      "commit": "52844a11dddb7e0631f9d11eb74251b17e05beb5",
      "tree": "fbebe33ed156559d0d4e43bbe21327836e66a6e8",
      "parents": [
        "7a0f6833ad75a61ddf60a1b34e8d7f080d29259e",
        "f750a6fedbb34399e1ee4dd540c13028d53c0e13"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jul 02 20:13:06 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jul 02 20:13:06 2015 +0000"
      },
      "message": "Merge \"Already dead process tolerance in unstack.sh\""
    },
    {
      "commit": "7a0f6833ad75a61ddf60a1b34e8d7f080d29259e",
      "tree": "2b81090e9a9c1e4c92cfe565a1be2463d3d4787c",
      "parents": [
        "fee742ba723bfb843a58881cb415b4e7991981c1",
        "37eca48970106abb9b982af4f1262bcb227411ea"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jul 02 20:09:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jul 02 20:09:05 2015 +0000"
      },
      "message": "Merge \"remove non RabbitMQ messaging\""
    },
    {
      "commit": "f750a6fedbb34399e1ee4dd540c13028d53c0e13",
      "tree": "839fca32e62cc71af1cb47d21c0ed4c91fcd7aad",
      "parents": [
        "85a1c488dfda0094238f899ea0bf693106021ce5"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jul 01 12:17:35 2015 +0200"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jul 01 12:17:35 2015 +0200"
      },
      "message": "Already dead process tolerance in unstack.sh\n\nThe gate/updown.sh calls the unstack.sh with\n-ex option. Normally we do not use -e with unstack.sh.\n\nThe unstack.sh can fail if the service already stopped,\nand it also can have flaky failures on the gate.\n\nFor example the stop_swift function tries to kill swift in two\ndifferent ways, and if the first one succeeds before the 2th attempt\nthe pkill fails the whole unstack.sh.\n\nThis change accepts kill failure.\nNormally the kill can fail if the process does not exits,\nor when you do not have permission to the kill operation.\n\nSince the permission issue is very unlikely in our case,\nthis change does not tries to distinguish the two operation.\n\nThe behavior of the unstack.sh wen you are not using -ex should\nnot be changed by this change.\n\nChange-Id: I64bf3cbe1b60c96f5b271dcfb620c3d4b50de26b\n"
    },
    {
      "commit": "7bc1f3c15fbf92da5fe9e15bf66a2d6b6648e449",
      "tree": "3f5fffe78d0a4c531d040a6ec0dcff0f542ec880",
      "parents": [
        "474172490f66588291e8c80f1ff4e94a41a16d42",
        "9d7e776b704d0fa54b2bf6543d054ab0118f5806"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jun 30 17:15:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jun 30 17:15:58 2015 +0000"
      },
      "message": "Merge \"Use Keystone v3 API for user creation\""
    },
    {
      "commit": "474172490f66588291e8c80f1ff4e94a41a16d42",
      "tree": "979a84e6ceeebac902c2c756f3afc289c97f9fb6",
      "parents": [
        "3a2fdb04ef7b0f2eae2c1139feb2d400c58d0ed6",
        "b632c9ef81090e210fee27346c6e1f2b4f3bedec"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jun 30 17:15:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jun 30 17:15:54 2015 +0000"
      },
      "message": "Merge \"Use keystone v3 API for projects\""
    },
    {
      "commit": "d014727c45db414b6e863f77916e7663ba5b425f",
      "tree": "93fbd8434734cd4f2879bcaa1ed2ffed728ac5bf",
      "parents": [
        "e439dbe9d454558726d0013becb957027ae98621",
        "f2a05497a3716b5eaa178b970d5cd2e6db865a97"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jun 30 16:55:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jun 30 16:55:31 2015 +0000"
      },
      "message": "Merge \"Drop no longer needed and broken check for cinder in is_service_enabled\""
    },
    {
      "commit": "4ffb4541452a95ae964c562c89e31c49e39dbaa7",
      "tree": "eec7961348f5512ea3b610e864a03d3d7d1ce02c",
      "parents": [
        "04c0f0be2643ef95380a7dcf4b510d86ff11cd58"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jun 30 11:00:32 2015 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jun 30 13:48:53 2015 +1000"
      },
      "message": "Add header guard to functions/functions-common\n\nTo avoid sourcing this twice and getting globals mixed up,\nparticularly when using multiple plugins, add a \"header guard\" that\nensures we only source it once.\n\nIn general I don\u0027t think functions/functions-common have been written\nor considered to be idempotent.  I don\u0027t think going down that path is\ngoing to be a long-term solution as it\u0027s easy to break.\n\nChange-Id: Idca49eb996d2b7ff3779ec27ed672a2da7852590\nCloses-Bug: #1469178\n"
    }
  ],
  "next": "f2a05497a3716b5eaa178b970d5cd2e6db865a97"
}
