)]}'
{
  "log": [
    {
      "commit": "6a4d3eb55fb377a0ddef3d8978a85d2137430834",
      "tree": "65c3318726268bedd19b33f7d2e80181dc5401e5",
      "parents": [
        "0842b8147f098106b679cf652edbcb5ea4330f04"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sat Aug 01 09:19:18 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Jan 05 07:41:35 2016 -0500"
      },
      "message": "Use keystone[ldap] for ldap packages\n\nKeystone now provides an \"ldap\" in extras to install its ldap\ndependencies so devstack doesn\u0027t have to track the python\ndependencies itself.\n\nInstallation of the extras is done in an extra install line. This is\nslightly redundant, however this pattern works much better from an\ninstall stand point as it supports an arbitrarily large number of\nextras.\n\nPartial-Bug: 1479962\nChange-Id: If0f0ff48f3d6b3c414f2d6fcd747ecf45a397658\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": "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": "60996b1b60c3efb1376b9f0d659acebd05c47f09",
      "tree": "82a570b328fa22b437aa27a10716ae9b5c3da4ff",
      "parents": [
        "d1549d624dea9b00d7aa0f935759c69290e9ea17"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Apr 08 09:06:49 2015 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Apr 08 10:28:17 2015 -0400"
      },
      "message": "introduce pip_install_gr\n\nThis creates a new pip_install_gr that installs from global\nrequirements allowed versions. Now that stable branches are getting\ncapped all of devstack needs to be fixed to do things like this.\n\nChange-Id: I8fd0ef2bfc544ca2576fab09d3018f760b8848fe\n"
    },
    {
      "commit": "d09a1db5a449fc758bf840858f6fecba173705b3",
      "tree": "19f949a600c09109c306dd86ad830c474693bb58",
      "parents": [
        "3fe578d41d52577e6af4dc948287dfbc2eb06f46",
        "e263c82e48a431e502bd6baceb6dfcfdc1750cbb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Dec 10 20:32:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Dec 10 20:32:15 2014 +0000"
      },
      "message": "Merge \"add shebang lines to all lib files\""
    },
    {
      "commit": "e263c82e48a431e502bd6baceb6dfcfdc1750cbb",
      "tree": "5ca592e668dedb4debc6c7170f3abf37cc4bc0c6",
      "parents": [
        "2f8e08b5728f4272b415b1c0aab8ff62eae29b06"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Dec 05 14:25:28 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Dec 10 11:28:05 2014 -0500"
      },
      "message": "add shebang lines to all lib files\n\nWith gerrit 2.8, and the new change screen, this will trigger syntax\nhighlighting in gerrit. Thus making reviewing code a lot nicer.\n\nChange-Id: Id238748417ffab53e02d59413dba66f61e724383\n"
    },
    {
      "commit": "a3d60c80d9f39ee6a0410dcdd5c778d0b7511c9d",
      "tree": "8f5d383dcda23209340af21066ed4c605f686555",
      "parents": [
        "f4fed56e936c5d09c0fe39e9490c44a4495bbadf"
      ],
      "author": {
        "name": "Julie Pichon",
        "email": "jpichon@redhat.com",
        "time": "Fri Nov 21 14:57:16 2014 +0000"
      },
      "committer": {
        "name": "Julie Pichon",
        "email": "jpichon@redhat.com",
        "time": "Wed Nov 26 14:36:20 2014 +0000"
      },
      "message": "Explicitly pass in SLAPPASS when setting up LDAP\n\nChange-Id: Ibcceabf2c76aaeeb8902a670557cc0093943a3e4\nCloses-Bug: #1373750\n"
    },
    {
      "commit": "ac937bc06eb68cb1c94804995325b9fa8b850959",
      "tree": "f0fffa74023a008a436878cfd1d4c3aa891a1625",
      "parents": [
        "68e9f05f7c19b1bd9d4c7e8e7f88fbf93d18b9f9"
      ],
      "author": {
        "name": "Julie Pichon",
        "email": "jpichon@redhat.com",
        "time": "Mon Sep 29 04:55:21 2014 +0100"
      },
      "committer": {
        "name": "Julie Pichon",
        "email": "jpichon@redhat.com",
        "time": "Mon Sep 29 05:03:26 2014 +0100"
      },
      "message": "Install ldappool when LDAP is enabled\n\nKeystone expects ldappool to be installed when using the LDAP backend.\n\nChange-Id: I35e6585ec8416153ed6d0c6fa8c10c992bf0de6d\nCloses-Bug: #1373750\n"
    },
    {
      "commit": "ef66a77a6713612288731d9c6285e109583474a4",
      "tree": "d72c21f512f3d6ab7cfb561572826a5d02482f54",
      "parents": [
        "d3121f649d672fdaf757655b94ecd68c71b56b8e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 14:45:34 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Sep 15 10:06:48 2014 -0500"
      },
      "message": "Clean up local variable usage - LDAP\n\nChange-Id: I9545884eeabcd6c41f3cc5f091a71e726dc44e87\n"
    },
    {
      "commit": "b44a8ef14f4e177aef0528db2b7721030f76b290",
      "tree": "c5d238d3039d04fc568ee578b1a06eef88f76f5f",
      "parents": [
        "3a07906d9054e282aea2a06098d12f69342056a1"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 06 11:25:04 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 06 11:25:08 2014 -0600"
      },
      "message": "Fix errexit in lib/ldap\n\nclear_ldap_state() deletes an object from the DIT that doesn\u0027t exist\non the first run, this is OK but fails with errexit enabled.\n\nChange-Id: I3b881eedc891caa6b2dfd5913e43f3babcfa7d47\n"
    },
    {
      "commit": "aee18c749b0e3a1a3a6907a33db76ae83b8d41d9",
      "tree": "01a8ab5abb9867986f3e848918abd9e749b691cd",
      "parents": [
        "0ed4af02da0bd4a0f757dd8c2156913e6c7a724c"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 21 15:35:08 2014 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 28 07:59:03 2014 +1100"
      },
      "message": "Enforce function declaration format in bash8\n\nCheck that function calls look like ^function foo {$ in bash8, and fix\nall existing failures of that check.  Add a note to HACKING.rst\n\nChange-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938\n"
    },
    {
      "commit": "b9e25135c51ee29edbdf48d41e1cb637188cc358",
      "tree": "6883f821badebe73d3c9521ad9b7ea1dea50fa8b",
      "parents": [
        "298f7d48432b6590da118551308359da56bd5cf7"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 01 14:45:04 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Nov 26 11:28:54 2013 -0600"
      },
      "message": "freshen the LDAP support\n\n* Build the base DN from a given domain name\n* Remove all hard-coded names to allow configuration of base DN\n* Fix manager DN (cn\u003dManager,dc\u003d...)\n* Add ldap init_ldap()\n* Add support for clean.sh\n\nChange-Id: Ieb69be9740653645b8e000574ad3fe59a0f97540\n"
    },
    {
      "commit": "6a5aa7c6a20435bbd276a0f1823396b52a8f0daf",
      "tree": "d5137f132a359469f1225d61850466feb4658297",
      "parents": [
        "cb961597cc30f9d8ece17529f09a8291454827e3"
      ],
      "author": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Thu Oct 24 11:27:02 2013 +0100"
      },
      "committer": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Thu Oct 24 17:38:19 2013 +0100"
      },
      "message": "Fix some Markdown formatting issues\n\nAddress miscellaneous issues with Markdown formatting in comments which\nare consumed by shocco when generating the online documentation.\n\nChange-Id: I953075cdbddbf1f119c6c7e35f039e2e54b79078\n"
    },
    {
      "commit": "704106a1bd316d9a0df2f82233817ceeda92e744",
      "tree": "4e42793e0f3dd1447a24861b71d95e6c76b2bed0",
      "parents": [
        "9c3b0cc4e4aeda9d889c90177f34e45a0505d176"
      ],
      "author": {
        "name": "Ralf Haferkamp",
        "email": "rhafer@suse.de",
        "time": "Thu Sep 12 14:24:47 2013 +0200"
      },
      "committer": {
        "name": "Ralf Haferkamp",
        "email": "rhafer@suse.de",
        "time": "Thu Sep 19 15:25:56 2013 +0200"
      },
      "message": "Fix LDAP support for openSUSE\n\nCloses-Bug: #1227651\nChange-Id: I1c55fbb2f65f882a0ae2bcf4767c0a3e0f0f47e7\n"
    },
    {
      "commit": "cc6b4435458b5db6aed17631e4789c43d21ee8e5",
      "tree": "a8460f062f571849a7a9a547c85771d625828b34",
      "parents": [
        "2e75ff1a41e741ee77926a1262e1e9410701b4e1"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Apr 08 15:38:03 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Apr 09 14:05:32 2013 -0500"
      },
      "message": "Formatting cleanups, doc updates and whatnot\n\nChange-Id: Ica8298353be22f947c8e8a03d8dc29ded9cb26dd\n"
    },
    {
      "commit": "584d90ec56e18cbb9c0f15fe6af35504c02ea4bd",
      "tree": "6d2027aed2ab0e2e44be06ce906c7083493aab3d",
      "parents": [
        "a173376ea1b838d420384c2946b7e66859b6335b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Fri Mar 29 14:34:53 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Fri Mar 29 14:36:49 2013 -0400"
      },
      "message": "add emacs shell-script tagging\n\nfor files that don\u0027t start with a #! or end in .sh, the added tags\nare nice for emacs users to automatically switch to the right mode.\n\nChange-Id: If4b93e106191bc744ccad8420cef20e751cdf902\n"
    },
    {
      "commit": "0c2c3fc20e99372f3fb54390f023ce5657feefbf",
      "tree": "de465e3452bbfac10dfe3d4e92495e586def633e",
      "parents": [
        "9a3ba4b3e1a6286cd1ccaafdb2c1d9960c91da9c"
      ],
      "author": {
        "name": "Brad Topol",
        "email": "btopol@us.ibm.com",
        "time": "Tue Mar 19 03:01:30 2013 -0500"
      },
      "committer": {
        "name": "Brad Topol",
        "email": "btopol@us.ibm.com",
        "time": "Tue Mar 19 15:58:59 2013 -0500"
      },
      "message": "Explicitly add cosine and inetorgperson schemas on Fedora\n\nFixes Bug1156651\n\nChange-Id: I957a8cdc562a887b0def7bc07c6bb434ce0a0437\n"
    },
    {
      "commit": "3f34d9af711af1b0f5cc77180ae2791a532fb291",
      "tree": "4ba1650c63b06144e22e27596a08d4b1fe7aeafd",
      "parents": [
        "87387596631602b5f676eae65823b4f0c5c71e66"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Mar 12 17:57:36 2013 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Mar 12 18:02:55 2013 +0100"
      },
      "message": "Make openSUSE port up-to-date\n\nSeveral changes didn\u0027t properly deal with openSUSE, so fix this.\n\nChange-Id: Icc9c894031a8a693d9c41e2ec5717bd76f618342\n"
    },
    {
      "commit": "f127e2f316f1161bacdf4cccdbc3e56b2b8a54a8",
      "tree": "13d0a3729df5a7865c1c6739a2d323a064f28b0d",
      "parents": [
        "f3da41a5eea19f429a296405bfa3b72d899c3141"
      ],
      "author": {
        "name": "Brad Topol",
        "email": "btopol@us.ibm.com",
        "time": "Tue Jan 22 10:17:50 2013 -0600"
      },
      "committer": {
        "name": "Brad Topol",
        "email": "btopol@us.ibm.com",
        "time": "Tue Feb 05 20:00:15 2013 -0600"
      },
      "message": "Add optional silent install and config of ldap to devstack\n\nEdited initial ldap entries and olcdb template file as recommended by Brant.\n\nChange-Id: I1404cc5c754f878e32a2d10254840d092211e6e6\n"
    }
  ]
}
