)]}'
{
  "log": [
    {
      "commit": "5fc597289b9ace6cb3fed83c0fd696d5daa59e50",
      "tree": "249a4de51f2aaed90eba49f216069e88fd73f356",
      "parents": [
        "b43352e4dc100135a3ca1eb94fb63ab9727cfc21",
        "958c169d796ab82521b69b35a13ee27037e68e97"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jun 15 12:48:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jun 15 12:48:09 2016 +0000"
      },
      "message": "Merge \"Enable Swift Account Management\""
    },
    {
      "commit": "e86b91ba784994285de78ae06a490fc6cac50502",
      "tree": "4c2bd51a650f449a19efd4c3b9c08af4077d71d9",
      "parents": [
        "841fdafa0bc542b595b267428c5d929bf0726205"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Tue May 03 15:21:47 2016 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu May 19 21:44:43 2016 +0000"
      },
      "message": "Reference keystone URIs rather than building URI\n\nlib/keystone sets KEYSTONE_AUTH_URI and KEYSTONE_SERVICE_URI that\nother projects should use rather than building the URL themselves.\nThis will allow us to more easily drop the port altogether.\n\nChange-Id: I7467aae680215f3045d32a088af2187e1eba8169\n"
    },
    {
      "commit": "958c169d796ab82521b69b35a13ee27037e68e97",
      "tree": "a98136b6a44631fbf43b8a82ab117062d666b973",
      "parents": [
        "bba6b2a3fd113e5749d4112de410d8a070a429a8"
      ],
      "author": {
        "name": "Brian Ober",
        "email": "bober@us.ibm.com",
        "time": "Wed May 11 19:11:31 2016 -0500"
      },
      "committer": {
        "name": "Brian Ober",
        "email": "bober@us.ibm.com",
        "time": "Mon May 16 23:00:43 2016 +0000"
      },
      "message": "Enable Swift Account Management\n\nThis patch enables account management by default in Swift.  This will be\nleveraged by Tempest test cases validating account management APIs.\n\nDepends-On: Id29f5ca48f92cd139535be7064107b8a61b02856\nChange-Id: Ic01432939ed9b4cf0cbf20e3244d4d76847f539f\n"
    },
    {
      "commit": "ae4578bed986ebaaf3e09e1ecc9d4d7ae9f022ab",
      "tree": "5923cce20d0850f32dec2cfaade146da72bad0e6",
      "parents": [
        "7d1ec430046256ac3f536f4920a43936e28ef0c4"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Sat Apr 23 01:45:40 2016 +0000"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Sat Apr 23 01:45:40 2016 +0000"
      },
      "message": "Revert \"Don\u0027t check for existing endpoints\"\n\nThis reverts commit 7d1ec430046256ac3f536f4920a43936e28ef0c4.\n\nThis broke the sahara and layer4 dsvm jobs. The layer4 job\nis voting on tempest changes so tempest is also broken.\n\nChange-Id: Ide69f10cd85bf7ff0d86bc8cba56dedd26850362\nPartial-Bug: #1573868\n"
    },
    {
      "commit": "7d1ec430046256ac3f536f4920a43936e28ef0c4",
      "tree": "bebc4c9bcc03a253c62b5958dbacb8a94035b836",
      "parents": [
        "54f331969f86d364fd62235e54a4419bdbbd8f00"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Apr 22 09:19:10 2016 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Apr 22 10:44:10 2016 -0400"
      },
      "message": "Don\u0027t check for existing endpoints\n\nWe really should only have code that create endpoints once, making all\nosc calls get_or_set adds 3 seconds per call for no really good\nreason.\n\nThis also stops creating the internal endpoints in the service\ncatalog. It\u0027s a pattern that we\u0027re trying not to propogate, so lets\nnot have it in devstack any more.\n\nChange-Id: Ia8cefe43753900d62117beae330db46deb6a9fc9\n"
    },
    {
      "commit": "cbcbd8f33c87904b2293e68ec9868be0b6e4393e",
      "tree": "1db9c7c8e519fd2c5991730a2ac47858b49be9b3",
      "parents": [
        "3d0981398a898b7ed5d4cbac4121b22963ffb32f"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@gmail.com",
        "time": "Thu Jan 21 16:08:14 2016 -0600"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@gmail.com",
        "time": "Mon Apr 18 09:59:52 2016 +1000"
      },
      "message": "Allow putting service users in a seperate domain\n\nMake it possible to construct the service users in their own seperate\ndomain. Changing this away from Default will not work for everyone yet,\nthough it does work for basic service interaction however enabling it\nwill allow us to start testing and hopefully gating that services aren\u0027t\nrelying on v2 only concepts.\n\nChange-Id: I7e73df5dd1caabf355783da2bc0f3007ade92fba\n"
    },
    {
      "commit": "19c7842e4f26e659e8e858db0680066e29251a7e",
      "tree": "6423c457a53493be6ccad6b971b09eaac145bed6",
      "parents": [
        "a344608ca9c5a61bad60a478fe1bbb60ecc60681",
        "91d2245d6ebe5f2b1627771adfe1f0fe45570c43"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Apr 14 19:50:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Apr 14 19:50:17 2016 +0000"
      },
      "message": "Merge \"Add variable SWIFT_STORAGE_IPS\""
    },
    {
      "commit": "91d2245d6ebe5f2b1627771adfe1f0fe45570c43",
      "tree": "7b770ebd2e99dafbff7810dba82defbee7c5f803",
      "parents": [
        "09a710bc2ff86e4e29bec5b77b31e4873ba5cd6f"
      ],
      "author": {
        "name": "Christian Schwede",
        "email": "cschwede@redhat.com",
        "time": "Tue Apr 12 10:53:46 2016 +0200"
      },
      "committer": {
        "name": "Christian Schwede",
        "email": "cschwede@redhat.com",
        "time": "Thu Apr 14 14:16:55 2016 +0200"
      },
      "message": "Add variable SWIFT_STORAGE_IPS\n\nIf the variable SWIFT_STORAGE_IPS contains a space-separated list of\nIPs, we can use this to create consistent rings across all proxy and\nstorage nodes.\n\nChange-Id: If9307196dc7e74e4a842c95503958ae2d7f7acc7\n"
    },
    {
      "commit": "19dfa2af3286a6fbd8ea74dbc41a6affd2123e3f",
      "tree": "9348613c861a89f9ec053ad4dc978d904b4e8052",
      "parents": [
        "0486a3659e9a24fbcc34e266ecc56f25d1e5cf99"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Apr 04 10:11:54 2016 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Apr 05 11:40:25 2016 -0400"
      },
      "message": "convert tenant -\u003e project for internal variables\n\nThis sets all the internal variables and service users that are set to\nuse project instead of tenant for clarity.\n\nChange-Id: I4aa833bac2ee2281c5f2881f7ae1fd8e7c759f74\n"
    },
    {
      "commit": "260583e25eabffd70942c7d97df09a5dd2ed55d6",
      "tree": "533c3b05c937903f8b8595dff1335d7ec0cf20e8",
      "parents": [
        "cbdc5d9e48d9d91fcc7a667839d592ff85ed1f09"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Apr 04 09:11:25 2016 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Apr 05 11:58:21 2016 +0000"
      },
      "message": "Switch over swift to using $(project_id) in service catalog\n\nThis removes one more place where we use tenant_id in our code.\n\nChange-Id: I628fb7c1dd6f22ce499fc5cbe97b79458cce966f\n"
    },
    {
      "commit": "7b85723c0421affdb82a201bf4231c4d00c18599",
      "tree": "281728d138f1477bb63765ea40ccb8249a05f441",
      "parents": [
        "3fc4472be47edd2f8a0750ed4b6afc8584d0ae25"
      ],
      "author": {
        "name": "Matthew Oliver",
        "email": "matt@oliver.net.au",
        "time": "Mon Mar 07 18:21:29 2016 +1100"
      },
      "committer": {
        "name": "Matthew Oliver",
        "email": "matt@oliver.net.au",
        "time": "Tue Mar 08 12:04:15 2016 +1100"
      },
      "message": "Set the Swift max_file_size to 1/2 the loopback\n\nCurrently Devstack (and devstack gate) uses the default\nmax_file_size of for Swift (5GB). However the loopback file\nis only 1 or 2 GB is size.\n\nWe are looking at setting a default FALLOCATE_RESERVE in swift\nhttps://review.openstack.org/#/c/288011.\nBecause of this our max file size test fails due to the max_file_size\nand devstacks loopback size being too small.\n\nThis patch sets this to a more sane size by default inside DevStack.\nSee the gerrit link above for more details.\n\nTempest uses a loopback of 6GB, so in this case the swift default of 5GB\nshould be fine.\n\nChange-Id: If09eab7d16ae67bd252020e00e8812ff252f065b\n"
    },
    {
      "commit": "7580a0c3e37932a8fc03750d35ccd4e13e18f8c4",
      "tree": "61a089d96396f912eb85e8c5686b40b49ca370ca",
      "parents": [
        "80ea24cbbb98fd6bdc5dff2fa4bbfc074a1b38b5"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Feb 17 06:23:36 2016 -0500"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Feb 22 11:55:17 2016 +1100"
      },
      "message": "Replace TENANT \u003d\u003e PROJECT phase 1\n\nThis replaces the use of TENANT variables with PROJECT ones during the\ninitial setup. The openrc will still export a OS_TENANT_NAME because\nmany tools (cinderclient, glanceclient amoung them) will not function\nwithout it. We warn when we do that.\n\nChange-Id: I824b1121842eb5821034071874bf1bb2d7c3631e\n"
    },
    {
      "commit": "985e958dda3e843442f76199caf63fa8b93680cc",
      "tree": "fd99f845efb549c1c5812767d166e2896a3358f6",
      "parents": [
        "1a9e294ff398e5f3c3a0a62621b8872273aeb0f9"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Feb 10 07:25:24 2016 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Feb 10 15:39:31 2016 -0500"
      },
      "message": "remove keystone templated catalog\n\nThis is just another code path for little benefit in devstack which is\ngoing to rot out. We should be opinionated here and only support the\ndynamic catalog.\n\nChange-Id: I4e5c7e86aefe72fc21c77d423033e9b169318fec\n"
    },
    {
      "commit": "f90c0b7d29abe58d7d10608599e6399cf6adc509",
      "tree": "a3720db50fd4c09b73874140492f4d705f0fd7ea",
      "parents": [
        "ddd37b97d471afdac29291aeaa50e76618068eda"
      ],
      "author": {
        "name": "Dmitry Tantsur",
        "email": "dtantsur@redhat.com",
        "time": "Mon Jan 18 10:52:59 2016 +0100"
      },
      "committer": {
        "name": "Dmitry Tantsur",
        "email": "dtantsur@redhat.com",
        "time": "Mon Jan 18 10:53:01 2016 +0100"
      },
      "message": "Stop referencing no longer existing SERVICE_ENDPOINT variable\n\nIt was probably finally removed by one of recent refactoring changes.\nNow ironic gate fails due to Swift trying to access it to override OS_AUTH_URL.\nThis change drops this override and just uses OS_AUTH_URL.\n\nCloses-Bug: #1535245\nChange-Id: I145bec110c4299e61f2bce49df41dcd82e5d462d\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": "fa8464bf347d11e54cbb1fbac0968a3887463c3c",
      "tree": "8985da6ed055adc1ea8a732d9015d71cfbea209e",
      "parents": [
        "51c5498eab24f9680b1415052f9da19dbde3fb78",
        "fe7b56cdefa4d5cb99b868e5659128601edf3600"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 18 02:20:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 18 02:20:45 2015 +0000"
      },
      "message": "Merge \"Fix typos for stack.sh and lib of comments and message\""
    },
    {
      "commit": "fe7b56cdefa4d5cb99b868e5659128601edf3600",
      "tree": "7254fc99f2166c6bd89e1e2cac96dedf6b385cf2",
      "parents": [
        "4f262a109dca982609ee8f29ae7bd3c08c4b44fb"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Fri Nov 13 17:06:16 2015 +0900"
      },
      "committer": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Fri Nov 13 17:28:05 2015 +0900"
      },
      "message": "Fix typos for stack.sh and lib of comments and message\n\nFix 10 comments and 1 message\n\nstack.sh\n  Certicate \u003d\u003e Certificate (comment)\nlib/stack\n  Sentinal \u003d\u003e Sentinel (comment)\nlib/neutron-legacy\n  overriden \u003d\u003e overridden (comment)\n  necesssary \u003d\u003e necessary (comment)\n  notifiy \u003d\u003e notify (message)\n  notifations \u003d\u003e notifications (comment)\nlib/rpc_backend\n  orginal \u003d\u003e original (comment)\n  cofiguration \u003d\u003e configuration (comment)\nlib/stack\n  confgured \u003d\u003e configured (comment)\nlib/swift\n  additinal \u003d\u003e additional (comment)\n  calclution \u003d\u003e calculation (comment)\n  maximun \u003d\u003e maximum (comment)\n\nChange-Id: I3637388b67decb007cd49af9addecc654009559b\n"
    },
    {
      "commit": "a91d455e23f68613db0e67fea339a13fd9eae7d4",
      "tree": "fb3c9a0b7f50668382effe5f297fa07c08d4cefe",
      "parents": [
        "a9e92c225c2144bbcfe553294b5c579364dece45"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Tue Oct 20 23:15:38 2015 -0400"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Nov 03 20:07:58 2015 +1100"
      },
      "message": "change `swift post` to openstackclient cli command\n\nwith the release of osc 1.8.0, modifying object store account\nproperties is now available. use this mechanism and avoid setting\nenvironment variable that are only helpful for swift CLI.\n\nChange-Id: Ie51e3e2bb86162763f23d0a6bed36208811f89fc\n"
    },
    {
      "commit": "310cedf6770ba557aa4f85ce424e765501016ed4",
      "tree": "87128acf3e2a8e0055024f071137ae8d33fc9ba6",
      "parents": [
        "c77fc2e196b471fc12d4e99f013d68965b639658",
        "22f747b8df023dd74808df097f5fa5a92168f620"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 29 04:57:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 29 04:57:22 2015 +0000"
      },
      "message": "Merge \"Use swift port variable in keystone and cinder\""
    },
    {
      "commit": "22f747b8df023dd74808df097f5fa5a92168f620",
      "tree": "40168aa34df503f2e5971a8509c8f61a762bd04d",
      "parents": [
        "897d116a7c9c09385e7e87e1202d7fa612802c49"
      ],
      "author": {
        "name": "Falk Reimann",
        "email": "falk.reimann@sap.com",
        "time": "Fri Aug 28 12:40:19 2015 +0200"
      },
      "committer": {
        "name": "Falk Reimann",
        "email": "falk.reimann@sap.com",
        "time": "Fri Oct 23 09:19:32 2015 +0200"
      },
      "message": "Use swift port variable in keystone and cinder\n\nThis patch alows specifiying a deviation of the swift default port 8080 with\nvariable SWIFT_DEFAULT_BIND_PORT. The created endpoints in keystone for\nobject-store and the backup_swift_url in cinder.conf will use variable\nSWIFT_DEFAULT_BIND_PORT instead of the fixed port 8080.\n\nChange-Id: I47bbcf77368c430718fb8f29b7de1ff305e64422\nCloses-Bug: #1489767\n"
    },
    {
      "commit": "d111182f218094dfdd88bda63af024c0c6e5d8cd",
      "tree": "6efbaec54afc4965767c187b5743c25b8346f438",
      "parents": [
        "5a98d4f7d0a1cf00f2aca9e0f3f6cdc285c1ee79",
        "ada886dd43ccc07f48d3a82d8d3d840fe5096c03"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 14 02:43:52 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 14 02:43:52 2015 +0000"
      },
      "message": "Merge \"Don\u0027t mix declaration and set of locals\""
    },
    {
      "commit": "17491f37d7163c069fe1cca46ae5d272c288d47a",
      "tree": "717470c49a29025d0180b2d565ff707d863c108b",
      "parents": [
        "0989cf9512ae827413bc13ba0856125b1bdac375",
        "050a0d5b304a013e23cd5909abf6e11b7dda5f18"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 07 19:30:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 07 19:30:18 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Convert identity defaults to keystone v3 api\"\"\""
    },
    {
      "commit": "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": "dbe0868d11531204b1dcc3a7eafdf9da711a7cc6",
      "tree": "1b4902aa274d1778f9edd05a4eed43dc9f151acc",
      "parents": [
        "bd5e6b16590f852402ae60eb6e2b45178be85870"
      ],
      "author": {
        "name": "Denis Afonso",
        "email": "denis.afonso@gmail.com",
        "time": "Fri Oct 02 23:51:41 2015 -0400"
      },
      "committer": {
        "name": "Denis Afonso",
        "email": "denis.afonso@gmail.com",
        "time": "Fri Oct 02 23:51:41 2015 -0400"
      },
      "message": "Change the default bind_port for swift\n\nThe default bind_port (6011-6013) in the sample config files for swift\nuse port numbers that are in the range registered by X11 (6000-6063) and\ncan prevent swift from starting if the ports are in use.\n\nWe should use an unregistered range (6611-6613).\n\nChange-Id: Ifd95b99004aead5ddc8ae1a8dd3ccd9c4f2abe91\nCloses-Bug: #1254328\n"
    },
    {
      "commit": "050a0d5b304a013e23cd5909abf6e11b7dda5f18",
      "tree": "5d3dcb78f29469d8fee79ca9d235398326fd5f14",
      "parents": [
        "d2999d0d0cc4d283873ff0d0951c4fdacd234dd1"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sun Sep 06 22:03:54 2015 +0000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Tue Sep 29 19:52:28 2015 +0000"
      },
      "message": "Revert \"Revert \"Convert identity defaults to keystone v3 api\"\"\n\nThis reverts commit f768787bdd6dddf2790f83a884618d29677ca77c.\nAnd sets OS_AUTH_VERSION so swift CLI doesn\u0027t fall flat when\nnot using v2 keystone\n\nChange-Id: If44a7e0d85e48020a3c90d8c5c027513129f0f3b\n"
    },
    {
      "commit": "3e3212b52d14c27c002c27b6d4f8bcfa7f5ffbcf",
      "tree": "13ba742855cd6f62a6acd1f7f3c8095c9d9b5bd9",
      "parents": [
        "d21a29cb9ebb3c3ce2fa31d0b5b6ff19d57e9652"
      ],
      "author": {
        "name": "Christian Schwede",
        "email": "cschwede@redhat.com",
        "time": "Fri Sep 04 13:02:19 2015 +0200"
      },
      "committer": {
        "name": "Christian Schwede",
        "email": "cschwede@redhat.com",
        "time": "Tue Sep 08 08:33:57 2015 +0200"
      },
      "message": "Add trailing IDENTITY_API_VERSION to OS_AUTH_URL in swift_configure_tempurls\n\nThe python-keystoneclient requires a trailing /v\u003cIDENTITY_API_VERSION\u003e to\nsuccessfully authenticate, otherwise it fails with a 404 error due to a not\nfound resource.\n\nThis error showed up only when generating Swift tempurls, because the error was\nraised when using python-swiftclient.\n\nThis change fixes this for python-swiftclient within devstack.\n\nChange-Id: Ibe222d65162898db69acba076b5fe1cb3621fbc3\nCloses-Bug: 1492216\n"
    },
    {
      "commit": "f560df36ccb3c1ad962fd1b6b17c284d32c582cb",
      "tree": "a3b92355237d1f5999794f87b5cdad93958c50d3",
      "parents": [
        "20a854c6d278709d536c7cb6e02370cf448564aa",
        "346edcc532719f6f29471920f9434b6d5300d43a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 02 06:27:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 02 06:27:40 2015 +0000"
      },
      "message": "Merge \"check all possible services when configuring tempest\""
    },
    {
      "commit": "46e6da4d0a4688f57daeed5289fb75aad1d9fbb0",
      "tree": "8b7f880bdbfd71b60782b214c669a9445db21b24",
      "parents": [
        "04092c512e61a1faa4d6ed97e425ab28a18bba1e",
        "9b21f98ce0aa5093e477bab68aede5af0fb8d9ad"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 01 18:19:31 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 01 18:19:31 2015 +0000"
      },
      "message": "Merge \"Add region definition to swift3\""
    },
    {
      "commit": "346edcc532719f6f29471920f9434b6d5300d43a",
      "tree": "e2f4e59d881d87a7316d1cff11032960b56cba4d",
      "parents": [
        "ca802bcfcc1d45697da9f4c26683d2887eb63f39"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 26 09:38:37 2015 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 26 09:38:37 2015 -0400"
      },
      "message": "check all possible services when configuring tempest\n\nThe previous approach assumed that devstack in tree service support\nwould always be a super set of tempest. That\u0027s not necessarily\ntrue. Instead when configuring tempest we should look at all the\npossible services that tempest could know about, which will let us\ndisable services we don\u0027t have support for.\n\nChange-Id: I9c24705e494689f09a885eb0a640efd50db33fcf\n"
    },
    {
      "commit": "c6646a650e9cd8b834797a8943056d329f262c4c",
      "tree": "7d38ed02ddbbca5bc0235375a07c34e755a3b591",
      "parents": [
        "b64638e50a0eef89c6605ac3aa860d40c93a553c",
        "dbdee698700d9c7cf86ad3cde74e8b4347ef757a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Aug 24 17:21:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Aug 24 17:21:40 2015 +0000"
      },
      "message": "Merge \"Use standard get_or_create_role to find role\""
    },
    {
      "commit": "9b21f98ce0aa5093e477bab68aede5af0fb8d9ad",
      "tree": "b86ce40b16c0f4674393e8f69a0058821267eb46",
      "parents": [
        "32e0febbc086a1accd90c3d9a9535ebb75495afe"
      ],
      "author": {
        "name": "Andrey Pavlov",
        "email": "andrey-mp@yandex.ru",
        "time": "Thu Aug 20 23:37:04 2015 +0300"
      },
      "committer": {
        "name": "Andrey Pavlov",
        "email": "andrey-mp@yandex.ru",
        "time": "Thu Aug 20 23:37:04 2015 +0300"
      },
      "message": "Add region definition to swift3\n\nSwift3 should be in the same region as all other cloud.\nBy default it has regaion name \u0027US\u0027. It\u0027s ok for requests\nthat signed by version 1 of signature because they haven\u0027t\nregion information in request.\nBut S3 signature of version 4 protocol sends region name to server\nand swift3 plugin checks that input region equals to internal.\nAnd because all cloud lives with \u0027RegionOne\u0027 then swift3 fails\nrequest because it has \u0027US\u0027 region name by default.\n\nChange-Id: Icd817183b1a040110372a8ae5d73fd2f0ec5559c\nRelated-Bug: #1411078\n"
    },
    {
      "commit": "ea21eb4f69e2f2ea2c9c6d2fb9c4ed9aef4fc198",
      "tree": "546649d9ddf4cf8b926832d53df0f53a24a56579",
      "parents": [
        "2f605b0f4da2493d004b0893a850792ef20e13ec"
      ],
      "author": {
        "name": "Marian Horban",
        "email": "mhorban@mirantis.com",
        "time": "Tue Aug 18 06:57:18 2015 -0400"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Aug 18 19:53:39 2015 +0000"
      },
      "message": "Remove non-ASCII characters\n\nChange-Id: If1c68e5aab6990617519150d8aeb3f073df2ad17\n"
    },
    {
      "commit": "dbdee698700d9c7cf86ad3cde74e8b4347ef757a",
      "tree": "a2f7c256fc26690b4d105c9dbef97ce2ece55392",
      "parents": [
        "75c1dfe3b0adc8bcb98276bcdbecca76a94eaab7"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri Aug 14 12:22:18 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri Aug 14 12:22:18 2015 +1000"
      },
      "message": "Use standard get_or_create_role to find role\n\nThe openstack role list command doesn\u0027t include any identity API version\ninformation and so will fail when running purely with v3. We could add\nthis information to the command however we already have a function that\ndoes what swift requires so we should use it.\n\nChange-Id: I5d5417eaed432760bfb97cf35bd76a0919c6004d\n"
    },
    {
      "commit": "92ad15251226dc8f19ad5f901c48f4eb8892f24e",
      "tree": "6bbefaeeba4437c9da33672cf54d87a910c201f5",
      "parents": [
        "53e01600d9d44ebbbfde2256db90481d96d92a00"
      ],
      "author": {
        "name": "Rawlin Peters",
        "email": "rawlin.peters@hp.com",
        "time": "Mon Jul 20 13:33:33 2015 -0600"
      },
      "committer": {
        "name": "Rawlin Peters",
        "email": "rawlin.peters@hp.com",
        "time": "Mon Jul 20 13:33:33 2015 -0600"
      },
      "message": "Explicitly set bind_ip in Swift server config files\n\nCurrently, the Swift proxy, object, account, and container servers bind\nto IPv4 address 0.0.0.0 by default. In the case of a user setting\nSERVICE_IP_VERSION\u003d6 in their local.conf file, these Swift servers still\nlisten on 0.0.0.0 instead of ::, which causes a ./stack.sh run to fail.\n\nThis change explicitly sets the bind_ip variable in the Swift server\nconfig files so that the servers bind to either 0.0.0.0 (when\nSERVICE_IP_VERSION !\u003d 6) or :: (when SERVICE_IP_VERSION \u003d\u003d 6).\n\nThis patch is related to the following patch for devstack IPv6 support:\n    https://review.openstack.org/#/c/192329\n\nChange-Id: Ie268c6daf5374e67ef8710a731c3af50ffdb821e\n"
    },
    {
      "commit": "aaae79b095fb4d4029077ed490adc61bf9e1eb46",
      "tree": "a76931c3ff60d7bf6a8d57dca7b2fdbfa3fb239e",
      "parents": [
        "a3c94468baa159840a47c34cf94d97d816208313",
        "b17ad7560d7d67e3464b489e124c540e025b9299"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jul 14 04:53:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jul 14 04:53:34 2015 +0000"
      },
      "message": "Merge \"Use identity V3 API for endpoint creation\""
    },
    {
      "commit": "ac3d3f336caa4264022f18cae1dd2921f342fb2c",
      "tree": "20d22053aa8641ee655c852a12018f0b7ee98cc3",
      "parents": [
        "7eaaba4844a892c260a41dd32790ca23a2d25c0a",
        "180f5eb652c73463cd5ae7d0dbede6d9d31a5df5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jul 08 12:44:51 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jul 08 12:44:51 2015 +0000"
      },
      "message": "Merge \"Add IPv6 support to devstack infrastructure\""
    },
    {
      "commit": "b17ad7560d7d67e3464b489e124c540e025b9299",
      "tree": "4af18b24b59bded064806f15b0f2c8b69e7d9183",
      "parents": [
        "68f9172dbd18688db188454c775dbf139224aeca"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri May 29 06:04:47 2015 +0000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jul 08 05:17:00 2015 +1000"
      },
      "message": "Use identity V3 API for endpoint creation\n\nAlways use the keystone V3 API when creating services and endpoints. The syntax\nhere is slightly different but we maintain the function interface.\n\nChange-Id: Ib3a375918a45fd6e37d873a1a5c0c4b26bdbb5d8\nImplements: bp keystonev3\n"
    },
    {
      "commit": "1848b837e672fd6b7e091637e7cefa1ce0052958",
      "tree": "8faaf489d10033f19d6a2b188ed196c0cf4c7738",
      "parents": [
        "52844a11dddb7e0631f9d11eb74251b17e05beb5"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Sat Jun 27 15:05:17 2015 +0100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jul 07 10:21:18 2015 +1000"
      },
      "message": "Move ceilometermiddleware installation to lib/swift\n\nlib/swift is where it is used so this makes the relationship more\nclear and direct.\n\nChange-Id: Ie6fc09e27a39295c92f0790856446edb7dedb995\n"
    },
    {
      "commit": "180f5eb652c73463cd5ae7d0dbede6d9d31a5df5",
      "tree": "7170199543e18d917777de98c56723731fe6c424",
      "parents": [
        "52844a11dddb7e0631f9d11eb74251b17e05beb5"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Jun 16 13:14:31 2015 -0400"
      },
      "committer": {
        "name": "Jeremy Alvis",
        "email": "jeremy.alvis@hp.com",
        "time": "Thu Jul 02 15:16:34 2015 -0600"
      },
      "message": "Add IPv6 support to devstack infrastructure\n\nBy default, most Openstack services are bound to 0.0.0.0\nand service endpoints are registered as IPv4 addresses.\nWith this change we introduce two new variables to control\nthis behavior:\n\nSERVICE_IP_VERSION - can either be \"4\" or \"6\".\n\nWhen set to \"4\" (default if not set) devstack will operate\nas today - most services will open listen sockets on 0.0.0.0\nand service endpoints will be registered using HOST_IP as the\naddress.\n\nWhen set to \"6\" devstack services will open listen sockets on ::\nand service endpoints will be registered using HOST_IPV6 as the\naddress.\n\nThere is no support for \"4+6\", more work is required for that.\n\nHOST_IPV6 - if SERVICE_IP_VERSION\u003d6 this must be an IPv6\naddress configured on the system.\n\nSome existing services, like the Openvswitch agent, will continue\nto use IPv4 addresses for things like tunnel endpoints.  This is\na current restriction in the code and can be updated at a later\ntime.  This change is just a first step to supporting IPv6-only\ncontrol and data planes in devstack.\n\nThis change is also partly based on two previous patches,\nhttps://review.openstack.org/#/c/140519/ and\nhttps://review.openstack.org/#/c/176898/\n\nChange-Id: I5c0b775490ce54ab104fd5e89b20fb700212ae74\nCo-Authored-By: Sean Collins \u003csean@coreitpro.com\u003e\nCo-Authored-By: Baodong Li \u003cbaoli@cisco.com\u003e\nCo-Authored-By: Sridhar Gaddam \u003csridhar.gaddam@enovance.com\u003e\nCo-Authored-By: Adam Kacmarsky \u003cadam.kacmarsky@hp.com\u003e\nCo-Authored-By: Jeremy Alvis \u003cjeremy.alvis@hp.com\u003e\n"
    },
    {
      "commit": "f750a6fedbb34399e1ee4dd540c13028d53c0e13",
      "tree": "839fca32e62cc71af1cb47d21c0ed4c91fcd7aad",
      "parents": [
        "85a1c488dfda0094238f899ea0bf693106021ce5"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jul 01 12:17:35 2015 +0200"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jul 01 12:17:35 2015 +0200"
      },
      "message": "Already dead process tolerance in unstack.sh\n\nThe gate/updown.sh calls the unstack.sh with\n-ex option. Normally we do not use -e with unstack.sh.\n\nThe unstack.sh can fail if the service already stopped,\nand it also can have flaky failures on the gate.\n\nFor example the stop_swift function tries to kill swift in two\ndifferent ways, and if the first one succeeds before the 2th attempt\nthe pkill fails the whole unstack.sh.\n\nThis change accepts kill failure.\nNormally the kill can fail if the process does not exits,\nor when you do not have permission to the kill operation.\n\nSince the permission issue is very unlikely in our case,\nthis change does not tries to distinguish the two operation.\n\nThe behavior of the unstack.sh wen you are not using -ex should\nnot be changed by this change.\n\nChange-Id: I64bf3cbe1b60c96f5b271dcfb620c3d4b50de26b\n"
    },
    {
      "commit": "9d7e776b704d0fa54b2bf6543d054ab0118f5806",
      "tree": "b5a997e301de682866064a04fdcc74483051a3c2",
      "parents": [
        "b632c9ef81090e210fee27346c6e1f2b4f3bedec"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri May 29 01:08:53 2015 +0000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Tue Jun 16 10:06:39 2015 +0800"
      },
      "message": "Use Keystone v3 API for user creation\n\nThis includes requiring a domain when creating a user. This will allow us to\ncontrol where users are created in a later patch.\n\nAdding the token to the user creation call is required because of a bad\ninteraction between OpenStackClient, os-client-config and keystoneclient\nwhen dealing with v2 authentication but v3 API calls. It will be cleaned\nup when we switch to v3 credentials.\n\nChange-Id: I6ef50fd384d423bc0f13ee1016a8bdbb0650ecd9\nImplements: bp keystonev3\n"
    },
    {
      "commit": "b632c9ef81090e210fee27346c6e1f2b4f3bedec",
      "tree": "c1c81bbc49541d55a63ac433bafa2e49868edbb6",
      "parents": [
        "97c77b90e2064647b9968dd74fb378c584ece61f"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Thu May 28 23:36:15 2015 +0000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Tue Jun 16 08:38:09 2015 +0800"
      },
      "message": "Use keystone v3 API for projects\n\nAlways use the keystone v3 API for project creation. Make domain a\nrequired argument. Whilst we could simply default this value within the\nfunction I think it\u0027s better to make this explicit as these are things\ndeployers and services need to consider.\n\nIn future we will want to figure out how we want devstack to organize domains\nhowever I don\u0027t believe that it belongs in this patch.\n\nChange-Id: Ib9587193c5c8419dc4b5a608246709baaddd2a52\nImplements: bp keystonev3\n"
    },
    {
      "commit": "e8a2fa431b4b432c5a05da0cab6c4af5999e5aee",
      "tree": "8de5fb13a6f0f10724da073c07c21dcdb49090c9",
      "parents": [
        "ee3d2a8ece24efe8ee8b0304c133574967eb60d3"
      ],
      "author": {
        "name": "Cyril Roelandt",
        "email": "cyril.roelandt@enovance.com",
        "time": "Wed May 06 17:30:48 2015 +0200"
      },
      "committer": {
        "name": "Cyril Roelandt",
        "email": "cyril.roelandt@enovance.com",
        "time": "Wed May 06 17:34:35 2015 +0200"
      },
      "message": "lib/swift: the s3_token middleware should be provided by keystonemiddleware\n\nRecently, keystoneclient.middleware has been moved from keystoneclient to\nkeystonemiddleware. The latter should be used.\n\nChange-Id: Ib9489a21b988b32fc17399c08eeb60862efae034\nCloses-Bug: #1452315\n"
    },
    {
      "commit": "d1549d624dea9b00d7aa0f935759c69290e9ea17",
      "tree": "83df8c56e7fc0cb9dfff8d253f35f03a98ef95fb",
      "parents": [
        "4a640c68477cf8f88f4ce757b93ec53f1f59a1fe",
        "2f6576bfaf7f43d9bf820e3e5ecc0b7fd136ce3c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Apr 07 00:21:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Apr 07 00:21:20 2015 +0000"
      },
      "message": "Merge \"Creates SWIFT_DATA_DIR if it does not exist\""
    },
    {
      "commit": "dc97cb71e85fc807d2cce6f054c785922d322eb9",
      "tree": "86affcfbc7054c209c2ab0a4c3f7955d5e1bf16f",
      "parents": [
        "9720239618189c13734aa32aabee9252707f2db9"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Mar 28 08:20:50 2015 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Mar 28 14:35:12 2015 -0500"
      },
      "message": "Mostly docs cleanups\n\nFix documentation build errors and RST formatting\n\nChange-Id: Id93153400c5b069dd9d772381558c7085f64c207\n"
    },
    {
      "commit": "4cc060e77c58882f9728c2515e65d205d0e969dd",
      "tree": "289e0647f4bf602635f2ad6c04ae11e539e04a9d",
      "parents": [
        "1840f70d0bf15553c39f59b8bee87cd7ea12e8f4",
        "9ebd65be32357a0554e4e5525037e7f1803077f8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 26 12:51:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 26 12:51:03 2015 +0000"
      },
      "message": "Merge \"Increase Swift disk size up to 2GB if Glance is enabled\""
    },
    {
      "commit": "2f6576bfaf7f43d9bf820e3e5ecc0b7fd136ce3c",
      "tree": "059519826afb752fbaf1593924a858db3b9075aa",
      "parents": [
        "2dc61b2a63a433870e1963c8d808de4ca57333f2"
      ],
      "author": {
        "name": "Geronimo Orozco",
        "email": "geronimo.orozco@intel.com",
        "time": "Thu Mar 19 12:08:23 2015 -0600"
      },
      "committer": {
        "name": "Geronimo Orozco",
        "email": "geronimo.orozco@intel.com",
        "time": "Fri Mar 20 10:05:05 2015 -0600"
      },
      "message": "Creates SWIFT_DATA_DIR if it does not exist\n\nIf SWIFT_DATA_DIR is set on local.conf we need to make sure to create\nthe directory with proper permissions\n\nChange-Id: If29fa53f01b4c0c8a881ec3734383ecffac334ce\nCloses-Bug: 1302893\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": "e64bd629b4a12cca2002ee78c1a0162bd73a37a9",
      "tree": "b75b9b7cd190b45825ede6ed9ede1a1672d79007",
      "parents": [
        "8e71fabb57c507cc4cf4379880138b32cd28ca0d",
        "6ac97deba6af9ced38f3c0ec93327d352e20c6df"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 20 14:29:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 20 14:29:36 2015 +0000"
      },
      "message": "Merge \"Swift use v3 auth_token credentials\""
    },
    {
      "commit": "9ebd65be32357a0554e4e5525037e7f1803077f8",
      "tree": "234893a45ce8b0e591de7ff903efcef503bd956b",
      "parents": [
        "40ce320bb013f850a47d32781dd2f77a4d7927fa"
      ],
      "author": {
        "name": "Ivan Kolodyazhny",
        "email": "e0ne@e0ne.info",
        "time": "Sun Mar 08 23:51:55 2015 +0200"
      },
      "committer": {
        "name": "Ivan Kolodyazhny",
        "email": "e0ne@e0ne.info",
        "time": "Thu Mar 19 15:41:57 2015 +0200"
      },
      "message": "Increase Swift disk size up to 2GB if Glance is enabled\n\nMinimum Cinder volume size is 1GB so if Swift backend for Glance is only\n1GB we can not upload volume to image.\n\nChange-Id: Ifd4cb42bf96367ff3ada0c065fa258fa5ba635d9\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": "b6197e6ab0b6085f2b81f7a29fa6a3ea5ec03748",
      "tree": "70bcd7ade40a1acbf079ecd97fbf26080d4f8926",
      "parents": [
        "68ed19b696c347d7e9d48b92b643419549bbd249"
      ],
      "author": {
        "name": "gordon chung",
        "email": "gord@live.ca",
        "time": "Thu Feb 12 15:33:35 2015 -0500"
      },
      "committer": {
        "name": "gordon chung",
        "email": "gord@live.ca",
        "time": "Fri Mar 13 15:41:13 2015 +0000"
      },
      "message": "switch to use ceilometermiddleware\n\nswift middleware contained in ceilometer is now deprecated. the\nmiddleware is available in ceilometermiddleware.\n\nChange-Id: I6e41986245f4d95a9385dc7829479ed1199f10ac\n"
    },
    {
      "commit": "6ac97deba6af9ced38f3c0ec93327d352e20c6df",
      "tree": "f46ba6c85dc3dd5d305f33676c8be6c97434c692",
      "parents": [
        "44d4ec2a8630cd34eff49783a26f13a240bd6b1d"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Thu Mar 12 09:03:28 2015 +1100"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri Mar 13 10:30:21 2015 +1100"
      },
      "message": "Swift use v3 auth_token credentials\n\nThe keystonemiddleware 1.5.0 released 2015-03-11 supports configuring\nauth plugins from the paste config file. This means that swift can now\nuse authentication plugins for auth_token middleware.\n\nChange-Id: Icb9f008a57b6f75e0506cbecd0a1e0f28b7dadda\n"
    },
    {
      "commit": "fbb3e773f017e90286f7e988c4167c3758edba45",
      "tree": "1c231ab427a4d09754b728bf1f9e58aebaeec69e",
      "parents": [
        "81dcb64b0d1d6d6506222a2155157f69af98b601"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Mar 03 15:08:28 2015 +0100"
      },
      "committer": {
        "name": "afazekas",
        "email": "afazekas@redhat.com",
        "time": "Mon Mar 09 15:08:22 2015 +0000"
      },
      "message": "Remove the kesytone admin token from swift\n\nThe keystone admin token supposed to be used only\nfor setting up keystone and it should not be used\nin any other service config.\n\nChange-Id: Iaa9be1878e89a6bc3a84a0c57fc6f5cecc371d2f"
    },
    {
      "commit": "4a9b154f5e20c9017aeffebffca806927a35e9f6",
      "tree": "fc12dbc236f1a1cbf9608f82688d8ced417235de",
      "parents": [
        "a6de7e962c3293d3a5e5e6ef1ead97c0ea0067f0",
        "5ce44cd63b6e2b53f08a6b4b87cb4ab11d1ade26"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 18 21:00:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 18 21:00:14 2015 +0000"
      },
      "message": "Merge \"Fix is_keystone_enabled()\""
    },
    {
      "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": "ae74ed778a2daef5490caa085ee33029e693fc5c",
      "tree": "be9f5a73bf0c9ce7d90f2764cd10575c7b2ed799",
      "parents": [
        "16c886e1fde5cd13193559ef0a475d13f516ebe4"
      ],
      "author": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Thu Feb 12 07:33:36 2015 -0800"
      },
      "committer": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Thu Feb 12 07:33:36 2015 -0800"
      },
      "message": "Make swift user an admin\n\nThis breaks Ironic\u0027s use of temp URLs, which the key for the service\naccount is configured via the Swift user.\n\nChange-Id: I69f6f6eef4ad573f406d64d579a9811c70ac5d28\nCloses-Bug: #1421006\n"
    },
    {
      "commit": "ee2e53592b24cba7a1f01104a7909558cc213b75",
      "tree": "984623f7126d0437014980da7efb9558f43303ea",
      "parents": [
        "6f0efa06b9d1dd5f938b9ef088b9694b5623c06e",
        "e8bc2b82a04f4cca251ed7437f738672107428a3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 11 15:55:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 11 15:55:41 2015 +0000"
      },
      "message": "Merge \"Reduce service user permissions\""
    },
    {
      "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": "e8bc2b82a04f4cca251ed7437f738672107428a3",
      "tree": "4a8125751858323656c1f8afdf927c508926ade2",
      "parents": [
        "8ed3e40be8672aa23ebd2b6c95accf06a2ff8ac4"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Tue Feb 10 20:38:56 2015 +1100"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Feb 11 14:49:56 2015 +1100"
      },
      "message": "Reduce service user permissions\n\nMost of the services create the service user with the admin permission.\nThis is unnecessary for token validation and they should be restricted\nto only having the service role.\n\nChange-Id: Id7a9366d2c6a36139240f64371002362dc2d8d3b\n"
    },
    {
      "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": "e79678af5ed1621cd8740879b496a0d3716ab8b1",
      "tree": "8d89cedb7c4d249e305803f4c9f8ef8449132e9a",
      "parents": [
        "70157976aec6adf26ac0b3734d2017e2356efd75",
        "18f39bfb1f6af23a7fc5f5a5b822e7216ce9ec62"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 06 16:16:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 06 16:16:36 2015 +0000"
      },
      "message": "Merge \"Remove the default project from all users\""
    },
    {
      "commit": "38c95b8eba7a67535895c62a0d676f0ad37c5070",
      "tree": "a9d756418c8995586fa63dd785c31205a56cbdca",
      "parents": [
        "b43b3595061ce3138889ac78ded0eebbb144e4db"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri Jan 30 02:15:42 2015 +0000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri Jan 30 02:18:26 2015 +0000"
      },
      "message": "Configure auth_token middleware manually in swift.\n\nSwift doesn\u0027t use olso.config and so the method of configuring swift via the\n[keystone_authtoken] config options will not work. Go back to configuring swift\nmanually.\n\nThis will need to be fixed in either keystonemiddleware or swift as configuring\nvia plugin is the path to v3 authentication, service domains and new forms of\nservice user authentication.\n\nCloses-Bug: #1415795\nChange-Id: Ibe27116a11756072d5a300a6d3691c5f8c32317e\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": "8467cd3faa67254170680d156cffcde89ff50158",
      "tree": "6c895fc8b0dccebfe1e9bba26b0e13ed8a94b9ad",
      "parents": [
        "b2d1bc5b92e6f7eb54cb907020b58d83e92837a5",
        "7faceb67ad73a21a6c2ee626fc7acfb02bd6cb8a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 21 08:26:10 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 21 08:26:10 2015 +0000"
      },
      "message": "Merge \"Allow swift keystoneauth reseller_prefix in sample file\""
    },
    {
      "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": "7faceb67ad73a21a6c2ee626fc7acfb02bd6cb8a",
      "tree": "41bd75aa322fb886558f762ed34c0e51f0ee4f75",
      "parents": [
        "738b92a8ac0282fc349675203773601f2aa65e40"
      ],
      "author": {
        "name": "Donagh McCabe",
        "email": "donagh.mccabe@hp.com",
        "time": "Fri Dec 19 13:20:45 2014 +0000"
      },
      "committer": {
        "name": "Donagh McCabe",
        "email": "donagh.mccabe@hp.com",
        "time": "Mon Jan 05 13:58:58 2015 +0000"
      },
      "message": "Allow swift keystoneauth reseller_prefix in sample file\n\nThe reseller_prefix option cannot be added to the\nswift-proxy-server.conf-sample file because it\ninadvertently gets set to \"TEMPAUTH\" and Tempest\ntests fail.\n\nChange-Id: Ib08d6fa1926531b8966151258eae6771c99c41ca\nCloses-Bug: 1404226\n"
    },
    {
      "commit": "fc0ff92777cc6be1914ff59b02d10e9fb75eb199",
      "tree": "e400bd80e33a6e3a48d79561905f6f5139853ecf",
      "parents": [
        "062e8f14874ab254aa756aabb4f50db222277431"
      ],
      "author": {
        "name": "JordanP",
        "email": "jordan.pittier@scality.com",
        "time": "Wed Dec 17 12:39:36 2014 +0100"
      },
      "committer": {
        "name": "JordanP",
        "email": "jordan.pittier@scality.com",
        "time": "Wed Dec 17 12:39:36 2014 +0100"
      },
      "message": "lib/swift : fix misleading typo in a code comment\n\nThe code comment was picked from lib/keystone but not changed.\n\nChange-Id: Idebe5af84d481d52d529575e666105e4b0e06a59\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": "a6dfe8199831019a53c937aa7f1f85549bb268e7",
      "tree": "96b91e5b721a22a7d6b62b039788517fdf85a915",
      "parents": [
        "576aaae6f74c55ab65280c287f3b12a274e6e683"
      ],
      "author": {
        "name": "JordanP",
        "email": "jordan.pittier@scality.com",
        "time": "Thu Nov 20 18:06:23 2014 +0100"
      },
      "committer": {
        "name": "JordanP",
        "email": "jordan.pittier@scality.com",
        "time": "Thu Nov 20 18:06:23 2014 +0100"
      },
      "message": "Remove unused and deprecated SWIFT_CONFIG_DIR variable\n\nChange-Id: Id9b9f2300288b98e4952ef8da6732232a683338d\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": "005a47e1a079a99cb7f71b27db06b08ffa8ea130",
      "tree": "645d70b33d4187c5281a9d7c12a7a3acaa8abbed",
      "parents": [
        "26167569d6c69626cbcff878623e74bc60264334",
        "d03915f9c08ff91c5d39f8cadb064718079bdb4b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 28 03:16:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 28 03:16:21 2014 +0000"
      },
      "message": "Merge \"Enable Swift\u0027s newer feature of container-sync\""
    },
    {
      "commit": "3c92eb9b7fb844ab4ea760e1e444c65f412e4769",
      "tree": "ff862c470c02957e23a388029e32d51fde494811",
      "parents": [
        "7f55e0d36eeedff6230e005935cefcaff9179eac",
        "24779f65a675f2e78c09b2520ebefcd52b4f0be0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 28 03:16:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 28 03:16:03 2014 +0000"
      },
      "message": "Merge \"Add swift user and project in non-default domain\""
    },
    {
      "commit": "24779f65a675f2e78c09b2520ebefcd52b4f0be0",
      "tree": "bd4ce41a2e7d8aa1def79d9398a1beef2547aed6",
      "parents": [
        "572a4c4c3c5553beea01f519dbdcadfb9c6f78b7"
      ],
      "author": {
        "name": "Alistair Coles",
        "email": "alistair.coles@hp.com",
        "time": "Wed Oct 15 18:57:59 2014 +0100"
      },
      "committer": {
        "name": "Alistair Coles",
        "email": "alistair.coles@hp.com",
        "time": "Tue Oct 21 14:36:15 2014 +0100"
      },
      "message": "Add swift user and project in non-default domain\n\nSwift has functional tests that check access controls\nbetween users and projects in differing domains. Those tests\nare currently skipped by default since swift tests are\nconfigured to use keystone v2 API. In order for those\ntests to pass when using keystone v3 API, a user and\nproject must be setup in a non-default domain.\n\nThis patch creates a domain, and a user and project in\nthat domain, in support of swift functional tests moving\nto using keystone v3 API.\n\nChanges:\nlib/swift\n    - create a new domain, project and user for\n      swift testing\n    - add new project and user credentials to swift\n      test config file\n    - set correct identity service url in swift test\n      config file according to kesytone API version\n\nfunctions-common\n    - add function get_or_create_domain\n    - modify get_or_create_user and get_or_create_project\n      functions to optionally specify a domain\n\nChange-Id: I557de01bf196075f2f3adcdf4dd1b43756d8a0ae\n"
    },
    {
      "commit": "761c456a4e89802d2f78a8dbdc5f20d71716f7dd",
      "tree": "81b804f95c400f0ed7e06fc1d3a15a08cd3b3d2d",
      "parents": [
        "572a4c4c3c5553beea01f519dbdcadfb9c6f78b7"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Oct 21 11:41:37 2014 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Oct 21 14:19:23 2014 +1100"
      },
      "message": "Remove usage of $[ for arithmetic, take 2\n\nI did a similar change in I8ba180be036836f37ebdbb6da36ff0be486c043e\nbut I guess somehow missed these ... maybe I forgot to add them to the\nchange.\n\nAs described originally, this causes TOT bashate to fail, so fix this\nup before it gets released.\n\nChange-Id: I5580cb46f1c8bd71c631549aab78428d95a6dc51\n"
    },
    {
      "commit": "7c6d005eedbff90811d0ded26508f716227dc5f8",
      "tree": "b130c3458721a85b1a9a39eaef52675bae37bade",
      "parents": [
        "af03045726480b6ba22e2cecbc6763ee67a2c961"
      ],
      "author": {
        "name": "JordanP",
        "email": "jordan.pittier@scality.com",
        "time": "Mon Oct 06 23:08:50 2014 +0200"
      },
      "committer": {
        "name": "JordanP",
        "email": "jordan.pittier@scality.com",
        "time": "Thu Oct 09 09:58:51 2014 +0200"
      },
      "message": "Fix account rc files creation for Swift users\n\nId02ebdfa5cb3f6c763293876c6bb031184ebd663 introduced a small\nregression which makes the command x509-create-cert fail with\n\u0027ERROR (CommandError): Invalid OpenStack Nova credentials.\u0027 for\nSwift users.\n\nThe handling of specific password for Swift users was introduced\nin Ifb57a43aad439ffe041e98465719a8a8eceae544\n\nChange-Id: I3f328b1358bad0bdf7056796eabfe846dd5bae3a\n"
    },
    {
      "commit": "d03915f9c08ff91c5d39f8cadb064718079bdb4b",
      "tree": "03ab3341312bd29ca637e11a63eb543035090c18",
      "parents": [
        "f33e76bf9bd9a3bc39e8b3b99257a4ae98a10d25"
      ],
      "author": {
        "name": "Daisuke Morita",
        "email": "morita.daisuke@lab.ntt.co.jp",
        "time": "Wed Oct 08 06:52:21 2014 +0000"
      },
      "committer": {
        "name": "Daisuke Morita",
        "email": "morita.daisuke@lab.ntt.co.jp",
        "time": "Thu Oct 09 00:40:31 2014 +0000"
      },
      "message": "Enable Swift\u0027s newer feature of container-sync\n\nNewer version of container-sync feature is introduced in Swift ver. 1.12.0.\n\nThe spec:\nhttp://docs.openstack.org/developer/swift/overview_container_sync.html\n\nBefore this commit, Devstack does not configure any realm used in\ncontainer-sync, therefore this feature does not work.\nTo test this feature in CI system, moreover to show the sample\nconfiguration of realms, Devstack now edits realms configuration file.\n\nChange-Id: I9f1e3224403e08e725a989162729470357fe90b0\nCloses-Bug: 1378646\n"
    },
    {
      "commit": "6c585d739d918ae563a6291a8661fd82b872a93a",
      "tree": "6fc522ece9113e98b0869680f3b9ba25dbf90143",
      "parents": [
        "4e10843812a25dd3645bf25f166d9be20ce242a0"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Sat Oct 04 08:14:30 2014 +0200"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Sat Oct 04 08:14:30 2014 +0200"
      },
      "message": "Refactor swift config services\n\nMake the sed the command to change the recon_cache_path into the renamed\ngenerate_swift_config_services\n\nChange-Id: I6092c26836320fab607eb9cd07f63189a9ba1ddd\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": "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": "55dc2c2b1faa0d34596fdfb4c46e359ed053673e",
      "tree": "d8e50b91ad14d1209f51c6d226792b53b44e9ce2",
      "parents": [
        "05bd7b803d87bbdd1a6f11cfd278eec319c819ea"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Fri Sep 12 09:34:20 2014 +0200"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Fri Sep 19 15:40:02 2014 +0000"
      },
      "message": "Make Swift uses API_WORKERS\n\nKeep the default to 1 instead of going wild, cause Swift really would\nkill the VM if we let it go (and keeps the old behavior).\n\nChange-Id: I7449c1bb485459169b8870c871b887cbab8be865\n"
    },
    {
      "commit": "efa18c73ab46dace033fba11edf6c32eb75e07db",
      "tree": "fa6e11f2c306bd7a4fbcc954eb1de308c9755b26",
      "parents": [
        "b325ea28d24f26fb8c31b67378a9545a4c68803d",
        "2f27a0ed3c609bfcd6344a55c121e56d5569afc9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Sep 13 12:38:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Sep 13 12:38:34 2014 +0000"
      },
      "message": "Merge \"Replace screen_it() with run_process() throughout\""
    },
    {
      "commit": "e2d07954039726ad5d6602066a44a6d817cdf111",
      "tree": "be6206224c459b44d1b3a9cccc523a649987c719",
      "parents": [
        "62a66f7121786992b476ad0edfbc927fc5d8f5fd",
        "d968f2b2bbb454d1d960e0d32e3bfd18311ce253"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Sep 13 04:45:21 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Sep 13 04:45:21 2014 +0000"
      },
      "message": "Merge \"Remove usage of $[ for arithmetic\""
    },
    {
      "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": "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": "d968f2b2bbb454d1d960e0d32e3bfd18311ce253",
      "tree": "227368c75952df55b357fdd3d2adab95f5b4da64",
      "parents": [
        "a90898d90438834ac32224162500b7d54fe2e603"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Aug 14 11:43:54 2014 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Aug 28 16:16:10 2014 +1000"
      },
      "message": "Remove usage of $[ for arithmetic\n\n$[ is deprecated for the more familiar $((\n\nRequired when bash8 starts testing from tox and [1] goes in\n\n[1] https://review.openstack.org/#/c/117430/\n\nChange-Id: I8ba180be036836f37ebdbb6da36ff0be486c043e\n"
    },
    {
      "commit": "3a2837a5647d7d7658aebbe80cbc6c586be1ffe5",
      "tree": "2a52c2fd9b364a85d2acf507d4242a54c3f54ab6",
      "parents": [
        "f9ae6aed617d2dfcfc25f9ffb6da48790772f329",
        "084f51f7bba732f79ee114a9f690dd58cffa4973"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Aug 23 09:59:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Aug 23 09:59:36 2014 +0000"
      },
      "message": "Merge \"Clean up local variable usage - Swift\""
    },
    {
      "commit": "abbb0e9a0d6c183b6c6f10e197bed6aa2dde20b1",
      "tree": "14e83df8f5ab17aff507c92037b8eeaadf45c4de",
      "parents": [
        "4407315ae9c2dad3c85544afefaf12e8e7cc2c9f"
      ],
      "author": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Tue Aug 05 18:01:48 2014 +0000"
      },
      "committer": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Thu Aug 07 17:45:28 2014 +0000"
      },
      "message": "Add swift tempurl support to devstack\n\nThis commit adds the ability to automatically set a tempurl key\nin swift for service accounts.\n\nChange-Id: I0d5d16c5601d022f034df2cc291106c5dc13511e\n"
    },
    {
      "commit": "084f51f7bba732f79ee114a9f690dd58cffa4973",
      "tree": "470646c032a4de6c541a3561cc9aef9090ff3015",
      "parents": [
        "d3121f649d672fdaf757655b94ecd68c71b56b8e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 15:08:52 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 15:08:52 2014 -0500"
      },
      "message": "Clean up local variable usage - Swift\n\nChange-Id: Id02ebdfa5cb3f6c763293876c6bb031184ebd663\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": "c856f51ed735b6574b1570af8468d493ef7e17f4",
      "tree": "071a7978403b1707b7d7c7f092a5da6a06c074f6",
      "parents": [
        "d727754c921676b9fe66162ee39ca854f3bea691",
        "eedfdee060b17d38b14628b7e706967cb15a35af"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Jul 13 15:09:50 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Jul 13 15:09:51 2014 +0000"
      },
      "message": "Merge \"Fix Swift config for Ceilometer usage\""
    },
    {
      "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": "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": "254fd552459851bf0f4ec5e721a3981e3546857f",
      "tree": "b954665236ff21003600e02e94fe637e0519148a",
      "parents": [
        "e33379658ffc97ffa82117e5dc35f6eb01bde951"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Mon Jun 30 12:22:59 2014 +0000"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Mon Jun 30 12:42:57 2014 +0000"
      },
      "message": "Only enable auth_token in swift with keystone\n\nWe don\u0027t need to enable auth_token in pipeline when we don\u0027t have\nkeystone enabled.\n\nChange-Id: I4695817766fc39fcceed32f71156d4123d5bdfa1\n"
    },
    {
      "commit": "eedfdee060b17d38b14628b7e706967cb15a35af",
      "tree": "d8b735bc609f6d3776043b6d99ba629fc4441006",
      "parents": [
        "4fcda870e65db81fc643fee799730cadd69441bb"
      ],
      "author": {
        "name": "Dina Belova",
        "email": "dbelova@mirantis.com",
        "time": "Tue Jun 24 16:52:46 2014 +0400"
      },
      "committer": {
        "name": "Dina Belova",
        "email": "dbelova@mirantis.com",
        "time": "Tue Jun 24 16:52:46 2014 +0400"
      },
      "message": "Fix Swift config for Ceilometer usage\n\nCeilometer filter was previously removed from the Swift\nconfiguration to avoid useless Ceilometer logs in the Swift\nones. This was fixed by setting only warning log level for\nthis Ceilometer part of the pipeline to keep only important\nones.\n\nChange-Id: I8c41355bb98dbf3bb59ec792221b05ea936086b7\nPartial-Bug: #1294789\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": "63024d91258969c6d785c364de33a2240878c941",
      "tree": "8f1c2b4d81bcf136680b5da0cccbb575139f2f3d",
      "parents": [
        "6445bd6c1523df79ccc5a5fc0c35898710b6ae0b"
      ],
      "author": {
        "name": "Julien Vey",
        "email": "julien.vey@numergy.com",
        "time": "Tue May 06 15:10:07 2014 +0200"
      },
      "committer": {
        "name": "Julien Vey",
        "email": "julien.vey@numergy.com",
        "time": "Tue May 06 15:18:47 2014 +0200"
      },
      "message": "Add an option in lib/swift to increase max_header_size\n\nWith the increasing number of entries in the service_catalog header,\nsome projects will have a header bigger than 8192 and Swift cannot\nhandle headers of this size. Solum is the first one to have this issue\n\nAs a temporary hack to fix Solum\u0027s gate, we are increasing\nthe value of the max_header_size parameter in our \"lib\" script.\n\nThis patch makes this settings global to all projects using devstack,\nso that in a near future, if a project has a service_catalog header\nbigger than 8192, it doesn\u0027t have the same problems we had.\n\nCloses bug 1316585\n\nChange-Id: I5c15f8f9531839353c3d99e46d920688058ec33c\n"
    },
    {
      "commit": "f894c2ab805f9dfc0dfdd3668ccd3a83ee4eb9f2",
      "tree": "49bd42fda8eba645a564db584a7e39f133ac80f1",
      "parents": [
        "404fbfefe24a667ec4c13ca3e043edb4a551fe90"
      ],
      "author": {
        "name": "Yves-Gwenael Bourhis",
        "email": "yves-gwenael.bourhis@cloudwatt.com",
        "time": "Wed Apr 16 13:37:46 2014 +0200"
      },
      "committer": {
        "name": "Yves-Gwenael Bourhis",
        "email": "yves-gwenael.bourhis@cloudwatt.com",
        "time": "Thu Apr 17 14:07:51 2014 +0200"
      },
      "message": "Do not modify rsyslog files if rsyslog is not used.\n\nSwift was missing an \u0027if [[ $SYSLOG !\u003d \"False\" ]]\u0027 statement which is used\nby other services, and therefor failed with a \u0027No such file or directory\u0027\nerror when \u0027SYSLOG\u003dFalse\u0027 was set in localrc.\n\nCloses-Bug: 1308461\n\nChange-Id: I8655a955ebb322516d92bee418b93d4cc23bdc5c\n"
    }
  ],
  "next": "fd034f0085d5b589ce23d4e63729c582bf8a0612"
}
