)]}'
{
  "log": [
    {
      "commit": "b305eeea1b93e32fb6e0ac919399ff66cfea5baf",
      "tree": "bdc7103e4945fdd4a8d5d915a7acf87e2d6a1905",
      "parents": [
        "7ab1f22c606ae55883ac47298c810062965a1527",
        "e700267e33d748fe36c621cf16497597fcbe6aac"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Sep 15 14:05:25 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Sep 15 14:05:25 2013 +0000"
      },
      "message": "Merge \"Only run chmod/chown for local files\""
    },
    {
      "commit": "abd1f24dd65efab63daac9e83bc6237b73030dc4",
      "tree": "d74f41cb1f13e44059f706588f9a58101359f6f9",
      "parents": [
        "302a8f7a172a77766a9d89a05f2c8453bafc595d",
        "0cccad43aad08487ad1712c63afed602889aaf72"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 12 22:42:18 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 12 22:42:18 2013 +0000"
      },
      "message": "Merge \"Added Trove (Database as a Service).\""
    },
    {
      "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": "e700267e33d748fe36c621cf16497597fcbe6aac",
      "tree": "96c57761e620b503b2abaae9883f7f2206ebffe9",
      "parents": [
        "72854cc567d1696a3bf4358680f585097c5dfcb6"
      ],
      "author": {
        "name": "Doug Hellmann",
        "email": "doug.hellmann@dreamhost.com",
        "time": "Thu Sep 05 08:10:07 2013 -0400"
      },
      "committer": {
        "name": "Doug Hellmann",
        "email": "doug.hellmann@dreamhost.com",
        "time": "Tue Sep 10 15:15:58 2013 -0400"
      },
      "message": "Only run chmod/chown for local files\n\nWhen the /opt/stack directory is NFS mounted, chown to\nthe local user might not work. Create safe_chown and\nsafe_chmod functions that do nothing on NFS filesystems\nto avoid spurrious errors.\n\nChange-Id: Iaa68879e867a4426b1990d4d46164769177dc7cc\n"
    },
    {
      "commit": "a6273b9378622318057c2f5f685022389a066818",
      "tree": "a95872559d5c56efa9f60eb0d7951050661cf3d3",
      "parents": [
        "d748b16ef29f44fb1b943f7f1963d4c47b88fd5b"
      ],
      "author": {
        "name": "Ryan Hsu",
        "email": "rhsu@vmware.com",
        "time": "Wed Sep 04 23:51:29 2013 -0700"
      },
      "committer": {
        "name": "Ryan Hsu",
        "email": "rhsu@vmware.com",
        "time": "Thu Sep 05 16:49:20 2013 -0700"
      },
      "message": "Provide a means of setting vmdk custom properties via image filename\n\nCustom properties for vmdk disk type, storage adapter type, and\nnetworking adapter type can now be retrieved from a vmdk image\u0027s\nfilename. The filename format is defined as:\n\n  \u003cname\u003e-\u003cdisk type\u003e:\u003cstorage adapter\u003e:\u003cnetwork adapter\u003e\n\nAn example filename following this format would be\ndebian-2.6.32-i646-thin:ide:VirtualE1000. If the vmdk filename does not\nmatch the above format then underlying nova driver will supply default\nvalues.\n\nChange-Id: I83483d20f984250bd8154d8e270b2e801d2df303\nCloses-bug: #1221044\n"
    },
    {
      "commit": "53d5b791fdad145cdc71e189da1562c1c8d5ae1a",
      "tree": "9099d8409d468d798c60181c63830740759798b5",
      "parents": [
        "ac920f25c7f94710c9f2cd8bb885e249dd57d692",
        "533e14d6a5fc1ba3dbd24fb0075ef1eafd00a705"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 04 16:47:04 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 04 16:47:04 2013 +0000"
      },
      "message": "Merge \"Copy policy_add() from Grenade functions\""
    },
    {
      "commit": "533e14d6a5fc1ba3dbd24fb0075ef1eafd00a705",
      "tree": "65c8a4da0e398f9e4d5840f7a1f9c8cb8c9706cc",
      "parents": [
        "96c8dad0530c9b6176b58080e15cec9b05eccc9e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Aug 30 15:11:22 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Sep 03 14:19:32 2013 -0500"
      },
      "message": "Copy policy_add() from Grenade functions\n\npolicy_all() was added to Grenade\u0027s functions file, which is notmally synced\nfrom DevStack so we need to bring it over here before the next sync.\n\nChange-Id: Ifd852e9d1ffe39fa23f6312d1ddf2874b5f2b9f0\n"
    },
    {
      "commit": "1533a349da34a002ab6a09cee86d47daf6d777fb",
      "tree": "1f0f5f48a1814546a89772715e5d50417cf35887",
      "parents": [
        "117af3430f34f375b3343cc062257f87b9e8990c"
      ],
      "author": {
        "name": "Mate Lakat",
        "email": "mate.lakat@citrix.com",
        "time": "Fri Aug 30 14:10:52 2013 +0100"
      },
      "committer": {
        "name": "Mate Lakat",
        "email": "mate.lakat@citrix.com",
        "time": "Fri Aug 30 14:10:52 2013 +0100"
      },
      "message": "remove multi-host timeout\n\nIf you ran exercises with MULTI_HOST enabled, an additional sleep was\nperformed. This change removes that sleep to speed up tests.\n\nChange-Id: I9dfd61cbb9415bd5e8fd1e40f4e41512be2ae0d2\n"
    },
    {
      "commit": "5584709fa8194cb7fa69c65b535999e28278e3da",
      "tree": "7f05f2f2ef87e68450c441fe0986eb2986d2a05c",
      "parents": [
        "bc11e0a0bcbb7a9022923b0fce1af71d55768eca",
        "04762cd823302ca9992b67419e55ad5fc4dbf8fe"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Aug 29 04:51:52 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Aug 29 04:51:52 2013 +0000"
      },
      "message": "Merge \"Fix is_package_installed() check with dpkg\""
    },
    {
      "commit": "bc11e0a0bcbb7a9022923b0fce1af71d55768eca",
      "tree": "4e194bc5e855c8cf4a305edbf7780bf12897832d",
      "parents": [
        "666fe5fd9f949a7f789b75b06f3ce7c9ff612a5f",
        "bc2ef929ed4529197b0418fc8234aaca56f84109"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Aug 29 02:17:23 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Aug 29 02:17:23 2013 +0000"
      },
      "message": "Merge \"xenapi: devstack support for raw tgz image upload\""
    },
    {
      "commit": "666fe5fd9f949a7f789b75b06f3ce7c9ff612a5f",
      "tree": "8e800ee5b3262d1cf3d20b1723c96782da30976a",
      "parents": [
        "cb201e7519d81dd279d0b5c6057f977bb00710b7",
        "71d5630c4ad2dd74964119a4ad8f16833f61fc21"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Aug 29 01:17:45 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Aug 29 01:17:45 2013 +0000"
      },
      "message": "Merge \"Adds new tag for testonly packages in package lists\""
    },
    {
      "commit": "04762cd823302ca9992b67419e55ad5fc4dbf8fe",
      "tree": "e63e3640a10c7ea85f23edc7951bd3858823620f",
      "parents": [
        "8db8f38c65d7d0f2c79e78794b974966b4e3f68d"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Aug 27 17:06:14 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Aug 27 17:48:49 2013 -0500"
      },
      "message": "Fix is_package_installed() check with dpkg\n\nis_package_installed() incorrectly returned \u00270\u0027 for packages that\nhad \u0027un\u0027 status in the dpkg database.\n\nChange-Id: I81b77486c2ed7717ed81cb2c2572fe6c4b394ffc\n"
    },
    {
      "commit": "bc2ef929ed4529197b0418fc8234aaca56f84109",
      "tree": "1fe4b340d259b1a5bfd58f399ece6e286344e464",
      "parents": [
        "551765d3f53098f68239b692e6017d1ccdc78a24"
      ],
      "author": {
        "name": "Mate Lakat",
        "email": "mate.lakat@citrix.com",
        "time": "Thu Aug 15 18:06:59 2013 +0100"
      },
      "committer": {
        "name": "Mate Lakat",
        "email": "mate.lakat@citrix.com",
        "time": "Tue Aug 27 11:12:28 2013 +0100"
      },
      "message": "xenapi: devstack support for raw tgz image upload\n\nDevstack will recognise the .xen-raw.tgz extensions, and upload them to\nglance as raw tgz images with xen pv_mode. This change also adds \"tgz\" to\nthe recognised container formats of glance. The changes for raw tgz\nsupport are:\n\n    https://review.openstack.org/#/c/40908/\n    https://review.openstack.org/#/c/40909/\n    https://review.openstack.org/#/c/41651/\n\nrelated to blueprint xenapi-supported-image-import-export\n\nChange-Id: I077564587d4303291bb4f10d62bb16380b574106\n"
    },
    {
      "commit": "71d5630c4ad2dd74964119a4ad8f16833f61fc21",
      "tree": "2a5d835d6a76bc60498cca63556eaa9ca6ca910a",
      "parents": [
        "55181d2cfba5dd6bbbde42bb964782e8c2b8ee50"
      ],
      "author": {
        "name": "Christian Berendt",
        "email": "berendt@b1-systems.de",
        "time": "Mon Jul 22 11:37:42 2013 +0200"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Aug 21 14:15:20 2013 -0500"
      },
      "message": "Adds new tag for testonly packages in package lists\n\nAlso introduces a new parameter INSTALL_TESTONLY_PACKAGES\nin the stackrc with False as default value. Setting it to\nTrue stack.sh will install all packages tagged with the tag\ntestonly in the package lists.\n\nIncludes needed packages for Ubuntu and Fedora\n\nfixes bug #1203680\n\nChange-Id: I911a6601819a34262853bba0658f6751148bfbec\n"
    },
    {
      "commit": "68044c0245e0d39cecbc8602a8059bd7c33b7693",
      "tree": "6faa4fc06b54e736ee87a4e5bd7375f87c6fd50d",
      "parents": [
        "5bc585f7d47a901c4cb9f43cdf377a103e6fa38c",
        "cfb708d9c53e1680f21ef63c1715ca2693b9758d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 20 04:01:32 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 20 04:01:32 2013 +0000"
      },
      "message": "Merge \"Redirect dpkg -l stderr to /dev/null\""
    },
    {
      "commit": "41815cdc7bcbd91500f9efad0f4e8d57fa4b284c",
      "tree": "42490eb81fba95b6d2266e82568efad525746d86",
      "parents": [
        "415360b23157caac28899fe0e02f47f0e4532ca2"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Aug 16 14:57:38 2013 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Aug 16 14:57:38 2013 -0700"
      },
      "message": "Echo service start failures.\n\n* functions: Previously screen_it would log service start failures by\ntouching a file, this isn\u0027t very useful when working with Jenkins.\nSwitch to echo\u0027ing that a service failed to start and pipe that through\ntee so that we can keep the old behavior of touching a file (note this\nbehavior is slightly modified and the touched file will now have\ncontents).\n\nChange-Id: I2d3f272b9a65a9d64dbbc01373a02fccf52f56a8\n"
    },
    {
      "commit": "4a5963f2fe927a6ac12b8abab8e13a7fa642190f",
      "tree": "33b2d678d4f00d4f42fe53772ef706533c693b55",
      "parents": [
        "c25074e7a1db4e4710be69f38d6243adc8b9b25f",
        "6769b166b10272947db77c3f9bfb0d115e8d0a2d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Aug 16 02:55:11 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Aug 16 02:55:11 2013 +0000"
      },
      "message": "Merge \"Added functions for get a ip on an instance\""
    },
    {
      "commit": "af1c7f564eda56f90ad641f0bf3b194acf4c3e1b",
      "tree": "1ae3b718ea3ad6af75aaaca2a75675b3227bd99f",
      "parents": [
        "70931c7e80ee7d54ec561ca8c35c925309fa33d6",
        "4669122dc8e50a3c0cead54e227a5a46508fed50"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Aug 15 16:13:47 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Aug 15 16:13:47 2013 +0000"
      },
      "message": "Merge \"Add XenServer to GetDistro\u0027s logic\""
    },
    {
      "commit": "6769b166b10272947db77c3f9bfb0d115e8d0a2d",
      "tree": "62b1a79531a3eb49beabe7de7ae199c4ca91eaab",
      "parents": [
        "55181d2cfba5dd6bbbde42bb964782e8c2b8ee50"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@ntti3.com",
        "time": "Mon Aug 12 18:18:56 2013 -0700"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@ntti3.com",
        "time": "Tue Aug 13 17:08:47 2013 -0700"
      },
      "message": "Added functions for get a ip on an instance\n\nThe cause of some gating failure looks like\nbecause of getting ip address on instance.\nHowever current exercise didn\u0027t log the return value.\nIn this commit, we add get_instance_ip function with\nerror hanlding support, and apply it on the execise.\n\nChange-Id: I8e17ba68093faafe58a98eb780a032368eea38aa\n"
    },
    {
      "commit": "4669122dc8e50a3c0cead54e227a5a46508fed50",
      "tree": "5d75c9c21b78618175b2f99ac56ce55fd6673d38",
      "parents": [
        "da2b6785fcae271276b28bba69203505bb747230"
      ],
      "author": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Mon Aug 12 17:28:50 2013 +0100"
      },
      "committer": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Tue Aug 13 21:51:41 2013 +0100"
      },
      "message": "Add XenServer to GetDistro\u0027s logic\n\nThis is primarily to satisfy the expectations of various scripts that os_*\nvariables are defined, and will result in a distro similar to \"xs6.1.0-59235p\"\n\nFixes bug 1211001\n\nChange-Id: I951e1eb3a5e25f4d8773a11b15cf38157b6492fe\n"
    },
    {
      "commit": "cfb708d9c53e1680f21ef63c1715ca2693b9758d",
      "tree": "de278eb11db6c7050bb8a9929af17b2ca77d6218",
      "parents": [
        "af9a6cfb23ba769f1d4fcf231b092ec38965f086"
      ],
      "author": {
        "name": "Lorin Hochstein",
        "email": "lorin@nimbisservices.com",
        "time": "Tue Aug 13 14:34:18 2013 -0400"
      },
      "committer": {
        "name": "Lorin Hochstein",
        "email": "lorin@nimbisservices.com",
        "time": "Tue Aug 13 14:35:07 2013 -0400"
      },
      "message": "Redirect dpkg -l stderr to /dev/null\n\nFixes bug 1211413\n\nChange-Id: I33a7e1e8fb3755c69ca0570e333e4908cb6f3da4\n"
    },
    {
      "commit": "99405a45aa3930a9b695d9a1c1dabf0d967e48ad",
      "tree": "7dc2b9ef03b63bfbd3398ba0d18a7d76cc105371",
      "parents": [
        "dc70e94896033b9ec2f916d8642fb410bfe301b2"
      ],
      "author": {
        "name": "Roman Gorodeckij",
        "email": "holms@holms.lt",
        "time": "Wed Aug 07 09:20:36 2013 -0400"
      },
      "committer": {
        "name": "Roman Gorodeckij",
        "email": "holms@holms.lt",
        "time": "Mon Aug 12 09:39:52 2013 -0400"
      },
      "message": "Pip install fails because of --use-mirrors parameter\n\nHaving --use-mirrors parameter in pip commands causes pip to hang on\nsome distros.\n\nPypi uses CDN for long time already, so there\u0027s no point to keep this\nparameter no more.\n\nWipe PIP_USE_MIRRORS out of the \"function\" file.\n\nChange-Id: I70adaf6591834af2482e09eb7f8f9f60df8e7692\nCloses-Bug: #1069309\n"
    },
    {
      "commit": "334c3a71bd17a10cf9a04da5b8e87693dcb049a8",
      "tree": "007ff682a6f1d77116d20bd81725fb6c1e7d7e8b",
      "parents": [
        "b690a8f00e53b71e8d80c4f024501f34d73aa6df",
        "17df0775edaf1d45c59a41147779fd65fd986911"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Aug 09 01:30:50 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Aug 09 01:30:50 2013 +0000"
      },
      "message": "Merge \"misleading source filename in error message\""
    },
    {
      "commit": "b690a8f00e53b71e8d80c4f024501f34d73aa6df",
      "tree": "df6fe0629ff69d01d5bc15e5d8e2aa90ef71ae24",
      "parents": [
        "dedc4617a7d9d20f3d2e374bf7b8bcf1a6c9b761",
        "62d1d698a0c1459e2519938259175cfed86f4a55"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Aug 08 21:23:27 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Aug 08 21:23:27 2013 +0000"
      },
      "message": "Merge \"Add tools/install_pip.sh\""
    },
    {
      "commit": "dedc4617a7d9d20f3d2e374bf7b8bcf1a6c9b761",
      "tree": "03fb54098f51cc512db96bcc3fad6d60945581c0",
      "parents": [
        "d11ce17aa18fb766157ff34b3a938715a26f2192",
        "5e28a3e2d2e7f02d6f0c81ddfe4ae3b0387112b6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Aug 08 15:45:49 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Aug 08 15:45:49 2013 +0000"
      },
      "message": "Merge \"Add call trace in error message\""
    },
    {
      "commit": "62d1d698a0c1459e2519938259175cfed86f4a55",
      "tree": "f92a5cf11293082891c13938845e5f0d3c535ffb",
      "parents": [
        "206a2ac312dbd129cf6ea0494cfc9f7221056557"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Aug 01 17:40:40 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Aug 07 20:28:56 2013 -0500"
      },
      "message": "Add tools/install_pip.sh\n\nInstall a known working recent version of pip that handles installation\ndependencies more correctly than before.  Extract to a separate script\nso it can be used apart from stack.sh.\n\n* Install distro setuptools if it not already present\n* Install pip from source tarball as get-pip.py proved to be unreliable\n* Remove python-distribute and python-pip from all prereq files,\n  move python-setuptools to \u0027general\u0027\n* Remove the earlier unfubar_setuptppls() call that attenpted to fix this\n* Only update requirements.txt when no changes in repo\n\nTested on Precise, F18 and CentOS6.\n* Fedora and RHEL allow pip to install packages ON TOP OF RPM-installed\n  packages.  THIS IS BROKEN.  And is one reason we have to be so picky\n  about order and so forth.\n\nChange-Id: Ibb4b42119dc2e51577c77bbbbffb110863e5324d\n"
    },
    {
      "commit": "206a2ac312dbd129cf6ea0494cfc9f7221056557",
      "tree": "3838a363b5a3b81f2cbd272bb818ae16305ffa0e",
      "parents": [
        "aa9274fe08233d47c12f9a3bf0a5548a6cc98259",
        "46287d8d71f358b330a5b2c28dace72cbdd3492f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 06 19:36:00 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 06 19:36:00 2013 +0000"
      },
      "message": "Merge \"Some bash versions don\u0027t support negative lengths\""
    },
    {
      "commit": "1b11fa58f57a2d80c354db9062462fcca8dc3f59",
      "tree": "cd610fb2b13a74ebc6aea7fb398e1dd32a59ba7d",
      "parents": [
        "48e4a2b9f2d87be6b011074c135e2e7290b84d8b",
        "b5bbaac09a2424da68288f90f7de415b8f7b48e8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 06 15:56:28 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 06 15:56:28 2013 +0000"
      },
      "message": "Merge \"Re-enble pip -e in setup_develop\""
    },
    {
      "commit": "48e4a2b9f2d87be6b011074c135e2e7290b84d8b",
      "tree": "13239b8971d53b71a9ab577f1735825ac993c895",
      "parents": [
        "2ac6870830c9ec196b92852e6149fd4b2c4d1d51",
        "3f1d0e2688ea471a467730d5677dd560671071d1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 06 13:59:39 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 06 13:59:39 2013 +0000"
      },
      "message": "Merge \"Ensures cross compatibility for zsh and bash.\""
    },
    {
      "commit": "b5bbaac09a2424da68288f90f7de415b8f7b48e8",
      "tree": "c6a3d829c228497a7e61d524437583cc01354974",
      "parents": [
        "6c84463071e1ff23e20e4ef4fb863aba0732bebc"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Aug 06 10:35:02 2013 -0300"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Aug 06 10:35:02 2013 -0300"
      },
      "message": "Re-enble pip -e in setup_develop\n\nWe had a bad merge somewhere along the way which reverted the pip -e\npart of things. Replace it.\n\nChange-Id: I620bea80eac7ad53b5bfb79dd2b21c29ad1b2267\n"
    },
    {
      "commit": "46287d8d71f358b330a5b2c28dace72cbdd3492f",
      "tree": "8223bbc30723cd53053eadbc88e7eac1867cd520",
      "parents": [
        "6c84463071e1ff23e20e4ef4fb863aba0732bebc"
      ],
      "author": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Tue Jul 30 09:43:17 2013 +0100"
      },
      "committer": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Tue Aug 06 14:32:53 2013 +0100"
      },
      "message": "Some bash versions don\u0027t support negative lengths\n\nFix to make the service string work on these versions of bash too\n\nChange-Id: Ibb9868ea7bf44480be76a8ea9d7d9fbc278a8ef3\n"
    },
    {
      "commit": "6c84463071e1ff23e20e4ef4fb863aba0732bebc",
      "tree": "2586963cb9ae62943d69638c1f71803c6a2e43d1",
      "parents": [
        "f3d5045ebd8693cc7e81656b4548eef055d04a9a"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Wed Jul 31 06:50:14 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Aug 05 16:22:32 2013 -0400"
      },
      "message": "Update projects to global requirements before setup\n\nWe\u0027ve agreed that we should be using global requirements, so\nforce projects to be updated to global requirements before we\ntest them.\n\nCo-Authored-With: Monty Taylor \u003cmordred@inaugust.com\u003e\n\nChange-Id: I0652f639673e600fd7508a9869ec85f8d5ce4518\n"
    },
    {
      "commit": "3f1d0e2688ea471a467730d5677dd560671071d1",
      "tree": "81cf66d5d7a80f95b28ee46d23bd0805a61b57a6",
      "parents": [
        "74af8ed00f12ab9a482bb99776560e3d4f8e9a52"
      ],
      "author": {
        "name": "James Kyle",
        "email": "james@jameskyle.org",
        "time": "Fri Aug 02 10:40:32 2013 -0700"
      },
      "committer": {
        "name": "James Kyle",
        "email": "james@jameskyle.org",
        "time": "Mon Aug 05 09:31:04 2013 -0700"
      },
      "message": "Ensures cross compatibility for zsh and bash.\n\nFixes bug #1207853\n\nChange-Id: I8ab3959ac8dbb5bb199e325bfdfdc513b4327410\n"
    },
    {
      "commit": "408a4a7d1c24322b35f9a8617c7c62adeeee0dbe",
      "tree": "11b825ef1b7b72dc5ade5599bd53721f255d4f03",
      "parents": [
        "74af8ed00f12ab9a482bb99776560e3d4f8e9a52"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Aug 02 15:43:47 2013 -0400"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Aug 02 18:40:02 2013 -0400"
      },
      "message": "Install things in setup_develop with pip -e\n\nWe have some complex logic in here to try to do the right things with\nthe requirements before doing the install of the package which still\nwinds up being wrong in some cases. Since having written this code,\nwe\u0027ve learned that the logic we\u0027re trying to achieve is actually what\npip install -e does. So just use that. We have to follow up with a chown\nof the resulting egg-info directory, because the sudo command will cause\nit to be written by root, which prevents subsequent commands from\noperating without privilege in the directory.\nChange-Id: Iffd068c94ef84475ebb30758bcf612075d225bea\n"
    },
    {
      "commit": "17df0775edaf1d45c59a41147779fd65fd986911",
      "tree": "f06337468094d83f9c990f766c9fa649495550be",
      "parents": [
        "9cdc0a17ce919dd47c6714101a39478b79e66c0b"
      ],
      "author": {
        "name": "Kui Shi",
        "email": "skuicloud@gmail.com",
        "time": "Fri Aug 02 17:55:41 2013 +0800"
      },
      "committer": {
        "name": "Kui Shi",
        "email": "skuicloud@gmail.com",
        "time": "Fri Aug 02 17:55:41 2013 +0800"
      },
      "message": "misleading source filename in error message\n\nwhen ./stack.sh encounters error, the output may look like this:\n[ERROR] ./stack.sh:698 nova-api did not start\n\nThe source filename is wrong. Actually, it should be like this:\n[ERROR] /\u003cpath_of_devstack\u003e/lib/nova:698 nova-api did not start\n\nstack.sh uses bash as interpreter, which define \"Shell Variables\"\nBASH_SOURCE:\n    An array variable whose members are the source filenames where\n    the corresponding shell function names  in  the  FUNCNAME  array\n    variable  are  defined.   The  shell  function\n    ${FUNCNAME[$i]}  is  defined  in  the  file ${BASH_SOURCE[$i]}\n    and called from ${BASH_SOURCE[$i+1]}.\n\nThe function \"err\" is called by function \"die\" ( and \"err_if_not_set\",\nand \"err_if_not_set\" is not used at all). ${BASH_SOURCE[2]} will\nignore the deepest two call entries, which corresponding to the shell\nfunctions: \"err\" and \"die\".\n\nIn one sentence, this change will print the source filename where the\nfunction is defined and exits via function \"die\".\n\nFixes bug #1207658\n\nChange-Id: I2aa6642c5cf4cfe781afe278b3dec3e7cba277fa\n"
    },
    {
      "commit": "5e28a3e2d2e7f02d6f0c81ddfe4ae3b0387112b6",
      "tree": "d43e23f9a346b4d23b8e18ff7602ec0d84847c8b",
      "parents": [
        "9cdc0a17ce919dd47c6714101a39478b79e66c0b"
      ],
      "author": {
        "name": "Kui Shi",
        "email": "skuicloud@gmail.com",
        "time": "Fri Aug 02 17:26:28 2013 +0800"
      },
      "committer": {
        "name": "Kui Shi",
        "email": "skuicloud@gmail.com",
        "time": "Fri Aug 02 17:47:03 2013 +0800"
      },
      "message": "Add call trace in error message\n\nCall trace can help user to locate problem quickly.\n\nstack.sh uses bash as interpreter, which defines a series of\n\"Shell Variables\":\nBASH_SOURCE:\nAn array variable whose members are the source filenames\n\nBASH_LINENO:\nAn array variable whose members are the line numbers in source\nfiles where each corresponding member of FUNCNAME  was  invoked.\n\nFUNCNAME:\nAn array variable containing the names of all shell functions\ncurrently in the execution call stack.\n\nrun \"man bash\" and search the variable name to get detailed info.\n\nIn function backtrace, it gets the call deepth from\n${#BASH_SOURCE[@]}, then print the call stack from top to down.\n\nIn function die, backtrace is called with parameter \"2\" to ignore\nthe call trace of function \"die\" and \"backtrace\".\n\nI add a broken function in lib/database, and call it in stack.sh,\nthe output looks like this:\n\n[Call Trace]\n./stack.sh:104:broken\n/home/kui/osd/devstack/lib/database:24:die\n[ERROR] ./stack.sh:24 It is broken\n\nFixes bug # 1207660\n\nChange-Id: I04d0b3ccf783c769e41582c20f48694c19917334\n"
    },
    {
      "commit": "9cdc0a17ce919dd47c6714101a39478b79e66c0b",
      "tree": "e84e52ff438d3a4889d74117852ed69d4a2bc61c",
      "parents": [
        "da535eec10b526881779c028928a17a606005bc4",
        "d2cfcaa5767b12cd1bb7d80f0d0823dd66bbb5c6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Aug 02 03:45:27 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Aug 02 03:45:27 2013 +0000"
      },
      "message": "Merge \"Fix get_pip_command()\""
    },
    {
      "commit": "d2cfcaa5767b12cd1bb7d80f0d0823dd66bbb5c6",
      "tree": "746f53b0668b8842eb18276a3f3bd5fce3c678df",
      "parents": [
        "bc522d87f8ebd1761d9231b440eed566c9f96ed3"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Aug 01 14:17:27 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Aug 01 14:17:30 2013 -0500"
      },
      "message": "Fix get_pip_command()\n\nBe more flexible in finding pip, especially after we start replacing it\n\nChange-Id: I14b0ac1584aab99c2fe58a78e3a43196ae8130ca\n"
    },
    {
      "commit": "cbaff86b02a6a474de2503b129a249442b3d6360",
      "tree": "3ba075e755d7f432c46933836e0bcd81788ff7fd",
      "parents": [
        "851665bb591ed8ec906e0724af9e6eef4a8c562a"
      ],
      "author": {
        "name": "Sreeram Yerrapragada",
        "email": "syerrapragada@vmware.com",
        "time": "Wed Jul 24 19:49:23 2013 -0700"
      },
      "committer": {
        "name": "Sreeram Yerrapragada",
        "email": "syerrapragada@vmware.com",
        "time": "Wed Jul 31 18:55:10 2013 -0700"
      },
      "message": "Add support for vmdk files as glance images\n\n* Adds support for vmdk files as glance images in upload_image function\n* Set default image url to use for vsphere driver in stackrc\n* Now using a more stable url\n\nChange-Id: If6d45bc8dfd3c812ded5e1bcf69ad7ebd9b64f34\n"
    },
    {
      "commit": "a7a219ab76d4a346f794daafd499ece5c32c5e3c",
      "tree": "3effca81a29da84b70be720b65717b4977c9ce76",
      "parents": [
        "e7559a479edec699f5b002daa1cf6518b39fb366"
      ],
      "author": {
        "name": "Christian Berendt",
        "email": "berendt@b1-systems.de",
        "time": "Tue Jul 30 18:22:32 2013 +0200"
      },
      "committer": {
        "name": "Christian Berendt",
        "email": "berendt@b1-systems.de",
        "time": "Tue Jul 30 18:28:13 2013 +0200"
      },
      "message": "renamed deprecated glanceclient parameter\n\nAccording to the sources the parameter --public in python-glanceclient\nshould be removed after only using the new parameter --is-public in\nDevstack.\n\nChange-Id: I25fbb23f4823b3766db647dd50a5b538aad3e55a\n"
    },
    {
      "commit": "c62c2b9b6617c731c7979d490a1d2e7a048c1cf7",
      "tree": "c1b75411b4affa7cf7803fa9ab4a45c679536583",
      "parents": [
        "c41a0598646aad3520861c185c5df370f95301a7"
      ],
      "author": {
        "name": "Chris Behrens",
        "email": "cbehrens@codestud.com",
        "time": "Wed Jul 24 03:56:13 2013 -0700"
      },
      "committer": {
        "name": "Chris Behrens",
        "email": "cbehrens@codestud.com",
        "time": "Fri Jul 26 11:11:25 2013 -0700"
      },
      "message": "Fix various things when n-cell is enabled\n\n1) Use the newer cell_type configuration option instead of overriding\nthe compute_api_class.\n\n2) A nova-cells service is started for both the API cell (region) and\nthe compute cell (child).  The screen names were both \u0027n-cell\u0027 which\ncaused both services to log to the same log file.  The screen names have\nbeen changed to n-cell-region and n-cell-child.\n\n3) Security groups are not supported with cells.  Multiple exercises are\npatched to use the \u0027default\u0027 security group instead of creating a new\none.  Additionally, if one uses the \u0027default\u0027 security group, do not try\nto delete it, as one can never delete the default.\n\n4) Disable the floating_ips and aggregates exercises when n-cell is\nenabled, as they are not supported by cells.\n\n5) Related to #4, disable the floating_ips tests within euca.sh\n\n6) Update the README.md.  No services need to be disabled, and one only\nneeds to enable the n-cell service.\n\nChange-Id: I9782d1e3cda3c9dd3daefa15c043f5b06473cb87\n"
    },
    {
      "commit": "5011c03d0351e2a8c201861143bbba5d5b3f05a4",
      "tree": "0e2baa662a0a9eafdf49eeb014fa192c6277eccf",
      "parents": [
        "0352f584abe0e88f372b9b8898b10e2ac25842f0",
        "d4f69b21f530059be8d3a7001ebbd1ce53aa7926"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jul 25 11:10:40 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jul 25 11:10:40 2013 +0000"
      },
      "message": "Merge \"Remove python-netaddr requirement\""
    },
    {
      "commit": "d4f69b21f530059be8d3a7001ebbd1ce53aa7926",
      "tree": "bce63e7c8dbe5fad1417562697d9c1fb0c156177",
      "parents": [
        "89b58846b5604cdf976074a68004840cc6865bdb"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jul 24 12:24:43 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jul 24 12:25:35 2013 -0500"
      },
      "message": "Remove python-netaddr requirement\n\nRemove python-netaddr as a DevStack (stack.sh) requirement,\nthis does not change any individual project requirements.\n\nSpecifically it replaces address_in_net() and adds cidr2netmask()\nand maskip() functions.\n\nChange-Id: Ic604437fde2e057faced40a310ab282f3eb27726\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": "2076647e2116ab2c2068e18d118c96f51a5dc926",
      "tree": "9d82a178fcfb77820a4cf09c23fc2b03f7c13b0a",
      "parents": [
        "b5b79c813cf10150e39e7532eba7fe3ee97a7c28",
        "b05c876994183b6a1d53dfbdcea2ca4a7743035f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Jul 07 21:32:23 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Jul 07 21:32:23 2013 +0000"
      },
      "message": "Merge \"update for name change to Neutron\""
    },
    {
      "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": "e7e51ac5e6a2c61afab11d30d5dd034e66877734",
      "tree": "2992cea31182d4a6a490d1d596b5d868eeabde02",
      "parents": [
        "54c977a43becc39f47452962300942d34d3a561c"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jul 04 14:10:46 2013 -0400"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jul 04 16:09:46 2013 -0400"
      },
      "message": "Directly install requirements with pip\n\nRather than parsing then feeding the pip requirements file to pip,\njust have pip consume it directly.\n\nChange-Id: I17bbe4324e6957c7165bc0f340ddae1e51039471\n"
    },
    {
      "commit": "303965768887ef75895c9890be1d8c22d1faf935",
      "tree": "073a3eddedd673660536255b62766e7e2489ec89",
      "parents": [
        "314ae87a911b457590cd268a6d50872c957de343"
      ],
      "author": {
        "name": "Steven Dake",
        "email": "sdake@redhat.com",
        "time": "Sun Jun 30 16:11:54 2013 -0700"
      },
      "committer": {
        "name": "Steven Dake",
        "email": "sdake@redhat.com",
        "time": "Sun Jun 30 16:13:00 2013 -0700"
      },
      "message": "Enable Fedora 19 on DevStack\n\nFedora uses a special PROMPT_COMMAND for screen terminal types,\nwhich are the default with DevStack.  The PROMPT_COMMAND interacts\nin a negative way with the -t and -X and -p flags, causing DevStack\nnot to work.  To solve this problem, this patch forces PROMPT_COMMAND\nto default to /bin/true, triggering no changes to the window title\nused within screen.  Also this patch enables F19 as a non-FORCE\ndistribution.\n\nChange-Id: I2414d9e28dd95b69272e132163b29ed83f73b2f6\nFixes: bug #1196340\n"
    },
    {
      "commit": "4f9b33d077cacaed524175902f6209f20cc4c5a7",
      "tree": "ccad6b6100bca47ca8320dc978dc971ff76ea730",
      "parents": [
        "b3e8ea847feaf63fe4a46c2a9a417f8a3f760938"
      ],
      "author": {
        "name": "Martin Vidner",
        "email": "mvidner@suse.cz",
        "time": "Thu Jun 27 13:11:22 2013 +0000"
      },
      "committer": {
        "name": "Martin Vidner",
        "email": "mvidner@suse.cz",
        "time": "Thu Jun 27 17:57:22 2013 +0200"
      },
      "message": "Fix python exec prefix on SUSE.\n\nhttps://bugs.launchpad.net/devstack/+bug/1068386\n\"sudo python setup.py develop\" installs to /usr/bin on SUSE\n\nOtherwise it fails with \"stack.sh:191 g-api did not start\".\n\nChange-Id: I1258240ce2a5a765188353fbc8a2e085d0b02fec\n"
    },
    {
      "commit": "fa868cb59c5847d1836d94977774bd3fafa87f27",
      "tree": "20dadbb3857be9ef51e27b72ff3e37476ed9f3ec",
      "parents": [
        "94432539ed55847ce154f91be527358f67394981"
      ],
      "author": {
        "name": "Daniel Jones",
        "email": "jonesld@us.ibm.com",
        "time": "Tue Jun 18 15:28:01 2013 -0500"
      },
      "committer": {
        "name": "Daniel Jones",
        "email": "jonesld@us.ibm.com",
        "time": "Tue Jun 18 18:20:41 2013 -0500"
      },
      "message": "Disable vnc on Power Systems\n\nPower systems don\u0027t have graphics adapters, so we can\u0027t simulate a VNC\nconsole. This patch removes that from the default nova configuration\nif the system architecture is ppc64.\n\nChange-Id: I129d180b712115e5c275241740d34805fea23e8b\n"
    },
    {
      "commit": "51a3f1f6369d27193daa6132fd8bcf6ba1972bd2",
      "tree": "059fd332fa873220f25d05472411640c9249e260",
      "parents": [
        "ad31e1cb95b48480474257f69737bf964585a070"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "kmestery@cisco.com",
        "time": "Thu Jun 13 11:47:56 2013 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "kmestery@cisco.com",
        "time": "Fri Jun 14 10:01:15 2013 +0000"
      },
      "message": "Fix the OVS version check to work with upstream master versions of OVS.\n\nThis patch adds two functions to check version strings in the toplevel\nfunctions file. The openvswitch_agent then uses these to compare versions\nwhen checking for tunneling support. The tunneling version check now\nalso takes into account upstream master versions of Open vSwitch, which\nthe previous version check always failed on.\n\nFixes bug #1190734\n\nChange-Id: I0102fb57f8ce5529169025efa21a0996ad68bef1\n"
    },
    {
      "commit": "1a6d4492e25365ec2947e93d5d69507088281415",
      "tree": "cb8e404347518a44d340ce65d413d1d454bf2b31",
      "parents": [
        "f606adb4a85c29a85a0f8c1b6d4410a41163e166"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jun 03 16:47:36 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Jun 11 14:39:27 2013 -0500"
      },
      "message": "Periodic formatting cleanup\n\nThis is the semi-irregular comment and docs cleanup.\n\nNo functional changes should be here although some code is moved in a\nsmall attempt to sort functions and get things where they need to be.\n\nChange-Id: Ib4a3e2590c6fbd016c391acc7aef6421e91c0dca\n"
    },
    {
      "commit": "535a8148ccfc0ff99d58ba9242950811d14d2935",
      "tree": "615dc8cedf67dc7c44484dd795d871e9b92c30ca",
      "parents": [
        "c29c392d26bccfbf612038c5cf1b0eee35bad909"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed May 15 09:25:27 2013 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu May 30 16:33:30 2013 +1000"
      },
      "message": "Install EPEL for rhel6 if not detected\n\nSimple check to see if EPEL repo is enabled for RHEL6 and, if not,\nautomated install of the repo RPM.\n\nAlso adds an additional sanity check which checking for pip.  In the\nprior case of EPEL being disabled, a RHEL6 host may not have access to\npython-pip.  Although this shouldn\u0027t happen, its a good sanity check.\n\nChange-Id: I4e8a4dda9475b75d071534d4eef469198502a048\n"
    },
    {
      "commit": "a20fb6d383a7b623a5bf6a8830c25fb0fb3320e7",
      "tree": "21ea6a6a9981de244f60250e1757da769b4b5351",
      "parents": [
        "5f349179f48c96cb4e9f6b346ef1b5d18b5ccd83",
        "0488edda8a34b0be6693cafdf506cfc8185a2a83"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon May 13 00:09:24 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon May 13 00:09:24 2013 +0000"
      },
      "message": "Merge \"Basic check for homedir permissions\""
    },
    {
      "commit": "b2ef890db3d78b24f9da2f4dd80502165c669ad0",
      "tree": "e6ce8cd8da955044fb330931aadb581b91456f57",
      "parents": [
        "b240ad472be39786c587acc75ef40de6e61a4b2d"
      ],
      "author": {
        "name": "Émilien Macchi",
        "email": "emilien.macchi@enovance.com",
        "time": "Sat May 04 00:48:20 2013 +0200"
      },
      "committer": {
        "name": "Émilien Macchi",
        "email": "emilien.macchi@enovance.com",
        "time": "Thu May 09 00:18:37 2013 +0200"
      },
      "message": "Add Debian OS support in DevStack\n\nFix bug #1176216\n\nChange-Id: Ia94c332f02a921a936db249dc3b4a7ae4eff0400\n"
    },
    {
      "commit": "0488edda8a34b0be6693cafdf506cfc8185a2a83",
      "tree": "83cd40b89d4082559e2d4381342b092c07349868",
      "parents": [
        "8bb53e5104f3a49b4d043a7ae0c50d5c80eca8f5"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Apr 11 12:04:36 2013 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed May 08 11:30:51 2013 +1000"
      },
      "message": "Basic check for homedir permissions\n\nSeveral guides suggest using data directories under your homedir,\nrather than the default /opt area.  This is fine, but on RHEL6 and\nsimilar distros homedirs are very restrictive 0700 permissions which\ndoesn\u0027t allow things like httpd to pass through to serve up files.\n\nEven though stack.sh is taking over the host, changing permissions\nautomatically is not a nice idea.  So we just warn when it looks like\nthis is happening.\n\nChange-Id: I9cd70e7fe90638a2a5c3b8fd94756afacac7c7be\n"
    },
    {
      "commit": "d67dd87bfb59e602f564abbdbe9dee8cc8214a9e",
      "tree": "65fff93eb29b13920aec39c90553cd165d3ed248",
      "parents": [
        "41f748525090a994baad2d12e7b93994ad71e093"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Apr 11 11:14:36 2013 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Apr 19 09:45:19 2013 +1000"
      },
      "message": "Skip pip mirrors for RHEL\n\nThe RHEL6 version of pip doesn\u0027t have support for mirrors, so skip\nasking for them.\n\nChange-Id: Iaf2900067bb4b41f88d8fe82ea16b6b53d6bcc60\n"
    },
    {
      "commit": "a1c183b4effc8a9859ed5529577f209bbd9bb880",
      "tree": "01f5fc103c342d5f480c3f24584169b6895be06b",
      "parents": [
        "cc6b4435458b5db6aed17631e4789c43d21ee8e5",
        "896eb666e8825b25ce86d3293b13aa5cff4ad781"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Apr 09 20:14:29 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Apr 09 20:14:29 2013 +0000"
      },
      "message": "Merge \"Add err()/err_if_not_set()\""
    },
    {
      "commit": "cc6b4435458b5db6aed17631e4789c43d21ee8e5",
      "tree": "a8460f062f571849a7a9a547c85771d625828b34",
      "parents": [
        "2e75ff1a41e741ee77926a1262e1e9410701b4e1"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Apr 08 15:38:03 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Apr 09 14:05:32 2013 -0500"
      },
      "message": "Formatting cleanups, doc updates and whatnot\n\nChange-Id: Ica8298353be22f947c8e8a03d8dc29ded9cb26dd\n"
    },
    {
      "commit": "4a8496eca628f03944cd2abdce38bb6c5f521bdf",
      "tree": "dd4cdf1fdd6f71467e63345af95e3b8188c1fd82",
      "parents": [
        "954a588c93b2aa171fe3e88c478e702b34bb9cfa"
      ],
      "author": {
        "name": "Derek Morton",
        "email": "derek.morton25@gmail.com",
        "time": "Mon Apr 08 23:46:08 2013 -0500"
      },
      "committer": {
        "name": "Derek Morton",
        "email": "derek.morton25@gmail.com",
        "time": "Mon Apr 08 23:56:22 2013 -0500"
      },
      "message": "Linux Mint support\n\nThis patch allows DevStack installation on Linux Mint. Installations\non Linux Mint previously failed since its distribution ID did not\nmatch any of the package installation methods and defaulted to using\nrpm packages. Linux Mint is a Ubuntu derivative and such does not have\nnative support for rpm packages.\n\nThis change adds \"LinuxMint\" to the distribution matching options along\nwith Debian and Ubuntu.\n\nChange-Id: Ice6a201cabe07373a9c1354699777835addeac53\nFixes: bug #1166422\n"
    },
    {
      "commit": "896eb666e8825b25ce86d3293b13aa5cff4ad781",
      "tree": "002d8286b5fed1ae91e58be67330823b5edef5c2",
      "parents": [
        "55a08ad2a80826c738d1b20f28d200003dbf02a9"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Apr 05 15:02:01 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Apr 05 15:08:05 2013 -0500"
      },
      "message": "Add err()/err_if_not_set()\n\n* err() and err_if_not_set() do error-like reporting without aborting the script\n* die_if_not_set() now properly dies\n* add is_running() from Grenade\n\nChange-Id: I38b88112415a3c07e35bbc2dc65ad839c4d63fce\n"
    },
    {
      "commit": "d857f4b4a4af2ed468c219d24da9d98416aff5d1",
      "tree": "46b310cabaefc2d3201a82f01ddbcd51a53ee3f4",
      "parents": [
        "4b1dbb5dabb6a30097030c0a625830a17c5c065f"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Mar 20 14:51:06 2013 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Apr 04 08:59:51 2013 +1100"
      },
      "message": "Add rhel to DISTRO match\n\nMatch RHEL and CentOS and provide them as a DISTRO prefix of \"rhel\"\n\nChange-Id: Ida19130ce9499d4d1fd2360fadc6b870b24bbc95\n"
    },
    {
      "commit": "2c678ccf632ed17fde609c210dcb698e08f5395c",
      "tree": "8b4fec29901fbea66e0915e5aa5dc915f6e7d5cd",
      "parents": [
        "e4f0cd7eed3981086b4a0db967501fffa6a07c1e"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Mar 20 13:00:44 2013 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Apr 02 13:47:05 2013 +1100"
      },
      "message": "Use sudo to remove packages\n\nyum and others need root to remove packages\n\nChange-Id: I556505636c41296f9188c248dff13b85616c667c\n"
    },
    {
      "commit": "584d90ec56e18cbb9c0f15fe6af35504c02ea4bd",
      "tree": "6d2027aed2ab0e2e44be06ce906c7083493aab3d",
      "parents": [
        "a173376ea1b838d420384c2946b7e66859b6335b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Fri Mar 29 14:34:53 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Fri Mar 29 14:36:49 2013 -0400"
      },
      "message": "add emacs shell-script tagging\n\nfor files that don\u0027t start with a #! or end in .sh, the added tags\nare nice for emacs users to automatically switch to the right mode.\n\nChange-Id: If4b93e106191bc744ccad8420cef20e751cdf902\n"
    },
    {
      "commit": "0680204b1f437f140d6b4ef8f81e587dce4cb17b",
      "tree": "470f49df6e9731d1ddc43dfadcab7620812c5546",
      "parents": [
        "a2ae90fa026ab3bd9d12b6696b08a999100799e4"
      ],
      "author": {
        "name": "Jonathan Michalon",
        "email": "michalon@igbmc.fr",
        "time": "Thu Mar 21 14:29:58 2013 +0100"
      },
      "committer": {
        "name": "Jonathan Michalon",
        "email": "michalon@igbmc.fr",
        "time": "Wed Mar 27 14:05:30 2013 +0100"
      },
      "message": "Add support for iso files as glance images\n\nChange-Id: Id1731c1a0a579fab44bb3944d2369b3feecf15d2\n"
    },
    {
      "commit": "b28581baf8ca06184b8dc01625777fe1461c0b66",
      "tree": "d519625439a54749638299f8da6e991328ea92b2",
      "parents": [
        "d70346263c6357726dc15c92030221ba2947c624",
        "681f3fddeca89dde1140b79e494aa9ff936273f7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Mar 20 18:10:36 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Mar 20 18:10:36 2013 +0000"
      },
      "message": "Merge \"Add run_process() to start services without screen\""
    },
    {
      "commit": "681f3fddeca89dde1140b79e494aa9ff936273f7",
      "tree": "5e9978d0b11fdd29899afbffde1ecf0bf34d90db",
      "parents": [
        "43eb8f823f0bf0e6e2385360f5eeb89a9fef9ac8"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Feb 27 19:00:39 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 20 11:23:13 2013 -0500"
      },
      "message": "Add run_process() to start services without screen\n\n* USE_SCREEN defaults to True, set it to False to exec the services\n  directly via bash.  SCREEN_DEV is still supported until the CI\n  scripts get updated.\n* The extra logging file descriptors are properly closed in the child process\n  and stdout/stderr are redirected to the log files.\n* The screen_rc() call is still present; this means that stack-screenrc will\n  have a complete record of what was started and rejoin-stack.sh may be able\n  to re-create the setup under screen.\n* The python interpreter was unwilling to write to the log files without\n  unbufering stdout by using PYTHONUNBUFFERED.  This feels hackish and should\n  be investigated further.\n\nChange-Id: I012ed049f2c8b185a2e6929d73edc29e167bc21f\n"
    },
    {
      "commit": "995eb927f76d9c30984fb416a6cb59b9247c6812",
      "tree": "20b3e5088efad7c6d78d789990142948d5081b02",
      "parents": [
        "08fd641a19e44d8a58f20a0a309eea0eb5ac1cab"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 07 16:11:40 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 15 10:30:37 2013 -0500"
      },
      "message": "Add clean.sh\n\nclean.sh gets rid of all residue of running DevStack except installed\npackages and pip modules.\n\nAnd it eradicates rabbitmq-server and ts erlang dependencies as well as\nthe other RPC backends and databases.\n\nChange-Id: I2b9a251a0a151c012bae85a5a2f9c2f72e7700be\n"
    },
    {
      "commit": "08fd641a19e44d8a58f20a0a309eea0eb5ac1cab",
      "tree": "3f0797803596b4e8d26f347e1a49879b8a4e2e80",
      "parents": [
        "4f620187a684b40c385a60f5b4470152e49efcae",
        "0c3a5584c6631c3e67682d76bd5a9d3b4628c7f5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 15 14:41:54 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 15 14:41:54 2013 +0000"
      },
      "message": "Merge \"Enable swift by default.\""
    },
    {
      "commit": "5c13e5442fa12f6a59075651ff03ebfb09cfac1c",
      "tree": "e9f30026f419907c8a0bbf8ef299d234503f51f8",
      "parents": [
        "d29ef9e3c205295dae5ef0233c1e5d2036a6e5ad",
        "c892bde6b415229a8b40229ea2c7ed57c69fa80b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 15 14:38:27 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 15 14:38:27 2013 +0000"
      },
      "message": "Merge \"Extract HOST_IP default process to a function\""
    },
    {
      "commit": "ee00b9298790ff5bf2fc59610b59568c09c93264",
      "tree": "208f4d8b6c9e9f1b8f2350daabc10af5d09edccd",
      "parents": [
        "470d891fffabca23c261630a0417c2854647be6d",
        "ac93efb3c13095d89412081893cc6ff7f9240408"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 14 22:59:49 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 14 22:59:49 2013 +0000"
      },
      "message": "Merge \"Minor comment corrections\""
    },
    {
      "commit": "a268bf9ba4e9cf631b0d76328295074a955ac91b",
      "tree": "fc832f06b83608dadb99efe073b33a190eb382b6",
      "parents": [
        "7cfc9dfd91cceefc7c5f1e5ab467b3b4a8a3e720",
        "239f3246ad741cb824a283642a54dfe5935b74dd"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 14 22:02:59 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 14 22:03:00 2013 +0000"
      },
      "message": "Merge \"Support MultiStrOpt options in configuration file.\""
    },
    {
      "commit": "ac93efb3c13095d89412081893cc6ff7f9240408",
      "tree": "4339269970b65026f061b7a5d9fa8a3ed696b050",
      "parents": [
        "fcb578edfbd19abc5d3efc73701a92e9ea6eaed9"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 13 14:30:54 2013 -0500"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 14 21:19:19 2013 +0000"
      },
      "message": "Minor comment corrections\n\nChange-Id: Ibe516911e76bb250bc5ea582b0d8b8a3b12890f1\n"
    },
    {
      "commit": "c892bde6b415229a8b40229ea2c7ed57c69fa80b",
      "tree": "a4b973333e922a4f396ff2712794904e35fd21e6",
      "parents": [
        "2a5d1ec15e5d04fb8f7c038e58dc06b65f7616a6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 13 14:06:13 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 14 14:52:38 2013 -0500"
      },
      "message": "Extract HOST_IP default process to a function\n\nThis process is required by Grenade also...\n\nChange-Id: I263a4351e70b9cfb0965e57e518fe5fd377f4b43\n"
    },
    {
      "commit": "cd1fe9849431403893bdef50d5327b65ec273f77",
      "tree": "2627400277071ebdeba4fe1b99492d68d49df2b9",
      "parents": [
        "87387596631602b5f676eae65823b4f0c5c71e66"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Mar 12 18:04:29 2013 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Mar 12 18:04:58 2013 +0100"
      },
      "message": "Handle LSB data for openSUSE 12.3\n\nThe LSB vendor changed to \"openSUSE project\" in openSUSE 12.3. Deal with\nit as if it were simply \"openSUSE\".\n\nChange-Id: Id20eac6abba4c07aed1cf4617e89357974f62ff8\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": "239f3246ad741cb824a283642a54dfe5935b74dd",
      "tree": "9bf82112f59953fecdf2d01986bbec76f67534c0",
      "parents": [
        "0d71d1ec56f6063b88e2f11ed057aefe6d7311d2"
      ],
      "author": {
        "name": "Lianhao Lu",
        "email": "lianhao.lu@intel.com",
        "time": "Fri Mar 01 15:54:02 2013 +0800"
      },
      "committer": {
        "name": "Lianhao Lu",
        "email": "lianhao.lu@intel.com",
        "time": "Wed Mar 06 09:42:14 2013 +0800"
      },
      "message": "Support MultiStrOpt options in configuration file.\n\nFixed bug #1136964.\n\n1. Added 3 ini functions to support MultiStrOpt:\n  Function \"iniset_multiline config-file section option value1 value2\nvalue3 ...\" sets a MultiStrOpt option in an ini file.\n\n  Function \"iniget_multiline config-file section option\" gets the\nMultiStrOpt option values.\n\n  Function \"iniadd config-file section option value1 value2 value3...\"\nappends an option without relacing the old values, which would result\nthe option to be MultiStrOpt.\n\n2. Modified the nova configuation to correctly enable notification for\nceilometer.\n\nChange-Id: I1c27db1a6e58b35bc4428e761f40627988f69e37\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": "f90b2740f7f15e7414f7f07ac7566f3c0b5b0e2b",
      "tree": "be973683f751c73e8b7d7940810e53aa42fa64f9",
      "parents": [
        "09d6185b3f79f558cf6a42ca3d9b3c7d685dbce7",
        "07115eb5c06a7f5a63bfacdf33ded466c8f2e2c9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Mar 04 14:12:10 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 04 14:12:10 2013 +0000"
      },
      "message": "Merge \"Refactor error logging\""
    },
    {
      "commit": "d30239a626a1d452c974bdfbeb24011e7c2d2d47",
      "tree": "d7b02e5d72695b7131e8bc7c5622908cec09ef21",
      "parents": [
        "8b5f131d92238cf081dfdf31c46aa77b70027da8",
        "5a5cbf7274a6a50bb766ec590cf885430ed5c5d0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Mar 02 14:33:58 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Mar 02 14:33:58 2013 +0000"
      },
      "message": "Merge \"Enable swift by default.\""
    },
    {
      "commit": "3aa8887170200a8bcf3e4a909059428b360f0c3d",
      "tree": "322d33ffc61c8bd4c1f49393d1f25936a3d4eda8",
      "parents": [
        "493db1eb2980b156cad5de7710dddc7a2d1733e1"
      ],
      "author": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Thu Feb 28 17:39:41 2013 +0000"
      },
      "committer": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Fri Mar 01 14:04:13 2013 +0000"
      },
      "message": "Allow DATABASE_TYPE to be specified in localrc\n\nThe use of DATABASE_TYPE without forcing it into ENABLED_SERVICES\nseems to be the only way to set up a multi-host devstack installation.\n\nOnly deprecate use_database.\nChanges functionality of use_database to be equivalent to specifying DATABASE_TYPE\nThis means that people with localrc\u0027s that only specify use_database used to have\na database service brought up, but now will not until they add it to ENABLED_SERVICES.\n\nChange-Id: I4c6e8ee31f298004338ca46bfc330a3e3af288aa\nFixes: bug 1136028\n"
    },
    {
      "commit": "07115eb5c06a7f5a63bfacdf33ded466c8f2e2c9",
      "tree": "fb6f2bedaafb7bb357f7653cf68a083c2888c1ee",
      "parents": [
        "921f2dab624c045d2be321d986b4769c7fb7de99"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Tue Feb 26 12:38:18 2013 -0800"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Thu Feb 28 11:54:24 2013 -0800"
      },
      "message": "Refactor error logging\n\nIt is hard to grep errors in current log. so in this patch,\nI\u0027m updating die function which also writes log for\nscreen_log_dir/error.log.\nIn future, we may categolize negative fault by using\nthis error.log.\n\nChange-Id: I70a8cfe67ed408284f5c88c762c6bb8acb8ecdb2\n"
    },
    {
      "commit": "8c43809ef6664521b2c906665609757ce7f0b55e",
      "tree": "fe495e9e697046a5a72ea31863f2d2c338629ee6",
      "parents": [
        "555ecd07b084e7f5149a36b97508408a74490eaa"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Tue Feb 12 22:30:56 2013 +0900"
      },
      "committer": {
        "name": "Isaku Yamahata",
        "email": "yamahata@valinux.co.jp",
        "time": "Tue Feb 26 17:39:05 2013 +0900"
      },
      "message": "package: consolidate get_packages logic\n\nRefactor get_package logic.\nWith this refactoring, code like\n\"if is_ubuntu; then install_package xxx elif is_fedora...\"\ncan be simplified later.\n\nChange-Id: I489bfd4cc12cc6b0b8201837f2bfb78c6881c82c\nSigned-off-by: Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\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": "3bfc90df4c9345283a451fc512596dce2cdf52c6",
      "tree": "abd5f798a9d4612ac63cfc6c5bf7a9463e27cf2a",
      "parents": [
        "d0b1c37816392efd2ce40786f7c2925cc80af569",
        "316ed6cc6e1d23b5d10c10f4708d2e5735f4c6d2"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 22 12:30:37 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 22 12:30:37 2013 +0000"
      },
      "message": "Merge \"Upload XenServer style ovf directly to glance\""
    },
    {
      "commit": "d0b1c37816392efd2ce40786f7c2925cc80af569",
      "tree": "730ee1f9157569abded8ce820fc63507526854ee",
      "parents": [
        "d5c0b6620609c21972ed6a36578dd6e3d08e07d9",
        "afc29fe5f210a8e78bafaafe7e8b3b5de733971c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 22 12:26:03 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 22 12:26:03 2013 +0000"
      },
      "message": "Merge \"Deprecate DATABASE_TYPE and use_database\""
    },
    {
      "commit": "afc29fe5f210a8e78bafaafe7e8b3b5de733971c",
      "tree": "f5bac4e645e028691ed14e3107dd5862f8abfbc1",
      "parents": [
        "f127e2f316f1161bacdf4cccdbc3e56b2b8a54a8"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Feb 07 15:56:24 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Feb 21 17:32:04 2013 -0600"
      },
      "message": "Deprecate DATABASE_TYPE and use_database\n\nSelect a database by adding it to ENABLED_SERVICE like the other\nservices.  This greatly simplifies using the lib/* functions in\nplaces other than stack.sh\n\nBackward-compatibility is maintained or now (into havana at least).\n\nChange-Id: I967e44603b4d69d5d70e1a75a9938172ca434025\n"
    },
    {
      "commit": "316ed6cc6e1d23b5d10c10f4708d2e5735f4c6d2",
      "tree": "317d3d4d3ce39e0ac372b7b86501d477dc290e92",
      "parents": [
        "d404c79930a80bd6330cfaca9b1278c706d50d0f"
      ],
      "author": {
        "name": "Davanum Srinivas",
        "email": "dims@linux.vnet.ibm.com",
        "time": "Wed Feb 06 15:29:49 2013 -0500"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 20 23:57:47 2013 +0000"
      },
      "message": "Upload XenServer style ovf directly to glance\n\nDon\u0027t decompress images ending with .vhd.tgz, just send them\nto glance\n\nFixes LP# 1117256\n\nChange-Id: I201debc2e34808703c717276d192169b1ed24c05\n"
    },
    {
      "commit": "25ebbcd1a7bc95e69ad32b19245ce0990a29eaa7",
      "tree": "d2ea83117371080ba93b86bbb1b0d36034e7d790",
      "parents": [
        "bd02bfb416881830502addef1e67d1dea2fd388b"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Sun Feb 17 15:45:55 2013 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Sun Feb 17 15:49:55 2013 +0000"
      },
      "message": "Bring back screen logs for noninteractive runs.\n\n* functions(screen_it): Prior to 58e2134 screen logs were generated\neven when run without $SCREEN_DEV. We want to be able to capture\nthese with devstack-gate for later inspection, so this patch\nreintroduces that capability.\n\nChange-Id: Ife127b47d7700878e02285281854595bc6585972\n"
    },
    {
      "commit": "58e21349644f42d4aff078e4da26ecd98d76ba19",
      "tree": "03c6b1a004cc5c3b223a277989937241c08bc777",
      "parents": [
        "098b272cf76ce7150852daba79b714f9746a204f"
      ],
      "author": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Mon Feb 11 16:48:12 2013 -0800"
      },
      "committer": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Tue Feb 12 09:12:45 2013 -0800"
      },
      "message": "Add option to make screen starting more robust.\n\nWe have seen a number of failures in ci where a host is overloaded\nand the 1.5 second sleep before stuffing data into screen is not\nlong enough. This means the service doesn\u0027t start and tests fail.\n\nThis change adds a config option to allow us to turn off the developer\nfriendly option to stuff text into the screen. When SCREEN_DEV is\nset to False it will use a simple exec in screen instead of stuff.\nThis should be far more reliable because we don\u0027t have to wait\nfor bash to start.\n\nChange-Id: I7f1b5dbf5329b23507cb767d54a2795be0d73e01\n"
    },
    {
      "commit": "48352ee7c05cf79734abf74a2e7ac47425babb3a",
      "tree": "274eb0dcc1ecd9ada3f58322b7259a1b98739e31",
      "parents": [
        "f3da41a5eea19f429a296405bfa3b72d899c3141"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Dec 12 12:50:38 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Feb 08 10:35:43 2013 -0600"
      },
      "message": "Create tools/install_prereqs.sh\n\n* Factor system package prereq installs out to tools/install_prereqs.sh\n* Set minimum time between runs with PREREQ_RERUN_HOURS\n  default \u003d 2 hours\n* Create export_proxy_variables\n* Force an update with install_prereqs.sh -f or by setting\n  FORCE_PREREQ\u003dtrue\n\nFixed an issue with exit/return in tools/install_prereqs.sh\n\nChange-Id: I9a62090ad2f900b9b150cacb9cb02b326cb46972\n"
    },
    {
      "commit": "4196d5565e48608c64fccdd9e17fcc01dd8d06fe",
      "tree": "69ae80671348f3ee69a2fb4a89ccd8cd5d4f4aea",
      "parents": [
        "f49c41010b7599b0d8e17917fb5d4c9f2b45cea7"
      ],
      "author": {
        "name": "Jakub Ruzicka",
        "email": "jruzicka@redhat.com",
        "time": "Wed Jan 30 15:35:54 2013 +0100"
      },
      "committer": {
        "name": "Jakub Ruzicka",
        "email": "jruzicka@redhat.com",
        "time": "Wed Jan 30 16:33:43 2013 +0100"
      },
      "message": "Introduce get_python_exec_prefix function.\n\nget_python_exec_prefix returns the path to the direcotry where python\nexecutables are installed, that is /usr/bin on Fedora and /usr/local/bin\neverywhere else.\n\nIt is used to properly locate OpenStack executables.\n\nFixes: bug #1068386\n\nChange-Id: I228498ebe2762568d00757d065e37377ee2c8fb3\n"
    },
    {
      "commit": "1b3a97c684a5bb3aaa5a551a26c42d0fd24ff6d5",
      "tree": "fd58758ca798775f352591b4afbded54fddcc96e",
      "parents": [
        "2cd482818ec54d78258a70df3a87a4d14c173a21",
        "b0f1c38bdcb02068e2e3d0daf2d65695d9d58478"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 15 11:43:01 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 15 11:43:01 2013 +0000"
      },
      "message": "Merge \"Refactor rpc backend configuration logic\""
    },
    {
      "commit": "b0f1c38bdcb02068e2e3d0daf2d65695d9d58478",
      "tree": "a1a7a570758d79b87ef4a6f88690be1fc5fd5f42",
      "parents": [
        "fec9355fd274a588f27c28741a249790416c7605"
      ],
      "author": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Sun Jan 13 17:58:12 2013 +0900"
      },
      "committer": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Mon Jan 14 16:12:06 2013 +0900"
      },
      "message": "Refactor rpc backend configuration logic\n\nThis commit also changes the following:\n- Fixes Nova QPID module path\n- Fixes a bug Cinder ZeroMQ RPC points to nova module\n- Adds ZeroMQ setting for Heat RPC\n\nqpid_is_supported is moved from functions to lib/rpc_backend.\n\nThis work is based on the work by Isaku Yamahata \u003cyamahata@valinux.co.jp\u003e\nin https://review.openstack.org/#/c/19074/.\n\nChange-Id: I45e21b1fb85e539213f5243764132a37906d7455\n"
    },
    {
      "commit": "af988fd1d20aff684cde07d8683ecf5e0d539dfe",
      "tree": "dd2726e42f62200f7e969269222c455950709fc1",
      "parents": [
        "fec9355fd274a588f27c28741a249790416c7605"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Sun Jan 13 14:20:47 2013 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Sun Jan 13 14:25:26 2013 +0100"
      },
      "message": "Support RHEL with lsb_release\n\nConsider all distributor as \"Red Hat\" which id matches to the Red.*Hat regexp.\n\nExample Distributor ID: \"RedHatEnterpriseServer\"\n\nChange-Id: I29cc2e83cccaafa3e1e056e506fda5c9771764a1\n"
    },
    {
      "commit": "9f67bd692c380737e1e4f11ad3a91e4646c1e48d",
      "tree": "9657bc933576d55bac91f6f897ab0a5e34d431b9",
      "parents": [
        "976f5968bb03029487cbd35219134b202dbbe184",
        "588eb4129d34ea58fd40438eb1c6edd1a9f9a2d0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 11 01:18:27 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 11 01:18:27 2013 +0000"
      },
      "message": "Merge \"Fix iniset and his friends\""
    },
    {
      "commit": "4159e6066d530cced1c7ec2ae4addb9b531673ee",
      "tree": "80b5d3534c13f37664f5ba684c64b8aff6d05b6d",
      "parents": [
        "29acb1745b51e4755d748743a03057effc9b11f9",
        "251d3b5fbcf445c41e127c6afd6350af47b3e011"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 08 05:17:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 08 05:17:22 2013 +0000"
      },
      "message": "Merge \"Remove unnecessary returns\""
    },
    {
      "commit": "5d8ae5bb6b6cde7f14e0b5ff554a177fc53b9271",
      "tree": "e4f44181465ac403b1457cb323455d2431e40b87",
      "parents": [
        "822d9b6c992c21617243496760a746cf53672430",
        "35138ed6732fd2d4d06b9ffa92a391626acddfb1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 04 22:26:01 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 04 22:26:01 2013 +0000"
      },
      "message": "Merge \"Use \u0027which pip\u0027 rather than /usr/bin/pip\""
    },
    {
      "commit": "35138ed6732fd2d4d06b9ffa92a391626acddfb1",
      "tree": "23cf4200261b813786a808d70aca18efdba3fd4f",
      "parents": [
        "3a30b06daf8a1f5a1b06480b53d6c31e47f40200"
      ],
      "author": {
        "name": "Nikhil Manchanda",
        "email": "SlickNik@gmail.com",
        "time": "Thu Jan 03 17:49:58 2013 -0800"
      },
      "committer": {
        "name": "Nikhil Manchanda",
        "email": "SlickNik@gmail.com",
        "time": "Fri Jan 04 10:15:55 2013 -0800"
      },
      "message": "Use \u0027which pip\u0027 rather than /usr/bin/pip\n\nBug 1095472: Bugfix to use \u0027which pip\u0027 rather than assume pip always lives in /usr/bin\n\nChange-Id: I0cc8a5e35306372653c3c27da9504c64e39d56dd\n"
    },
    {
      "commit": "b73e247ad45eee9ef45c32eff9bfa0daa3b1d733",
      "tree": "e60eafb8841a7c647e2aee7326f0d060d6d9c215",
      "parents": [
        "3a30b06daf8a1f5a1b06480b53d6c31e47f40200"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Wed Jan 02 13:59:47 2013 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Wed Jan 02 14:00:58 2013 -0500"
      },
      "message": "Revert \"Create tools/install_prereqs.sh\"\n\nThis reverts commit 7be0b04\n\nThis work breaks the ability to do multi database installs,\nrevert until there is a working solution here, as this is going\nto make fixing postgresql in tempest impossible.\n\nChange-Id: I39a2b78542fe60233806d1005186ce1b31d4be17\n"
    }
  ],
  "next": "3a30b06daf8a1f5a1b06480b53d6c31e47f40200"
}
