)]}'
{
  "log": [
    {
      "commit": "1f82f43016f5e3c51560c8b7c0b9c07350731f6c",
      "tree": "e45f2a765f82e271586c2ae2578436310092ea80",
      "parents": [
        "888033483807de036cc97840315b7ce9a04ca169"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 04 09:51:02 2017 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 04 09:54:43 2017 +1100"
      },
      "message": "Revert \"Remove cache dirs from the services\"\n\nThis reverts commit ef5ebed6c9ca3d9d47fd2a732a1542555a0f65ba.\n\nThe problem here is a backwards-incompatible change to\nconfigure_auth_token_middleware.  Plugins are still passing a\n\"signing_dir\" which is interpreted now as the \"section\" argument\n... this leads to an interesting red-herring issue; because \"v\" is a\ngnu sed command for checking the version, a signing_dir of \"/var/...\"\n(as done in most plugins) gives the weird error:\n\n sed: -e expression #1, char 32: expected newer version of sed\n\nI think we\u0027ll either need a new function, or dummy arguments to get\nthis back in.\n\nChange-Id: I2098d4eb2747282622cf486fa7dbf216f932f58b\n"
    },
    {
      "commit": "ef5ebed6c9ca3d9d47fd2a732a1542555a0f65ba",
      "tree": "8aabc7d2def8f3a71f6efddf37183ef282b47a19",
      "parents": [
        "e8190c414e21b7d7f93eb9a3eeea3463f553a300"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@gmail.com",
        "time": "Mon Sep 25 09:38:38 2017 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@gmail.com",
        "time": "Tue Sep 26 10:10:11 2017 +1000"
      },
      "message": "Remove cache dirs from the services\n\nPKI tokens have been actively deprecated from keystone and there are\ndeprecations being emitted from keystonemiddleware. Because of this we\nno longer need an auth cache directory in the services where the PKI\ncertifcates used to be stored.\n\nRemove the creation and use of all these AUTH_CACHE directories.\n\nChange-Id: I5680376e70e74882e9fdb87ee1b95d5f40570ad7\n"
    },
    {
      "commit": "86bdfffbe0ac887ccf5a027caedf02837262a081",
      "tree": "1bd850a154873f65ad416aa53019b9313911def3",
      "parents": [
        "fe91455e7d671a515920a973b5e77f56ffdab6ef",
        "0eebeb415ada3437b598d0ceb6952dc7ad9134d9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 19 13:23:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 19 13:23:02 2017 +0000"
      },
      "message": "Merge \"clean up screen and tail_log references\""
    },
    {
      "commit": "dbd32d1bc486d7008ba256ac3ca40844d1947e43",
      "tree": "2ae84f7b5b6ed60968ea8ea9b86521ebcb904ef4",
      "parents": [
        "91f62818c3ab5f7f7cee11df7a7b7d3ce290ecb8",
        "59fb961180caf0981aa5e3fc5a022fbe3bf3e463"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 12 08:55:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 12 08:55:31 2017 +0000"
      },
      "message": "Merge \"Allow both Keystone and Tempauth reseller prefixes\""
    },
    {
      "commit": "0eebeb415ada3437b598d0ceb6952dc7ad9134d9",
      "tree": "c14ecf238bd797caca6535240a5e13b34a818c1f",
      "parents": [
        "cdba1b371628aa0e8bc5b687351c5ee9b39e9bc6"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 30 14:16:58 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Sep 01 15:08:17 2017 -0400"
      },
      "message": "clean up screen and tail_log references\n\nChange-Id: I6bcfa09931ed1f70e071ccb16688c15c7ef2898f\n"
    },
    {
      "commit": "0e58d22897457831b9dbf02d66a2f29d43803597",
      "tree": "0ada2d454ba62d8fa35b106b80b512e0154e13ee",
      "parents": [
        "9d7e74e57c73d25e214e0269dbd9d342e8cd960c"
      ],
      "author": {
        "name": "Clay Gerrard",
        "email": "clay.gerrard@gmail.com",
        "time": "Mon Aug 28 14:03:18 2017 -0700"
      },
      "committer": {
        "name": "Clay Gerrard",
        "email": "clay.gerrard@gmail.com",
        "time": "Mon Aug 28 14:03:18 2017 -0700"
      },
      "message": "Create correct directory layout for swift on purpose.\n\nThe pre-existing configuration for swift on devstack set\u0027s the\n*-server\u0027s devices option (the root of the servers list of devices) to:\n\n    devices \u003d /opt/stack/data/swift/1\n\nwhere \"1\" is the node_number, and will be 2, 3, ... N if the devstack\nmachine is built with more than one swift node/device (pretty sure no\none does that on devstack ever).\n\nThe device(s) in the rings are named (perhaps confusingly similar to the\nswift loopback image) just \"sdb1\", so all storage servers expect to have\na $STACK_USER writeable file system at:\n\n    os.path.join(\u003cdevices_root\u003e, \"sdb1\")\n\nThat directory does not exist when you start up a devstack [1].\n\nCurrently Swift\u0027s object-server\u0027s require that directory exist before\nthey write data into it (even with mount_check \u003d false!).\n\nUnfortunately however, with mount_check\u003dfalse the account/container\nservers are able to create the device directory when it does not exist\n[2].  Which can lead to some unfortunate results with permissions on\nsome deployments using mount_check \u003d false (e.g. testing or\ncontainerized environments).  Fixing this issue [3] uncovered the\npreviously benign [4] mis-configuration in devstack.\n\nAttempting\n\n1. It was lost a long while ago I7c65303791689523f02e5ae44483a6c50b2eed1e\n2. Essentially they want to:\n\n    mkdir -p /opt/stack/data/swift/1/sdb1/containers/\u003cpart#\u003e\n\n... but end up creating the \"sdb1\" dir too!\n3. I3362a6ebff423016bb367b4b6b322bb41ae08764\n4. Benign because the object-server share their device with the\naccount-container devices and they would create the dirs before trying\nto write an object.  It was incorrect, but worked by happenstance, which\nis nearly as good as worked on purpose.\n\nChange-Id: I52c4ecb70b1ae47e613ba243da5a4d94e5adedf2\n"
    },
    {
      "commit": "59fb961180caf0981aa5e3fc5a022fbe3bf3e463",
      "tree": "e843f04aa9fe3f8d55b334fa9df1e24fdda9e68b",
      "parents": [
        "ac1a6aab2c28fd59b8f5e28ce9811bfdc812fe82"
      ],
      "author": {
        "name": "Tim Burke",
        "email": "tim.burke@gmail.com",
        "time": "Tue Aug 15 13:48:04 2017 -0700"
      },
      "committer": {
        "name": "Tim Burke",
        "email": "tim.burke@gmail.com",
        "time": "Tue Aug 15 15:13:24 2017 -0700"
      },
      "message": "Allow both Keystone and Tempauth reseller prefixes\n\n... to be used with domain_remap. Swift will start functionally testing\ndomain_remap in I63428132283986bda9e5c082ffe85741449b71ba.\n\nChange-Id: I4c1ab06d040d91fd8c314d0aa2cecbbb00adf8ad\n"
    },
    {
      "commit": "ab7035040319d8b145e1ad4ffcefa184ad6bd8a9",
      "tree": "87784fa002a7c8d95e6a1a79019211a814cbd481",
      "parents": [
        "d93433dfb8c0c72d6f387fa937a899afb1f15110"
      ],
      "author": {
        "name": "Tim Burke",
        "email": "tim.burke@gmail.com",
        "time": "Wed Jul 19 09:55:26 2017 -0700"
      },
      "committer": {
        "name": "Tim Burke",
        "email": "tim.burke@gmail.com",
        "time": "Thu Jul 20 11:12:00 2017 -0700"
      },
      "message": "When configuring temp urls, give Swift time to start up\n\nOtherwise, we\u0027ve seen intermittent \"Unable to establish connection\"\nfailures, with the main devstack log reporting things like\n\n   2017-07-19 13:54:29.973 -\u003e start proxy service\n   2017-07-19 13:54:30.082 -\u003e start OSC to store temp url key\n   2017-07-19 13:54:31.908 -\u003e OSC reports failure\n\nMeanwhile, the s-proxy screen session tells us things like\n\n   Jul 19 13:54:31.919988 -\u003e start child worker\n   Jul 19 13:54:32.206598 -\u003e still loading the WSGI app\n\n... and ports aren\u0027t actually bound until *after* the app is loaded.\n\nAdd a wait_for_service call to wait for the proxy to come up.\n\nChange-Id: I1a722de31b144797230991700e110353a2d937dd\n"
    },
    {
      "commit": "8f314400d8dd7113f828a7e53f1c37819fbe1c5f",
      "tree": "a758a909bfe743bf07bda03fb05dd42341d539cd",
      "parents": [
        "02d8a0cd2196efa9675d117ccc3cf7e86e44ed3f",
        "f4dbd12f78236c7c98b68d7841783ed29d6e77d7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jun 29 23:00:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jun 29 23:00:35 2017 +0000"
      },
      "message": "Merge \"Set specified header size when enabling tls-proxy\""
    },
    {
      "commit": "3350542a44359b1493f3ee60f1ba6176c1d3d021",
      "tree": "9aba7c1e2cc45e2aa03d1f7c5c27b7b106d8f40c",
      "parents": [
        "29215d95c7d979f45166d87338fe68549286fb38",
        "e28db4c2f297c8438fdc614954339f9178c07d54"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jun 14 16:09:11 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jun 14 16:09:11 2017 +0000"
      },
      "message": "Merge \"Set swift functest config when using tls\""
    },
    {
      "commit": "902158bb8fb8452d747225e5986fb789828e4e67",
      "tree": "7644dd92270a6913593ffd693a72b5ff004232cd",
      "parents": [
        "3742b1462241f2e9070dfb6e18f17cc3f493c13a"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue May 30 14:11:09 2017 -0700"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Jun 07 17:23:38 2017 +0000"
      },
      "message": "Don\u0027t treat service as enabled if in disabled list\n\nThe old implementation for is_$service_enabled simply checked if any of\nthe subservices were enabled and if so the service was considered to be\nenabled. This makes disabling services complicated as it means you have\nto list every single subservice which can and do change over time.\n\nInstead also check if the generic service name is in the disabled\nservices list and if so don\u0027t treat the service as enabled.\n\nChange-Id: I7fe4dfca2cd9c15069d50a04161a29c5638291cb\n"
    },
    {
      "commit": "f4dbd12f78236c7c98b68d7841783ed29d6e77d7",
      "tree": "df6be669227e353e013c6ad158e01bd88ddc33ad",
      "parents": [
        "a718b5ea9227ff55ca52dcd156f06b43fe2e3ca3"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed May 31 13:17:22 2017 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Mon Jun 05 12:47:50 2017 -0700"
      },
      "message": "Set specified header size when enabling tls-proxy\n\nAs part of getting swift\u0027s functional testing to work properly through\nthe tls-proxy we need to increase the allowed request header size in\napache. This was a non issue without tls proxy as requests hit the\neventlet webserver directly which was configured via the swift config\nwhich sets this relatively large limit (by default devstack configures\nswift to have a header size limit of 16384).\n\nNow we pass in an optional parameter to start_tls_proxy that includes\nthe desired header size. lib/swift then passes in the value it also\nconfigures in its swift.conf.\n\nIf not explicitly set we default to 8190 which is apache2\u0027s default.\n\nChange-Id: Ib2811c8d3cbb49cf94b70294788526b15a798edd\n"
    },
    {
      "commit": "e28db4c2f297c8438fdc614954339f9178c07d54",
      "tree": "ef0de09d9845dbc209877ca310947a0766d0e0c4",
      "parents": [
        "dc9ef55fc6be8eb7c83115ec19dfc39256c04302"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Thu Jun 01 16:07:32 2017 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Mon Jun 05 09:21:46 2017 -0700"
      },
      "message": "Set swift functest config when using tls\n\nBecause the swift functests (which use test.conf) run out of a\nvirtualenv they don\u0027t get access to the system wide trust of the\ndevstack CA. Handle this by explicitly configuring the cafile to trust\nin the test.conf file.\n\nWe also set the web_front_end to apache2 as that is what is terminating\nTLS for us. The tests handle different web server behaviors using this\nflag.\n\nSwift\u0027s functests will need to read these values in and properly\nconfigure things on its end.\n\nChange-Id: I4cdba36ccab6acd76205184882ee29e4f1e12333\n"
    },
    {
      "commit": "bc8db65da2e5db37841f60fee56ed4221072a71a",
      "tree": "8184642f0ada0f64f49382324e2f3eb2392a7fe3",
      "parents": [
        "aa444d0d837214efce413426e2388b27f1c7f7c6",
        "26e431dbd76dff958f65871c852eb9d61d8d00d8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Apr 25 17:47:35 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Apr 25 17:47:35 2017 +0000"
      },
      "message": "Merge \"Define a new function for notifications URL\""
    },
    {
      "commit": "26e431dbd76dff958f65871c852eb9d61d8d00d8",
      "tree": "570d10c42f286e4543320be00693df382528fe0b",
      "parents": [
        "42414520b75ed50c67cb94353534fb52fa386f48"
      ],
      "author": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Thu Apr 13 14:27:35 2017 +0200"
      },
      "committer": {
        "name": "Thomas Herve",
        "email": "therve@redhat.com",
        "time": "Tue Apr 25 17:01:21 2017 +0200"
      },
      "message": "Define a new function for notifications URL\n\nThis defines a new function get_notification_url, which returns the URL\nof RabbitMQ when you want connect to it, and uses in\nceilometermiddleware. This fixes an issue when we try to use AMQP for\nRPC, but not for notifications.\n\nChange-Id: I14450b2440806a17a90e5ddefc243868fdbe4f2c\n"
    },
    {
      "commit": "37c7843aad745fcde7584777e8a7ec896bb154e2",
      "tree": "bae0e3a847f3ca229f7a1bde4119e45132d6342b",
      "parents": [
        "e2fb00ebb721d8641485d1d5eb712a408b18b9d6"
      ],
      "author": {
        "name": "Paul Belanger",
        "email": "pabelanger@redhat.com",
        "time": "Wed Apr 19 13:19:21 2017 -0400"
      },
      "committer": {
        "name": "Paul Belanger",
        "email": "pabelanger@redhat.com",
        "time": "Wed Apr 19 13:20:47 2017 -0400"
      },
      "message": "Increase rsyslog buffer sizes.\n\nSwift proxy logs to syslog during the devstack-gate tempest runs. To\nbetter capture the swift logs increase the rsyslog buffer size to 6k\nbytes allowing for longer messages like tracebacks.\n\nThis was setup by openstack-infra previous during our diskimage\nbuilds.\n\n  I03e42964e14d9f930c07ed047851bdf775639c59\n\nChange-Id: Iaa232335865410600c93f47d4777ed4f1bce08e2\nSigned-off-by: Paul Belanger \u003cpabelanger@redhat.com\u003e\n"
    },
    {
      "commit": "f43ea4776668e259b3053e0c1d4b7d13685f424d",
      "tree": "6ba4fb70b4f8c2923b974d87cdae541fe8ecad08",
      "parents": [
        "cf2846ab6453e1f3549e1e0612bb72954abe72c8"
      ],
      "author": {
        "name": "Tim Burke",
        "email": "tim.burke@gmail.com",
        "time": "Tue Apr 18 21:51:57 2017 -0700"
      },
      "committer": {
        "name": "Tim Burke",
        "email": "tim.burke@gmail.com",
        "time": "Tue Apr 18 21:58:10 2017 -0700"
      },
      "message": "Send useful auth_port and auth_prefix to swift\u0027s test.conf\n\nUntil we can test with a version of swiftclient that knows how to eat\nauth_uri, swift still needs a working gate.\n\nChange-Id: I09f9ad5c87b542df962a79898e06fbf1e968b1e3\nRelated-Change: I46294fb24e3c23fa19fcfd7d6c9ee8a932354702\nRelated-Change: Ie427f3b0b9eb834ff940fa5d52444a5a6cdcab15\n"
    },
    {
      "commit": "f3b2f4c85307b14f115a020f5eaf6c92026b55b4",
      "tree": "1f9180b6b7271a9b232bf08145ad37308fbee219",
      "parents": [
        "2f8c88e0532b6b712cc386a9c15d833d3629b19a"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Apr 13 10:11:48 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Apr 17 07:27:32 2017 -0400"
      },
      "message": "Remove USE_SSL support\n\ntls-proxy is the way we\u0027re now doing a standard install using https\nbetween services. There is a lot more work to make services directly\nhandle https, and having python daemons do that directly is a bit of\nan anti pattern. Nothing currently tests this in project-config from\nmy recent grepping, so in the interest of long term maintenance,\ndelete it all.\n\nChange-Id: I910df4ceab6f24f3d9c484e0433c93b06f17d6e1\n"
    },
    {
      "commit": "4222ee35f64d1950ecfc146b51738b74c316e758",
      "tree": "397b90006f13d190f32718a25d8907c3fd1fc4c1",
      "parents": [
        "af5e3d668f7ef87f8f9ccd78a979d36595c060a5"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Apr 13 20:33:42 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Apr 13 20:33:42 2017 -0400"
      },
      "message": "Make auth_uri available in the swift test setup\n\nThe swift functional tests use a config which requires keystone ports,\nwe\u0027re about to make those go away. This exposes the actual auth_uri to\nswift for consumption.\n\nChange-Id: I5868dfdb8e5f0972ba04e359d212b04351502436\n"
    },
    {
      "commit": "980d65f58672388538e588cdd52c9169feec4a91",
      "tree": "423c032aa87d031642765946a4a6180b61d81dc5",
      "parents": [
        "6fbd969c85adb53b82457a3fcf879c2b268103bf"
      ],
      "author": {
        "name": "Jordan Pittier",
        "email": "jordan.pittier@scality.com",
        "time": "Mon Mar 27 14:29:58 2017 +0200"
      },
      "committer": {
        "name": "Jordan Pittier",
        "email": "jordan.pittier@scality.com",
        "time": "Wed Mar 29 13:26:52 2017 +0200"
      },
      "message": "Swift: Optionally start only the necessary services\n\nCurrently Devstack starts all Swift services, including those\nin charge of \"consistency convergence\" (remember Swift is eventually\nconsistent), data scrubbing, hard-deletion (*-reaper services)\ncleanup.\n\nBut when running with Replication Factor 1 some of those services\nare not needed at all. Besides, the fonctionnalities provided by\nsome of these services are not tested at all (neither in Tempest\nnor in Swift functional tests).\n\nThus, in light of saving some Mo of RAM, this patch introduces a config\nflag to start only a minimal set of Swift services, just what\u0027s required\nto make all of our current tests pass.\n\nThe default value for this new config flag is set to start all services,\nthat is to maintain Devstack\u0027s current behavior.\n\nFor sake of completeness, here is the list of services that are not\ngoing to be started is the config flag is toggled, and the associated RSS\naccording to our peakmem_tracker\n\n40004  swift-object-replicator /etc/swift/object-server/1.conf\n34320  swift-container-replicator /etc/swift/container-server/1.conf\n33584  swift-object-auditor /etc/swift/object-server/1.conf\n33328  swift-object-reconstructor /etc/swift/object-server/1.conf\n31936  swift-object-updater /etc/swift/object-server/1.conf\n31492  swift-account-reaper /etc/swift/account-server/1.conf\n31076  swift-account-replicator /etc/swift/account-server/1.conf\n29540  swift-container-updater /etc/swift/container-server/1.conf\n29220  swift-account-auditor /etc/swift/account-server/1.conf\n29036  swift-container-auditor /etc/swift/container-server/1.conf\n\nSo we are looking at saving at most ~350Mo of RAM (could be less\nbecause RSS doesn\u0027t account for shared memory).\n\nA follow-up patch will soon be proposed in devstack-gate to not run\nthose additional services in our Gate jobs.\n\nChange-Id: I8a0d03ac0296a74e38efd185beb8513866eaf0c4\n"
    },
    {
      "commit": "5edae54855b6b9af4283cef07e0b0d1a0f90cd3e",
      "tree": "38a1c4516ffc6f472f455363fac5bd24c5b65425",
      "parents": [
        "fb73a8fc6fa8cdc826b10c47490bc47cd0e6776a"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Mar 21 20:50:24 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Mar 28 07:19:15 2017 -0400"
      },
      "message": "initial work to enable systemd service running\n\nDuring the PTG there was a discussion that the screen developer\nworkflow wasn\u0027t nearly as useful as it once was. There were now too\nmany services to see them all on one screen, and one of the most\ncommon service restart scenarios was not restarting one service, but a\nbunch to get code to take effect.\n\nThis implements a 3rd way of running services instead of direct\nforking via bash, or running under screen, which is running as systemd\nunits.\n\nLogging is adjusted because it\u0027s redundant to log datetime in oslo.log\nwhen journald has that.\n\nSwift needed to have services launched by absolute path to work.\n\nThis is disabled by default, but with instructions on using it. The\nlong term intent is to make this the way to run devstack, which would\nbe the same between both the gate and local use.\n\nSome changes were also needed to run_process to pass the run User\nin. A hack around the keystone uwsgi launcher was done at the same\ntime to remove a run_process feature that only keystone uwsgi uses.\n\nChange-Id: I836bf27c4cfdc449628aa7641fb96a5489d5d4e7\n"
    },
    {
      "commit": "11eb2017ef70a758c54cc984e90e445205886e7e",
      "tree": "b7464d71ba85227fef12d21e58b874ef3451eca1",
      "parents": [
        "6bd3561e9db3175f07299818ddb46a8ac7c72a12"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 13 16:16:59 2017 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 13 16:16:59 2017 -0500"
      },
      "message": "simplify endpoints used in devstack\n\nThe proliferation of internal/admin endpoints is mostly legacy and\nbased on some specific deployment patterns. These are not used by\neveryone, and for the devstack case aren\u0027t really that useful. We\nshould simplify our service catalog down to the minimum we need for\ndevelopment.\n\nChange-Id: Ided7a65c81b3a0b56f0184847fc82e17c29a771e\n"
    },
    {
      "commit": "7ec59a017a9cf8e9cfb427ba81e39d7e2a21a2ec",
      "tree": "54b1569267a55111a659a385745a66976dd79439",
      "parents": [
        "281c5c22ce7f4e7d367f689488e15ad77695a183",
        "80f3635521c23235b75c6a9cbb8e8edcaf667ae6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 06 00:33:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 06 00:33:27 2017 +0000"
      },
      "message": "Merge \"Run Swift services under py35\""
    },
    {
      "commit": "80f3635521c23235b75c6a9cbb8e8edcaf667ae6",
      "tree": "d491120aa5a981c73482ab129eb2d4a291a8b553",
      "parents": [
        "e0ad12375871df92d8f4e8c729d09ae08b4518e5"
      ],
      "author": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Mon Jan 02 09:30:16 2017 -0500"
      },
      "committer": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Thu Jan 05 09:10:35 2017 -0500"
      },
      "message": "Run Swift services under py35\n\n* iniuncomment followed by iniset for reseller_prefix just adds a\n  duplicate line in the config file that configparser does not like\n  so just remove the uncomment\n* fall back to http:// url for glance-\u003eswift keystone authentication\n* insecure flag to talk to swift\n\nDepends-On: I51d56d16a5b175bd45dee09edc0b2748d72a5d06\nChange-Id: I02ed01e20f8dce195c51273e8384130af53384ce\n"
    },
    {
      "commit": "85879f1f8157a60fc190eb2731e4edd0deb1dae3",
      "tree": "41883651838859b18d7ac292ed21ba1e1450c407",
      "parents": [
        "e0ad12375871df92d8f4e8c729d09ae08b4518e5"
      ],
      "author": {
        "name": "Matthew Treinish",
        "email": "mtreinish@kortar.org",
        "time": "Wed Jan 04 19:51:50 2017 -0500"
      },
      "committer": {
        "name": "Matthew Treinish",
        "email": "mtreinish@kortar.org",
        "time": "Wed Jan 04 19:51:50 2017 -0500"
      },
      "message": "Use the installed swift scripts\n\nThis commit switches how scripts we use to launch the installed version\nin the path. Previously the scripts were manually executed in the source\nrepo, but this has issues if you\u0027re trying to run with py3 in a system\nwhere python \u003d\u003d py2. Setuptools already does the shebang magic for us\nat install time, so we just need to use the installed version of the\nscript.\n\nChange-Id: Iaa4d80ec607a2aa200400330e16cad3a4ca782ac\n"
    },
    {
      "commit": "2bd8d906813679cfc22f5bc62882a289906a64af",
      "tree": "4b1b8a0e17368bdde6f5b7e0e25df44abe4d8a91",
      "parents": [
        "c330a8a66195dc5693fcaf1f4a64f3e996399d54"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Thu Oct 13 08:24:57 2016 +0200"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Thu Oct 13 10:08:09 2016 +0200"
      },
      "message": "Objects versions new style config\n\nallow_versions is going to be a deprecated option.\nSetting up the object versining in the new way.\n\n[1] http://docs.openstack.org/developer/swift/overview_object_versioning.html\n\nChange-Id: Ia520fbb6eb535b08ce83c0cb4bea31e7bba55eb3\n"
    },
    {
      "commit": "4b49e409f853104dae021dfca1a9342ec9ac4709",
      "tree": "dc27f7ff83839baa55b459ca4aa2230c4ed19439",
      "parents": [
        "fb1e1cc7e3de4483de48661b03a4417e2d24957a"
      ],
      "author": {
        "name": "Gregory Haynes",
        "email": "greg@greghaynes.net",
        "time": "Wed Aug 31 18:19:51 2016 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Sep 20 08:14:11 2016 -0700"
      },
      "message": "Use apache for tls-proxy ssl termination\n\nStud is now abandonware (see https://github.com/bumptech/stud) and is\nnot packaged in xenial. Lets use Apache for SSL termination since its\nthere already.\n\nChange-Id: Ifcba410f5969521e8b3d30f02795541c1661f83a\n"
    },
    {
      "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\""
    }
  ],
  "next": "3c92eb9b7fb844ab4ea760e1e444c65f412e4769"
}
