)]}'
{
  "log": [
    {
      "commit": "d986c59d6bd64c012cac3893a4b8bf75a84af4c5",
      "tree": "07741e69372dc1e5fe672fa33f777bc06245cdc5",
      "parents": [
        "cfdb6fa940d947715e4b729b9e1e17ee8c6b14a8",
        "3fd71d68933f2c4e38ff7fa58416ec0263325a9f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu May 28 00:04:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu May 28 00:04:47 2015 +0000"
      },
      "message": "Merge \"Honor the flag for Identity v3 API only jobs\""
    },
    {
      "commit": "3fd71d68933f2c4e38ff7fa58416ec0263325a9f",
      "tree": "a587f811b7264232fc116c50ed77b6dbcb2426e4",
      "parents": [
        "ee3d2a8ece24efe8ee8b0304c133574967eb60d3"
      ],
      "author": {
        "name": "Samuel de Medeiros Queiroz",
        "email": "samuel@lsd.ufcg.edu.br",
        "time": "Sun May 03 14:54:45 2015 -0300"
      },
      "committer": {
        "name": "Samuel de Medeiros Queiroz",
        "email": "samuel@lsd.ufcg.edu.br",
        "time": "Wed May 27 14:27:30 2015 -0300"
      },
      "message": "Honor the flag for Identity v3 API only jobs\n\nWhen the property ENABLE_IDENTITY_V2 is set to\nFalse in the local.conf file, devstack will:\n\n* Disable the v2 API in Keystone paste config;\n* Set Tempest to skip Identity v2 tests and use\n  v3 auth tokens to run all the other tests;\n* Set Horizon to use v3 API and v3 auth tokens;\n* Register the Identity endpoint as v3.\n\nChange-Id: I2575a516244b848e5ed461e7f488c59edc41068d\n"
    },
    {
      "commit": "cf56d4e35ca3f5fd406068e757c9e82a7e2c6d61",
      "tree": "dcd3381ff2a391ab93ded78a939d9dfc85554256",
      "parents": [
        "3d1ef5f3de5bdb29f08f86122d18c5b835e7664d",
        "eb7a0d9b2d22da3d1e0fbc3f581c597a1a510666"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 22 02:09:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 22 02:09:57 2015 +0000"
      },
      "message": "Merge \"Remove KEYSTONE_AUTH_CACHE_DIR\""
    },
    {
      "commit": "3d1ef5f3de5bdb29f08f86122d18c5b835e7664d",
      "tree": "f726316b9510bfa9cb5ab6b0f508659dac5f6baa",
      "parents": [
        "22658fc9f4d95e3d31db7c9ac570f77096e1f49e",
        "71a8eccdc3594b2e0395d7df75e69eb877269e81"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 22 02:09:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 22 02:09:03 2015 +0000"
      },
      "message": "Merge \"Remove setting nonexistant [ec2] driver option in keystone\""
    },
    {
      "commit": "db7809880bcee2bd56ccb5d74fec2ba435d7b2ea",
      "tree": "7a63a25e97a17130a2f1eb1496e7bd7bc143d267",
      "parents": [
        "9e220b9b2b560b160c93058b255b3d69e49c0cbc",
        "331a64f9d087692cba10f3dd15c6b01595e1c127"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 15 22:59:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 15 22:59:18 2015 +0000"
      },
      "message": "Merge \"Use stevedore for keystone backends\""
    },
    {
      "commit": "3a2c86aabfa985dbdc998f02201649f49f3adab7",
      "tree": "95096a8a4913a635bcfc015e7809da650aa8e88b",
      "parents": [
        "d5bcc42a71083eebf74d645a2bf1eb0c5367dea0"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Tue May 12 13:41:25 2015 +0000"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Tue May 12 18:30:31 2015 +0000"
      },
      "message": "Add python_version function to functions-common\n\nThis makes it possible to list virtual site-package directories\nwithout statically stating the python version, which is a bit ugly.\n\nChange-Id: I3e7ac39eb43cdc4f656e0c90f3bfb23545722aef\n"
    },
    {
      "commit": "eb7a0d9b2d22da3d1e0fbc3f581c597a1a510666",
      "tree": "e5cc8e4dbc8801d91081570d4422a9229d525302",
      "parents": [
        "71a8eccdc3594b2e0395d7df75e69eb877269e81"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon May 11 12:54:33 2015 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon May 11 12:54:33 2015 -0500"
      },
      "message": "Remove KEYSTONE_AUTH_CACHE_DIR\n\nKeystone doesn\u0027t use a cache directory.\n\nChange-Id: I569b406db46cf6bdabcbfd8c5eb6f3cbdbc3cff7\n"
    },
    {
      "commit": "71a8eccdc3594b2e0395d7df75e69eb877269e81",
      "tree": "26e5e8f6dd8b86901d44b67c8420ce42b237a036",
      "parents": [
        "331a64f9d087692cba10f3dd15c6b01595e1c127"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon May 11 10:37:18 2015 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon May 11 10:37:18 2015 -0500"
      },
      "message": "Remove setting nonexistant [ec2] driver option in keystone\n\nThere\u0027s no [ec2] driver option in keystone.\n\nChange-Id: Ifee92127f32db85d4d55f665471c8da1c9a970e7\n"
    },
    {
      "commit": "331a64f9d087692cba10f3dd15c6b01595e1c127",
      "tree": "805c2cd94e54da3263afa98636e215ea22faba1d",
      "parents": [
        "e3fcc54b9ba99577d9d74d175b86974aab208514"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon May 11 10:02:24 2015 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon May 11 10:34:08 2015 -0500"
      },
      "message": "Use stevedore for keystone backends\n\nWith bp stevedore, keystone will load backend drivers using\nstevedore entrypoints. Using the qualified class name is\ndeprecated.\n\nSince stevedore is going to validate that the entrypoint is\nfound, there\u0027s no need to list the valid backends, so backend\nvalidation was removed. This change will cause the server to fail\nto start if the backends are misconfigured rather than using the\ndefault one.\n\nThe names of the stevedore endpoints are \"sql\", \"ldap\", etc.,\nrather than the qualified class name, so the way that these\nare specified in KEYSTONE_IDENTITY_BACKEND, etc., is the same as\nthe stevedore entrypoint and there\u0027s no need to translate.\n\nChange-Id: I81e4e3a6c97b0057610e6b256aff5df4da884e33\n"
    },
    {
      "commit": "3894170067a4ca26952ef9b1315864c8dde8e1ad",
      "tree": "fbdba542bbe2e773deb20425043bc3e897e6ea57",
      "parents": [
        "a4cad71fbd60123e2fe44552414536319bca201d",
        "e929fdd47e31919bb8e30d2300e3c8e43b1bb9cc"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Apr 17 17:36:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Apr 17 17:36:35 2015 +0000"
      },
      "message": "Merge \"Remove keystone public/admin_endpoint options\""
    },
    {
      "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": "9942db6d87952032b852f425b51d5cc3bf57307b",
      "tree": "8466e2dab67994dbb5c81b54da6fc843efeb2e96",
      "parents": [
        "70843539a4ab2ed3c4b5d7042cc5ea717407e488",
        "4599fd174c0c10f3a7e51ad6cba5d4c74abac207"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Apr 03 16:18:30 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Apr 03 16:18:30 2015 +0000"
      },
      "message": "Merge \"Add roles when we create groups\""
    },
    {
      "commit": "e929fdd47e31919bb8e30d2300e3c8e43b1bb9cc",
      "tree": "a4394878a67456a4d22954a54bf46bf411f10f3b",
      "parents": [
        "43479db9105db75d7762e9cfbc950841725fa644"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Mon Mar 30 15:11:11 2015 +1100"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Mon Mar 30 15:11:11 2015 +1100"
      },
      "message": "Remove keystone public/admin_endpoint options\n\nThe public_endpoint and admin_endpoint options are used to set the base\nhostname when listing versions. If they are not provided then the\nresponse will use the same hostname as the request was made with - which\nis almost always what you actually want.\n\nThis means devstack will respond correctly to a version list when behind\na floating IP for example.\n\nChange-Id: Idc48b9d7bee9751deb24d730fdc560b163f39dfe\n"
    },
    {
      "commit": "a33e804aa03f16f2960747001d9e9a5e8896a33c",
      "tree": "90b60b12550649442409597cbc80cf6c951ee5e2",
      "parents": [
        "c392fd3b5fd5464d87e514c173e4a5091d412caf",
        "f8ae647f2eabfd06c1006a1c3c92a3ef78578cfa"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 26 20:35:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 26 20:35:02 2015 +0000"
      },
      "message": "Merge \"Install Keystone into its own venv\""
    },
    {
      "commit": "d16b946b06018b619bf050b590bcab559d268303",
      "tree": "8da4fb970d5dbec75bb016eebbfa13002ba1b123",
      "parents": [
        "1b8c4678cd9a363297efcac15313eefdee8ebd8c",
        "7448edb031028af2e26e17bce6373d8f8929570d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Mar 24 14:50:59 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 24 14:51:00 2015 +0000"
      },
      "message": "Merge \"Keystone use new section for eventlet server options\""
    },
    {
      "commit": "743d03bf7dbb3d5e2d6b20fa872694265e36a36d",
      "tree": "5e35af49965e67db24f09760d739153e7630acaf",
      "parents": [
        "d5532b5255878ea2fdf330828fac943c74e3d389",
        "2dd110ce8668f6cb7b507928bad972d94656e2d7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Mar 22 02:41:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Mar 22 02:41:03 2015 +0000"
      },
      "message": "Merge \"iniset_rpc_backend default section\""
    },
    {
      "commit": "f8ae647f2eabfd06c1006a1c3c92a3ef78578cfa",
      "tree": "1f61277b55cf28fb8390a0cc516503e614bf777e",
      "parents": [
        "5686dbc45dbdc552080592e31bed63b0f201717e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Feb 17 11:05:06 2015 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 20 10:47:37 2015 -0500"
      },
      "message": "Install Keystone into its own venv\n\nConfigure Apache to use the Keystone venv.\n\nChange-Id: I86f1bfdfd800f5b818bfb5c4d2750ff732049107\n"
    },
    {
      "commit": "7448edb031028af2e26e17bce6373d8f8929570d",
      "tree": "cd25d18759b5c1e7094d642ac71d33ad9d490397",
      "parents": [
        "05163d66ac4459cabff4ccf303b7ec10f2fa72a7"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Wed Mar 11 20:06:26 2015 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Fri Mar 20 09:51:43 2015 -0500"
      },
      "message": "Keystone use new section for eventlet server options\n\nConfiguration options that are only relevant when running keystone\nunder eventlet (rather than Apache httpd) were moved to the\n[eventlet_server] and [eventlet_server_ssl] groups in the\nkeystone.conf file to avoid confusion. This change updates devstack\nto use the new non-deprecated group for these options.\n\nChange-Id: I651a278d09f6a3a32b2e96fac87f1e5ea0f18c39\n"
    },
    {
      "commit": "05163d66ac4459cabff4ccf303b7ec10f2fa72a7",
      "tree": "7c39194b241f3d23094798d40916fa55d6d0018a",
      "parents": [
        "597fd75f4178d2179dedef10af3f5dda2994b76c",
        "8421c2b9ab5d8242abb7d1bdc20435408db8b802"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 20 14:30:06 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 20 14:30:06 2015 +0000"
      },
      "message": "Merge \"Use install(1) where possible\""
    },
    {
      "commit": "8e71fabb57c507cc4cf4379880138b32cd28ca0d",
      "tree": "af89afb09df4669867c66ed35e88a3274ffd2ef1",
      "parents": [
        "a4904128ffe520ddd350aea159e591dc2d5c30c1",
        "ad13c0a8dacbf5d5d399aa2df99313bb5fb6a39b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 20 14:29:25 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 20 14:29:25 2015 +0000"
      },
      "message": "Merge \"Keystone stop using config refs\""
    },
    {
      "commit": "4599fd174c0c10f3a7e51ad6cba5d4c74abac207",
      "tree": "11179f93e0f88054534f8b475aa2ad482530a69a",
      "parents": [
        "5e159edab375ed950cc5c91a6c445bbc5541b3c1"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Thu Mar 12 21:30:58 2015 -0400"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Thu Mar 19 00:59:47 2015 -0400"
      },
      "message": "Add roles when we create groups\n\nWe should prime the groups that were created with some roles on\nprojects. Eventually we can add users directly to the groups\nand not have to resort to individual user assignments.\n\nChange-Id: Icebafc06859f8879c584cfd67aa51cb0c9ce48af\n"
    },
    {
      "commit": "8421c2b9ab5d8242abb7d1bdc20435408db8b802",
      "tree": "9d9b6abbf9ee99f6cadb81a9b5a38ecc676961e8",
      "parents": [
        "5c619b43dbd9a649cc7bad3f8527c8b9ded1d631"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 16 13:52:19 2015 -0500"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Mar 18 13:30:59 2015 +1100"
      },
      "message": "Use install(1) where possible\n\nThis eliminated a number of sudo calls by doing the copy/chown/chmod in\na single step and sets a common pattern.\n\nChange-Id: I9c8f48854d5bc443cc187df0948c28b82c4d2838\n"
    },
    {
      "commit": "ad13c0a8dacbf5d5d399aa2df99313bb5fb6a39b",
      "tree": "bdf0d22810528a5c2c10e2f7efcbd0f31cbdf17a",
      "parents": [
        "f6fd39f9743cf0eb3be017c907bbe5b3ba2873ee"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sat Mar 14 12:14:31 2015 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon Mar 16 20:25:14 2015 +0000"
      },
      "message": "Keystone stop using config refs\n\n - Rather than using config refs, deployments should be using a tool\n   such as chef or puppet to set the options correctly.\n\n - Config refs have a bug where you can only reference an option in\n   the DEFAULT group, which limits the usefulness, and with this\n   feature it\u0027s impossible to move any config options out of the\n   DEFAULT group, luckily this has been ignored anyways since I think\n   everyone realizes how broken it is.\n\nChange-Id: I74cae09f9d75177f8efea69e7ae981ed8f14039f\n"
    },
    {
      "commit": "2dd110ce8668f6cb7b507928bad972d94656e2d7",
      "tree": "63f8353d18a51a7fe14338760dec43f10f9c72e6",
      "parents": [
        "5dfecc8966912c2f74a4c7ecc85dd5f0b930cd99"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sat Mar 14 12:39:14 2015 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sat Mar 14 17:53:54 2015 +0000"
      },
      "message": "iniset_rpc_backend default section\n\niniset_rpc_backend should know what section it needs to set the\nconfig options in better than the callers. The config options\nhave actually been moved to different sections and the options\nin the DEFAULT section are deprecated.\n\nChange-Id: I0e07fe03c7812ef8df49e126bf71c57588635639\n"
    },
    {
      "commit": "5dfecc8966912c2f74a4c7ecc85dd5f0b930cd99",
      "tree": "dcf298dd03927a41bb8e0edac75a3dc455eb0cea",
      "parents": [
        "f6fd39f9743cf0eb3be017c907bbe5b3ba2873ee"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sat Mar 14 12:28:59 2015 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sat Mar 14 12:29:58 2015 -0500"
      },
      "message": "Keystone RPC backend config consistency\n\nlib/keystone was setting up rabbit config directly rather than\nusing the iniset_rpc_backend function that other projects use.\n\nChange-Id: Ic368f102c808cdbd2e4cbc1ff457cdf17a681332\n"
    },
    {
      "commit": "b5ab6468c9784d5f5f21e808034f462d5c9d91b2",
      "tree": "8338c7a58eb0a5f653e42c57ec17a8fb2d3c8931",
      "parents": [
        "b5d1de0a93924074cc0368f0fe94da78ebcfa01c"
      ],
      "author": {
        "name": "sridhargaddam",
        "email": "sridhar.gaddam@enovance.com",
        "time": "Tue Feb 24 07:23:24 2015 +0000"
      },
      "committer": {
        "name": "sridhargaddam",
        "email": "sridhar.gaddam@enovance.com",
        "time": "Mon Mar 02 07:42:36 2015 +0000"
      },
      "message": "Fix curl issue when SERVICE_HOST is defined to IPv6 address\n\nWhen SERVICE_HOST is defined to literal IPv6 address\n(i.e., [fdf8:f53b:82e4::179]) we will have to include\n--globoff option for curl to be able to reach the various\nopenstack services. Using globoff works for both IPv6 and\nIPv4 urls, so its safe to include this option for all curl\nstatements in devstack.\n\nCloses-Bug: #1424943\nChange-Id: I2afc16f2f94d7d7069b0ba61bc8348c03413e4e7\n"
    },
    {
      "commit": "5ce44cd63b6e2b53f08a6b4b87cb4ab11d1ade26",
      "tree": "5f396699c97e2df46b99bc46443f1db9bc3d7955",
      "parents": [
        "2b564763aafe6466f42bc5cf2ccc47ddf4169986"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Feb 12 22:18:33 2015 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Feb 16 10:52:18 2015 -0600"
      },
      "message": "Fix is_keystone_enabled()\n\nis_keystone_enabled() was calling is_service_enabled(), which is what called\nis_keystone_enabled() in the first place.  Make it work as designed and\nalso change calls to use the full service name.  Note that this is all\nstill comptible with the prior usage of \u0027is_service_enabled key\u0027.\n\nChange-Id: I9c28377ecf074b7996461d2a4ca12d88dfc4d47e\n"
    },
    {
      "commit": "9b215db569dcee2e9cd52c3336ba14b73ad05ab0",
      "tree": "165ec0b1d4d9138a5ee794068a368e06011e06e0",
      "parents": [
        "8ed3e40be8672aa23ebd2b6c95accf06a2ff8ac4"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Tue Feb 10 18:19:57 2015 +1100"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Feb 11 14:51:22 2015 +1100"
      },
      "message": "Rename get_or_add_user_role\n\nget_or_add_user_role is specific to adding a role on a project.\nRename it to get_or_add_user_project_role to allow room for adding a\ndomain specific role function.\n\nChange-Id: I999308098d22be9800578ae67144a3b687fbc3be\n"
    },
    {
      "commit": "5e781bd9d0d12473ce2bd6ad8b27f51b1373d506",
      "tree": "1d1bebed7da51cc73d0f5e5f05d8bc841c971856",
      "parents": [
        "63f67e210194cc2cc40a198dd5e7927a476770df",
        "85ff5323ff95106eb18c1c6bfd71d75f3980c370"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Feb 09 17:59:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Feb 09 17:59:36 2015 +0000"
      },
      "message": "Merge \"Isolate creating service users\""
    },
    {
      "commit": "85ff5323ff95106eb18c1c6bfd71d75f3980c370",
      "tree": "ccbf706b448442635a6430871ea42cf8de5c5368",
      "parents": [
        "0a52f5597e436a8d2c7253a6967bfc4863c64fe7"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jan 28 14:28:01 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Mon Feb 09 14:36:20 2015 +1100"
      },
      "message": "Isolate creating service users\n\nThe code for creating service users is almost exactly the same. Abstract\nthis into a function that can be reused and standardized.\n\nChange-Id: I3a4edbff0a928da7ef9b0097a5a8d508fdfab7ff\n"
    },
    {
      "commit": "0fc336df89833945457a597ff2a3dfee97517958",
      "tree": "ffba15d7f1ab5f77ead2fcd2c34d6f26a5fee3ae",
      "parents": [
        "0a52f5597e436a8d2c7253a6967bfc4863c64fe7"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sun Feb 08 11:03:02 2015 -0600"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sun Feb 08 11:03:02 2015 -0600"
      },
      "message": "Keystone set debug in config file\n\nChange keystone so that the debug setting is always in the config\nfile. This way the debug setting is done consistently whether it\u0027s\nrun as keystone-all or in Apache httpd.\n\nChange-Id: I10f091e32b8b12ac71f0e7f613c5d1d3f4a8cbec\n"
    },
    {
      "commit": "18f39bfb1f6af23a7fc5f5a5b822e7216ce9ec62",
      "tree": "7d129d3e5a087f1d819f19282cd3978e051bd936",
      "parents": [
        "c2999d190a0ce92a99332a9733b2e43828a6201c"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jan 28 13:38:32 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jan 28 13:38:32 2015 +1000"
      },
      "message": "Remove the default project from all users\n\nThe default project means that a user gains token scoping information\nfor a project if they don\u0027t specify another. This is something we want\nto discourage for user creation. User\u0027s should specify there own\nauthentication scope when they authenticate.\n\nChange-Id: I42c3060d59edfcd44d04cd166bad500419dd99bc\n"
    },
    {
      "commit": "1631af891af32eaa9af609398a88252ab437b0b4",
      "tree": "9a5b7a9aebc97c743fd601aec60658b62b70b813",
      "parents": [
        "2d7c346f0c8cefe622edc8fed47cc2782aeb9a9b",
        "78b7726dddb2e317370cfc4699a93c759cabed9a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jan 26 14:06:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jan 26 14:06:15 2015 +0000"
      },
      "message": "Merge \"Configure auth_token middleware by auth plugin\""
    },
    {
      "commit": "955f80a7efe6d5c78fb80d957f63803ef3c0486c",
      "tree": "80931baf547c97897f511eef060783aa52177178",
      "parents": [
        "d4a81a895ebd505b82ada0278d7b388924577ff0",
        "157c84b8766ae67f6868f26505ce9a5d7291730b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 20 15:44:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 20 15:44:07 2015 +0000"
      },
      "message": "Merge \"Enforce UTF-8 encoding when creating databases\""
    },
    {
      "commit": "ca5b5485d9be07a6f9e57440901dc612889071c0",
      "tree": "5973d08b5d8ae66ce814a8a90a056ebdec324cb5",
      "parents": [
        "c34cb7b5ef3e6a87b1931f779e11648df2b7144c",
        "537532931da4103e1a873684476dac6d7fe56489"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jan 17 17:45:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jan 17 17:45:29 2015 +0000"
      },
      "message": "Merge \"Make changes such that -o nounset runs\""
    },
    {
      "commit": "537532931da4103e1a873684476dac6d7fe56489",
      "tree": "e35fe8f6032774a831ccfbf2a4d72a68654bbb38",
      "parents": [
        "5f6f43ed9f67a86cad03c1d0c673429814467d6d"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 04 19:38:15 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Jan 15 13:06:14 2015 -0500"
      },
      "message": "Make changes such that -o nounset runs\n\nThis makes a bunch of variable cleanups that will let -o nounset\nfunction, for the time being we hide nounset behind another setting\nvariable so that it\u0027s not on by default.\n\nBecause this is bash, and things are only executed on demand, this\nprobably only works in the config it was run in. Expect cleaning up\nall the paths to be something that takes quite a while.\n\nThis also includes a new set of unit tests around the trueorfalse\nfunction, because my change in how it worked, didn\u0027t. Tests are good\nm\u0027kay.\n\nChange-Id: I71a896623ea9e1f042a73dc0678ce85acf0dc87d\n"
    },
    {
      "commit": "b74e01c34de76cb451f80d2f1ac1c4ccac1bb7e4",
      "tree": "c0c72cd9c194db806f40b7d4aecbbcd8b81c47f3",
      "parents": [
        "3eaa0781e3d87bee6d343573954b682f1f23d4b9"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Thu Dec 18 01:35:35 2014 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Wed Jan 14 14:37:13 2015 -0500"
      },
      "message": "Add a group create function, and a sample group\n\nSlowly trying to introduce more v3 concepts into a generic\ndevstack installation.\n\nWork with description of none and description with spaces\n\nChange-Id: I7d2fde58363698ff020f92f129f1ff7378f945a8\n"
    },
    {
      "commit": "78b7726dddb2e317370cfc4699a93c759cabed9a",
      "tree": "bb29ec231a945d74eb3cf7d9f2e9f1bf54fb5f25",
      "parents": [
        "69ef526ac9fbb83c9b6e0cf6d5fc6e65f20fcf54"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri Dec 19 12:56:01 2014 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Mon Jan 12 10:46:49 2015 +1000"
      },
      "message": "Configure auth_token middleware by auth plugin\n\nAs of release 1.3 auth_token middleware can be configured to use any\nauthentication plugin. This allows us to move to the more generic\npassword mechanism which will default to using keystone v3 if available.\n\nThis will allow in future revisions to move the devstack service users\nout of the default domain.\n\nWork will need to be done in heat to remove it\u0027s dependency on the\n(supposed to be private) keystone_authtoken CONF values.\n\nChange-Id: Ieac26806bd420aa08fc79bbc6a11eb6a1c15c7df\n"
    },
    {
      "commit": "157c84b8766ae67f6868f26505ce9a5d7291730b",
      "tree": "2335d93852b26d620b8c2270164c69d6879b596c",
      "parents": [
        "5c0a3cfb71ef8c8faca92c19e4eee4968eb309e3"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Oct 06 13:29:39 2014 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Jan 05 15:57:23 2015 +0100"
      },
      "message": "Enforce UTF-8 encoding when creating databases\n\nWe use InnoDB everywhere, so there should be no issues with long unicode\nkeys. Dropped charset parameter for recreate_database since it\u0027s not\nneeded anymore.\n\nChange-Id: Ib768402a9337c918309030a92ab81da17269f4f6\n"
    },
    {
      "commit": "305c4debde80a79676848c108cb42c0a12ce7405",
      "tree": "f66423070af3a2e9a944d26c3780c4d78fd23a62",
      "parents": [
        "c9bd06e03c1b901c303bd28b04d8805c46f3587c"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Dec 18 17:11:07 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Dec 18 17:11:07 2014 -0600"
      },
      "message": "Fix wsgi dir cleanup in Keystone\n\nChange-Id: I8350d2de8602472e5a7d80b490d2c24f43865e19\n"
    },
    {
      "commit": "ef844fd08da208947c8e5d8e74e598d7cf7072af",
      "tree": "7b0ad790c865ce2f5ae2d3e87866b780581d1e04",
      "parents": [
        "7f8028069883b8214bd2aae56f78514a4fddddbe"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Dec 15 16:32:43 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Dec 15 16:33:53 2014 -0500"
      },
      "message": "remove $KEYSTONE_TOKEN_HASH_ALGORITHM\n\nNow that Keystone is back to UUID token defaults the use case for this\nin devstack is extremely dubious, and it can be set through via\nlocal.conf if anyone *really* cares.\n\nPart of bp:devstack-nounset\n\nChange-Id: I644b5b1579952959d253758b2a12b97d8a704657\n"
    },
    {
      "commit": "d5b74c688febfafb69ddc3881d9936e0268daa4c",
      "tree": "ea4315210981df8ff95d6acd0169f872ed28e919",
      "parents": [
        "1fc6e18c4a690482d26ab3bf4dd208e48cde5f9a"
      ],
      "author": {
        "name": "Abhishek Chanda",
        "email": "abhishek@cloudscaling.com",
        "time": "Fri Dec 12 02:15:55 2014 +0530"
      },
      "committer": {
        "name": "Abhishek Chanda",
        "email": "abhishek@cloudscaling.com",
        "time": "Fri Dec 12 02:20:09 2014 +0530"
      },
      "message": "Take an optional rabbit user name as input\n\nNewer versions of rabbitmq (3.3 and later) do not allow the \u0027guest\u0027\nuser to access on non-local interfaces.\n\n- Added a new config RABBIT_USERID which defaults to stackrabbit\n- Invoked config scripts using that variable\n\nAdopted from:\nhttps://review.openstack.org/#/c/107779/\n\nChange-Id: I43a231c9611b4cc2e390b603aa3bfb49c915bdc5\nCloses-Bug: #1343354\nCo-Authored-By: Scott Moser \u003csmoser@ubuntu.com\u003e\n"
    },
    {
      "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": "658312ca2f54aaabd43f91d2fca73cbee0319735",
      "tree": "5b75cf4dbcd8246aaca657b9968b2ff3bedef3bd",
      "parents": [
        "3c8973a90abc7601e46e2fcaf3d50343338e24d8"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Nov 14 11:35:56 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Nov 14 11:36:45 2014 -0500"
      },
      "message": "move keystonemiddleware to pypi libs\n\nMake keystonemiddleware install from pypi releases by default\n\nChange-Id: I3dc4b096b4184f4cf00fb0df66b76fcc8f19785b\n"
    },
    {
      "commit": "e08ab104e62da041fcc6b2aafba4349326f4a969",
      "tree": "859fc4953f6b45b75b9f4810ba0bf33477799f31",
      "parents": [
        "94f8bea9e4ff0434df1723cf269c4300a4373524"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Nov 13 17:09:28 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Nov 13 17:17:38 2014 -0500"
      },
      "message": "fix python-* lib from git installation\n\nWe\u0027re using all the magic variables based on python-fooclient, however\nall the inline code was using fooclient for variables. So we had a\nmismatch, which was kindly pointed out by some of the 3rd party ci\ntesters.\n\nChange-Id: I27a56222c7e8e610fba8bf97672d2a42f5cf14ca\n"
    },
    {
      "commit": "5cb190697c1bce5dcd2ad843922813b0cc74bd24",
      "tree": "ba87095ef1603c957902abadcb692ccf653e6f59",
      "parents": [
        "2d18b83600bf53df3a41aec619eee67328fe154f"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Sat Nov 01 01:37:45 2014 +0100"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Nov 04 10:18:58 2014 +0100"
      },
      "message": "support installing clients at released versions\n\nexpand the devstack support for libraries from released versions to\nsupport python-* clients and tempest_lib.\n\nDepends-On: I81b0d228e7769758c61e5b0323ecfce8c8886d39\n\nChange-Id: I26fac0ccf8fd4818e24618d56bf04b32306f88f6\n"
    },
    {
      "commit": "7fb5082c5c7abff95eb46dd9a92c5fd8fc63ddd2",
      "tree": "6c80b3ce5bd8ed5982765f89319ba9d7e75d36cf",
      "parents": [
        "6fe32059de58964c8f089977539262f288df4601"
      ],
      "author": {
        "name": "wanghong",
        "email": "w.wanghong@huawei.com",
        "time": "Tue Oct 28 19:09:04 2014 +0800"
      },
      "committer": {
        "name": "wanghong",
        "email": "w.wanghong@huawei.com",
        "time": "Tue Oct 28 19:20:54 2014 +0800"
      },
      "message": "correct templated catalog driver class\n\nNow the templated catalog driver class \"TemplatedCatalog\" is removed\nin this patch https://review.openstack.org/#/c/125708/2 use\n\"keystone.catalog.backends.templated.Catalog\" instead.\n\nChange-Id: Ib9c8ea557e7171ff0c78a1e10d752ed564aff9e7\nCloses-Bug: #1386562\n"
    },
    {
      "commit": "d844513156b3ec993c4ba8c173ac058f9d39784a",
      "tree": "381281f4e9ab1ae89fd17c6836a6fdc8bc5331de",
      "parents": [
        "68e9f05f7c19b1bd9d4c7e8e7f88fbf93d18b9f9",
        "3fcd2baf95332e814e56a7cddc1b85dd15ae6391"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Sep 29 06:04:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Sep 29 06:04:26 2014 +0000"
      },
      "message": "Merge \"Ensure that keystone uses global debug setting\""
    },
    {
      "commit": "3fcd2baf95332e814e56a7cddc1b85dd15ae6391",
      "tree": "2620976e0447617e6060ebe7210dd6314203c8ec",
      "parents": [
        "47ccb7fa36ffe7a89a793902793921e0aa5fa8a8"
      ],
      "author": {
        "name": "Gary Kotton",
        "email": "gkotton@vmware.com",
        "time": "Mon Sep 22 00:55:02 2014 -0700"
      },
      "committer": {
        "name": "Gary Kotton",
        "email": "gkotton@vmware.com",
        "time": "Sat Sep 27 23:15:54 2014 -0700"
      },
      "message": "Ensure that keystone uses global debug setting\n\nWhen setting ENABLE_DEBUG_LOG_LEVEL the keystone screen would ignore\nthis setting and always use the debug mode.\n\nChange-Id: I934443c2976e936198fc93da4cca717e6cb84e6f\n"
    },
    {
      "commit": "18d4778cf7bffa60eb2e996a13c129c64f83575f",
      "tree": "d6d934b05026d32d6942b34a5e3a359202b3996c",
      "parents": [
        "d60c10d6dbe44445aaab9e3fcc0127e39e989f40"
      ],
      "author": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Wed Mar 19 17:47:42 2014 -0400"
      },
      "committer": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Wed Sep 24 18:36:37 2014 -0400"
      },
      "message": "Configure endpoints to use SSL natively or via proxy\n\nConfigure nova, cinder, glance, swift and neutron to use SSL\non the endpoints using either SSL natively or via a TLS proxy\nusing stud.\n\nTo enable SSL via proxy, in local.conf add\n\nENABLED_SERVICES+\u003d,tls-proxy\n\nThis will create a new test root CA, a subordinate CA and an SSL\nserver cert. It uses the value of hostname -f for the certificate\nsubject. The CA certicates are also added to the system CA bundle.\n\nTo enable SSL natively, in local.conf add:\n\nUSE_SSL\u003dTrue\n\nNative SSL by default will also use the devstack-generate root and\nsubordinate CA.\n\nYou can override this on a per-service basis by setting\n\n\u003cSERVICE\u003e_SSL_CERT\u003d/path/to/cert\n\u003cSERVICE\u003e_SSL_KEY\u003d/path/to/key\n\u003cSERVICE\u003e_SSL_PATH\u003d/path/to/ca\n\nYou should also set SERVICE_HOST to the FQDN of the host. This\nvalue defaults to the host IP address.\n\nChange-Id: I36fe56c063ca921131ad98439bd452cb135916ac\nCloses-Bug: 1328226\n"
    },
    {
      "commit": "da4f28fb8494f90f704f22f111d4bfe53859c916",
      "tree": "42748d5e04dccf45f7c048f39998ea8cae0f984b",
      "parents": [
        "14f6c50b187d0d35c0d344700de06fa478845237",
        "8732afe2f92545f2b9956c37bdfca4ee1bc07cae"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 25 09:41:56 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 25 09:41:56 2014 +0000"
      },
      "message": "Merge \"Use correct WSGI dir on SUSE distros\""
    },
    {
      "commit": "14f6c50b187d0d35c0d344700de06fa478845237",
      "tree": "49c49eb702dc1505abb6ef6ef0cc2d4d2ee58085",
      "parents": [
        "8fe3f70efd6c74479d2f17b789976fb3dfb8efd2",
        "b4495eb410e3ad348700f127dcf7c0562014c325"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 25 03:43:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 25 03:43:29 2014 +0000"
      },
      "message": "Merge \"Use mod_version to clean-up apache version matching\""
    },
    {
      "commit": "8732afe2f92545f2b9956c37bdfca4ee1bc07cae",
      "tree": "66366087e6709d932fd9a2d7c97a9108fc8d39a6",
      "parents": [
        "47ccb7fa36ffe7a89a793902793921e0aa5fa8a8"
      ],
      "author": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Mon Sep 22 19:04:05 2014 +0200"
      },
      "committer": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Mon Sep 22 19:11:03 2014 +0200"
      },
      "message": "Use correct WSGI dir on SUSE distros\n\nThe current default (/var/www) leads to:\n\nAH01797: client denied by server configuration:\n/var/www/keystone/admin\n\nFor /var/www the needed permissions on SUSE are not set.\nFor /srv/www/htdocs/ the permissions are correct on SUSE systems.\n\nChange-Id: I3f2df896daecdfe510d45ff121af2a8433a4d5be\n"
    },
    {
      "commit": "3951a9449924f0e8ce962738bfe557f2b48085c7",
      "tree": "39d1f9a9b0f144e61a34a718e9958452b60baf86",
      "parents": [
        "0595237e8adee0320dbcabe5647f7aa179378741"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sun Aug 24 18:54:51 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sun Sep 21 13:55:39 2014 -0500"
      },
      "message": "Configurable token hashing algorithm\n\nThe Keystone server and auth_token middleware were enhanced to\nsupport a configurable hash algorithm.\n\nWith this change, the user can set\n\n KEYSTONE_TOKEN_HASH_ALGORITHM\u003dsha256\n\nin their localrc to use the SHA256 algorithm rather than the\ndefault md5. Any hash algorithm supported by Python\u0027s hashlib can\nbe used. The MD5 algorithm doesn\u0027t provide enough protection from\nhash collisions and some security standards mandate a SHA2 hash\nalgorithm.\n\nChange-Id: I8b373291ceb760a03c4c14aebfeb53d8d0dfbcc1\nCloses-Bug: #1174499\n"
    },
    {
      "commit": "0595237e8adee0320dbcabe5647f7aa179378741",
      "tree": "2bfac494b50c567e9816778b3f6cbf0b80d8012d",
      "parents": [
        "d13eb8ec4066c2f52313351053021e456de60883"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Fri Sep 19 17:22:22 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sun Sep 21 11:18:01 2014 -0500"
      },
      "message": "Function for auth_token middleware config\n\nEach project was configuring the auth_token middleware using several\nlines of inisets. Since all the projects should configure the\nauth_token middleware in the same way create a function and call it.\n\nChange-Id: I3b6727d5a3bdc0ca600d8faa23bc6db32bb32260\n"
    },
    {
      "commit": "85a17ea1ded77204fa7f0d2510a637805d1724bb",
      "tree": "f1bbf2d2b6048fdb5d9ec128274d0523de5a2e22",
      "parents": [
        "106b379741d684651ba5d9a50d352517326d45cc"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sat Sep 13 14:49:24 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Sep 19 23:27:53 2014 -0500"
      },
      "message": "Configurable Keystone admin workers\n\nThe API_WORKERS option wasn\u0027t setting the number of admin workers\nfor the Keystone server when running in eventlet mode. This will\nallow for control of throughput and memory usage.\n\nChange-Id: Iecbce4a601f93784164e53d8b0c542d48f7b5650\n"
    },
    {
      "commit": "c4b067134c735b62b3c41105d29f83814abe8f90",
      "tree": "0fe8b09b75a0d8ebf843520dd60c958eab21f14b",
      "parents": [
        "a1c725694690b746725328243ce10cc65ce97a6d"
      ],
      "author": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Wed Sep 03 11:44:31 2014 -0700"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Tue Sep 16 04:36:25 2014 +0200"
      },
      "message": "Split keystone mod wsgi config from start/stop\n\nWe currently cleanup keystone apache config during stop_keystone\nwhen mod wsgi is enabled, but only create it during initial keystone\nconfiguration.  Grenade expects to be able to stop and start the\nservice without reconfiguring it, using only the respective functions.\nThis moves cleanup of config from stop_keystone to cleanup_keystone,\nand enables/disables the apache vhost during start/stop.\n\nCloses-bug: #1365105\n\nChange-Id: I9e57c9a763fbdb8c5737decfe797ba0e9894150b\n"
    },
    {
      "commit": "2f27a0ed3c609bfcd6344a55c121e56d5569afc9",
      "tree": "abe0c02c1d2fd9d57f6b786ff8105896969d0e3c",
      "parents": [
        "58deafcd63ae996e0973c864e249c4a3cb82a74f"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Tue Sep 09 13:46:02 2014 +0100"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Thu Sep 11 18:59:39 2014 +0100"
      },
      "message": "Replace screen_it() with run_process() throughout\n\nrun_process will use screen if USE_SCREEN\u003dTrue (the default),\notherwise it will simply start the requested service. Therefore\nwherever screen_it used, run_process can be instead.\n\nWhere stop_screen was found it has been replaced with stop_process.\n\nA tail_log function has been added which will tail a logfile in a\nscreen if USE_SCREEN is True.\n\nlib/template has been updated to reflect the use of the new\nfunctions.\n\nWhen using sg the quoting in run_process gets very complicated.\nTo get around this run_process and the functions it calls accepts\nan optional third argument. If set it is a group to be used with sg.\n\nChange-Id: Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca\n"
    },
    {
      "commit": "68fd37e029d9a531f7b9c491252469aa7ccf3955",
      "tree": "ce3a047737c5a33e927a7f2ca48dab06329dd4cd",
      "parents": [
        "ba842f5374f28d1f17bc008349a2d01958dfe82d",
        "d3654058e555c48e498e03e85f2fbe93d0572a09"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 09 00:42:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 09 00:42:50 2014 +0000"
      },
      "message": "Merge \"Fix another_role variable for swift\""
    },
    {
      "commit": "ba842f5374f28d1f17bc008349a2d01958dfe82d",
      "tree": "4b01fdbdd677be6d8672f1b32850c4499c034591",
      "parents": [
        "8b3217e31083625667225e5cddadf99d430a6206",
        "966463c802c6c2f3a04da812cd689502aa8006cd"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Sep 08 16:23:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Sep 08 16:23:20 2014 +0000"
      },
      "message": "Merge \"Keystone access log in key-access screen\""
    },
    {
      "commit": "d3654058e555c48e498e03e85f2fbe93d0572a09",
      "tree": "6873ef189cdd935f5f4372c30be592af123f84a1",
      "parents": [
        "a672e02818869de184c7c04aeb2f3e471bec3153"
      ],
      "author": {
        "name": "Masayuki Igawa",
        "email": "igawa@mxs.nes.nec.co.jp",
        "time": "Mon Sep 01 17:30:05 2014 +0900"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Mon Sep 08 16:41:41 2014 +0200"
      },
      "message": "Fix another_role variable for swift\n\nAn error occurs because ANOTHER_ROLE variable in lib/swift is not set.\nThis patch gets and sets the value to another_role variable.\n\nChange-Id: I9d67ce243eb6bb42ed7e3522ef816295847d48fa\nCloses-Bug: #1363884\n"
    },
    {
      "commit": "b4495eb410e3ad348700f127dcf7c0562014c325",
      "tree": "a2af0cc87edd09d37ab764ebc014264c60b79a00",
      "parents": [
        "3d458eb703e52606d8aa8d58757285e61cb47b8b"
      ],
      "author": {
        "name": "Noboru Iwamatsu",
        "email": "n_iwamatsu@jp.fujitsu.com",
        "time": "Wed Jul 02 18:31:31 2014 +0900"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Sep 08 15:59:29 2014 +1000"
      },
      "message": "Use mod_version to clean-up apache version matching\n\nThis change uses mod_version (shipped by default on everything we care\nabout) to set-up version-specific config within apache rather than\nwithin devstack scripts.\n\nClean up the horizon and keystone config file generation to use the\ninternal apache matching.\n\nSince I6478db385fda2fa1c75ced12d3e886b2e1152852 the apache matching in\n\u0027functions\u0027 is actually duplicated.  just leave get_apache_version in\nlib/apache as it is used for config-file name matching in there.\n\nChange-Id: I6478db385fda2fa1c75ced12d3e886b2e1152852\n"
    },
    {
      "commit": "61a6e253f285fd9cfe0ac7612e85e7cf1fff5116",
      "tree": "21b4ce5b368393aec0d1bcc79669127e45460e4b",
      "parents": [
        "62cae13d7e7e13102a02aa385ae63b8e2afb7c83",
        "947d7468c84423e5a9079ffda292924097a0b404"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 04 23:40:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 04 23:40:48 2014 +0000"
      },
      "message": "Merge \"Use correct class path for token persistence backend\""
    },
    {
      "commit": "966463c802c6c2f3a04da812cd689502aa8006cd",
      "tree": "c0af3fb57d97c1448a5df2f4941df2d8c7bdd7d7",
      "parents": [
        "2a6ce7197e5da9fddddaba2faff2a18c04ece957"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Aug 21 18:24:42 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Sep 04 18:12:37 2014 -0500"
      },
      "message": "Keystone access log in key-access screen\n\nWhen Keystone was run in Apache Httpd the access log wasn\u0027t in a\nscreen. A new screen called key-access is now started with\nKeystone\u0027s access log.\n\nChange-Id: Ie1f4d4b679e1b9c87f0cea37deb25f7b6636fe01\nCloses-Bug: #1359995\n"
    },
    {
      "commit": "947d7468c84423e5a9079ffda292924097a0b404",
      "tree": "fbd84c501aab095232ee31c66ac7ec871a09e668",
      "parents": [
        "434982c96d758a55a324d933df8f5e3949813fc8"
      ],
      "author": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Fri Aug 29 13:26:31 2014 -0700"
      },
      "committer": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Fri Aug 29 13:26:31 2014 -0700"
      },
      "message": "Use correct class path for token persistence backend\n\nKeystone has moved over to using a new location for the token\npersistence backends (drivers). The old values will continue to\nwork, but this will limit the deprecation warnings for an out\nof the box devstack install.\n\nChange-Id: I7c437788c8aee0106fa7f3c37617fbd1220291ef\nbp: non-persistent-tokens\n"
    },
    {
      "commit": "d074dc7f7e37c8ff1ce781f0bbc7f88196567f00",
      "tree": "60995ba98b831d71ccb931f357fd4d11573a0046",
      "parents": [
        "a90898d90438834ac32224162500b7d54fe2e603"
      ],
      "author": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Tue Jun 24 21:33:39 2014 -0700"
      },
      "committer": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Thu Aug 28 08:39:50 2014 -0700"
      },
      "message": "Use the apache 2.4 ErrorLogFormat directive\n\nUse the new ErrorLogFormat directive to make the Keystone logs\nunder Apache to look like the standard oslo log format.\n\nChange-Id: Ie823abf2fa06b8ce22027c21bef455808a4a768e\n"
    },
    {
      "commit": "a8f0d966a159220af11fe0171ae6dca24bc51b97",
      "tree": "24d00a4a8db97cf79f1c2863c78ab2eca38c8eb5",
      "parents": [
        "7d9596781cf102e0928091ce1734e766db0fe737",
        "cfc9465ee0ce212287f8426a883a94c1eee675a0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Aug 24 21:31:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Aug 24 21:31:35 2014 +0000"
      },
      "message": "Merge \"Change httpd Keystone log to keystone.log\""
    },
    {
      "commit": "cfc9465ee0ce212287f8426a883a94c1eee675a0",
      "tree": "3cdcd733d089fe6ddd26251d4e7b3e64bb02905b",
      "parents": [
        "219e9c227832371f10f718dc3d793b03904f5968"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Aug 21 18:25:29 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Fri Aug 22 16:49:02 2014 -0500"
      },
      "message": "Change httpd Keystone log to keystone.log\n\nThe normal extension for log files is .log. Log rotation should\nwork because the extension is as expected.\n\nChange-Id: Ia5e42ea9d953e8395b86ab58cdef6c2d852efc94\nRelated-Bug: #1359995\n"
    },
    {
      "commit": "c50c983c5687371a4b49222bb853684a919fb8ea",
      "tree": "e907045c46fc88aac9f8b428e2ff044c2fb1548f",
      "parents": [
        "d3121f649d672fdaf757655b94ecd68c71b56b8e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 13:40:25 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 15:57:48 2014 -0500"
      },
      "message": "Clean up local variable usage - Keystone\n\nChange-Id: I8e5506e9d29879459158ef796854ce7a67107d89\n"
    },
    {
      "commit": "4f3b66f538937cf0c7f9fdc97e5472f4c77bbe69",
      "tree": "d1ba15f3adddcd38cd41ceb422f13b875fbb14e0",
      "parents": [
        "f0bd8dbe37bd855669ad4cddff0a49bccfd9b64e"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Jul 23 16:45:12 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Jul 23 16:45:12 2014 -0400"
      },
      "message": "add is_keystone_enabled\n\nThis is missing, and makes logic much harder for the grenade use\ncase.\n\nChange-Id: Ib6670096d190e69273256b87e6a67e2b46945a0d\n"
    },
    {
      "commit": "6dd8a8bee402a6be683075e0669a010a279950ae",
      "tree": "863dda081a4cf9cbf78f911ac66178b7ffc9f11e",
      "parents": [
        "2bb05fdb84aa472299efc714b7c1114a25a3ada2"
      ],
      "author": {
        "name": "Gael Chamoulaud",
        "email": "gchamoul@redhat.com",
        "time": "Tue Jul 22 01:12:12 2014 +0200"
      },
      "committer": {
        "name": "Gael Chamoulaud",
        "email": "gchamoul@redhat.com",
        "time": "Tue Jul 22 17:29:04 2014 +0200"
      },
      "message": "Users in service group should not have email addresses\n\nChange-Id: Ieed9dffce5cf1e735e482dd3494ac1e103b50955\nCloses-Bug: 1185201\nSigned-off-by: Gael Chamoulaud \u003cgchamoul@redhat.com\u003e\n"
    },
    {
      "commit": "d727754c921676b9fe66162ee39ca854f3bea691",
      "tree": "8da0f0d082244f08a79f0977723074e87743987e",
      "parents": [
        "fdf1cffbd5d2a7b47d5bdadbc0755fcb2ff6d52f",
        "8464a4cba38a4e4b98305712fb577bbe60068775"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jul 11 14:33:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jul 11 14:33:21 2014 +0000"
      },
      "message": "Merge \"Configure rabbitmq credentials in keystone.conf\""
    },
    {
      "commit": "8464a4cba38a4e4b98305712fb577bbe60068775",
      "tree": "225c4de9f4dcf7d337a470158c8c9487d645cf8c",
      "parents": [
        "2efb9781c492a05962ea287f1addb3f791911fbd"
      ],
      "author": {
        "name": "Sergey Skripnick",
        "email": "sskripnick@mirantis.com",
        "time": "Tue Jul 08 21:05:23 2014 +0300"
      },
      "committer": {
        "name": "Boris Pavlovic",
        "email": "boris@pavlovic.me",
        "time": "Wed Jul 09 03:36:51 2014 +0400"
      },
      "message": "Configure rabbitmq credentials in keystone.conf\n\nRabbitmq credentials in keystone.conf should be updated according\nto localrc\n\nThis is done mostly to enable keystone notifications.\n\nThere are 2 cases where we can use notifications from keystone:\nA) Collect audit notifications in ceilometer\nB) Collect profiling data\n\nChange-Id: I381d4d670755aa691743caa02df7dc55e05784c2\n"
    },
    {
      "commit": "e6dd4e665d2a10e7cbbf2d0c35011700ddabf0ad",
      "tree": "e1a66f72009b6c3599df83f3af640db7a268d96d",
      "parents": [
        "49d14407c5ea93c6c8c22e8c06f29de6b38ce976"
      ],
      "author": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Wed Jun 25 17:25:25 2014 -0700"
      },
      "committer": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Tue Jul 08 00:11:20 2014 +0000"
      },
      "message": "Enable Keystone under Apache by default\n\nMake the default run mode of Keystone HTTPD + mod_wsgi. This will\nenable gating on Keystone under mod_wsgi.\n\nDepends On: https://review.openstack.org/#/c/100764/\n\nChange-Id: I4b664a1d6c9bbb1ff999158f3a8c8ab3bd8d891b\n"
    },
    {
      "commit": "46455a34d56c4bd91ccab5a33f801d3c3e065121",
      "tree": "a4cb63e72647347f8da82de4f10670fca84f94f6",
      "parents": [
        "9c0f077dd5e8cc01b30598e2306fce755f0c84e1"
      ],
      "author": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Fri Jun 20 10:37:18 2014 -0700"
      },
      "committer": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Mon Jul 07 08:46:28 2014 -0700"
      },
      "message": "Update Apache + mod_wsgi deployment mechanisms\n\nAdded a global toggle for enabling HTTPD + mod_wsgi for services\nthat default deploy to running under Apache. When the variable\n``ENABLE_HTTPD_MOD_WSGI_SERVICES`` is set to ``True`` any service\nthat recommends deploying under HTTPD + mod_wsgi, will be run\nunder Apache.\n\nIf ``ENABLE_HTTPD_MOD_WSGI_SERVICES`` is set to ``False`` the\nany service that is defaulted to running under HTTPD + mod_wsgi\nwill (if capable) be run in an alternate deployment strategy (e.g.\neventlet).\n\nUpdated Swift and Keystone to have individual toggles for deploying\nunder HTTPD + mod_wsgi. This is done to allow for gate to run on\nthe services under mod_wsgi where appropriate. Toggles are\n``KEYSTONE_USE_MOD_WSGI`` and ``SWIFT_USE_MOD_WSGI`` and are both\ndefaulted to \"False\" (do not deploy under HTTPD + mod_wsgi).\n\nChange-Id: Id3b121b8f1cde369d184b586e0d875bdbda34813\n"
    },
    {
      "commit": "cfcd8cf2f81bc8e4a5984981b399b48bed170945",
      "tree": "c0f93c8c24bea65f920f7224eb8cf6d97f3ed1d3",
      "parents": [
        "4ede37aa8664dd034f33f28731b95f0d32159b11",
        "0abde393c5e2d15e840c0321b736e22291b59780"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jul 04 16:53:01 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jul 04 16:53:01 2014 +0000"
      },
      "message": "Merge \"Adds support for multi-region\""
    },
    {
      "commit": "8a88f2728c9aaddf607325c4307652df86928aa9",
      "tree": "8933d8319b66f1b170b0e7885ded45c5877d9aa8",
      "parents": [
        "c06c9e1f904a81e0fef646273b07510e90995364",
        "58936fdbcda70b28e14dfe9a5fe344fc1f22c40e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jul 01 19:46:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jul 01 19:46:16 2014 +0000"
      },
      "message": "Merge \"Add keystone middleware to devstack\""
    },
    {
      "commit": "0abde393c5e2d15e840c0321b736e22291b59780",
      "tree": "a78ecff37749175c95a5cbc7eae78cfecd02d1c8",
      "parents": [
        "c06c9e1f904a81e0fef646273b07510e90995364"
      ],
      "author": {
        "name": "Bartosz Górski",
        "email": "bartosz.gorski@ntti3.com",
        "time": "Fri Feb 28 14:15:19 2014 +0100"
      },
      "committer": {
        "name": "Bartosz Górski",
        "email": "bartosz.gorski@ntti3.com",
        "time": "Tue Jul 01 14:58:35 2014 +0000"
      },
      "message": "Adds support for multi-region\n\nChange-Id: Ib85fe7cb375692b04aca4c46f61ba7e1fbfa501b\nImplements: blueprint multi-region\n"
    },
    {
      "commit": "58936fdbcda70b28e14dfe9a5fe344fc1f22c40e",
      "tree": "4cfebe6147984e15bde6f064fd7225937ece49dd",
      "parents": [
        "c6dc3deb2571f08b224c9a11eac975da2ef59f5a"
      ],
      "author": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Tue Jun 24 12:26:07 2014 -0700"
      },
      "committer": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Mon Jun 30 09:29:45 2014 -0700"
      },
      "message": "Add keystone middleware to devstack\n\nAdd the keystonemiddleware repository to devstack to support testing\nwith tempest and stable branches.\n\nChange-Id: Ib635465e6568d9cd51d6e432ec8b8633a27d19ce\n"
    },
    {
      "commit": "945ccecb68900cf09048db615bf2ad3fb3b1cd9a",
      "tree": "0134b77cdfd1f558f94abb48098fe5c990fd055e",
      "parents": [
        "4fabfe73b3c954c371f2892fd49f768b39425461",
        "be4c953e5a46dc20401e217a23b206483f24d01b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jun 25 21:14:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jun 25 21:14:35 2014 +0000"
      },
      "message": "Merge \"Always check keystone using http\""
    },
    {
      "commit": "be4c953e5a46dc20401e217a23b206483f24d01b",
      "tree": "ad768199d155b4fe379c0435cedb10bc44a692c2",
      "parents": [
        "4fcda870e65db81fc643fee799730cadd69441bb"
      ],
      "author": {
        "name": "Stanislaw Pitucha",
        "email": "stanislaw.pitucha@hp.com",
        "time": "Wed Jun 11 17:52:49 2014 +0100"
      },
      "committer": {
        "name": "Stanislaw Pitucha",
        "email": "stanislaw.pitucha@hp.com",
        "time": "Wed Jun 25 16:17:17 2014 +0000"
      },
      "message": "Always check keystone using http\n\nThe check to $service_port must be done using http. It\u0027s\n$KEYSTONE_SERVICE_PORT that may use either the http or https protocol.\n\npartial blueprint devstack-https\nChange-Id: I8ae081e9710c54396b765210336a7de331947086\n"
    },
    {
      "commit": "00da58a0da77e168b8fe01e8909e5f2f8815172e",
      "tree": "ee1df48d86a1eedf6bd04dcfe85eb7d62ee69403",
      "parents": [
        "4fcda870e65db81fc643fee799730cadd69441bb"
      ],
      "author": {
        "name": "Julien Vey",
        "email": "julien.vey@numergy.com",
        "time": "Tue May 27 15:51:49 2014 +0200"
      },
      "committer": {
        "name": "Julien Vey",
        "email": "vey.julien@gmail.com",
        "time": "Tue Jun 24 10:09:08 2014 +0200"
      },
      "message": "Add an environment variable to enable extensions in keystone\n\nFollowing https://review.openstack.org/#/c/44401/3\n\nChange-Id: I8e0391cd68e29e6d57c0f35517bf4155110861c7\nCloses-Bug: #1218733\nCo-Authored-By: Yong Sheng Gong \u003cgongysh@unitedstack.com\u003e\n"
    },
    {
      "commit": "399a2640bcad06a561a95385204fcd2976b13dd8",
      "tree": "0f3d8504348657eab4281cf84ee0a03835b3196e",
      "parents": [
        "d4f3ab9c1f1328e359ae4c3dc85b1cd47a230857",
        "1e1fce856dfafe60c477a8ba956eaa9fa160c6c4"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jun 23 13:43:30 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jun 23 13:43:30 2014 +0000"
      },
      "message": "Merge \"Use Keystone\u0027s default token format if not set\""
    },
    {
      "commit": "056b7c11938bccfd9033b6d88680e83493ae063d",
      "tree": "d81bea1ac24f133999ef0ae18481e62c6991f3f9",
      "parents": [
        "711a4d2ff7ecddb8a07308dae9a42114df77c123",
        "0b0cbd1378e82015f683bbb2f35824dad424bb42"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jun 19 23:00:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jun 19 23:00:13 2014 +0000"
      },
      "message": "Merge \"PKIZ is the default token provider\""
    },
    {
      "commit": "1e1fce856dfafe60c477a8ba956eaa9fa160c6c4",
      "tree": "09f6dc7a12697102a2ee5a8f18c62edf69ba0aa8",
      "parents": [
        "0b0cbd1378e82015f683bbb2f35824dad424bb42"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Jun 19 16:55:45 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Jun 19 16:59:09 2014 -0500"
      },
      "message": "Use Keystone\u0027s default token format if not set\n\nDevstack was setting its own default for Keystone\u0027s token format, so\nwhen Keystone\u0027s default token format changed then devstack needed to\nbe updated. With this change, devstack will only override Keystone\u0027s\ntoken format if KEYSTONE_TOKEN_FORMAT is set explicitly. PKI setup\nis assumed to be needed unless the KEYSTONE_TOKEN_FORMAT is set to\nUUID.\n\nChange-Id: Idfa78e93abd80273dadcf37007a024bb6a783a48\n"
    },
    {
      "commit": "da2fe19e24602ec6c0b14b8c4f288d4f2e1ee0ef",
      "tree": "3c1ceddb0f5ba03b4d296ff85de9aa12169588a2",
      "parents": [
        "b15413c2527ecb8ee8fd295a27e3c7ac71766adc",
        "3561d7f9edc6dd0d00be097a78b83f38aa8cbf5f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jun 17 16:06:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jun 17 16:06:48 2014 +0000"
      },
      "message": "Merge \"Use identity_uri instead of auth fragments\""
    },
    {
      "commit": "f04abfe865c39ee3fceef4fdebef36a3fd5040e9",
      "tree": "c980c74e2c1d252c0c6bebdace9f5e5f0adc41dd",
      "parents": [
        "4fbb8137af8c3e0e5805db7337651048f11b6bb2",
        "754c4408b3e1af671dd9cf4cadd2ec8c8a41482e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jun 17 06:14:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jun 17 06:14:29 2014 +0000"
      },
      "message": "Merge \"Support option for Keystone PKIZ token provider\""
    },
    {
      "commit": "3561d7f9edc6dd0d00be097a78b83f38aa8cbf5f",
      "tree": "8025c7ada1e73ed26ada7e9bea9c000b112d0283",
      "parents": [
        "7006105997a7d9264dde69b55d109f52cd4c015e"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed May 21 17:18:43 2014 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Mon Jun 16 15:16:48 2014 +1000"
      },
      "message": "Use identity_uri instead of auth fragments\n\nauth_token middleware now accepts a standard URL string as the parameter\nidentity_uri instead of specifying protocol etc individually. Change the\nservices over to use this.\n\nAlso changes over some other places in which the auth fragments are used\nindividually to the new variables and fixes up some misconfigurations of\nauth_token.\n\nidentity_uri option was release in keystoneclient 0.8.0\n\nChange-Id: Iac13bc3d08c524a6a0f39cdfbc1009e2f5c45c2a\n"
    },
    {
      "commit": "970ee9083e95fda7359ed1e25abc8bec0d4cde05",
      "tree": "1a6d5ebaf11d990e0f3fc0e12592dce27cc98958",
      "parents": [
        "c1699c27d11b48b29eaba41ae4c74c5464414c79"
      ],
      "author": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Mon Jun 09 12:07:29 2014 -0700"
      },
      "committer": {
        "name": "Morgan Fainberg",
        "email": "morgan.fainberg@gmail.com",
        "time": "Mon Jun 09 12:09:33 2014 -0700"
      },
      "message": "Use apache2ctl after apache is installed.\n\nEnsure that apache2ctl is only called if apache2 is being used when\nsetting up Keystone. This patch corrects a case where apache2ctl\nis being called at the time lib/keystone is being sourced. This\nerror breaks attempts to deploy Keystone under apache unless\napache is already installed at the time stack.sh is run.\n\nChange-Id: I02d426438fa1246effd68c6bb3c3358910ed4c05\n"
    },
    {
      "commit": "0b0cbd1378e82015f683bbb2f35824dad424bb42",
      "tree": "02f7957f3dd43a8317ddc6158d6a51cd5d9f8d30",
      "parents": [
        "754c4408b3e1af671dd9cf4cadd2ec8c8a41482e"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Fri Jun 06 10:55:42 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Fri Jun 06 10:55:42 2014 -0500"
      },
      "message": "PKIZ is the default token provider\n\nKeystone changed the default token provider to PKIZ from PKI.\n\nChange-Id: I56b975383ded450308a8fe01908b6e5549e7cd74\n"
    },
    {
      "commit": "754c4408b3e1af671dd9cf4cadd2ec8c8a41482e",
      "tree": "206487a1279ca23391e80324894340baaae3c53b",
      "parents": [
        "ea937baee62378b118c09f42c16a44cc5e6a5fdd"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Wed Jun 04 09:06:01 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Wed Jun 04 09:07:32 2014 -0500"
      },
      "message": "Support option for Keystone PKIZ token provider\n\nKeystone added support for a compressed token provider, PKIZ. This\nchange adds support to devstack. Set the KEYSTONE_TOKEN_FORMAT\noption to \"PKIZ\" to configure Keystone to use it.\n\nChange-Id: I123eef661c85cc805e950f1179b48e885078d40f\n"
    },
    {
      "commit": "a688bc65104e7d8998ffdb321d67a9f33df6997e",
      "tree": "37bbb8cb4ee95e617a04461e9fe311ab0536d72f",
      "parents": [
        "ced4ba63cdbc727207d18104c123b3511b35cb68"
      ],
      "author": {
        "name": "Gabriel Assis Bezerra",
        "email": "gabrielb@lsd.ufcg.edu.br",
        "time": "Tue May 27 20:58:22 2014 +0000"
      },
      "committer": {
        "name": "Gabriel Assis Bezerra",
        "email": "gabrielb@lsd.ufcg.edu.br",
        "time": "Fri May 30 12:07:24 2014 +0000"
      },
      "message": "Fix the way Apache site configuration files are used, to improve OS portability\n\nOn Ubuntu 14.04, the site configuration file must have a .conf suffix for a2ensite and a2dissite to\nrecognise it. a2ensite and a2dissite ignore the .conf suffix used as parameter. The default sites\u0027\nfiles are 000-default.conf and default-ssl.conf.\n\nOn Ubuntu 12.04, the site configuration file may have any format, as long as it is in\n/etc/apache2/sites-available/. a2ensite and a2dissite need the entire file name to work. The default\nsites\u0027 files are default and default-ssl.\n\nOn Fedora, any file in /etc/httpd/conf.d/ whose name ends with .conf is enabled.\n\nOn RHEL and CentOS, things should hopefully work as in Fedora.\n\nThis change puts all distribution-related site configuration file name differences in lib/apache and\nthe other services gets the file name for its sites using the new exported function\napache_site_config_for \u003csitename\u003e.\n\nIt also makes Fedora disabled sites use the .conf.disabled suffix instead of removing the .conf from\nthe file name.\n\nThe table below summarizes what should happen on each distribution:\n+----------------------+--------------------+--------------------------+--------------------------+\n| Distribution         | File name          | Site enabling command    | Site disabling command   |\n+----------------------+--------------------+--------------------------+--------------------------+\n| Ubuntu 12.04         | site               | a2ensite site            | a2dissite site           |\n| Ubuntu 14.04         | site.conf          | a2ensite site            | a2dissite site           |\n| Fedora, RHEL, CentOS | site.conf.disabled | mv site.conf{.disabled,} | mv site.conf{,.disabled} |\n+----------------------+--------------------+--------------------------+--------------------------+\n\nChange-Id: Ia2ba3cb7caccb6e9b65380f9d51d9d21180b894e\nCloses-bug: #1313765\n"
    },
    {
      "commit": "1bb05a96316e3bd4069d30e91a3588340aa71edf",
      "tree": "fed9a63cb9543122ce69e49a64ab828eea59c516",
      "parents": [
        "9d229e499ed34a736e281f299211ea984aaed814",
        "2c2b1cccc93771dfaa5a520c9d9634e5af47a55e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue May 06 11:36:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue May 06 11:36:02 2014 +0000"
      },
      "message": "Merge \"Fix logging for keystone under mod_wsgi\""
    },
    {
      "commit": "c11d6e0b09af41a9de62c274b45c8481ba6035a1",
      "tree": "42f49d0bc83d6427e068c4b057404c27b184feba",
      "parents": [
        "020d8611d504684c84bd76f9dbbd214f45d1e515"
      ],
      "author": {
        "name": "Morgan Fainberg",
        "email": "m@metacloud.com",
        "time": "Thu May 01 22:57:06 2014 -0700"
      },
      "committer": {
        "name": "Morgan Fainberg",
        "email": "m@metacloud.com",
        "time": "Thu May 01 22:57:06 2014 -0700"
      },
      "message": "Cleanup WSGI config for keystone on stop\n\nEnsure that the VHOST and the scripts used to enable keystone under\nmod_wsgi are properly cleaned up.\n\nChange-Id: I76a748b0fd5f1a5182d10e425202857c5621e25a\n"
    },
    {
      "commit": "2c2b1cccc93771dfaa5a520c9d9634e5af47a55e",
      "tree": "2e0f62c37b82a75b1a83c13e15ad12167d064f3c",
      "parents": [
        "020d8611d504684c84bd76f9dbbd214f45d1e515"
      ],
      "author": {
        "name": "Morgan Fainberg",
        "email": "m@metacloud.com",
        "time": "Thu May 01 22:05:41 2014 -0700"
      },
      "committer": {
        "name": "Morgan Fainberg",
        "email": "m@metacloud.com",
        "time": "Fri May 02 05:12:21 2014 +0000"
      },
      "message": "Fix logging for keystone under mod_wsgi\n\nWhen Keystone is configured under mod_wsgi, Keystone configuration \nrequires debugging to be enabled as the debug flag cannot be passed\nvia cli arguments.\n\nBecause Apache 2.2 (default for a number of distributions) does not \nsupport passing an explicit format to the ErrorLog, Keystone under \nmod_wsgi ends up with duplicated timestamps in the Keystone log. \nThis patchset eliminates the %(asctime) and %(msecs) substitution \ntargets from the log format options when Keystone is configured \nunder mod_wsgi.\n\nChange-Id: I0bf32db6e53cb653921162cb1957eb988b819815\n"
    },
    {
      "commit": "42a59c2bfae69eca5520748d6b45803a387fdb88",
      "tree": "5dcf4b9b5db925fb9f354a987917b23901a020f2",
      "parents": [
        "c880fb41b05d94d7c9b5d3acca5ded9a13f14c66"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 03 14:31:29 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 10 15:17:30 2014 -0500"
      },
      "message": "Complete moving Keystone setup out of keystone_data.sh\n\n* Move remaining role creation to create_keystone_accounts()\n* Move glance creation to create_glance_accounts()\n* Move nova/ec2/s3 creation to create_nova_accounts()\n* Move ceilometer creation to create_ceilometer_accounts()\n* Move tempest creation to create_tempest_accounts()\n* Convert moved code to use OpenStackClient for setup\n* files/keystone_data.sh is removed\n\nNote that the SERVICE_TENANT and ADMIN_ROLE lookups in the other service\nimplementations are not necessary with OSC, all operations can be done\nusing names rather than requiring IDs.\n\nChange-Id: I4283ca0036ae39fd44ed2eed834b69d78e4f8257\n"
    },
    {
      "commit": "dad6e4114d07978ade5ab5594d4b5b19e998bdb5",
      "tree": "9c867402960f933ca6384a2b87d75ec954f9eba8",
      "parents": [
        "4b76faa32b21964dc72a055f65172199618edeee",
        "aee18c749b0e3a1a3a6907a33db76ae83b8d41d9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 28 06:32:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 28 06:32:20 2014 +0000"
      },
      "message": "Merge \"Enforce function declaration format in bash8\""
    },
    {
      "commit": "3ac259c6856b0f8f7fb24b987f83868c86517396",
      "tree": "585ca33037822a8ff503143a2a02c44ba733b58b",
      "parents": [
        "c7adccb548dd9e0be523f0071c9a8c3738367994",
        "041fa712472d887550a540dd50ade546f847c6b4"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 27 23:41:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 27 23:41:11 2014 +0000"
      },
      "message": "Merge \"Make admin_bind_host configurable\""
    },
    {
      "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": "06ba5193bebe27b2d7ead2d31ed9171885c6a5d8",
      "tree": "fdcc879f9674664c772454800d73672876045a28",
      "parents": [
        "339ec177310509378365f0ed53b0521a6ff6e943"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Feb 26 13:46:56 2014 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Feb 26 13:46:56 2014 +1000"
      },
      "message": "Insecure check if keystone is up\n\nIf we start keystone with an SSL endpoint then the curl check to see if\nit is running will fail because it cannot create a secure connection.\nThis check can be done insecurely as all we care about is that the\nservice has started.\n\nChange-Id: I826753d4d46e9956f443110029346bc70282951a\n"
    }
  ],
  "next": "041fa712472d887550a540dd50ade546f847c6b4"
}
