)]}'
{
  "log": [
    {
      "commit": "7f66503de0dcfce6884f2dbe08fa5fd4ee9b05e3",
      "tree": "ae68b046295d995055a1aae407e4b2a3106e6012",
      "parents": [
        "0515ff0912d5047d24afcc86d49a8e9be71ace6d"
      ],
      "author": {
        "name": "Nikolay Fedotov",
        "email": "nfedotov@cisco.com",
        "time": "Wed Feb 24 16:07:18 2016 +0000"
      },
      "committer": {
        "name": "Nikolay Fedotov",
        "email": "nfedotov@cisco.com",
        "time": "Thu Feb 25 14:03:19 2016 +0000"
      },
      "message": "Use SCREEN_NAME variable instead of hardcode in unstack and rejoin scripts\n\nChange-Id: I7382eccf96d14df223777cd43344d554b8452a77\n"
    },
    {
      "commit": "8040e69a049731216efcdc3497b78391f7bc2a31",
      "tree": "6d8cc4646f1121c2c7201b3e05428bbc8aa6c3ae",
      "parents": [
        "886410eadeaf5366e51bd31677a3b49b34eb391c"
      ],
      "author": {
        "name": "Mike Chester",
        "email": "mchester@siaras.com",
        "time": "Wed Feb 17 10:52:33 2016 -0800"
      },
      "committer": {
        "name": "Mike Chester",
        "email": "mchester@siaras.com",
        "time": "Wed Feb 17 10:55:43 2016 -0800"
      },
      "message": "Check UNSTACK_ALL or -a flag set on unstack\n\nThese flags were not functioning as described. Check if UNSTACK_ALL is\nset in env or -a flag is set when calling script.\n\nChange-Id: I128d32b1e74ee46e24a9eb2e81560e58137b1553\nCloses-Bug: #1546687\n"
    },
    {
      "commit": "5073896cc9f47d4f8c489250bb5585b2190abb5a",
      "tree": "ca5af5c4c22cb30d0b9ee7d33b1e408171657bda",
      "parents": [
        "cd23ab9644ddd9b355632d1d0d6ed07206b876da",
        "7710e7fc273dd9af6799ea565bbd21ce03745a44"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Feb 14 14:42:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Feb 14 14:42:43 2016 +0000"
      },
      "message": "Merge \"Only use lsb_release for distro tags\""
    },
    {
      "commit": "e73f88e70b9f547bb8306f1f5715c898426f87b8",
      "tree": "7f9ae4b670250e89113c439a953c7c9d3e0ce0fe",
      "parents": [
        "5601dff54d755aeff133ee2e5914601e7420ce03"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Feb 03 06:58:39 2016 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Feb 04 07:47:45 2016 -0500"
      },
      "message": "tweak ps4 for readability\n\nAfter staring at a bunch of logs, try to crisp up the ps4 output for\nmaximum readability.\n\nThis also adds PS4 to all calling scripts by having a common PS4 in\nstackrc. It should make understanding when clean fails a bit more\nstraight forward.\n\nChange-Id: Ia1f8dff5c1102c32c146a020a9f033c65d2c50de\n"
    },
    {
      "commit": "7710e7fc273dd9af6799ea565bbd21ce03745a44",
      "tree": "46bee50accf6f4c0ada1d89382ab92de5d0eebea",
      "parents": [
        "2cb3db338a17bd26fef1f56fc155be5d01a6ef7e"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Aug 27 16:15:32 2014 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jan 12 09:23:35 2016 +1100"
      },
      "message": "Only use lsb_release for distro tags\n\nThe existing GetOSVersion has a lot of unused code which is wrong in\nseveral ways\n\n - the only path tested in upstream CI is with lsb_release, because\n   it\u0027s pre-installed on all nodes\n\n - the /etc/redhat-release checking probably still works, but is\n   unnecessary\n\n - If using lsb_release, os_UPDATE has never actually been set.\n\n - the /etc/SuSE-release branch checking is broken if the lsb package\n   is actually installed.  lsb checking does not set os_UPDATE but yet\n   the SuSE DISTRO setting relies on this to set a patch level (and so\n   does some of the rpm tags).  SuSE 11 is up to update 3, but the rpm\n   matching is stuck hard-coded to update 2.  I\u0027m guessing\n   installation is actually broken there.\n\n - the debian checking branch is broken.  The VERSION tags have been\n   removed and were not supposed to be relied on anyway (see notes in\n   [1])\n\nThis simplifies things:\n\n - remove OSX checking (moved here after discussions in\n   I31d0fdd30928ecc8d959a95838b1d3affd28ac6f)\n\n - only use the output of lsb_release.\n\n - A small best-effort check to pre-install lsb packages if not\n   detected (that avoids chicken-egg-problem of package-install\n   wrappers relying on os_* flags).\n\n - The unset os_UPDATE is removed.  It\u0027s only previous use was for\n   setting separate suse versions in the DISTRO element for matching\n   during package installs (since removed)\n\n - DISTRO setting is modified to use the parts of os_RELEASE it wants.\n   Per-above, this is the correct place to parse out specifics.\n\n - Call out the is_* functions, which are a better way to detect\n   platforms\n\n - Export the variables as read-only, since they shouldn\u0027t be reset\n\n[1] http://sources.debian.net/src/base-files/7.5/debian/changelog/\n\nChange-Id: I46a2c36d95327087085df07cb797eb91249a893c\n"
    },
    {
      "commit": "5cad4d3fe94f2e3823a8d9a2588b3a580d69605c",
      "tree": "e890fe4dd3faf4a1b21d39d8fdb4a670e5f4961a",
      "parents": [
        "db6cb078aecf90c7b0cb30778903c61770a25861"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Nov 10 14:39:07 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Nov 11 14:30:12 2015 -0500"
      },
      "message": "refactor zookeeper into a slightly more generic dlm module\n\nThis attempts to make the zookeeper installation a bit more modular\n(assuming that other folks will want to add other dlms as plugins),\nand addresses the service start issues with zookeeper under\nubuntu/upstart.\n\nZookeeper is not going to be installed by default. Services need to\nask for it with use_dlm.\n\nChange-Id: I33525e2b83a4497a57ec95f62880e0308c88b34f\n"
    },
    {
      "commit": "33a96ffc2609d8477542002e56515a5026c2c48d",
      "tree": "8ad5200973d8486045c59a08dade71b894e03248",
      "parents": [
        "c9f6f1126599c49c6cd838bdaa2a93ffb400e87c"
      ],
      "author": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Mon Nov 02 17:23:39 2015 -0500"
      },
      "committer": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Tue Nov 03 12:13:50 2015 -0500"
      },
      "message": "Zookeeper for DLM scenarios\n\nIn Tokyo, there was a cross project session on distributed\nkey locking:\nhttps://etherpad.openstack.org/p/mitaka-cross-project-dlm\n\nIn support of the discussion there, we\u0027ll need support for\na zookeeper service in Devstack and ability to use libraries\nlike Tooz for DLM functionality.\n\nIn this review, we pick up some configuration files from\nmonasca-api and copy the lib/template to implement the\nzookeeper lifecycle. Those services that need zookeeper\nneed to add \"zookeeper\" in ENABLED_SERVICES.\n\nChange-Id: Icef26e5cdaa930a581e27d330e47706776a7f98f\n"
    },
    {
      "commit": "f845b22a459b4bf88f54ebc8c569ef217cd76738",
      "tree": "f19d0233dc6e719d3402f9ee85c4486a3f013420",
      "parents": [
        "983c07c297e51a86b44c226491e62b3abfeefb5d",
        "e9a4750fe1b111eeb457378c26ca9eea1b5e0085"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Sep 28 17:49:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Sep 28 17:49:32 2015 +0000"
      },
      "message": "Merge \"Remove ceilometer in favor of plugin\""
    },
    {
      "commit": "be65c6f88d5922e356178a2958afa9ae452fb85e",
      "tree": "87e02530e8584ce2630e5f3307dd564a4452417e",
      "parents": [
        "2af6915e08da87334da9ea023ad65b1f10040604"
      ],
      "author": {
        "name": "Wei Jiangang",
        "email": "weijg.fnst@cn.fujitsu.com",
        "time": "Mon Sep 14 18:52:47 2015 +0800"
      },
      "committer": {
        "name": "Wei Jiangang",
        "email": "weijg.fnst@cn.fujitsu.com",
        "time": "Mon Sep 14 18:55:07 2015 +0800"
      },
      "message": "Fix typos in stackrc and unstack.sh\n\nComponets \u003d\u003e Components\npluggins \u003d\u003e plugins\n\nChange-Id: I82634a55fd5895599099c94817af7d8d2f602859\n"
    },
    {
      "commit": "e9a4750fe1b111eeb457378c26ca9eea1b5e0085",
      "tree": "d7ef7ebdc7c61f9c2e70516858b57be1b8f30828",
      "parents": [
        "633e740dcfb0a8a107880a6fc6b9aeff8ee43b11"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Sat Jun 27 11:29:09 2015 +0000"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Wed Sep 09 16:44:29 2015 +0000"
      },
      "message": "Remove ceilometer in favor of plugin\n\nThe ceilometer project is moving to using a devstack plugin rather\nthan having ceilometer in the base devstack. This is to allow\ngreater control and flexibility.\n\nChange-Id: I413ab159474b7d7231ad66d3a482201f74efe8a8\n"
    },
    {
      "commit": "23bf045c183f53762e7771fe0081b3d4ab09e107",
      "tree": "fb3d288344117c1bd645fcd2154ae3cd77913194",
      "parents": [
        "a1774b5704fc73a52ffbda869f923819adb10cf7"
      ],
      "author": {
        "name": "Jordan Pittier",
        "email": "jordan.pittier@scality.com",
        "time": "Fri May 29 11:38:22 2015 +0200"
      },
      "committer": {
        "name": "Jordan Pittier",
        "email": "jordan.pittier@scality.com",
        "time": "Fri Jun 19 14:34:59 2015 +0000"
      },
      "message": "Check if cinder is enabled before doing anything lvm2 related\n\nOn some system Cinder is not enabled so we can\u0027t assume LVM is installed. So\ndo not try to `sed` /etc/lvm/lvm.conf or clean LVM VG if cinder is not enabled\n\nChange-Id: I09b1a7bee0785e5e1bb7dc96158a654bd3f15c83"
    },
    {
      "commit": "9e220b9b2b560b160c93058b255b3d69e49c0cbc",
      "tree": "c1506e67b15f9cf4a1297c01e36d62704b672725",
      "parents": [
        "bf5de0aee48cd756fcc8e792f2014054c5f5294a"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@hp.com",
        "time": "Tue Mar 24 16:32:03 2015 -0700"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@hp.com",
        "time": "Thu May 14 07:57:23 2015 -0700"
      },
      "message": "Move trove into in-tree plugin\n\nOnce the trove code is copied into the trove repo and it is used\nas a devstack-plugin, we can remove trove-specific code from\ndevstack.\n\nChange-Id: I8f9f1a015edb7ec1033e2eaf0b29ab15d89384ce\nDepends-On: I3506dec0e6097f9c2e9267110fdfb768faa23c85\n"
    },
    {
      "commit": "6cdb2e0f1a2c2429587f1e9187344cb26eb31812",
      "tree": "433984396700ffadbf99b1a169e493180eaae7bb",
      "parents": [
        "cd7655cbfcc119e5dafe308ce31e54d3e28b3b63"
      ],
      "author": {
        "name": "Dan Smith",
        "email": "dansmith@redhat.com",
        "time": "Thu Apr 23 09:12:59 2015 -0700"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Apr 23 22:12:15 2015 +0000"
      },
      "message": "Remove the lvm.conf filter during cleanup\n\nThis avoids us leaving the filter in the global lvm config. Without cleaning\nthis up, we can hit some failures to run stack.sh because devices are excluded\nthat we need to be able to see. This resets it to what it was before when\nwe do a cleanup.\n\nAlso, do this before we add the line, so we don\u0027t add multiple lines on\nsuccessive runs.\n\nCloses-bug: #1437998\nChange-Id: Idbf8a06b723f79ef16a7c175ee77a8c25f813244\n"
    },
    {
      "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": "6e275e170c042794560c9b2c442a32c3de55566e",
      "tree": "979948aa709f7f10766fd0b024e3eb0faa40768e",
      "parents": [
        "4cc060e77c58882f9728c2515e65d205d0e969dd"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Mar 26 05:54:28 2015 -0400"
      },
      "committer": {
        "name": "Bharat Kumar Kobagana",
        "email": "bharat.kobagana@redhat.com",
        "time": "Thu Mar 26 20:50:11 2015 +0530"
      },
      "message": "provide an override-defaults phase\n\nduring the glusterfs integration it was seen that plugins might need\nto set new defaults on projects before the project files load. Create\na new override-defaults phase for that.\n\nIntentionally not adding to the documentation yet until we\u0027re sure\nthis works right in the glusterfs case.\n\nReported-By: Deepak C Shetty \u003cdeepakcs@redhat.com\u003e\nChange-Id: I13c961b19bdcc1a99e9a7068fe91bbaac787e948\n"
    },
    {
      "commit": "5a9739a4cae7957a24898fb11562559be2916121",
      "tree": "d41c4521e163f671114d61604b4d0ee9e94111b3",
      "parents": [
        "85c98b3e18b132d99c569626e1b747eafa59f7c6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 25 11:33:51 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Mar 25 22:22:11 2015 -0400"
      },
      "message": "Rename lib/neutron to lib/neutron-legacy\n\nPreparing to refactor lib/neutron to support Neutron as the default\nnetwork config.  lib/neutron will be renamed internally and refined\nto support a couple of specific configurations.\n\nChange-Id: I0d3773d14c4c636a4b915734784e7241f4d15474\n"
    },
    {
      "commit": "a519f429cf3cd90f06dd50b95608ec18f81d400c",
      "tree": "fa78756e781887a5915e484d1f83f4d472b2301e",
      "parents": [
        "404d3afa5c86a99f4c86331c268dab2b2fca7a9f"
      ],
      "author": {
        "name": "Mahito OGURA",
        "email": "earthdragon77@gmail.com",
        "time": "Mon Mar 23 15:19:57 2015 +0900"
      },
      "committer": {
        "name": "Mahito OGURA",
        "email": "earthdragon77@gmail.com",
        "time": "Mon Mar 23 15:19:57 2015 +0900"
      },
      "message": "Fix unstack.sh to stop stop_dstat when it is disabled.\n\nunstack.sh always stop dstat process, however unstack.sh show \u0027dstat: no process\nfound\u0027 when dstat is disabled.\nThis patch stop function of stop_dstat, when dstat is disabled.\n\nChange-Id: If9054826bed8a7fedd4f77ef4efef2c0ccd7f16e\nCloses-Bug: #1435148\n"
    },
    {
      "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": "d26da45b98a75b9d61d0a33d216ca15543a7faf2",
      "tree": "64c118939cba8bb922b20dde8d517b9893076dd2",
      "parents": [
        "a99e5c9b0e308aa5fa66591e5213243463313ba6",
        "9a413abcd4bb0a7527b37fcaab4a16c9aa7cd938"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 11 20:53:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 11 20:53:44 2015 +0000"
      },
      "message": "Merge \"add gating up/down script for devstack\""
    },
    {
      "commit": "9a413abcd4bb0a7527b37fcaab4a16c9aa7cd938",
      "tree": "bc5f7b1b9ea3ec7744d207a7902cbe26d2308efe",
      "parents": [
        "fdae448a05942d70f20f9de63a56877d11f89c08"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Feb 04 12:44:18 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Feb 11 06:10:38 2015 -0500"
      },
      "message": "add gating up/down script for devstack\n\nThis adds the test infrastructure for testing that unstack.sh and\nclean.sh do the right thing, and actually stop what\u0027s expected. This\nis designed to be used in upstream testing to make unstack and clean a\nbit more certain.\n\nIt includes numerous fixes to make these pass in an errexit\nenvironment with the gate config. The scripts still don\u0027t run under\nerrexit because we don\u0027t assume we\u0027ve handled all possible cleanup safely.\n\nChange-Id: I774dfb2cc934367eef2bb7ea5123197f6da7565b\n"
    },
    {
      "commit": "ebcb8496348fad84053c79a933771ce6063994f8",
      "tree": "2e1ed1eac48fef5aebb20f0df087887d5a079209",
      "parents": [
        "5fc64f1fcba9a971e3c7f9e6100fd84d10678425"
      ],
      "author": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Tue Feb 10 14:16:56 2015 -0500"
      },
      "committer": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Mon Feb 09 22:45:22 2015 -0500"
      },
      "message": "Unconfigure the devstack CA when USE_SSL is True\n\nChange-Id: I17cb5e5d93bfe6fc6746ee530f639e2ed42da85a\n"
    },
    {
      "commit": "117c6c2048e232660613666b9e606991a5ad32b6",
      "tree": "941cd79eb31ebff6aaf7e5797e29c6d655d08f14",
      "parents": [
        "fdb00b4b56103df2e1fc9f921dc222bfe67a770a"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Feb 10 07:53:36 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Feb 10 07:53:36 2015 -0500"
      },
      "message": "remove lib/stackforge\n\nNow that we have a working external plugin mechanism stackforge\nprojects definitely don\u0027t need to be directly in devstack. These were\nlargely unused previously anyway.\n\nChange-Id: I300686b2ac976d9b454404842b3f210fd7c239d9\n"
    },
    {
      "commit": "d470867f08a2be3c30c66d9519a95eb5801cfbc9",
      "tree": "41afbec58aab34f7ecf6f3c1e84f0acd4edb7ef5",
      "parents": [
        "62002dd88b7909ac249face4243e1aae03745a01"
      ],
      "author": {
        "name": "Daniel Genin",
        "email": "Daniel.Genin@jhuapl.edu",
        "time": "Fri Oct 31 15:01:29 2014 -0400"
      },
      "committer": {
        "name": "Daniel Genin",
        "email": "Daniel.Genin@jhuapl.edu",
        "time": "Mon Jan 19 11:51:16 2015 -0500"
      },
      "message": "Adds support for LVM ephemeral storage in Nova\n\nDevStack currently lacks support for LVM ephemeral storage in Nova.\nThis support is important for testing of Nova\u0027s LVM backend. The\nproposed change adds a default volume group, to be shared by Cinder\nand Nova. It also adds a configuration option NOVA_BACKEND, which\nmust be LVM if it is set, that determines whether Nova should be\nconfigured to use LVM ephemeral storage.\n\nChange-Id: I4eb9afff3536fbcd563939f2d325efbb845081bb\n"
    },
    {
      "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": "2c65e71ab85a6271818048f79541e9b269566df5",
      "tree": "ef8721cc25ec6f4736ea62a058d5c3556bbf510d",
      "parents": [
        "7d6df5225bafaf77137aaa69f8fecd1286491b36"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 18 09:44:56 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Jan 06 12:30:25 2015 -0500"
      },
      "message": "Implement devstack external plugins\n\nThis is an initial pass at plugin infrastructure for devstack which\nallows specifying an external repository via:\n\nenable_plugin \u003cname\u003e \u003cgiturl\u003e [branch]\n\nIt implements the devstack specification for this at\nI173dee3d57967b1d2ffd30e4868a2832aeac97ce\n\nChange-Id: I8e4175313b3cf0b12e981122358b1288a7eb0746\n"
    },
    {
      "commit": "2f8e08b5728f4272b415b1c0aab8ff62eae29b06",
      "tree": "9f817f0351bf0d7bf5784ac56bf38b4e637b0131",
      "parents": [
        "129166c2d9ab4135143467eb23a8201410a4ed35"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Dec 05 08:31:16 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Dec 05 08:31:16 2014 -0500"
      },
      "message": "remove nova baremetal driver support\n\nThis has been deleted from the nova tree, we should purge it from\ndevstack, as it will not work any more.\n\nChange-Id: I20501fec140998b91c9ddfd84b7b10168624430a\n"
    },
    {
      "commit": "944b28280b86bba7592b1c7a2032dbd0eaa39014",
      "tree": "536f4a12c918cdef4077be75d032270244966ae3",
      "parents": [
        "c53e83601a4ffc572ae99b3a4f330a940066cc1d"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Wed Oct 01 18:21:08 2014 -0700"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Wed Oct 01 19:52:23 2014 -0700"
      },
      "message": "Drop workaround for pip \u003c 1.4\n\nNow that we are on pip 1.5.6 lets drop the workaround to make pip 1.4\nwork. As this is a development/testing tool requiring a newer pip\nshouldn\u0027t be an issue. Also stack.sh installs pip by default.\n\nWork around introduced in https://github.com/pypa/pip/issues/709\n\nChange-Id: I0e7aad1d21f4fce4c020ce36685bb56893c66bdc\n"
    },
    {
      "commit": "48a75c14a1ad8b6dd7d894d2bf02307f00c23389",
      "tree": "47911a9d227b8538cfd318c3c10563f236570800",
      "parents": [
        "7a68f21b296464aed54da7e3c8f3e5de238ce61d"
      ],
      "author": {
        "name": "Martin André",
        "email": "martin.andre@kvhasia.com",
        "time": "Mon Sep 08 08:58:58 2014 +0000"
      },
      "committer": {
        "name": "Martin André",
        "email": "martin.andre@kvhasia.com",
        "time": "Mon Sep 08 09:02:44 2014 +0000"
      },
      "message": "Source lib/dstat in unstack.sh\n\n`stop_dstat` function was extracted into $TOP_DIR/lib/dstat in commit\ne0b08d04ab41f9aca96997c87bd9fa13feba2536 but the new lib was not sourced in\nunstack.sh.\n\nChange-Id: I6878552d9f384fdd7882e52000b37ac6a60844c3\nCloses-Bug: 1366713\n"
    },
    {
      "commit": "e0b08d04ab41f9aca96997c87bd9fa13feba2536",
      "tree": "929d6624b29363e0506459864ab38c632aee180c",
      "parents": [
        "11d6bde264a90fde1d8bb8b15e9229f7af808840"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Wed Aug 20 00:34:55 2014 -0700"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Tue Aug 26 17:10:52 2014 -0700"
      },
      "message": "Pull dstat logic into its own function so grenade can use it\n\nIn order to use dstat on the new side of grenade, pull dstat code into\nits own lib with the function start_dstat\n\nChange-Id: I5c908d594a6f3a90ed4b3f744002bf606841cf07\n"
    },
    {
      "commit": "bd5dae0618ed697504a25a692a02e8372fc3d66c",
      "tree": "6f2e0544e611a610a0ddb2c46b28f78ab2427f2b",
      "parents": [
        "e33379658ffc97ffa82117e5dc35f6eb01bde951"
      ],
      "author": {
        "name": "Stanislaw Pitucha",
        "email": "stanislaw.pitucha@hp.com",
        "time": "Wed Jun 25 15:29:43 2014 +0100"
      },
      "committer": {
        "name": "Stanislaw Pitucha",
        "email": "stanislaw.pitucha@hp.com",
        "time": "Mon Jun 30 10:52:25 2014 +0100"
      },
      "message": "Do a proper tls/ca cleanup in unstack\n\nCertificates and the index were left in the data directory after\nrunning unstack. That would break devstack on the next run.\n\npartial blueprint devstack-https\nChange-Id: I6eb552a76fb29addf4d02254c027e473d6805df1\n"
    },
    {
      "commit": "e994f5708d124ae71211876e9456499ac25646a3",
      "tree": "361cc464fd10b32b71d228258634772f83fbdbe2",
      "parents": [
        "3208d7ad43d665536c523a37b33c2a6491529b3e"
      ],
      "author": {
        "name": "Eric Windisch",
        "email": "ewindisch@docker.com",
        "time": "Fri Feb 28 15:13:37 2014 -0500"
      },
      "committer": {
        "name": "Eric Windisch",
        "email": "ewindisch@docker.com",
        "time": "Fri Feb 28 15:21:38 2014 -0500"
      },
      "message": "Remove bm_poseur, unmaintained and obsolete\n\nThe bm_poseur git repository link has been broken\nfor over 11 months. The virtualized/fake baremetal\nenvironment is not working and has not worked in a\nlong time. Now, on the tail of enabling \u0027enable -o errexit\u0027,\nthis functionality now has a hard break.\n\nChange-Id: I3cbd8db58c422bc5273d2433278aaa5e449ecfd9\nCloses-Bug: 1285954\n"
    },
    {
      "commit": "7719d4aca8e87a73416637f2b91671738f801123",
      "tree": "f26743f624a6979668c8d74f703e8c4f9454c89c",
      "parents": [
        "2276437fa0523b5d8f7ac60058ce84d7a50459da",
        "e4fa72132228688d2fe74dd974fe04b0fe4c3d6b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 12 07:19:11 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 12 07:19:11 2014 +0000"
      },
      "message": "Merge \"Begin is_service_enabled() cleanup\""
    },
    {
      "commit": "e4fa72132228688d2fe74dd974fe04b0fe4c3d6b",
      "tree": "b92c3050cd93c4d3d87142708eb30f77b58e2628",
      "parents": [
        "f583a04d739a189da6f3780f83e2ddc61bfe9e22"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jan 15 15:04:49 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Feb 07 10:06:21 2014 -0600"
      },
      "message": "Begin is_service_enabled() cleanup\n\nThis converts the special cases in the is_service_enabled() function to call\nindividual functions declared by the projects.  This allows projects that\nare not in the DevStack repo and called via the extras.d plugin to handle\nan equivalent service alias.\n\n* Ceilometer\n* Cinder\n* Glance\n* Neutron\n* Nova\n* Swift\n\nTODO: remove the tests from is_service_enabled() after a transition period\n\nPatch Set 2: Rebased\n\nChange-Id: Ic78be433f93a9dd5f46be548bdbd4c984e0da6e7\n"
    },
    {
      "commit": "1023ff7c3ac184da00b6306f361f285301849881",
      "tree": "45081dee03d7b5f8b67ae916edcec5012db157ba",
      "parents": [
        "b160640d47446bf379b3299460c4e76cb6e6c7c6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jan 27 14:56:44 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Feb 04 15:51:38 2014 -0600"
      },
      "message": "Move ironic to plugin\n\nAlso adds an is_ironic_enabled() function to prepare for an upcoming\nchange in is_service_enabled().\n\nChange-Id: I6e6e0e8b70221e231785ab27e9b5d4836933ac4c\n"
    },
    {
      "commit": "fc744f9713fcccfebeb52e35c7fc1ce955b89200",
      "tree": "8c759ab2b06a63f3e922780c8e1ff8aefe009cc0",
      "parents": [
        "b53dbad8ac42417960f39bbd1f0901ffae808075"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jan 27 13:45:21 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jan 27 17:16:33 2014 -0600"
      },
      "message": "Convert trove to plugin\n\nAlso adds an is_trove_enabled() function to match\nhttps://review.openstack.org/69497 changes for is_service_enabled().\n\nChange-Id: Ic0408ff6d9816aec8a3506931470470342a5dcd7\n"
    },
    {
      "commit": "0049c0c434b4672963b6622486c6c638259bdfda",
      "tree": "f53f60fac16cdd4f385dfb95d6dc91bfa8233a81",
      "parents": [
        "5eec5b6b80401842ad1f7275d9c7a6949cc6f848"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Jan 16 18:16:48 2014 -0600"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Jan 16 18:16:48 2014 -0600"
      },
      "message": "Make unstack.sh more like stack.sh\n\nunstack.sh and stack.sh both have to \"configure projects\", but the\ncode was different. This change makes it so the 2 sections of the\nfiles are the same.\n\nChange-Id: Ia06f8bbfbe2a6e87fb406e34e13a39bd7fa9e5af\n"
    },
    {
      "commit": "5eec5b6b80401842ad1f7275d9c7a6949cc6f848",
      "tree": "9c83a780d05d34be9af866dff6de27fd73c93cef",
      "parents": [
        "b200b1d4dda4e60bacd921f98e4e47d5b4f046d9"
      ],
      "author": {
        "name": "Gordon Chung",
        "email": "chungg@ca.ibm.com",
        "time": "Tue Jan 14 11:05:31 2014 -0500"
      },
      "committer": {
        "name": "Gordon Chung",
        "email": "chungg@ca.ibm.com",
        "time": "Tue Jan 14 11:23:39 2014 -0500"
      },
      "message": "command not found errors on unstack\n\n- add lib/ceilometer and lib/heat to source list for when stop_heat\nand stop_ceilometer functions are called.\n- add lib/tls source to lib/keystone for when is_ssl_enabled_service\nfunction called.\n\nChange-Id: Ief05766e9cfda71fb6392c8a757d04751283414e\nCloses-Bug: #1269047\n"
    },
    {
      "commit": "9fc8792b0ac7525b4c353b0a55b8b80eabf76e2a",
      "tree": "63db600410e41a8d2e617a735727a31f7254d083",
      "parents": [
        "c8c0ead4cacc512e78be66c11ce98fa22fb77a64"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed May 22 17:19:06 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Jan 11 11:46:19 2014 -0600"
      },
      "message": "Robustify service shutdown\n\n* Save PID when using screen in screen_it()\n* Add screen_stop()\n* Call out service stop_*() in unstack.sh functions so screen_stop()\n  can do its thing\n\nCloses-bug: 1183449\nChange-Id: Iac84231cfda960c4197de5b6e8ba6eb19225169a\n"
    },
    {
      "commit": "cdf3d766478d04e62a860754298e7d86f89b33a9",
      "tree": "e42f8bad2abca9aea1b838b9132509e521fb5939",
      "parents": [
        "13209d8b6dfb31b40e752c2b8edaef48e71e319f"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 15 09:42:43 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 15 16:13:47 2013 -0500"
      },
      "message": "Add stack phases to extras.d handling\n\nAdd hooks to stack.sh, unstack.sh and clean.sh to call the extras.d\nscripts at multiple points in stack.sh.  This allows these scripts to\nperform installation and startup tasks at similar times as they would\nif integrated into stack.sh.\n\nextras.d/70-tempest.sh is present as an example of the structure\nof these scripts.\n\nSee extras.d/README.md for more information.\n\nChange-Id: Ic1fe522559b94d204d6c0319a2e3d23684c8d028\n"
    },
    {
      "commit": "23f69d83e5564ece0308535117cc6d224fcc3557",
      "tree": "80f8bd2c66f4a44dd0310dcc370fd4dca94e095e",
      "parents": [
        "af2b982842c79e8d7f320893d4d2552b3adeb114"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Oct 04 12:35:24 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Oct 04 16:36:00 2013 -0500"
      },
      "message": "Split the creation of $STACK_USER account out of stack.sh\n\nAutomatically creating a new user account is not always the right course\nof action when stack.sh is running as root.  Plus, the re-exec did not\nwork correctly in some cases.\n\n* Create tools/create-stack-user.sh to set up a suitable user\n  for running DevStack\n* Abort stack.sh and unstack.sh if running as root and suggest creating a\n  suitable user account.\n\nChange-Id: I5d967c00c89f32e861449234ea8fe19261cd9ae3\n"
    },
    {
      "commit": "0cccad43aad08487ad1712c63afed602889aaf72",
      "tree": "7be8f53e47a2ff1eb4f245ca71fa99df59d924c5",
      "parents": [
        "58afc729831d0d202bc4f1aa13a3340e3f1320c5"
      ],
      "author": {
        "name": "Nikhil Manchanda",
        "email": "SlickNik@gmail.com",
        "time": "Mon Dec 03 18:15:09 2012 -0700"
      },
      "committer": {
        "name": "Michael Basnight",
        "email": "mbasnight@gmail.com",
        "time": "Wed Sep 11 23:48:07 2013 +0000"
      },
      "message": "Added Trove (Database as a Service).\n\n- Added changes to stackrc for the Trove Repos.\n- Added support to devstack for \"install\", \"configure\",\n  \"init\", and \"run\"\n\nimplements blueprint:trove-devstack-integration\n\nChange-Id: Ib3f6daad33e629f764a174b80762c808ce8588e2\n"
    },
    {
      "commit": "630d03e77a9505ae60b6c57dea314bfdd6780bac",
      "tree": "24b55038b36b248cefec1cb78f9146ee00a43229",
      "parents": [
        "e45a6af7e8e86e6d95110a65083659ed924012c3",
        "ce696b60d77752f74924fa133c45910e9d0ef706"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 03 16:19:06 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 03 16:19:06 2013 +0000"
      },
      "message": "Merge \"Basic support of Ironic\""
    },
    {
      "commit": "2aa2a89cdb9071cea919116e283c16ac9dd841d6",
      "tree": "88c156a62dc7b594499556dab11083b90425f886",
      "parents": [
        "415360b23157caac28899fe0e02f47f0e4532ca2"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sun Aug 04 19:53:19 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Aug 28 22:36:48 2013 -0500"
      },
      "message": "Add support for Docker as Nova hypervisor\n\n* Add basic support for hypervisor plugins in lib/nova_plugins\n* Add lib/nova_plugins/hypervisor-docker to use Docker as a Nova\n  hypervisor.\n* Add tools/install_docker.sh to install the Docker daemon and\n  registry container, download base image and import\n* Configure Nova to use docker plugin\n* Add docker exercise and skip unsupported ones\n\nNova blueprint: new-hypervisor-docker\n\nChange-Id: I9e7065b562dce2ce853def583ab1165886612227\n"
    },
    {
      "commit": "ce696b60d77752f74924fa133c45910e9d0ef706",
      "tree": "3175e0f826ed27677eb46b797b3e68fe563368d9",
      "parents": [
        "9ed021665415c4d58871278d1c89e6c16e008fb5"
      ],
      "author": {
        "name": "Roman Prykhodchenko",
        "email": "me@romcheg.me",
        "time": "Fri Aug 09 10:40:45 2013 +0300"
      },
      "committer": {
        "name": "Roman Prykhodchenko",
        "email": "me@romcheg.me",
        "time": "Thu Aug 22 12:30:51 2013 +0300"
      },
      "message": "Basic support of Ironic\n\nIronic is an OpenStack project than brings a\nseparate service for baremetal provisioning.\nCurrently Ironic is in incubation but it needs\nto have basic support in devstack to provide\nautomatic deployment testing.\n\nChange-Id: Ide65a1379fa207a6c8b2c7d9a4f9c874b10fd9ba\n"
    },
    {
      "commit": "d98a5d0a58c1fae2ce8adcd8098cefaa9f558381",
      "tree": "77bf37cbfaf5f3f797bc369072b199357d5bf5dd",
      "parents": [
        "bc84cdf4877bf61c5b684dc01e4ef9b77bb3e4be"
      ],
      "author": {
        "name": "zhang-hare",
        "email": "zhuadl@cn.ibm.com",
        "time": "Fri Jun 21 18:18:02 2013 +0800"
      },
      "committer": {
        "name": "zhang-hare",
        "email": "zhuadl@cn.ibm.com",
        "time": "Mon Jul 29 11:15:21 2013 +0800"
      },
      "message": "enable apache2 server as front end for swift\n\n1.install apache and wsgi module\n2.config apache2 vhost and wsgi files for proxy,\naccount, container and object server.\n3.refactor apache functions from horizon and swift\ninto lib/apache\n\nChange-Id: I3a5d1e511c5dca1e6d01a1adca8fda0a43d4f632\nImplements: blueprint enable-apache-frontend-for-swift\n"
    },
    {
      "commit": "31dcd3e7ab60855d9664bd0aeb87b79eba94913f",
      "tree": "ad28a9d52c1a1b1a41722d96410c35bdaa9e2e92",
      "parents": [
        "89b58846b5604cdf976074a68004840cc6865bdb"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jul 16 13:36:34 2013 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Jul 19 10:44:50 2013 +1000"
      },
      "message": "Use unique build dir for pip installs\n\nThere is a bug in pip [1] where it will choose to install a package\nfrom an existing build-dir if it exists over the version actually\nrequested.\n\nThus if a prior component has installed a later version of the\npackage, the unpacked code is already in /tmp/$USER-pip-build; it gets\nre-installed and manifests in a confusing error along the lines of\n\n---\n Downloading/unpacking requests\u003e\u003d1.1,\u003c1.2.3\n   (from -r /home/stack//python-cinderclient/requirements.txt (line 5))\n   Running setup.py egg_info for package requests\n   Requested requests\u003e\u003d1.1,\u003c1.2.3 (from -r\n   /home/stack/python-cinderclient/requirements.txt (line 5)),\n    but installing version 1.2.3\n...\n  error: Installed distribution requests 1.2.3 conflicts with\n    requirement requests\u003e\u003d1.1,\u003c1.2.3\n---\n\nI believe pip 1.4 fixes this problem, but it should always be safe to\nspecify a unique build-directory for pip installs to avoid picking up\nold versions.\n\nWe also add a cleanup_tmp function for clearing out anything that\nstack.sh might leave around when un-stacking, and add a catch-all for\nthe pip-build dir.\n\n[1] https://github.com/pypa/pip/issues/709\n\nChange-Id: I7ce919cddfd6d6175ae67bd864f82e256ebc7090\n"
    },
    {
      "commit": "b05c876994183b6a1d53dfbdcea2ca4a7743035f",
      "tree": "e5361481fe1ea3f96da5c9139034530bb35706a7",
      "parents": [
        "0a03806e281d1f197e54d48318e4a7bba3eab77c"
      ],
      "author": {
        "name": "Mark McClain",
        "email": "mark.mcclain@dreamhost.com",
        "time": "Sat Jul 06 23:29:39 2013 -0400"
      },
      "committer": {
        "name": "Mark McClain",
        "email": "mark.mcclain@dreamhost.com",
        "time": "Sun Jul 07 00:15:11 2013 -0400"
      },
      "message": "update for name change to Neutron\n\nNote: Nova and Horizon are not updated until those projects have\nmigrated.\n\nChange-Id: I256ef20e7caadd9c96e6dd908c5d8b69ca5c4aeb\n"
    },
    {
      "commit": "614202fc40923a60f83d7108ea66ce07846de324",
      "tree": "a369dfc064c208b9da46acc22e2a1abfeba347fa",
      "parents": [
        "7640350bb5b343fae0932c86b7e536bb5d5e8db1"
      ],
      "author": {
        "name": "JordanP",
        "email": "jordan.pittier@gmail.com",
        "time": "Thu May 16 11:16:13 2013 +0200"
      },
      "committer": {
        "name": "JordanP",
        "email": "jordan.pittier@gmail.com",
        "time": "Wed May 22 10:00:30 2013 +0200"
      },
      "message": "On unstack : clean up network namespaces created by quantum\n\nAlso removes OVS ports\n\nFix Bug #1156837\n\nChange-Id: Id4178c0a12a3ada76403a57a736a9c7a908d6a4a\n"
    },
    {
      "commit": "0c3a5584c6631c3e67682d76bd5a9d3b4628c7f5",
      "tree": "2f6e76597890be27f33b543270c75deae593dbdc",
      "parents": [
        "0d71d1ec56f6063b88e2f11ed057aefe6d7311d2"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "launchpad@chmouel.com",
        "time": "Wed Mar 06 10:58:33 2013 +0100"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "launchpad@chmouel.com",
        "time": "Wed Mar 06 13:16:37 2013 +0100"
      },
      "message": "Enable swift by default.\n\n- Set by default SWIFT_REPLICAS to 1 since this is the most common use\n  case when using it in devstack.\n- If we have swift_replicas to 1 launch the object container account and\n  proxy servers in foreground in screen.\n- Allow any s- services if we have just \u0027swift\u0027 in service enabled\n  instead of having to specify all s- services to enable swift. This will be\n  removed in the future.\n- Set object server starting at 6013 instead of 6010 to not conflict\n  with remote ssh x11 forwarding.\n\nChange-Id: I890b6953b70283bfa0927fff0cf5e92f3c08455b\n"
    },
    {
      "commit": "f3fd44c4be11b53179ff1f227e40c21e9d00721a",
      "tree": "d480e4d9697a923292558aea97fb52617426bfce",
      "parents": [
        "f90b2740f7f15e7414f7f07ac7566f3c0b5b0e2b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Mar 04 17:33:35 2013 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Mar 04 17:52:03 2013 -0500"
      },
      "message": "Revert \"Enable swift by default.\"\n\nThis reverts commit 5a5cbf7274a6a50bb766ec590cf885430ed5c5d0.\n\nThis breaks on a default openstack install on Ubuntu 12.10,\nrevert for now until this can be cleaned up to work out of the\nbox.\n\nChange-Id: I185509cc30bd28e920cdab60fc92129949bd6b0d\n"
    },
    {
      "commit": "5a5cbf7274a6a50bb766ec590cf885430ed5c5d0",
      "tree": "eb9815f278700411ced10c350de7d77792669e83",
      "parents": [
        "c9bda20963bd0e2cdf0139190d527931497d8622"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Mon Feb 04 12:09:10 2013 +0000"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Fri Feb 22 18:50:08 2013 +0100"
      },
      "message": "Enable swift by default.\n\n- Set by default SWIFT_REPLICAS to 1 since this is the most common use\n  case when using it in devstack.\n- If we have swift_replicas to 1 launch the object container account and\n  proxy servers in foreground in screen.\n- Allow any s- services if we have just \u0027swift\u0027 in service enabled\n  instead of having to specify all s- services to enable swift. This will be\n  removed in the future.\n\nChange-Id: I496f79e14f99bd7e9f2c7deee12a4b6e935c3a5b\n"
    },
    {
      "commit": "43eb0b3159d8ad1eb14e0430124cc72cb50ae3c2",
      "tree": "df624b24898b8b9b746f1f01315262812ece1951",
      "parents": [
        "9bd9d7d1a34dd7cb8d5f51936b67c7549f40c9a3"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Sat Jan 12 20:10:34 2013 +0000"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Sat Jan 12 20:10:34 2013 +0000"
      },
      "message": "Make sure to cleanup swift on unstack/relaunch.\n\n- Fixes bug 1049553.\n\nChange-Id: I9fef93d25512c014dfb882adf0e169487bf877d8\n"
    },
    {
      "commit": "768295e9f1b0ee74635f8b3002cf7e1971bbdddf",
      "tree": "04dc83efddb9eda7616508afd256127a020d6b88",
      "parents": [
        "2d9a4e4e37ab2e7cedd169aeaa9918620b673281"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jan 09 13:42:03 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jan 09 19:53:45 2013 -0600"
      },
      "message": "Add mechanism to automatically load additional projects\n\nThis adds an extras.d directory to contain startup scripts that\nstack.sh runs automatically at the end.  Similar to local.sh\nexcept the scripts are sourced into the stack.sh process rather\nthan executed as a child process.  This gives them complete\naccess to the stack.sh environment.\n\nConvert Tempest to use this format as an example.\n\nChange-Id: Ibc95e6aaecf4211da948319eb452293ae4357780\n"
    },
    {
      "commit": "7611c894b598c876912ab967642f0e8c8ad9171b",
      "tree": "54e964aafcd6f6126a403571d7c7ab7e4ae2dc30",
      "parents": [
        "c9702f9a6de5f9860937d438fac3eb59b03db5d7"
      ],
      "author": {
        "name": "Devananda van der Veen",
        "email": "devananda.vdv@gmail.com",
        "time": "Fri Nov 23 10:54:54 2012 -0800"
      },
      "committer": {
        "name": "Devananda van der Veen",
        "email": "devananda.vdv@gmail.com",
        "time": "Fri Dec 28 10:56:17 2012 -0800"
      },
      "message": "Add fake env support to baremetal\n\nUse bm_poseur to create VM and network bridge\nso that, in the absence of physical hardware,\nbaremetal driver still has something to manipulate.\n\nChange-Id: Id80ede13a35e4380f358b47f08d41ff98ea9d70f\n"
    },
    {
      "commit": "3dc18034d6ead99ba90986e9af09b2d15db56b4c",
      "tree": "5adec78248dff7a80e00d8dc2ea37885d7658e8d",
      "parents": [
        "dcd3ffc29c182a17485b63444d79e43d770ed0da",
        "252f2f533ba8cb6607ddbbcdd1c4aff01dbfb5c3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Dec 27 22:14:00 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 27 22:14:00 2012 +0000"
      },
      "message": "Merge \"clean up cinder on an unstack\""
    },
    {
      "commit": "66afb47cb9b470bfa40f11f23ca4f80483cb7aad",
      "tree": "b3348d9d359906dfe06d4a5a3b6da36546079f60",
      "parents": [
        "7ae9425e046a147414d8bbb20408bd0ff3807125"
      ],
      "author": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Fri Dec 21 15:34:13 2012 +0900"
      },
      "committer": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Wed Dec 26 23:41:38 2012 +0900"
      },
      "message": "Refactor quantum installation\n\n* Move quantum installation to lib/quantum\n* Refactor quantum configuration\n* Move Quantum service account creation from keystone_data.sh to lib/quantum\n* Define generic functions to install third party programs\n\n* Minor cleanups related to Quantum\n  * Kill dnsmasq which watches an interface \u0027ns-XXXXXX\u0027 in unstack.sh\n  * Set default_floating_pool in nova.conf to make default flaoting pool\n    work when PUBLIC_NETWORK_NAME is other than \u0027nova\u0027\n  * Make tempest work even when PRIVATE_NETWORK_NAME is other than \u0027private\u0027\n\nChange-Id: I4a6e7fcebfb11556968f53ab6a0e862ce16bb139\n"
    },
    {
      "commit": "252f2f533ba8cb6607ddbbcdd1c4aff01dbfb5c3",
      "tree": "0bfdb0e42110db40b2e2c9446b72bda18cececbd",
      "parents": [
        "701718a844a5efc9932cd28870057ac779a49e92"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Dec 20 16:41:57 2012 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Dec 20 16:43:41 2012 -0500"
      },
      "message": "clean up cinder on an unstack\n\ncinder currently has issues that leave volumes around\nafter tempest tests. Make sure that cinder gets cleaned\nup to a zero state on an unstack.sh so that we can reset\nthe environment.\n\nChange-Id: I448340899bf0fae7d4d16fa26da17feafcef888f\n"
    },
    {
      "commit": "c83a7e125fc1fea0370fffed37435097346befa6",
      "tree": "e60b26a6a27d9a940105754677da18743367999c",
      "parents": [
        "00626a3186650fb111d9af5e2d69311aa5b3d3c2"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Nov 29 11:47:58 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Dec 11 17:08:54 2012 -0600"
      },
      "message": "Add TLS support for keystone via proxy\n\n* Adds lib/tls to create test CA/certs\n* Start proxy if \u0027tls-proxy\u0027 is enabled\n* Configure keystone service catalog for TLS\n* Tear down proxy in unstack.sh\n* Set auth protocol and ca-cert chain in openrc\n* Add DATA_DIR to stackrc\n\nThis is the first in a series of patches to enable TLS support\nfor the service API endpoints.\n\nChange-Id: Ia1c91dc8f1aaf94fbec9dc71da322559a83d14b6\n"
    },
    {
      "commit": "2e69ba79182ba4cb48e55a33018611dec9164d4f",
      "tree": "c1675cbcdba69167db04f3abe06b0f1491992c1c",
      "parents": [
        "fb501d01ac07fd2272696b62743d40b4263ac033",
        "8bc21f6476304ca319489612867109d43d44cb6f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Dec 06 16:44:09 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 06 16:44:09 2012 +0000"
      },
      "message": "Merge \"move setup_quantum to stack.sh\""
    },
    {
      "commit": "8bc21f6476304ca319489612867109d43d44cb6f",
      "tree": "f2f9d2977dcc701ae553481b82d3c3ebf21d0f8b",
      "parents": [
        "a1daabd3402c7b9ce56f2723109dd23b1e0215f3"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Mon Nov 19 22:04:28 2012 -0800"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Wed Dec 05 17:55:08 2012 -0800"
      },
      "message": "move setup_quantum to stack.sh\n\nsudo is only allowed in stack.sh on the CI, so move setup_quantum code\nto the stack.sh.\nalso fixes quantum debug command setup for linuxbridge and ryu\n\nChange-Id: I11bc0aa242a690e25acc088b3e9f483ceab38f26\n"
    },
    {
      "commit": "c18b96515279064c85cb7a71939d9e9de961d905",
      "tree": "45bb2d752c22c7bf9791fca4429a584f9aa41628",
      "parents": [
        "1cd8a4725b83e65e159788ef4d4c994eb5211106"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Dec 04 12:36:34 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Dec 04 18:30:13 2012 +0100"
      },
      "message": "Add is_ubuntu function\n\nThis replaces all of the [[ \"$os_PACKAGE\" \u003d \"deb\" ]] tests, except when\nthose tests are before straight calls to dpkg.\n\nChange-Id: I8a3ebf1b1bc5a55d736f9258d5ba1d24dabf04ea\n"
    },
    {
      "commit": "ece6a332b7d5791c73071fbfea5723d4991c6c85",
      "tree": "c05fa34ec625fa54b9e7a3c69ae8377098eca7eb",
      "parents": [
        "ff7f308e9cbdaf69fa116a628ed3114bb7aad54e"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Thu Nov 29 14:19:41 2012 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Fri Nov 30 20:36:50 2012 +0100"
      },
      "message": "Refactor swift installation\n\n* Optimize loops\n* Move install steps to the lib/swift\n\nChange-Id: Ie8a74b2627395620ccb0501171fa0150ee7497f2\n"
    },
    {
      "commit": "b562e6a710b34609f95bcc46e2ae50e7812aa103",
      "tree": "befbd1be2dcdbbe4c52c9587b97d0afc6daf3b77",
      "parents": [
        "2e8884d75e77083ccbdd23b6b3b272d2541f57e3"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Nov 19 16:00:01 2012 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Nov 26 10:24:09 2012 -0500"
      },
      "message": "move horizon logic to lib to clean up stack.sh\n\npre holiday refactor extrodinare, get the horizon code\nover fully into lib/horizon so that all these fixes aren\u0027t\nscattered through stack.sh\n\nChange-Id: I7f26c5c6708d5693048eb7b1ce792122adbc7351\n"
    },
    {
      "commit": "6fd2811726c098e0311bc22c84c5da0d6aa89c62",
      "tree": "f1fcc2456fe7df3ae4120fc646a947c58d5d3705",
      "parents": [
        "43a94c476d3a69452244731d86e81b3eccb9cc23"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "jogo@cloudscaling.com",
        "time": "Tue Nov 13 16:55:41 2012 -0800"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "jogo@cloudscaling.com",
        "time": "Wed Nov 14 13:21:58 2012 -0800"
      },
      "message": "Remove support for nova-volume\n\n* nova-volume has been removed in Grizzly\n* part of delete-nova-volume\n\nChange-Id: Iba91d69950767823d77aaaa93243b0f476dbb04d\n"
    },
    {
      "commit": "428af5a257310dbbae9bd7d3b9cd81f92ef7ba9a",
      "tree": "0a72a8c22ab8599612a6f6b65b20ada88c7d31d1",
      "parents": [
        "98b26ab358a852c48ba009bd762543293cb09544"
      ],
      "author": {
        "name": "Terry Wilson",
        "email": "twilson@redhat.com",
        "time": "Thu Nov 01 16:12:39 2012 -0400"
      },
      "committer": {
        "name": "Terry Wilson",
        "email": "twilson@redhat.com",
        "time": "Sat Nov 03 18:19:21 2012 -0400"
      },
      "message": "Add PostgreSQL support to devstack\n\nThis patch adds an interface for supporting multiple database backend\ntypes and implemnts support for PostgreSQL. It also adds a function,\nuse_exclusive_service, which serves as a base for enabling a service\nthat conflicts with other services. The use_database function uses it,\nand it might also be useful for selecting messaging backends.\n\nMySQL is still selected by default. Tested on Fedora 17 and Ubuntu\n12.04 with MySQL and PostgreSQL. Implements blueprint postgresql-support\n\nChange-Id: I4b1373e25676fd9a9809fe70cb4a6450a2479174\n"
    },
    {
      "commit": "602cf9bd68399e55448da001eb823be31d03030a",
      "tree": "2c4439d5781423871bff61b8ffc8be6209d3ed70",
      "parents": [
        "eccaa80ba8ff539785f0a58aefc4bd511c369f9d"
      ],
      "author": {
        "name": "Yoshihiro Kaneko",
        "email": "ykaneko0929@gmail.com",
        "time": "Mon Jul 23 06:27:36 2012 +0000"
      },
      "committer": {
        "name": "Yoshihiro Kaneko",
        "email": "ykaneko0929@gmail.com",
        "time": "Fri Oct 19 07:00:32 2012 +0000"
      },
      "message": "Add support for the Quantum Ryu plugin.\n\nThis patch allows using the Quantum Ryu plugin.\nRyu plugin lets Quantum link Open vSwitch and Ryu OpenFlow controller[1].\n\nRyu OpenFlow controller is not Openstack component, but I added some\nprocessing that is related with Ryu to stack.sh for the convenience of\nthe person who intend to try the plugin.\n\nInstructions for using Ryu plugin:\n1. Enable services: \"q-svc\", \"q-agt\", \"q-dhcp\", \"q-l3\", \"quantum\", \"ryu\"\n2. Set Q_PLUGIN to \"ryu\"\n3. Set an internal network interface name to connect br-int on plural\n   hosts to RYU_INTERNAL_INTERFACE (optional)\n\nExample localrc:\n  disable_service n-net\n  enable_service q-svc q-agt q-dhcp q-l3 quantum ryu\n  Q_PLUGIN\u003dryu\n  RYU_INTERNAL_INTERFACE\u003deth1\n\n[1] http://osrg.github.com/ryu/\n\nChange-Id: Ic1da132fa421f1c70c10a319ee3239831b0f956f\n"
    },
    {
      "commit": "a9c4a8aff202225cd02239c9c76e36ef76f88de4",
      "tree": "cb47a6796759388e4655254ccdc48426294cc72d",
      "parents": [
        "45ae8ccc4ade72e3032029aef3f0cd8b36f924ba"
      ],
      "author": {
        "name": "Surya Prabhakar",
        "email": "surya_prabhakar@dell.com",
        "time": "Sat Oct 06 19:35:56 2012 +0530"
      },
      "committer": {
        "name": "Surya Prabhakar",
        "email": "surya_prabhakar@dell.com",
        "time": "Sat Oct 06 19:41:36 2012 +0530"
      },
      "message": "kill throws an error while finding pid\nin quantum dhcp agent section\n\nChange-Id: I602df7875710336125cdbb8407ff293a8e7d448e\n"
    },
    {
      "commit": "d53bedc6bbe4de8daabca2015d05ddda50574ca8",
      "tree": "7e75cc50a2a17afa63dc5af43781a493d628c8e0",
      "parents": [
        "6cab01c01f71974ef80c3b8ec89dcfd60520d296"
      ],
      "author": {
        "name": "John Griffith",
        "email": "john.griffith@solidfire.com",
        "time": "Tue Sep 11 14:15:54 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Sep 14 16:01:19 2012 -0500"
      },
      "message": "Enhance tgt cleanup in unstack.sh\n\n  *Check that tgt driver is in good state when we start\n   if not try to just restart it\n\n  *Remove targets based on iqn entries in persist files\n\n  *Remove the persist files themeselves\n\n  *Stop the tgt service\n\nUpdated to use *_STATE_DIR vars\n\nChange-Id: I3ba9f2b8c099c7f290696760527fe2147d9b1d38\n"
    },
    {
      "commit": "659eabfb6fd9896d90e0ba3267d9e3470002b0d5",
      "tree": "a7ff04feefa2e748b82c0007b0eed50d8aee14bb",
      "parents": [
        "6a1c8497733073ec5855acf7e6de2f57cbf6bf9a"
      ],
      "author": {
        "name": "Josh Kearney",
        "email": "josh@jk0.org",
        "time": "Thu Sep 06 13:47:06 2012 -0500"
      },
      "committer": {
        "name": "Josh Kearney",
        "email": "josh@jk0.org",
        "time": "Thu Sep 06 15:10:38 2012 -0500"
      },
      "message": "Shut down rabbitmq-server when shutting down all services.\n\nFixes bug 978205.\n\nChange-Id: I688887e4b4426db36438f2bf0e537956f4f94757\n"
    },
    {
      "commit": "4a43b7bd90f8e42baaf950a8177cb13fc30f5f2f",
      "tree": "99fbeb92988fb40381d547057130e7842f3c0396",
      "parents": [
        "5090fffa8b2495bab479e1749bfeb358575a1a5a"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Aug 28 17:43:40 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Aug 28 21:12:47 2012 -0500"
      },
      "message": "Cosmetic, comment and text cleanups\n\n* functions\n* stack.sh\n* stackrc\n* unstack.sh\n\nA recent commit to stack.sh broke the RST formatting done by shocco to\nproduce the HTML-formatted files on devstack.org.  A bunch of comment\nand spacing fixes were done (ala pep8 if there were such a thing for\nshell scripts).\n\nThe only non-comment changes made were to the content of some error\nmessages.\n\nFixes bug 1042271\n\nChange-Id: Id1c74cf25c03c4f18ed741f8026e36b0d4a598dd\n"
    },
    {
      "commit": "84394b9f8f0894eb174b3d002ae833c33aa37fab",
      "tree": "68ede2aa9996701b823dd4a8182e2f7e51c95b4d",
      "parents": [
        "c42922090ba92cd1be870650dee9fa16c2838e45"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Mon Aug 06 10:07:43 2012 +0000"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Fri Aug 10 10:09:42 2012 +0000"
      },
      "message": "Use keystoneauth middleware from swift.\n\n- We have moved swift to keystone middleware to swift use it.\n- Should be referenced now as keystoneauth.\n- Make swift-init silently pass in unstack even when swift was not yet\n  installed.\n\nChange-Id: Ibf9443608b7aa81be5f48f555e95ff5f4c8065bd\n"
    },
    {
      "commit": "5da67fe42f88987875bbfa40d9c81a7519e72abc",
      "tree": "a851f8309d36081d2f03915a4daa0768d3ec183c",
      "parents": [
        "3d42cdc76650c5568d9660f53a83383511868dda"
      ],
      "author": {
        "name": "Sascha Peilicke",
        "email": "saschpe@suse.de",
        "time": "Wed Jul 18 13:27:32 2012 +0200"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Aug 07 09:47:28 2012 +0200"
      },
      "message": "Use right service name when stopping tgt in unstack.sh\n\nOn non-deb systems, \u0027tgt\u0027 is \u0027tgtd\u0027.\n\nChange-Id: I357b47cf117a5e615eb4af9603b7c5670e5cff1c\n"
    },
    {
      "commit": "722fe6732a2165bdf610d6dc10060a3285e534d7",
      "tree": "7ce0fa61e0f2f5db00d36e6249beb77d11a6c973",
      "parents": [
        "3aabdbad1d1b73144ad5aad522706dd473ff5bb4"
      ],
      "author": {
        "name": "Gary Kotton",
        "email": "gkotton@redhat.com",
        "time": "Wed Jul 18 07:43:01 2012 -0400"
      },
      "committer": {
        "name": "Gary Kotton",
        "email": "gkotton@redhat.com",
        "time": "Wed Jul 18 14:36:17 2012 -0400"
      },
      "message": "Ensure that dnsmasq is terminated when running unstack.sh\n\nIf the Quantum dhcp-agent is enabled then we ensure that the dnsmasq\nprocess is termated when running unstack.sh\n\nChange-Id: I0aee8b806c61dff42400a3b8552b7c748e9c5adf\n"
    },
    {
      "commit": "7d28a0e1fceae826b4c25fbd4236bcb547ade92d",
      "tree": "e025df54a123f8e78b5781e7f30463adc88a8fe5",
      "parents": [
        "6a19b59f6459c248c775377090561acdd57ca2f7"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jun 27 17:55:52 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 06 09:26:15 2012 -0500"
      },
      "message": "Cleanup stack/unstack\n\n* whitespace and comment cleanups only\n\nChange-Id: I31b3057657bb3bc5c4e085886ef6ac561967706f\n"
    },
    {
      "commit": "67787e6b4c6f31388cbee6d83b67371b31c443d4",
      "tree": "ae56f924e8e1395a4187cf8c2626e9ca90ab62a7",
      "parents": [
        "1c620dfcc66401041131c9b5a675bca243aa4a4f"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed May 02 11:48:15 2012 -0500"
      },
      "committer": {
        "name": "John Griffith",
        "email": "john.griffith@solidfire.com",
        "time": "Wed Jun 20 14:11:19 2012 -0600"
      },
      "message": "Add cinder support\n\n* using the new functional pattern: cinder_XXX functions are in\n  lib/cinder\n* enable with \u0027c-api,c-sch,c-vol\u0027 in ENABLED_SERVICES, n-vol is still the default\n* exercises/volumes.sh runs for cinder and n-vol\n* move config to /etc/cinder\n* change volume_group to stack-volumes; this also renames the backing file\n  to /opt/stack/data/stack-volumes-backing-file.\n* removes osapi_volume from nova.conf enabled_apis\n* integrates cinder + keystone\n* launches c-sch\n* tweaks for multi node\n* move enabled_apis substitution to init_cinder\n\n18Jun2010\n* restored \u0026 rebased\n* update setup.py to use setup_develop() in lib/cinder\n\nChange-Id: I1e1aa4387031c56e4fa239eb73bea2af8cef0e38\n"
    },
    {
      "commit": "eeaf266a7962fd1ee751288bae38a0710b3a6771",
      "tree": "55690f15f06569ce2c39811a10fd52b15dba763d",
      "parents": [
        "20cfd67d2b7d043f0794aa7cb00254d48a7a5a73"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jun 14 09:11:38 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jun 14 09:11:38 2012 -0500"
      },
      "message": "Skip screen if not present\n\nChange-Id: I018249c415fa91ca6461a8f9d236767aa57a8fbd\n"
    },
    {
      "commit": "5218d451dc6d21c32e5bf5ab81c53bdd1db50234",
      "tree": "819ee74485e720bad41b141e2f30b7f5414610e8",
      "parents": [
        "c1a37a5d463a04675c5718be1b7510ffbd31a020"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Feb 04 02:13:23 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Apr 11 14:55:47 2012 -0500"
      },
      "message": "E) Add support for Fedora 16\n\nHighlights:\n* Add files/rpms/*\n* get_packages() only loads deps for services that are enabled\n\n11Apr2012\n* change mod_wsgi cwd to $HORIZON_DIR\n* fix horizon apache log file name and location\n\nNote: This superceeds https://review.openstack.org/4364\n\nChange-Id: I95486584561e4418907a6a4feb0ffbe4f4ea1843\n"
    },
    {
      "commit": "f4d2395e76a9b64176e301fbfd8c7a08c96f1c3a",
      "tree": "d18edd8e62d56a26ff89e88fc447e35a3cc74335",
      "parents": [
        "08e07fb4c817796db06bf8b90982c3b7cc5c41f2"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 28 11:19:24 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 28 18:05:12 2012 -0500"
      },
      "message": "Add unstack.sh\n\nunstack.sh is a simple clean-up script to kill known running\nOpenStack processes:\n* quit devstack\u0027s screen session\n* stop swift daemons\n* stop apache\n* remove volumes\n\nChange-Id: I41b33817c4436e644c336e4e0673144ac0844c26\n"
    }
  ]
}
