)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "3a30b06daf8a1f5a1b06480b53d6c31e47f40200",
      "tree": "2d55f7e220ad1825635603293fa355731e61b664",
      "parents": [
        "6d04fd7ba59450c4d9c6c7317eef05c7812056b1",
        "7be0b047dc668a0095d0c7e51948edf83b66d5b8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 02 13:25:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 02 13:25:22 2013 +0000"
      },
      "message": "Merge \"Create tools/install_prereqs.sh\""
    },
    {
      "commit": "3a3a2bac674041f5bb92bc1ef59c7fc55a9946bd",
      "tree": "b74bf624e5d8091e2d73ebc92f551ccc7e918d8b",
      "parents": [
        "b0d8a8288be6ad23114563c4bf62338c79766501"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Dec 11 15:26:24 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Dec 20 14:46:57 2012 -0600"
      },
      "message": "Set up Nova for TLS\n\n* Start n-api proxy if \u0027tls-proxy\u0027 is enabled\n* Configure nova service catalog for TLS\n\nChange-Id: If031eb315f76c5c441a25fe3582b626bbee73c6e\n"
    },
    {
      "commit": "588eb4129d34ea58fd40438eb1c6edd1a9f9a2d0",
      "tree": "b040aef13d23173489fecfcc0704a1212eae75e7",
      "parents": [
        "701718a844a5efc9932cd28870057ac779a49e92"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Thu Dec 20 10:57:16 2012 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Thu Dec 20 11:00:42 2012 +0100"
      },
      "message": "Fix iniset and his friends\n\n* In python the white spaces are part of the section name\n* Handle options with empty value\n* Support paths with white spaces\n\nChange-Id: I69a584608853cfdb8b7dce1e24d929216ef2fc41\n"
    },
    {
      "commit": "7be0b047dc668a0095d0c7e51948edf83b66d5b8",
      "tree": "dc6e7cb6cca794fefaefac147a08ae4bc4f1bad3",
      "parents": [
        "63ea3185de5d3e703e623ba57bc19a70c160274a"
      ],
      "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": "Wed Dec 19 12:30:35 2012 -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 re_export_proxy_variables\n\nChange-Id: I4a182b1da685f403d6abdd8540d2114796c01682\n"
    },
    {
      "commit": "251d3b5fbcf445c41e127c6afd6350af47b3e011",
      "tree": "ba7abc1ddfccfde93559b2f77d1ac4bef0851751",
      "parents": [
        "b0d8a8288be6ad23114563c4bf62338c79766501"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Sun Dec 16 15:05:44 2012 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Mon Dec 17 17:27:28 2012 +0100"
      },
      "message": "Remove unnecessary returns\n\n* remove duplicated xtrace\n* remove some unnecessary return\n\nChange-Id: If9e0a979e0bd5a334e82d42572ac0b149de341d7\n"
    },
    {
      "commit": "dd0bed5dd0efa2559ce4fbb58451fb2a1ba5ade3",
      "tree": "7ed7175921d9715cff85c293db24d20ff9a134e1",
      "parents": [
        "e0195ed8abad3970458f4324bbc80cdfa95a6af9",
        "a9414249af522324c68e4d8fe1656283162e5738"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Dec 12 18:20:01 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Dec 12 18:20:01 2012 +0000"
      },
      "message": "Merge \"Add a service_check function\""
    },
    {
      "commit": "a9414249af522324c68e4d8fe1656283162e5738",
      "tree": "4cec319548ab6ca13fc00b2cac431cc07e97d477",
      "parents": [
        "fb501d01ac07fd2272696b62743d40b4263ac033"
      ],
      "author": {
        "name": "jiajun xu",
        "email": "jiajun.xu@intel.com",
        "time": "Thu Dec 06 16:30:57 2012 +0800"
      },
      "committer": {
        "name": "jiajun xu",
        "email": "jiajun.xu@intel.com",
        "time": "Sat Dec 08 00:04:34 2012 +0800"
      },
      "message": "Add a service_check function\n\nThere is no function to check if the services invoked by devstack are\nrunning well or not. We could use the function to check their status\nand print them at the end of devstack running.\n\nChange-Id: I845f6b5dddce5cffa7165ec58517f9ae5d8632a6\n"
    },
    {
      "commit": "00011c0847a9972b78051954e272f54e9d07ef51",
      "tree": "d700284b823a9464196dd59f96b2f45dba4a20ec",
      "parents": [
        "e5f8d1228a139ae13da5f2fbdfd09b3b43fd52fd"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Thu Dec 06 09:56:32 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Fri Dec 07 09:06:07 2012 +0100"
      },
      "message": "Add is_fedora and exit_distro_not_supported functions\n\nBetween is_fedora, is_ubuntu and is_suse, we can make the code a bit\nsimpler to read. We also use exit_distro_not_supported to identify\nplaces where we need implementation details for new distros.\n\nAs \"/sbin/service --skip-redirect\" is Fedora-specific, guard this with a\nis_fedora test too.\n\nChange-Id: Ic77c0697ed9be0dbb5df8e73da93463e76025f0c\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": "22d6799d73251d325ca73869197e1c7f20c3c99e",
      "tree": "2a5c7f736ea1a8c9e88fd7b562e43ad4db02525c",
      "parents": [
        "922aa3a0ff6c2fb757845435c477443f7bde66b2",
        "8ec27220c5c63de59f129c839eddf5380efe46a4"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Dec 03 17:05:04 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Dec 03 17:05:04 2012 +0000"
      },
      "message": "Merge \"Add a get_pip_command function\""
    },
    {
      "commit": "8ec27220c5c63de59f129c839eddf5380efe46a4",
      "tree": "be6ccdd20a6834a7e605a977b62cfbc3cb07581c",
      "parents": [
        "9a27dd8dd557c9bf64bfaf4965eff7a8f75fb1af"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Thu Nov 29 09:25:31 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Mon Dec 03 17:00:39 2012 +0100"
      },
      "message": "Add a get_pip_command function\n\nThere are two places where we need to find the right command for pip, so\ninstead of having one version we fix and a buggy version we forget,\nsimply use a function :-)\n\nChange-Id: I728c17ad7be5c86690c4d7907f77f1f98ec2b815\n"
    },
    {
      "commit": "c2d2f52bbdf7b83fbd74a7396c7380b6da9b2ae3",
      "tree": "30dd04900e36899c2673a08d3579f27cc498576e",
      "parents": [
        "1a7bbd255fd02fbfee6a26b990d15d38402f1992"
      ],
      "author": {
        "name": "Russell Bryant",
        "email": "rbryant@redhat.com",
        "time": "Mon Dec 03 10:02:40 2012 -0500"
      },
      "committer": {
        "name": "Russell Bryant",
        "email": "rbryant@redhat.com",
        "time": "Mon Dec 03 10:05:18 2012 -0500"
      },
      "message": "Fix qpid support on Fedora.\n\nThe new qpid_is_supported function returned the opposite value from what\nit was supposed to.  It returned success for the platforms where qpid is\nnot supported.\n\nChange-Id: I0ceaae1dddaa6192657926834c6eb8006925f0cf\n"
    },
    {
      "commit": "1a7bbd255fd02fbfee6a26b990d15d38402f1992",
      "tree": "a492085bcb1de5a915e3e43fa4b3d7dc5b34785b",
      "parents": [
        "6540d8910194bb523601ffdd06cdf4c2126e3fd0"
      ],
      "author": {
        "name": "Steve Baker",
        "email": "sbaker@redhat.com",
        "time": "Mon Dec 03 17:04:02 2012 +1300"
      },
      "committer": {
        "name": "Steve Baker",
        "email": "sbaker@redhat.com",
        "time": "Mon Dec 03 17:04:02 2012 +1300"
      },
      "message": "is_suse false positives on Fedora\n\nAlso, uses of is_suse were also always evaluating to true\non Fedora.\n\nChange-Id: I068f3179edbfb295163a4e4faa4998f2f7b2c124\n"
    },
    {
      "commit": "afd472cb30ba90611b3b3907ad2570f26905532c",
      "tree": "6f891a0821b2b1e320d093feb57a5859b2b14845",
      "parents": [
        "e509d9cde741fc512c23197164f0c40b7118108d"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Nov 28 11:54:45 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Nov 28 11:54:47 2012 -0600"
      },
      "message": "Don\u0027t combine sed options\n\nCombining \u0027-i -e\u0027 into \u0027-ie\u0027 changes behaviour, don\u0027t do that\n\nChange-Id: Ice46c6b4f899b4c76f355cc88241dd33bc60f459\n"
    },
    {
      "commit": "e509d9cde741fc512c23197164f0c40b7118108d",
      "tree": "36cdc0bdf37a3e01ea771c92133425f7279905ff",
      "parents": [
        "518f1f5c6fb03f8aead4b5e1c664a54c3ea72c8d",
        "0a9954f2c251c68a8261a5ed6999c1585e48de67"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 28 16:56:43 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 28 16:56:43 2012 +0000"
      },
      "message": "Merge \"Also pickup quantum distro dependencies (bug 1080886).\""
    },
    {
      "commit": "518f1f5c6fb03f8aead4b5e1c664a54c3ea72c8d",
      "tree": "c6089b505e174d56da6906022ce74f532bd083e6",
      "parents": [
        "856a11e0e42c253b84b6074c620d54e620cd17c6",
        "e83356217b48308b3a4dc975940c79a22e159238"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 28 16:54:17 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 28 16:54:17 2012 +0000"
      },
      "message": "Merge \"Fix ini functions to handle spaces in section names\""
    },
    {
      "commit": "856a11e0e42c253b84b6074c620d54e620cd17c6",
      "tree": "e6184bd954d5523903c2719a55e78a0340fce63e",
      "parents": [
        "ff828ce3f63788534e1828aba5eb16e68a20b69b"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Wed Nov 21 16:04:12 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Wed Nov 28 16:22:12 2012 +0100"
      },
      "message": "Add partial openSUSE/SLE support\n\nNote that this is the first part of the support. A second part involves\ndealing with the package names.\n\nAmong the changes:\n - add several functions to determine some distro-specific behavior (how\n   to call usermod, if some features are available on the distro, etc.)\n - correctly detect openSUSE and SLE in GetOSVersion, and set DISTRO\n   accordingly\n - new is_suse() function to check if running on a SUSE-based distro\n - use zypper to install packages\n - adapt apache virtual host configuration for openSUSE\n - some simple fixes (path to pip, mysql service name)\n\nChange-Id: Id2f7c9e18a1c4a7b7cea262ea7959d183e4b0cf0\n"
    },
    {
      "commit": "e83356217b48308b3a4dc975940c79a22e159238",
      "tree": "e3f2becea6bcd4acf1d3b1f7e8ea5043e6d022e3",
      "parents": [
        "140b58ba1938090174a4e2733792e12da4c155e0"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Nov 27 17:00:11 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Nov 27 17:00:16 2012 -0600"
      },
      "message": "Fix ini functions to handle spaces in section names\n\nThis allows section names to look like:\n\n[ default ]\n\nOpenSSL is the primary offender for this usage.\n\nChange-Id: If5c711107e73cebab9d4a26ca02a7ce572224377\n"
    },
    {
      "commit": "0a9954f2c251c68a8261a5ed6999c1585e48de67",
      "tree": "77dd32a4b5e3e5b348ffddca938e9c2d2be89907",
      "parents": [
        "140b58ba1938090174a4e2733792e12da4c155e0"
      ],
      "author": {
        "name": "Robert Collins",
        "email": "robertc@robertcollins.net",
        "time": "Tue Nov 20 11:34:25 2012 +1300"
      },
      "committer": {
        "name": "Robert Collins",
        "email": "robertc@robertcollins.net",
        "time": "Tue Nov 27 10:49:11 2012 +1300"
      },
      "message": "Also pickup quantum distro dependencies (bug 1080886).\n\nChange-Id: Ic0fc0b03dc01782d0d85d98de765f04fcbcacd74\n"
    },
    {
      "commit": "c1b486a520dd3c2c9596244a0aa899f2e35ec3bf",
      "tree": "56358ac68b488ab3c22a3f053eb0528d9a21d1f6",
      "parents": [
        "8205e0dcfbf14497f0134c59dfde71ea181eac4a"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Nov 05 14:26:09 2012 -0600"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Nov 15 11:48:18 2012 -0500"
      },
      "message": "Simplify database selection\n\nDo not require every script that sources stackrc to also\nsource lib/databases.\n\n* Move use_databases() to functions\n* Set DATABASE_TYPE in stackrc\n* Allow setting DATABASE_TYPE in localrc to work\n  (use_database() essentially just sets DATABASE_TYPE at this stage\n  so continuing to use it is equivalent)\n* Validate DATABASE_TYPE in stack.sh.\n* Change sudo to postgresql user to go through root to eliminate\n  password prompt\n* fix use_database error condition\n\nChange-Id: Ibb080c76e6cd7c6eebbb641a894d54b1dde78ca6\n"
    },
    {
      "commit": "7a51891cb4dc6b2ee56ad24000ba1fcfed084528",
      "tree": "6f00e542c4755f474292066c777109af73989e02",
      "parents": [
        "69f8729233a8f2ba95390cd4d1c99bd3c199c95c",
        "6fd2811726c098e0311bc22c84c5da0d6aa89c62"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 14 21:58:47 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 14 21:58:47 2012 +0000"
      },
      "message": "Merge \"Remove support for nova-volume\""
    },
    {
      "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": "b459d0e3ba7cfbd49f4b37ccb64f9350228997eb",
      "tree": "ec1404b0a5238e74183bd8f7e95a2421f6457f05",
      "parents": [
        "da339829472ffcdc3044f79b76b6cd03608db191",
        "5db5bfa28f48b0524db6d25d340d12c96270ac0e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 14 16:30:55 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 14 16:30:55 2012 +0000"
      },
      "message": "Merge \"Make exercise.sh with quantum work\""
    },
    {
      "commit": "5db5bfa28f48b0524db6d25d340d12c96270ac0e",
      "tree": "1d51d0881bb4b8b7a6de72bca9582b72c9622cec",
      "parents": [
        "c6b9fcaed10eb8afc73310c0af75a5c682405c59"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Mon Oct 29 11:25:29 2012 -0700"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Tue Nov 13 10:40:59 2012 -0800"
      },
      "message": "Make exercise.sh with quantum work\n\n- added support for quantum-debug command\n- added ping and ssh method for quantum\n\nChange-Id: Iebf8a0e9e2ed2bb56bee6533e69827e6caa2bc82\n"
    },
    {
      "commit": "3189611d2e19549ff34703f94d2ff3448bfb2965",
      "tree": "644a18dfaea69695e6c5318eb18ca0e90347ca8a",
      "parents": [
        "59dd95e165a6e5d0375f45cbf61c484e0bc62a3f",
        "3a87eddc7fb83c5cdbbc231f0fd2a94e92d958d7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Nov 08 03:35:57 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 08 03:35:57 2012 +0000"
      },
      "message": "Merge \"Added options to improve offline usage.\""
    },
    {
      "commit": "6931c137b9f214a2ac3bdda42904952f9aa8b7ca",
      "tree": "13aac53cd39b312af0a1ae62c63cfcc9209501a3",
      "parents": [
        "8ec719b4d43a2c234442256df1ade62cc26755d6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Nov 07 16:51:21 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Nov 07 16:51:21 2012 -0600"
      },
      "message": "Fix spacing issue in ssh_check()\n\nChange-Id: Ia5bd7b678b86f2e3e3b1fa04e628096feb1ace81\n"
    },
    {
      "commit": "3a87eddc7fb83c5cdbbc231f0fd2a94e92d958d7",
      "tree": "bb82c4a1a57cec7b52633e2718215e3b2f1dbc74",
      "parents": [
        "afaeefd183bd79a7f8dbfd6bd38de4ff82f0a4fb"
      ],
      "author": {
        "name": "Maru Newby",
        "email": "mnewby@internap.com",
        "time": "Thu Oct 25 23:01:06 2012 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "mnewby@internap.com",
        "time": "Wed Nov 07 19:49:12 2012 +0000"
      },
      "message": "Added options to improve offline usage.\n\n * NOVA_ZIPBALL_URL can be set for a XS/XCP install to point to a\n   non-standard zipball location.\n * PIP_USE_MIRRORS (default True) can be set to False to stop pip\n   from attempting to use mirrors (useful for when using an offline\n   eggproxy).\n\nChange-Id: I01a9944fe4c13c8cc8323a703f598bc498491b73\n"
    },
    {
      "commit": "308beccc2475f7ff35421eef23048fc1d43a3491",
      "tree": "8d736a309bb2ab873f185b79666c9d7fb88fc538",
      "parents": [
        "00bd7614740620a3194c664f98c193205e5f4013",
        "428af5a257310dbbae9bd7d3b9cd81f92ef7ba9a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Nov 04 12:34:31 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Nov 04 12:34:31 2012 +0000"
      },
      "message": "Merge \"Add PostgreSQL support to devstack\""
    },
    {
      "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": "e88c0a20360ac0b9cef6ab5dde2101127a6c2da7",
      "tree": "476f3e3abe000f6abef933361385508d61f70ef9",
      "parents": [
        "afaeefd183bd79a7f8dbfd6bd38de4ff82f0a4fb"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Nov 02 16:59:03 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Nov 02 17:05:35 2012 -0500"
      },
      "message": "Fix errors when commands return error text rather than data\n\nI\u0027m looking at you euca2ools\n\nChange-Id: I82bfb8a3ee58fdc54ead6a285c9415593e741892\n"
    },
    {
      "commit": "fda946e3eb46fc59ff79f83e68a8488141f3444e",
      "tree": "35b6e15cf05dfbef643ef45c2b037f1366ee0db9",
      "parents": [
        "92c964f92a7460ecf37d0fb10e7d006bb203779c"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Wed Oct 24 17:26:02 2012 -0700"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Thu Oct 25 21:52:31 2012 -0700"
      },
      "message": "Added ping_check and ssh_check functions and use it in exercise.sh\n\nChange-Id: I69d41c9db527f60f250b6af36b2d8e9d0dd39684\n"
    },
    {
      "commit": "855c5875c7756db192fe7078bed207ab280f7780",
      "tree": "460c492a9721fbde8272b12d70d3999f68dac9b8",
      "parents": [
        "3cf1ffbcdda2f74a7f0d57eb2b8bac8d90af108f"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Thu Oct 04 13:36:46 2012 +0200"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Thu Oct 04 13:55:54 2012 +0200"
      },
      "message": "Directly use GetDistro instead of failing if $DISTRO is not set\n\nChange-Id: I81d73a767e1c7f5e83eb535b2e1645e6ab29f347\n"
    },
    {
      "commit": "1a3c9fe41b9b20d98b0b7afe6dbec9fcb025d551",
      "tree": "42621e35292c7597fd779c9d3d330c391bb64efa",
      "parents": [
        "e0ed68f51f17d99a8b652189bf2da75ea55df0c7"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Sep 29 17:25:02 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Sep 29 17:25:02 2012 -0500"
      },
      "message": "Fix setup_develop\n\nChange-Id: I64324436eebebfb05ad724335eece10cba107d91\n"
    },
    {
      "commit": "636a3ff4294a6841f6076283bbed561dc2676e30",
      "tree": "5a06394fbd7e9c5058174d94d56f4bd3de572902",
      "parents": [
        "d85135ee4087d5aef6b81408a941a8cbeed24619"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Sep 14 11:36:07 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Sep 14 13:48:16 2012 -0500"
      },
      "message": "Spiff up the upload_image() format handling\n\n* attempt to detect format of *.img files automatically, recognizing:\n  qcow2,raw,vdi,vmdk,vpc\n\nChange-Id: I92ec141584ba8237b67ca640e401a1b88860747e\n"
    },
    {
      "commit": "71ebc6ff65e6ae3982a7e8a7ecf9ff80fd18d6bb",
      "tree": "67c928b32f58d7eaef0d1c75a32790c3dc33100d",
      "parents": [
        "c132625d1dcdc4d8ea824c0efb2b7428ab07341f"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Jun 12 13:45:15 2012 +0200"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sun Sep 09 17:40:19 2012 -0500"
      },
      "message": "Add is_package_installed function to know if a package is installed\n\nThis helps reduce the distro-dependent code in stack.sh, and also fixes\nthe bug where \"rpm -qa | grep sudo\" will work if gnome-sudoku is\ninstalled.\n\nRebased\n\nChange-Id: Ib1330b29b915b41d9724197edd791f0d4e0fe373\n"
    },
    {
      "commit": "c0482e6efcc34515b9383e6a0de1e03b75d6ce62",
      "tree": "963c5c011696ab08120ea8c7f7756bf4a7d5f661",
      "parents": [
        "3ceb380012a8d3700d438e773ebc7c830a1ae027"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Jun 12 11:30:43 2012 +0200"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sun Sep 09 14:12:52 2012 -0500"
      },
      "message": "Add contitional update package repositories to install_package()\n\nThis helps us ensure that we update the repositories only the first time\nwe need to install packages\n\nRebased and incorporated into install_package()\n\nChange-Id: Id987aa7742f5d6807bc97eb6784cf18557c919d2\n"
    },
    {
      "commit": "7d0810ec2a20037f4cc8a4e30bf59e2cfbf4cf46",
      "tree": "ede6f27ebb15d616c789a02c731346eae05a3104",
      "parents": [
        "b2cbbb06ce70bfacf4eacdd94ab865d855362e4c",
        "f900bd79463821c8f5a677c566f9af053d81a860"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Sep 08 05:42:19 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Sep 08 05:42:19 2012 +0000"
      },
      "message": "Merge \"Add git_update_remote_branch to functions.\""
    },
    {
      "commit": "15733351ad5650fc9ab93eb3b7b405d51ac2a3d6",
      "tree": "a670ed45300c3f61215eb2ac080b491de17b007a",
      "parents": [
        "6a1c8497733073ec5855acf7e6de2f57cbf6bf9a"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Sep 06 11:51:30 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Sep 06 12:25:25 2012 -0500"
      },
      "message": "Move screen_it() and screen_rc() to functions\n\nChange-Id: I9b119e2c6d4d88a67d485f61662037984c2d9b15\n"
    },
    {
      "commit": "f900bd79463821c8f5a677c566f9af053d81a860",
      "tree": "5f6f1526dc07dd63911a29107c98d353851725bf",
      "parents": [
        "6a1c8497733073ec5855acf7e6de2f57cbf6bf9a"
      ],
      "author": {
        "name": "Andrew Laski",
        "email": "alaski@gmail.com",
        "time": "Wed Sep 05 17:23:14 2012 -0400"
      },
      "committer": {
        "name": "Andrew Laski",
        "email": "andrew.laski@rackspace.com",
        "time": "Wed Sep 05 17:31:00 2012 -0400"
      },
      "message": "Add git_update_remote_branch to functions.\n\nWhen $RECLONE\u003dyes, and the branch specified for a project in stackrc is\na remote branch, the git_clone function would not recognize it as a\nbranch.  git_clone now attempts to recognize a remote branch and handle\nit appropriately.\n\nChange-Id: Ie23ff12eb5a7905088a9c2bb0ea2b02453ec0258\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": "ca0e3d0230879fbad55472f742d3166a5579208c",
      "tree": "db3a8a836b2597c26529e1543b8df7be05deffc6",
      "parents": [
        "555767abbf2191feb1c2ecfeff1356a9e2e52ef8"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Apr 13 15:58:37 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Aug 17 12:12:46 2012 -0500"
      },
      "message": "Add tools/upload_image.sh\n\n* moves the image upload logic from stack.sh to functions upload_image()\n* tools/upload_image.sh which is a thin wrapper around upload_image()\n\nChange-Id: I8746beebf50cf623b6fe903d6497e66e3fa5dda6\n"
    },
    {
      "commit": "555767abbf2191feb1c2ecfeff1356a9e2e52ef8",
      "tree": "2459e08c3a9f56720aa0394048a087224c616d6f",
      "parents": [
        "f2e3bb4ba7069f7e05a376659e79427639a56fa9",
        "93361643c6f06319fd3b6b7bb8aff48eb0473edd"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Aug 17 14:58:15 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Aug 17 14:58:15 2012 +0000"
      },
      "message": "Merge \"Add ceilometer\""
    },
    {
      "commit": "7b49598f7e8ac5a5ad0391088b5a0316175d2eb7",
      "tree": "f370c408a8111d601c1765a2771f41641b0710da",
      "parents": [
        "7d8f0366627e2c5f3873782c4a279d5e67bc51c5",
        "6a3912de8589d505a019e9630ce930a4cf5f7354"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Aug 16 17:20:22 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Aug 16 17:20:22 2012 +0000"
      },
      "message": "Merge \"Add git update tag support\""
    },
    {
      "commit": "93361643c6f06319fd3b6b7bb8aff48eb0473edd",
      "tree": "e24d7ae6469c4f45bc6144041f28d02a08183273",
      "parents": [
        "7b0f002b7cf38b261e645ebb0adcbd0679a213d7"
      ],
      "author": {
        "name": "John H. Tran",
        "email": "jhtran@att.com",
        "time": "Thu Jul 26 11:22:05 2012 -0700"
      },
      "committer": {
        "name": "John H. Tran",
        "email": "jhtran@att.com",
        "time": "Tue Aug 14 13:29:22 2012 -0700"
      },
      "message": "Add ceilometer\n\nImplements bug 1023972. Add mongodb and pymongo installation.\n\nChange-Id: I631dc8a37f3269e55112ec5a5f375d3a2fd3a604\n"
    },
    {
      "commit": "a8cdd355d25a808f02505f2848fdd8b8857c410c",
      "tree": "fdfacbf4b2b13589eb046452527c97b51ac64fc2",
      "parents": [
        "ceaa75fdb3b237f48e91f62e0862eb7b014dac91",
        "c9ad14bd3879e54c30cc88b186128dca3f6ab21a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Aug 10 21:43:48 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Aug 10 21:43:48 2012 +0000"
      },
      "message": "Merge \"Use default route to find HOST_IP\""
    },
    {
      "commit": "ceaa75fdb3b237f48e91f62e0862eb7b014dac91",
      "tree": "21d28316fbd208e8b6c239a6a1b5312a38e62522",
      "parents": [
        "c42922090ba92cd1be870650dee9fa16c2838e45",
        "7abe4f24a3b77a1507ab0d1c994c3f5052aa0fe9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Aug 10 21:43:46 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Aug 10 21:43:46 2012 +0000"
      },
      "message": "Merge \"support no_proxy environment variable\""
    },
    {
      "commit": "7abe4f24a3b77a1507ab0d1c994c3f5052aa0fe9",
      "tree": "826f831002ae67bfaf894584a54698eb7669e66e",
      "parents": [
        "14ab37eb4174b8a1be8c5ff5e531cff5db3791c9"
      ],
      "author": {
        "name": "Osamu Habuka",
        "email": "xiu.yushen@gmail.com",
        "time": "Wed Jul 25 12:39:32 2012 +0900"
      },
      "committer": {
        "name": "Osamu Habuka",
        "email": "xiu.yushen@gmail.com",
        "time": "Tue Jul 31 13:49:34 2012 +0900"
      },
      "message": "support no_proxy environment variable\n\nChange-Id: I5175f9752abe358cca0d2e3e5cf6d94605df451a\n"
    },
    {
      "commit": "c9ad14bd3879e54c30cc88b186128dca3f6ab21a",
      "tree": "61838122b759fef284607596a82d282a99b659ff",
      "parents": [
        "14ab37eb4174b8a1be8c5ff5e531cff5db3791c9"
      ],
      "author": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Tue Jul 03 20:29:01 2012 +0000"
      },
      "committer": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Mon Jul 30 15:28:41 2012 -0700"
      },
      "message": "Use default route to find HOST_IP\n\nWhen running devstack, nova moves the host ip from eth0 onto the\nbridge. This causes devstack to fail on the second run unless you\nexplicitly set HOST_IP in localrc.\n\nThis patch searches for an ip on the interface that is used for\nthe default route. This will be eth0 (or en0) in most cases, but\nit will search br100 instead if nova has moved the ip, since it\nmoves the default route as well.\n\nIt also will filter out ips from the potential list that are part\nof the fixed range and floating range if the netaddr library is\ninstalled. This allows us to find the proper ip even if we have\naccidentally left a floating ip or fixed ip on the bridge.\n\nChange-Id: I13288e53ee2786c5ae0edb3f9ab457be8303f1f6\n"
    },
    {
      "commit": "47f02060ad0500ccb2d4ceeb6015ad7a4c56b4e9",
      "tree": "a6df46450d7b63230b44e4ee7e5350b4991dfb91",
      "parents": [
        "d5b18ecb724ba64a57a7bf97f4982b670d639da5"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jul 26 11:09:24 2012 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jul 26 13:18:40 2012 -0500"
      },
      "message": "Optionally install all pip into a global venv.\n\nThis is useful for tracking what pip is causing to be\ninstalled over and beyond os pacakges.\n\nIn support of this, move all package installation to before\nthe section where we install via pip. Leave the deferred configuration\nuntil later though.\n\nChange-Id: I89677fd54635e82b10ab674ddeb9ffb3f1a755f0\n"
    },
    {
      "commit": "798da01906b0ecd827fb4562feebaf149317403c",
      "tree": "74cf5f5bcc16f8f6fcdd7343952b733f88fb0ceb",
      "parents": [
        "3aabdbad1d1b73144ad5aad522706dd473ff5bb4",
        "a9e0a488cf72431aabc972f7aac76abb56aaba02"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jul 18 18:45:32 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jul 18 18:45:32 2012 +0000"
      },
      "message": "Merge \"Update info.sh\""
    },
    {
      "commit": "b5a1f92b490a1292f1588af5087882f83df62f7d",
      "tree": "3d85fb3d812be6123c3b34f5d0b40e652a791fd4",
      "parents": [
        "070d492da95629e56609c91a631efe8534c02ac5",
        "4d5e29d906068a7a2ed8815b27c48c3b3622af76"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jul 16 15:59:46 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jul 16 15:59:46 2012 +0000"
      },
      "message": "Merge \"Allow user to override pip cache location\""
    },
    {
      "commit": "4d5e29d906068a7a2ed8815b27c48c3b3622af76",
      "tree": "64fff7b6007355ce81784dd4105fc04124718fd5",
      "parents": [
        "efb80509f397e4a01589de96a2e2d83c4722b164"
      ],
      "author": {
        "name": "Doug Hellmann",
        "email": "doug.hellmann@dreamhost.com",
        "time": "Fri Jul 13 11:11:50 2012 -0400"
      },
      "committer": {
        "name": "Doug Hellmann",
        "email": "doug.hellmann@dreamhost.com",
        "time": "Fri Jul 13 11:11:50 2012 -0400"
      },
      "message": "Allow user to override pip cache location\n\nBuilding a VM containing devstack is faster if you can save\nthe cache files for pip in a location that is not deleted\nwhen the VM is rebuilt. This change allows the user to\nset the PIP_DOWNLOAD_CACHE in their localrc file to point\nto any directory writable by root, including a directory\nmounted from the host containing the VM.\n\nChange-Id: I27179c1c212140d6734f6725f498be52fd18e9ed\nSigned-off-by: Doug Hellmann \u003cdoug.hellmann@dreamhost.com\u003e\n"
    },
    {
      "commit": "6a3912de8589d505a019e9630ce930a4cf5f7354",
      "tree": "edf8827e31271dbb7cef75dd978d839777147815",
      "parents": [
        "8156062dc4f0e8338590dcb74cfade5af31daa8a"
      ],
      "author": {
        "name": "Evgeniy Afonichev",
        "email": "eafonichev@mirantis.com",
        "time": "Tue Jul 10 14:02:43 2012 +0300"
      },
      "committer": {
        "name": "Evgeniy Afonichev",
        "email": "eafonichev@mirantis.com",
        "time": "Wed Jul 11 13:29:33 2012 +0300"
      },
      "message": "Add git update tag support\n\nChange-Id: I5ce1f05186d05b9cf0ccd74708af926ba054d2f0\n"
    },
    {
      "commit": "a9e0a488cf72431aabc972f7aac76abb56aaba02",
      "tree": "b26774e5d14cee141ecac2278879c3897b98e23b",
      "parents": [
        "08bc3048b10b7dbe62b38109274b0cd32a460de9"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jul 09 14:07:23 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jul 09 14:59:52 2012 -0500"
      },
      "message": "Update info.sh\n\n* Works properly on Fedora 17 now, possibly other RPM-based distros\n* Add GetDistro() function taken from logic in stack.sh\n* Source functions in tools/info.sh\n* Use GetDistro() and get_packages() in tools/info.sh\n* Report all installed pips\n* Don\u0027t sort localrc output as order is important\n\nChange-Id: I1b3e48e94786378c7313a0a6bea88d5cf9d0f0c0\n"
    },
    {
      "commit": "f04178fd12731a58c899c309ad43f55d339909c5",
      "tree": "0183e5361383370cd5b0c104ece6b45731379f50",
      "parents": [
        "08bc3048b10b7dbe62b38109274b0cd32a460de9"
      ],
      "author": {
        "name": "Doug Hellmann",
        "email": "doug.hellmann@dreamhost.com",
        "time": "Thu Jul 05 17:10:03 2012 -0400"
      },
      "committer": {
        "name": "Doug Hellmann",
        "email": "doug.hellmann@dreamhost.com",
        "time": "Fri Jul 06 15:52:06 2012 -0400"
      },
      "message": "add functions to manipulate ENABLED_SERVICES\n\nEditing ENABLED_SERVICES directly can get tricky when\nthe user wants to disable something. This patch includes\ntwo new functions for adding or removing services\nsafely, and a third (for completeness) to clear the\nsettings entirely before adding a minimal set of\nservices.\n\nIt also moves the logic for dealing with \"negated\"\nservices into a function so it can be tested and\napplied by the new functions for manipulating\nENABLED_SERVICES.\n\nChange-Id: I88f205f3666b86e6f0b6a94e0ec32a26c4bc6873\nSigned-off-by: Doug Hellmann \u003cdoug.hellmann@dreamhost.com\u003e\n"
    },
    {
      "commit": "7e27051ccb125de4e419cc9b6d33528ca66b9774",
      "tree": "26a9c2d9161fd61e54a2c14231df5581592e03f8",
      "parents": [
        "8d618ca855e9aa4f09073040490cb5ca769b7142"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jun 14 15:23:24 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jun 28 18:00:15 2012 -0500"
      },
      "message": "Move get_packages() to functions.\n\nThis is a prerequisite to fixing the tools/build_uec* scripts to properly\ninstall prereq packages.\n\nChange-Id: I1c60f7b9a9d07076841d9aff524c0833dc987c66\n"
    },
    {
      "commit": "94cb960009cabe0afbf35bd843ae7580fbbd56d1",
      "tree": "14fafe8369321f48cfb21a88fa3b69ada44ac17c",
      "parents": [
        "8d2c8faf36abd0808226542e0a68c7576d4006e7"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@hp.com",
        "time": "Fri Jun 22 15:28:29 2012 -0700"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@hp.com",
        "time": "Fri Jun 22 16:47:43 2012 -0700"
      },
      "message": "Add ERROR_ON_CLONE.\n\nThis lets the user assert that stack.sh should never need to clone\nany git repositories.  If set to True, and devstack does need to\nclone a git repo, stack.sh will exit with an error.\n\nThis is useful in testing environments to make sure that the correct\ncode is being tested instead of silently falling back on cloning\nfrom the public repos.\n\nChange-Id: Ic0312ab4df492c5cf2e04c08aa7669a81736daa6\n"
    }
  ],
  "next": "67787e6b4c6f31388cbee6d83b67371b31c443d4"
}
