)]}'
{
  "log": [
    {
      "commit": "2ca8af45a78226f29c3251cbef6449a0a51a4c1f",
      "tree": "9db1b9497e9b199ec86b1f9ca74282020e779004",
      "parents": [
        "63b7d7bcae863a22feab34079d2d4b5fc1c845f3"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Tue Dec 08 15:36:13 2015 +0900"
      },
      "committer": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Dec 17 20:28:54 2015 +0900"
      },
      "message": "Add 5 time measurement points\n\nrun_process           process starting time\ntest_with_retry       process starting time (for neutron legacy)\nrestart_apache_server Apache HTTPD restart time\nwait_for_service      HTTP server waiting time\ngit_timed             git command execution time\n\nexample\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nDevStack Components Timed\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nrun_process - 52 secs\ntest_with_retry - 3 secs\napt-get-update - 8 secs\npip_install - 76 secs\nrestart_apache_server - 9 secs\nwait_for_service - 11 secs\ngit_timed - 127 secs\napt-get - 15 secs\n\nChange-Id: I66140726617450cd9fe9b702092cacf053a20065\n"
    },
    {
      "commit": "523f48803609b35350b624244fa73b1030c1d5fa",
      "tree": "17f99ab223f42eec58523fa89a49f243efba754b",
      "parents": [
        "307730acd9d271bc4c3d44f2dfed0eab67e1657d"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Oct 13 11:03:03 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Nov 27 15:36:04 2015 +1100"
      },
      "message": "Namespace XTRACE commands\n\nI noticed this when debugging some grenade issues failures.\n\nAn include of grenade/functions stores the current value of XTRACE\n(on) and disables xtrace for the rest of the import.\n\nWe then include devstack\u0027s \"functions\" library, which now overwrites\nthe stored value of XTRACE the current state; i.e. disabled.\n\nWhen it finishes it restores the prior state (disabled), and then\ngrenade restores the same value of XTRACE (disabled).\n\nThe result is that xtrace is incorrectly disabled until the next time\nit just happens to be turned on.\n\nThe solution is to name-space the store of the current-value of xtrace\nso when we finish sourcing a file, we always restore the tracing value\nto what it was when we entered.\n\nSome files had already discovered this.  In general there is\ninconsistency around the setting of the variable, and a lot of obvious\ncopy-paste.  This brings consistency across all files by using\n_XTRACE_* prefixes for the sotre/restore of tracing values.\n\nChange-Id: Iba7739eada5711d9c269cb4127fa712e9f961695\n"
    },
    {
      "commit": "33c9a67ead4b61a9eb423f71ca4f8e062c3b5ebd",
      "tree": "98caf8ff2fc95e33520d86aaca5ade57bd202bcb",
      "parents": [
        "1987cfb1bea276202926d5de624754ed6f5c8e7f"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Nov 12 19:50:00 2015 +0900"
      },
      "committer": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Nov 12 19:53:06 2015 +0900"
      },
      "message": "Fix typos on three comments and one message\n\nFixes typos on three comments and one message\nin functions/functions-common\n\nChange-Id: I2c926ca29b284afd4534b92860fa46f248676a83\n"
    },
    {
      "commit": "d111182f218094dfdd88bda63af024c0c6e5d8cd",
      "tree": "6efbaec54afc4965767c187b5743c25b8346f438",
      "parents": [
        "5a98d4f7d0a1cf00f2aca9e0f3f6cdc285c1ee79",
        "ada886dd43ccc07f48d3a82d8d3d840fe5096c03"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 14 02:43:52 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 14 02:43:52 2015 +0000"
      },
      "message": "Merge \"Don\u0027t mix declaration and set of locals\""
    },
    {
      "commit": "72ad942796adb03c96154cd1df4f97ad775e6092",
      "tree": "c453685fb6f1e1a857609c6229ab21592c2b582e",
      "parents": [
        "1de9e330de9fd509fcdbe04c4722951b3acf199c"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Oct 07 11:51:40 2015 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Oct 07 15:15:16 2015 -0400"
      },
      "message": "use deprecated function instead of modifying global\n\nIt\u0027s safer to run this through a common function to let us make\nchanges later.\n\nChange-Id: Ic661824027577e1946726c1843a29ac8325915bf\n"
    },
    {
      "commit": "ada886dd43ccc07f48d3a82d8d3d840fe5096c03",
      "tree": "93d62f1c82edc08d813b7f9f7eb9270e7024e055",
      "parents": [
        "433a9b10ddd6fa67d7459c4943a92ce4f488cebc"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 07 14:06:26 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 07 17:03:32 2015 +1100"
      },
      "message": "Don\u0027t mix declaration and set of locals\n\nIa0957b47187c3dcadd46154b17022c4213781112 proposes to have bashate\nfind instances of setting a local value.  The issue is that \"local\"\nalways returns 0, thus hiding any failure in the commands running to\nset the variable.\n\nThis is an automated replacement of such instances\n\nDepends-On: I676c805e8f0401f75cc5367eee83b3d880cdef81\nChange-Id: I9c8912a8fd596535589b207d7fc553b9d951d3fe\n"
    },
    {
      "commit": "5aeea6ae3e2434d7b08bce2da672061cdba08ab0",
      "tree": "4a5af1dc6f82a74e81f186350190e279515efe45",
      "parents": [
        "c4c08686f81384c90386228a45583667d877b6ef"
      ],
      "author": {
        "name": "Peter Stachowski",
        "email": "peter@tesora.com",
        "time": "Tue Sep 22 19:38:02 2015 +0000"
      },
      "committer": {
        "name": "Peter Stachowski",
        "email": "peter@tesora.com",
        "time": "Tue Sep 22 19:40:40 2015 +0000"
      },
      "message": "Removed unused TOKEN from upload_image\n\nChangeset https://review.openstack.org/#/c/225426/ changed how images\nwere uploaded into Glance, however the (now) unused TOKEN variable\nand function argument to upload_image remained.\n\nThese have been removed.\n\nChange-Id: I9910c469f72d52e56111048cc24ea3c992c1d480\n"
    },
    {
      "commit": "31c313d3a35e1b222fdb3aa72993a27c288d10bb",
      "tree": "03ebcf103b882116d767b0229217fc1e460ea67d",
      "parents": [
        "7224eecb98883a91e9da445baefc23a194e8fd68"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sat Sep 19 11:35:22 2015 -0400"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Sep 21 15:45:33 2015 -0500"
      },
      "message": "Use normal API not token/endpoint for image uploads\n\nThere is no reason to use keystone token bootstrapping for image\nuploads. Glance is a service, and images can be uploaded to it normally\nwithout special shenanigans.\n\nDepends-On: If7b81c4a6746c8a1eb0302c96e045fb0f457d67b\nChange-Id: I7092fb10cbe243e091789134263fab081af0c7f4\n"
    },
    {
      "commit": "4d223251e8b12a1118d8f089615e091be1a90883",
      "tree": "9f42ea03b77f707c5633066156a666ba9be471e7",
      "parents": [
        "d103f47ffac9282a3abae535e50077c5755e0079",
        "4ffb4541452a95ae964c562c89e31c49e39dbaa7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Aug 17 19:38:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Aug 17 19:38:05 2015 +0000"
      },
      "message": "Merge \"Add header guard to functions/functions-common\""
    },
    {
      "commit": "54ee8a82a837eb2b28746c77e0259ec326ab15cc",
      "tree": "f56879db0d48df7f3a15e3cd970c64528f141d4b",
      "parents": [
        "32a3e322b428d83fa5922c1b9e6adce047064bd6"
      ],
      "author": {
        "name": "Maxim Nestratov",
        "email": "mnestratov@virtuozzo.com",
        "time": "Wed Jul 15 11:47:11 2015 +0300"
      },
      "committer": {
        "name": "Maxim Nestratov",
        "email": "mnestratov@virtuozzo.com",
        "time": "Wed Jul 15 11:53:12 2015 +0300"
      },
      "message": "Make it possible to upload ploop images\n\nAdd support of ploop images (*.hds extension) for both exe and hvm types.\nIn devstack we assume that images have \u0027-exe\u0027 and \u0027-hvm\u0027 suffixes in\ntheir names correspondently.\n\nChange-Id: I1c074876c530be0535a6e02e764d67a4ebcbbbe5\n"
    },
    {
      "commit": "4ffb4541452a95ae964c562c89e31c49e39dbaa7",
      "tree": "eec7961348f5512ea3b610e864a03d3d7d1ce02c",
      "parents": [
        "04c0f0be2643ef95380a7dcf4b510d86ff11cd58"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jun 30 11:00:32 2015 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jun 30 13:48:53 2015 +1000"
      },
      "message": "Add header guard to functions/functions-common\n\nTo avoid sourcing this twice and getting globals mixed up,\nparticularly when using multiple plugins, add a \"header guard\" that\nensures we only source it once.\n\nIn general I don\u0027t think functions/functions-common have been written\nor considered to be idempotent.  I don\u0027t think going down that path is\ngoing to be a long-term solution as it\u0027s easy to break.\n\nChange-Id: Idca49eb996d2b7ff3779ec27ed672a2da7852590\nCloses-Bug: #1469178\n"
    },
    {
      "commit": "9aad1b99fd30eba94e8d2173834a12a2a39f8a9f",
      "tree": "482be24717b1e2a611e541a5ddc14eeb63d6343f",
      "parents": [
        "c8305cd124e9c663493f2002d94b4749074ef132",
        "af9bf8663b43a2cc80f2c3adb09b8aa3641f99ab"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Apr 20 13:39:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Apr 20 13:39:33 2015 +0000"
      },
      "message": "Merge \"refactor ping_check\""
    },
    {
      "commit": "af9bf8663b43a2cc80f2c3adb09b8aa3641f99ab",
      "tree": "fe6ba625393f321dbed1e9631915082ebc8a0432",
      "parents": [
        "1235581559087974580c0e5f6e3ade82e9030a70"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Apr 16 08:58:32 2015 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Apr 17 07:39:28 2015 -0400"
      },
      "message": "refactor ping_check\n\nEncapsulate all the neutron specific things you have to do ping a\nneutron guest into a separate script. Refactor the main ping_check so\nall logic is contained within it.\n\nChange-Id: Ic79d8e3a2473b978551a5635a11dba07e1020bb2\n"
    },
    {
      "commit": "fcc3f6ee986c1166c001774052c05b5d974593ea",
      "tree": "11c0c603d5cf890dfda5c0e417e631a52401fb22",
      "parents": [
        "9860876f5dbb07826b680143a4e111ad580053fe"
      ],
      "author": {
        "name": "Clark Laughlin",
        "email": "clark.laughlin@linaro.org",
        "time": "Tue Apr 07 16:31:47 2015 +0000"
      },
      "committer": {
        "name": "Andrew McDermott",
        "email": "andrew.mcdermott@linaro.org",
        "time": "Thu Apr 09 08:55:56 2015 +0000"
      },
      "message": "Add support for arm64 images\n\nThis patch enables proper support for arm64 images by disabling VNC support\nand adding several properties to the image in glance that are necessary to\nboot correctly:\n  hw_cdrom_bus\u003dvirtio\n  hw_machine_type\u003dvirt\n  os_command_line\u003d\u0027console\u003dttyAMA0\u0027\n\nChange-Id: I68c9a5e0e083af2f92875c3bdf70df750f6e4d8f\n"
    },
    {
      "commit": "32d6bc6ad1f5d857c8e34e15001f8eb8666c601c",
      "tree": "ade89fecd1c5db1a4090df0c6b1cb1eda6d96c69",
      "parents": [
        "43479db9105db75d7762e9cfbc950841725fa644"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sun Mar 29 14:16:44 2015 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sun Mar 29 22:29:28 2015 -0500"
      },
      "message": "Add inc/rootwrap\n\nRootwrap shouldn\u0027t be a unique snowflake.  Plus the binaries tend\nto be called assuming PATH will find them.  Not so with venvs\nso we need to work around that brokenness.\n\nConfigure Cinder and Nova to use configure_rootwrap().\n\nChange-Id: I8ee1f66014875caf20a2d14ff6ef3672673ba85a\n"
    },
    {
      "commit": "dc97cb71e85fc807d2cce6f054c785922d322eb9",
      "tree": "86affcfbc7054c209c2ab0a4c3f7955d5e1bf16f",
      "parents": [
        "9720239618189c13734aa32aabee9252707f2db9"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Mar 28 08:20:50 2015 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Mar 28 14:35:12 2015 -0500"
      },
      "message": "Mostly docs cleanups\n\nFix documentation build errors and RST formatting\n\nChange-Id: Id93153400c5b069dd9d772381558c7085f64c207\n"
    },
    {
      "commit": "bf2ad7015d068f9a85c01813cea0aa79143b1d0f",
      "tree": "ab1a91e8e13a882ee4dab1a70141c31133a5815b",
      "parents": [
        "924079b8905669a646cfa328d6bf52e56b79acdc"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 09 15:16:10 2015 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 09 22:52:19 2015 -0500"
      },
      "message": "Move configuration functions into inc/*\n\n* config/INI functions from functions-common to to inc/ini-config\n* local.conf meta-config functions from lib/config to inc/meta-config\n\nChange-Id: I00fab724075a693529273878875cfd292d00b18a\n"
    },
    {
      "commit": "b5ab6468c9784d5f5f21e808034f462d5c9d91b2",
      "tree": "8338c7a58eb0a5f653e42c57ec17a8fb2d3c8931",
      "parents": [
        "b5d1de0a93924074cc0368f0fe94da78ebcfa01c"
      ],
      "author": {
        "name": "sridhargaddam",
        "email": "sridhar.gaddam@enovance.com",
        "time": "Tue Feb 24 07:23:24 2015 +0000"
      },
      "committer": {
        "name": "sridhargaddam",
        "email": "sridhar.gaddam@enovance.com",
        "time": "Mon Mar 02 07:42:36 2015 +0000"
      },
      "message": "Fix curl issue when SERVICE_HOST is defined to IPv6 address\n\nWhen SERVICE_HOST is defined to literal IPv6 address\n(i.e., [fdf8:f53b:82e4::179]) we will have to include\n--globoff option for curl to be able to reach the various\nopenstack services. Using globoff works for both IPv6 and\nIPv4 urls, so its safe to include this option for all curl\nstatements in devstack.\n\nCloses-Bug: #1424943\nChange-Id: I2afc16f2f94d7d7069b0ba61bc8348c03413e4e7\n"
    },
    {
      "commit": "490430dbe3b7d9979b4623f2c327bb0a74436401",
      "tree": "527289f426c49bb51234a1e0621a0afe1ffac20e",
      "parents": [
        "a1b82cc1b5a7172c3fdf17d2c3f0725660911ad7"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 30 14:38:35 2015 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 30 14:59:48 2015 -0600"
      },
      "message": "Split functions-common: python functions\n\nMove Python-related functions into inc/python\n\nShould be transparent to all callers as it is sourced from functions-common\n\nChange-Id: I88043830cef9211b4e0baa91bfcc7a92125afa9f\n"
    },
    {
      "commit": "537532931da4103e1a873684476dac6d7fe56489",
      "tree": "e35fe8f6032774a831ccfbf2a4d72a68654bbb38",
      "parents": [
        "5f6f43ed9f67a86cad03c1d0c673429814467d6d"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 04 19:38:15 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Jan 15 13:06:14 2015 -0500"
      },
      "message": "Make changes such that -o nounset runs\n\nThis makes a bunch of variable cleanups that will let -o nounset\nfunction, for the time being we hide nounset behind another setting\nvariable so that it\u0027s not on by default.\n\nBecause this is bash, and things are only executed on demand, this\nprobably only works in the config it was run in. Expect cleaning up\nall the paths to be something that takes quite a while.\n\nThis also includes a new set of unit tests around the trueorfalse\nfunction, because my change in how it worked, didn\u0027t. Tests are good\nm\u0027kay.\n\nChange-Id: I71a896623ea9e1f042a73dc0678ce85acf0dc87d\n"
    },
    {
      "commit": "057d6ae2255f8895baada8d00767ffa71c8615ac",
      "tree": "5fa1a6c1c6900b9ceb9ec9d79bc43f08b0f7e934",
      "parents": [
        "cc6dbee0a6aef468b30f33c2c59b7409915a1409"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Jan 13 14:01:26 2015 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Jan 13 14:01:26 2015 +0100"
      },
      "message": "wget less verbose\n\nwget is too verbose in devstack logs [1] on image download.\n\nChanging the progress bar style to giga, in order\nto be less verbose.\n\nhttp://logs.openstack.org/73/146573/2/check/\ncheck-tempest-dsvm-full-juno/41ba988/logs/devstacklog.txt.gz#_2015-01-13_11_34_15_330\n\nChange-Id: Ic5304893f4c97c50e7a2f29ad5cd77dba3d5a9dd\n"
    },
    {
      "commit": "d09a1db5a449fc758bf840858f6fecba173705b3",
      "tree": "19f949a600c09109c306dd86ad830c474693bb58",
      "parents": [
        "3fe578d41d52577e6af4dc948287dfbc2eb06f46",
        "e263c82e48a431e502bd6baceb6dfcfdc1750cbb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Dec 10 20:32:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Dec 10 20:32:15 2014 +0000"
      },
      "message": "Merge \"add shebang lines to all lib files\""
    },
    {
      "commit": "e263c82e48a431e502bd6baceb6dfcfdc1750cbb",
      "tree": "5ca592e668dedb4debc6c7170f3abf37cc4bc0c6",
      "parents": [
        "2f8e08b5728f4272b415b1c0aab8ff62eae29b06"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Dec 05 14:25:28 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Dec 10 11:28:05 2014 -0500"
      },
      "message": "add shebang lines to all lib files\n\nWith gerrit 2.8, and the new change screen, this will trigger syntax\nhighlighting in gerrit. Thus making reviewing code a lot nicer.\n\nChange-Id: Id238748417ffab53e02d59413dba66f61e724383\n"
    },
    {
      "commit": "88cde0b3da7102cd28b3b44fbf6112b17303b27d",
      "tree": "eed8071cad05f48a52b0e8c85f43b7000d4722b7",
      "parents": [
        "dead777ea380df7bc1969e9807f90159f512259e"
      ],
      "author": {
        "name": "Sabari Kumar Murugesan",
        "email": "smurugesan@vmware.com",
        "time": "Thu Dec 04 17:48:26 2014 -0800"
      },
      "committer": {
        "name": "Sabari Kumar Murugesan",
        "email": "smurugesan@vmware.com",
        "time": "Thu Dec 04 20:33:41 2014 -0800"
      },
      "message": "VMware: add default image metadata for hw_vif_model\n\nDuring glance image-create we are currently setting a null value\nfor the hw_vif_model, if we are unable to introspect from the vmdk\nfile.\n\nThis patch adds a default value if not found.\n\nChange-Id: I6d0f551b18f03e2a799ae14c3347652a285693f0\n"
    },
    {
      "commit": "e5dbec252aac0ca665696a5b69267f13882478c2",
      "tree": "7a7fc675e9c6ef6cd725b7136ab68836d438ef7c",
      "parents": [
        "f33e76bf9bd9a3bc39e8b3b99257a4ae98a10d25",
        "3324f19f5aeb3c8933447752dbc2c1b8c7f9b2de"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 08 22:14:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 08 22:14:51 2014 +0000"
      },
      "message": "Merge \"Fix docs build errors\""
    },
    {
      "commit": "3324f19f5aeb3c8933447752dbc2c1b8c7f9b2de",
      "tree": "84248dfdde0ce32a415c565db32dcb04776ea51e",
      "parents": [
        "7672ad1dbc00ec5ff80f3aa670404e413e86e506"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Sep 18 09:26:39 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 02 15:30:50 2014 -0500"
      },
      "message": "Fix docs build errors\n\nFix shocco errors during docs generation\n\nCloses-Bug: 1362691\nChange-Id: I2b7fb008c89f0b4e7280b2d0a054320765e83e47\n"
    },
    {
      "commit": "944b28280b86bba7592b1c7a2032dbd0eaa39014",
      "tree": "536f4a12c918cdef4077be75d032270244966ae3",
      "parents": [
        "c53e83601a4ffc572ae99b3a4f330a940066cc1d"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Wed Oct 01 18:21:08 2014 -0700"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Wed Oct 01 19:52:23 2014 -0700"
      },
      "message": "Drop workaround for pip \u003c 1.4\n\nNow that we are on pip 1.5.6 lets drop the workaround to make pip 1.4\nwork. As this is a development/testing tool requiring a newer pip\nshouldn\u0027t be an issue. Also stack.sh installs pip by default.\n\nWork around introduced in https://github.com/pypa/pip/issues/709\n\nChange-Id: I0e7aad1d21f4fce4c020ce36685bb56893c66bdc\n"
    },
    {
      "commit": "18d4778cf7bffa60eb2e996a13c129c64f83575f",
      "tree": "d6d934b05026d32d6942b34a5e3a359202b3996c",
      "parents": [
        "d60c10d6dbe44445aaab9e3fcc0127e39e989f40"
      ],
      "author": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Wed Mar 19 17:47:42 2014 -0400"
      },
      "committer": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Wed Sep 24 18:36:37 2014 -0400"
      },
      "message": "Configure endpoints to use SSL natively or via proxy\n\nConfigure nova, cinder, glance, swift and neutron to use SSL\non the endpoints using either SSL natively or via a TLS proxy\nusing stud.\n\nTo enable SSL via proxy, in local.conf add\n\nENABLED_SERVICES+\u003d,tls-proxy\n\nThis will create a new test root CA, a subordinate CA and an SSL\nserver cert. It uses the value of hostname -f for the certificate\nsubject. The CA certicates are also added to the system CA bundle.\n\nTo enable SSL natively, in local.conf add:\n\nUSE_SSL\u003dTrue\n\nNative SSL by default will also use the devstack-generate root and\nsubordinate CA.\n\nYou can override this on a per-service basis by setting\n\n\u003cSERVICE\u003e_SSL_CERT\u003d/path/to/cert\n\u003cSERVICE\u003e_SSL_KEY\u003d/path/to/key\n\u003cSERVICE\u003e_SSL_PATH\u003d/path/to/ca\n\nYou should also set SERVICE_HOST to the FQDN of the host. This\nvalue defaults to the host IP address.\n\nChange-Id: I36fe56c063ca921131ad98439bd452cb135916ac\nCloses-Bug: 1328226\n"
    },
    {
      "commit": "b4495eb410e3ad348700f127dcf7c0562014c325",
      "tree": "a2af0cc87edd09d37ab764ebc014264c60b79a00",
      "parents": [
        "3d458eb703e52606d8aa8d58757285e61cb47b8b"
      ],
      "author": {
        "name": "Noboru Iwamatsu",
        "email": "n_iwamatsu@jp.fujitsu.com",
        "time": "Wed Jul 02 18:31:31 2014 +0900"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Sep 08 15:59:29 2014 +1000"
      },
      "message": "Use mod_version to clean-up apache version matching\n\nThis change uses mod_version (shipped by default on everything we care\nabout) to set-up version-specific config within apache rather than\nwithin devstack scripts.\n\nClean up the horizon and keystone config file generation to use the\ninternal apache matching.\n\nSince I6478db385fda2fa1c75ced12d3e886b2e1152852 the apache matching in\n\u0027functions\u0027 is actually duplicated.  just leave get_apache_version in\nlib/apache as it is used for config-file name matching in there.\n\nChange-Id: I6478db385fda2fa1c75ced12d3e886b2e1152852\n"
    },
    {
      "commit": "a3ecab6618cb7c9ca8089d8b24ac503ed5a719e7",
      "tree": "bb6a2ff4fdc267dd607b5c4011832bc3ddb84893",
      "parents": [
        "5dd1778909c7c256bdef79cd236fb0d95d8a09dd",
        "8d3ac2df582730717392798ae46b436238d91b70"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Aug 15 00:50:41 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Aug 15 00:50:41 2014 +0000"
      },
      "message": "Merge \"Modify `glance image-create` commands to use openstackclient\""
    },
    {
      "commit": "ca8239449fbdbc3a73f691683be2ec9d4a941ff6",
      "tree": "e4f66d34a6af35adf39f05b03c229b0bba0b3ae4",
      "parents": [
        "d8baf23634fb6654b71f79314a8d60dbd58cece4"
      ],
      "author": {
        "name": "Alessandro Pilotti",
        "email": "apilotti@cloudbasesolutions.com",
        "time": "Thu Aug 07 02:05:26 2014 +0300"
      },
      "committer": {
        "name": "Alessandro Pilotti",
        "email": "apilotti@cloudbasesolutions.com",
        "time": "Thu Aug 07 19:30:34 2014 +0300"
      },
      "message": "Adds support for Hyper-V image formats\n\nAdds support for VHD and VHDX image formats, including gz compression.\n\nChange-Id: I9b143c9883b947397b435a671f13703f78019d23\nCloses-bug: #1353726\n"
    },
    {
      "commit": "8d3ac2df582730717392798ae46b436238d91b70",
      "tree": "4a0db330890963c77e92be75c7877e4c7e2d20b0",
      "parents": [
        "5acf159c72fad931031d9768ae02575240a5ede9"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sat Aug 02 23:47:15 2014 -0400"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sat Aug 02 23:47:15 2014 -0400"
      },
      "message": "Modify `glance image-create` commands to use openstackclient\n\nChange `glance image-create` commands to use `openstack image create`,\nin an effort to unify the CLI.\n\nChange-Id: I96cef118daf931b648c0483525ac7d2287fec2e0\n"
    },
    {
      "commit": "5acf159c72fad931031d9768ae02575240a5ede9",
      "tree": "077cdc05957f449d6c38b2e7c1a8d221da53f5fc",
      "parents": [
        "a0c6d1e954003b8e24b33d88ead8f506c5354204",
        "e9f7667050c7385c734e6d653b2ee63b9c7dc0ed"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Aug 02 21:49:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Aug 02 21:49:29 2014 +0000"
      },
      "message": "Merge \"Clean up local variable usage - upload_image()\""
    },
    {
      "commit": "e9f7667050c7385c734e6d653b2ee63b9c7dc0ed",
      "tree": "805e3160ada87a29ffeb74aeea23135e602b8ef6",
      "parents": [
        "d3121f649d672fdaf757655b94ecd68c71b56b8e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 11:09:36 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Jul 29 15:40:45 2014 -0500"
      },
      "message": "Clean up local variable usage - upload_image()\n\nCleans up the rather coplex upload_image() function\n\nChange-Id: Ie1ef200b905dd5d17ef887390d620817208f2bf5\n"
    },
    {
      "commit": "36f2f024dbeafdc4cbd7a76ed1c96d28fea61fb4",
      "tree": "e1e3fe650a3a9a8c120aa495ca0a1873106f3dd2",
      "parents": [
        "097183356e60f6375061914e89816c8faafb3a6f"
      ],
      "author": {
        "name": "Sébastien Han",
        "email": "sebastien.han@enovance.com",
        "time": "Mon Jan 06 18:09:26 2014 +0100"
      },
      "committer": {
        "name": "Sébastien Han",
        "email": "sebastien.han@enovance.com",
        "time": "Wed Jul 23 16:13:45 2014 +0200"
      },
      "message": "Implement Ceph backend for Glance / Cinder / Nova\n\nThe new lib installs a full Ceph cluster. It can be managed\nby the service init scripts. Ceph can also be installed in\nstandalone without any other components.\nThis implementation adds the auto-configuration for\nthe following services with Ceph:\n\n* Glance\n* Cinder\n* Cinder backup\n* Nova\n\nTo enable Ceph simply add: ENABLED_SERVICES+\u003d,ceph to your localrc.\nIf you want to play with the Ceph replication, you can use the\nCEPH_REPLICAS option and set a replica. This replica will be used for\nevery pools (Glance, Cinder, Cinder backup and Nova). The size of the\nloopback disk used for Ceph can also be managed thanks to the\nCEPH_LOOPBACK_DISK_SIZE option.\n\nGoing further pools, users and PGs are configurable as well. The\nconvention is \u003cSERVICE_NAME_IN_CAPITAL\u003e_CEPH_\u003cOPTION\u003e where services are\nGLANCE, CINDER, NOVA, CINDER_BAK. Let\u0027s take the example of Cinder:\n\n* CINDER_CEPH_POOL\n* CINDER_CEPH_USER\n* CINDER_CEPH_POOL_PG\n* CINDER_CEPH_POOL_PGP\n\n** Only works on Ubuntu Trusty, Fedora 19/20 or later **\n\nChange-Id: Ifec850ba8e1e5263234ef428669150c76cfdb6ad\nImplements: blueprint implement-ceph-backend\nSigned-off-by: Sébastien Han \u003csebastien.han@enovance.com\u003e\n"
    },
    {
      "commit": "f3939bf07752f19096c10f30684b0efb11b2676e",
      "tree": "a2141ba0ad13e7d87e92142a65abe79d675fefa8",
      "parents": [
        "47e7a1431999e4862e36098ee05d945400b4274d",
        "50e53925e107526915d9bd06b48884c9a574d083"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jun 19 22:47:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jun 19 22:47:39 2014 +0000"
      },
      "message": "Merge \"Use correct path when extracting tar.gz image\""
    },
    {
      "commit": "50e53925e107526915d9bd06b48884c9a574d083",
      "tree": "a40872b970ac358c1340af62dbf6ea7e9f76f11f",
      "parents": [
        "c1699c27d11b48b29eaba41ae4c74c5464414c79"
      ],
      "author": {
        "name": "Greg Lucas",
        "email": "glucas@tesora.com",
        "time": "Mon Jun 09 11:42:12 2014 -0400"
      },
      "committer": {
        "name": "Greg Lucas",
        "email": "glucas@tesora.com",
        "time": "Mon Jun 09 12:06:40 2014 -0400"
      },
      "message": "Use correct path when extracting tar.gz image\n\nFix issue with file:/ image urls.\n\nChange-Id: I8c5f5b27b5d6ebe5be84dc58d37752adbd12f89b\nCloses-Bug: 1277609\n"
    },
    {
      "commit": "54e3910f2d2b2dc49719c7c2f1dca1abb6481870",
      "tree": "0d77636ec8e5bbccc287d48d88dba053d5aa7b38",
      "parents": [
        "ea937baee62378b118c09f42c16a44cc5e6a5fdd"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jun 03 16:05:12 2014 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jun 03 17:16:38 2014 +1000"
      },
      "message": "Add basic echo_* functions for grenade\n\nGrenade, and possibly other components, re-use parts of devstack\nlibraries.  This provides basic echo_* functions to avoid missing\ncommands in several libraries.\n\nChange-Id: I972d6208055a8c4ca4c9bfd5383ad3c7159d5cbe\n"
    },
    {
      "commit": "f1a2dbffe8ba369b0a8a125e975864a5d88f3e87",
      "tree": "3e5a48d66024d165326e4ff05d3b40bcd681cdbc",
      "parents": [
        "871b1e47092a6463cb39be48c66bfe3e646920c2"
      ],
      "author": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Wed Mar 19 11:08:54 2014 +0000"
      },
      "committer": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Wed Mar 19 15:06:57 2014 +0000"
      },
      "message": "XenAPI: Cirros images must always boot as PV.\n\nThe default for VHD disk-types is PV, which is why booting from a\nserver works.  However, creating a volume from the image needs to\npass this parameter on to the volume.  Note that\nId673158442fde27e8d468ca412c9bd557a886e6b is also required to fix\nbug 1294069\n\nChange-Id: I7ea1d85d6082787ac4551f78300a04bf59074261\nPartial-Bug: 1294069\n"
    },
    {
      "commit": "911cc586ad8f8a7c736516f2a3d9a9ce8571976b",
      "tree": "a0c7e9611453dc3dc89a867f907c011970fa8619",
      "parents": [
        "73a3bec04a039a0329a5f5f17470dfe6415ca65b",
        "0b03e7acb84e14efed3bfc2b30055a8427a40a12"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Mar 17 23:41:39 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 17 23:41:39 2014 +0000"
      },
      "message": "Merge \"Set correct default disk bus back to virtio on ppc64\""
    },
    {
      "commit": "0b03e7acb84e14efed3bfc2b30055a8427a40a12",
      "tree": "81029538cd3a76ce89369c345aa02e8bdf3bde27",
      "parents": [
        "3e57ac64e75c5a5b55c2fb2d23e5b3d6377121ed"
      ],
      "author": {
        "name": "Rafael Folco",
        "email": "rfolco@br.ibm.com",
        "time": "Fri Mar 14 11:14:57 2014 -0300"
      },
      "committer": {
        "name": "Rafael Folco",
        "email": "rfolco@br.ibm.com",
        "time": "Fri Mar 14 11:20:10 2014 -0300"
      },
      "message": "Set correct default disk bus back to virtio on ppc64\n\nvirtio is supported and should be the default disk bus on Power to\ntake advantage of I/O performance drivers. This aligns with Nova\ndefault bus values on PowerKVM. SCSI is the default for cdrom.\n\nChange-Id: I5de08c90359b3a500c352c09c07b6b082ddb4325\n"
    },
    {
      "commit": "9c6d2840fdb67eb7af34be241bdb2fbebaf67c87",
      "tree": "16cce3ee3bad366e1f736ca984ee0c32e41c7206",
      "parents": [
        "0dfbf9b4b91c0b95fdaa1735471c2e6f15326098"
      ],
      "author": {
        "name": "Sreeram Yerrapragada",
        "email": "syerrapragada@vmware.com",
        "time": "Mon Mar 10 14:12:58 2014 -0700"
      },
      "committer": {
        "name": "Sreeram Yerrapragada",
        "email": "syerrapragada@vmware.com",
        "time": "Wed Mar 12 10:35:19 2014 -0700"
      },
      "message": "fix failing wget statements under -o errexit in vmdk upload routine\n\nFix the case when uploaded image has no descriptor.\nRefactored the code a bit\n\nTested:\n1. monithic Sparse\n2. monolithic flat\n    2.1 flat file name mentioned in descriptor file\n    2.1 flat file name not mentioned in descriptor file\n3. descriptor header not found in the file\n    3.1 image file name is *-flat, download descriptor\n    3.2 image file name does not end with *-flat\n4. file name contains all image properties\n\nChange-Id: I0df9be5c2a1b9ed53cdb22d5cd40b94e56c48f37\nCloses-bug: #1289664\n"
    },
    {
      "commit": "99b622a936c0b6f5b6283f3bcdca3bd7d0628e29",
      "tree": "a1cad4c50d7821d76ab5744346e2987576f47b4a",
      "parents": [
        "4981bd75322810b5ad5bfc89ba77f6e8fb0733e8"
      ],
      "author": {
        "name": "Ryan Hsu",
        "email": "rhsu@vmware.com",
        "time": "Wed Mar 05 15:35:49 2014 -0800"
      },
      "committer": {
        "name": "Ryan Hsu",
        "email": "rhsu@vmware.com",
        "time": "Wed Mar 05 15:57:16 2014 -0800"
      },
      "message": "Refactor vmdk upload code\n\nA syntax error is hit when trying to upload a flat vmdk file that\nis accompanied by a descriptor file. The code block that handles\nthis has some unneeded characters that cause the error. Also,\nan else-block has been removed so that we can remove an extra\nindent.\n\nChange-Id: Iaf5c914e09da6831eeeec141228b39554a1e2216\nCloses-bug: #1288471\n"
    },
    {
      "commit": "314af0a7a97b31ff2a803a77e1a92f5b67857f18",
      "tree": "462563f64b7fc4cf1d09fe8f91e343b8e24ed984",
      "parents": [
        "9f935cbd4af02fe63021282e13bbb3c88758c346"
      ],
      "author": {
        "name": "Sreeram Yerrapragada",
        "email": "syerrapragada@vmware.com",
        "time": "Mon Mar 03 21:34:45 2014 -0800"
      },
      "committer": {
        "name": "Sreeram Yerrapragada",
        "email": "syerrapragada@vmware.com",
        "time": "Mon Mar 03 21:56:09 2014 -0800"
      },
      "message": "Fix upload function for vmdk files\n\nFix all grep statements failing under -o errexit.\n\nChange-Id: I0591a2ba7351d598eb5b29d68a83ce6290600938\n"
    },
    {
      "commit": "5894db323ff528c56bd036243ee15aad91e34fef",
      "tree": "4c6cdb2ebdbbee3efca8b0ee09936616e1226c53",
      "parents": [
        "f0ea4b0dda62e321c11078164d821575a17146c0",
        "d20f632a70565003ab8c72b2598201be79f4d782"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Mar 01 13:11:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Mar 01 13:11:14 2014 +0000"
      },
      "message": "Merge \"Move some comments of variables to right place\""
    },
    {
      "commit": "d20f632a70565003ab8c72b2598201be79f4d782",
      "tree": "5df8b8c900b560e183822d4ae1337ba722096a12",
      "parents": [
        "3ac259c6856b0f8f7fb24b987f83868c86517396"
      ],
      "author": {
        "name": "Masayuki Igawa",
        "email": "igawa@mxs.nes.nec.co.jp",
        "time": "Fri Feb 28 09:22:37 2014 +0900"
      },
      "committer": {
        "name": "Masayuki Igawa",
        "email": "igawa@mxs.nes.nec.co.jp",
        "time": "Fri Feb 28 10:35:49 2014 +0900"
      },
      "message": "Move some comments of variables to right place\n\nsetup_develop*() in functions has been moved to functions-common. But\nsome comments about the variables are still left.\nThis commit moves it to the right place.\n\nChange-Id: Ic360454f1ee72f51c9979d0468dee0913e9b32e4\n"
    },
    {
      "commit": "aee18c749b0e3a1a3a6907a33db76ae83b8d41d9",
      "tree": "01a8ab5abb9867986f3e848918abd9e749b691cd",
      "parents": [
        "0ed4af02da0bd4a0f757dd8c2156913e6c7a724c"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 21 15:35:08 2014 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 28 07:59:03 2014 +1100"
      },
      "message": "Enforce function declaration format in bash8\n\nCheck that function calls look like ^function foo {$ in bash8, and fix\nall existing failures of that check.  Add a note to HACKING.rst\n\nChange-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938\n"
    },
    {
      "commit": "af616d93411a9a446ce0d2e72ea4fb7d281cd940",
      "tree": "73c5cf72c66d2a9c9c44f3a64dc7c9e4825a8917",
      "parents": [
        "4df996bcc6ffd0236576b81aaf50d09adc8042a1"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Feb 17 12:57:55 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Feb 24 10:38:18 2014 -0600"
      },
      "message": "Move setup_develop() to common\n\nIt\u0027s in the wrong place for current Grenade\n\nChange-Id: Ia670198332af5945a56d708cd83d9239df0c2287\n"
    },
    {
      "commit": "d8864feae93f898f043febf0b4734f0b61c602d4",
      "tree": "2c7e54c06e7745e39b4e13cc1a85f614deef62ea",
      "parents": [
        "83f7736dcf9039d9114dd4568687f28221bac5d9"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Feb 17 11:00:42 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Feb 17 11:18:12 2014 -0600"
      },
      "message": "Fix shocco errors\n\nClean up comments to fix errors seen while processing with shocco\n\nChange-Id: I0e97ad27613313f03e47c107051ea93b115d4744\n"
    },
    {
      "commit": "dff49a242eef817efa23d4e808aaa6a74ac82ed0",
      "tree": "fee5ccd8ef9805ee1589fd58286ab37eeca8f041",
      "parents": [
        "cc3fcc8c8ebbe0a2cec43e7c6e0f96aae4949764"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jan 30 15:37:40 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Feb 12 12:10:11 2014 -0600"
      },
      "message": "Split functions\n\nMove shared and non-DevStack-specific functions to `functions-common`.  This is\na code move only with some updated comments.  The functions are now\nsorted alphabetically within function groups, eg. all git-related functions\nare grouped together.  The groups are listed at the top of the file.\n\n\u0027functions\u0027 sources \u0027functions-common\u0027 so no additional changes are required\nfor backward-compatability.\n\nAll functions shared with Grenade have also been moved.\n\nfunctions-common was created from commit e0ed8ea038299952826b27a16753775472f108d8\n\nChange-Id: I73bf7134fd6a60ec1ea44a5bfab08b0569b60ded\n"
    },
    {
      "commit": "e4fa72132228688d2fe74dd974fe04b0fe4c3d6b",
      "tree": "b92c3050cd93c4d3d87142708eb30f77b58e2628",
      "parents": [
        "f583a04d739a189da6f3780f83e2ddc61bfe9e22"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jan 15 15:04:49 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Feb 07 10:06:21 2014 -0600"
      },
      "message": "Begin is_service_enabled() cleanup\n\nThis converts the special cases in the is_service_enabled() function to call\nindividual functions declared by the projects.  This allows projects that\nare not in the DevStack repo and called via the extras.d plugin to handle\nan equivalent service alias.\n\n* Ceilometer\n* Cinder\n* Glance\n* Neutron\n* Nova\n* Swift\n\nTODO: remove the tests from is_service_enabled() after a transition period\n\nPatch Set 2: Rebased\n\nChange-Id: Ic78be433f93a9dd5f46be548bdbd4c984e0da6e7\n"
    },
    {
      "commit": "8dad4bde886ed2a5bb28d8eb43cfa874ee81c790",
      "tree": "e5faed5714213ac027a30f17eeec0e097d84d12c",
      "parents": [
        "b7bdb68b6226ae9b5b19afcdbce5795ba2286827"
      ],
      "author": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Mon Feb 03 17:57:39 2014 -0800"
      },
      "committer": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Mon Feb 03 18:17:01 2014 -0800"
      },
      "message": "upload_image.sh to support streamOptimized disks\n\nThe current version of the script will use \"preallocated\" as the\ndisk type of a stream optimized disk. This needs to be fixed by\nintrospecting the createType of the vmdk file.\n\nCloses-Bug: #1275993\n\nChange-Id: I98594acecf26dd1164870f43890254a19ef23fe9\n"
    },
    {
      "commit": "bfbcef08879fd741f0ffde1a7ca7a4eaff7d85da",
      "tree": "ee6c5b29c81f83fa5f6405da57deadb34c226eb8",
      "parents": [
        "813ba48a3ce830306cf847b44883f32b72befb14",
        "0b8f6e0fbba961de04d95ff0e06e515d1ea3ea8b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Jan 26 02:43:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Jan 26 02:43:31 2014 +0000"
      },
      "message": "Merge \"Make sure not to revert local changes.\""
    },
    {
      "commit": "58cc03629fd4af1239bed59bd70eb7339bb9976d",
      "tree": "492742b3699f5fd736b997fc5856897d85d11cc7",
      "parents": [
        "d24a053a96cbc6f91b8ddef8c74a3ede90be5b39",
        "b93cd643432d3633c48bec02fcd7cb4f354f67ed"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Jan 26 02:33:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Jan 26 02:33:34 2014 +0000"
      },
      "message": "Merge \"upload_image.sh should parse filenames correctly\""
    },
    {
      "commit": "b93cd643432d3633c48bec02fcd7cb4f354f67ed",
      "tree": "ce6577470d8b7271676cdd3486a013e5e6ac7acb",
      "parents": [
        "6d323f43b499482765438a964ac11874d4af3aec"
      ],
      "author": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Thu Jan 23 17:12:21 2014 -0800"
      },
      "committer": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Thu Jan 23 18:22:34 2014 -0800"
      },
      "message": "upload_image.sh should parse filenames correctly\n\nThe upload_image script gives the ability to the user to provide\nspecific metadata using the filename:\nfile-adapter_type;disk_type;network_type.vmdk\nCurrently, the regex expects each of these types to be populated.\nThis patch fixes this issue by making the regex more flexible and\naccepts only one of these metadata to be populated.\n\nChange-Id: If74cb06cc640864e7e91fd88943cdb37e05935d6\nCloses-Bug: #1272126\n"
    },
    {
      "commit": "579af5d6786f62008807a473749600e88cea21fc",
      "tree": "64d368cc485067e832731f1aae141e016987fb08",
      "parents": [
        "6d323f43b499482765438a964ac11874d4af3aec"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jan 23 11:32:22 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jan 23 11:32:25 2014 -0600"
      },
      "message": "Kill process groups in screen_stop()\n\nPreviously only the top child process was killed, killing the process\ngroup also takes all of the child processes with it.\n\nCloses-bug: 1271889\nChange-Id: If1864cc4f1944f417ea3473d81d8b6e8e40030c2\n"
    },
    {
      "commit": "0b8f6e0fbba961de04d95ff0e06e515d1ea3ea8b",
      "tree": "5a4d46e5edeb15ded1a11b47557e2adcb2e22d53",
      "parents": [
        "6d323f43b499482765438a964ac11874d4af3aec"
      ],
      "author": {
        "name": "IWAMOTO Toshihiro",
        "email": "iwamoto@valinux.co.jp",
        "time": "Thu Jan 23 12:02:34 2014 +0900"
      },
      "committer": {
        "name": "IWAMOTO Toshihiro",
        "email": "iwamoto@valinux.co.jp",
        "time": "Thu Jan 23 12:02:34 2014 +0900"
      },
      "message": "Make sure not to revert local changes.\n\n\"git diff --quiet\" has a bug ignoring local changes if there\u0027s a\nunchanged file with a newer timestamp.  This patch works around\nthe bug.\n\nChange-Id: I0ddc24e0f7af21287c43c1e04dd166ebff6f2dca\nCloses-Bug: 1264422\n"
    },
    {
      "commit": "9fc8792b0ac7525b4c353b0a55b8b80eabf76e2a",
      "tree": "63db600410e41a8d2e617a735727a31f7254d083",
      "parents": [
        "c8c0ead4cacc512e78be66c11ce98fa22fb77a64"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed May 22 17:19:06 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Jan 11 11:46:19 2014 -0600"
      },
      "message": "Robustify service shutdown\n\n* Save PID when using screen in screen_it()\n* Add screen_stop()\n* Call out service stop_*() in unstack.sh functions so screen_stop()\n  can do its thing\n\nCloses-bug: 1183449\nChange-Id: Iac84231cfda960c4197de5b6e8ba6eb19225169a\n"
    },
    {
      "commit": "6681a4fae9df92cee77900f2248b8e98c501626f",
      "tree": "0b9e71267176f484688422501cff329ff41cbd69",
      "parents": [
        "bd499587945e6f811126eed36337cb14b3d6fcd0"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "isaku.yamahata@intel.com",
        "time": "Fri Jan 10 15:28:29 2014 +0900"
      },
      "committer": {
        "name": "Isaku Yamahata",
        "email": "isaku.yamahata@intel.com",
        "time": "Fri Jan 10 15:39:12 2014 +0900"
      },
      "message": "bash8: fix bash8 warning\n\nThis patch removes the following bash8 warnings.\n\n\u003e /devstack/ $ ./run_tests.sh\n\u003e Running bash8...\n\u003e E003: Indent not multiple of 4: \u0027             wget -c $image_url -O $FILES/$IMAGE_FNAME\u0027\n\u003e  - functions: L1367\n\u003e E003: Indent not multiple of 4: \u0027             if [[ $? -ne 0 ]]; then\u0027\n\u003e  - functions: L1368\n\u003e E003: Indent not multiple of 4: \u0027                 echo \"Not found: $image_url\"\u0027\n\u003e  - functions: L1369\n\u003e E003: Indent not multiple of 4: \u0027                 return\u0027\n\u003e  - functions: L1370\n\u003e E003: Indent not multiple of 4: \u0027             fi\u0027\n\u003e  - functions: L1371\n\u003e E003: Indent not multiple of 4: \u0027                                 `\"should use a descriptor-data pair.\"\u0027\n\u003e  - functions: L1423\n\u003e E003: Indent not multiple of 4: \u0027                         `\" Attempt to retrieve the *-flat.vmdk: $flat_url\"\u0027\n\u003e  - functions: L1438\n\u003e E003: Indent not multiple of 4: \u0027                             `\" Attempt to retrieve the descriptor *.vmdk: $descriptor_url\"\u0027\n\u003e  - functions: L1477\n\u003e E003: Indent not multiple of 4: \u0027                         warn $LINENO \"Descriptor not found $descriptor_url\"\u0027\n\u003e  - functions: L1492\n\u003e E003: Indent not multiple of 4: \u0027                         descriptor_found\u003dfalse\u0027\n\u003e  - functions: L1493\n\u003e E003: Indent not multiple of 4: \u0027                 fi\u0027\n\u003e  - functions: L1501\n\u003e E003: Indent not multiple of 4: \u0027             fi\u0027\n\u003e  - functions: L1502\n\u003e E003: Indent not multiple of 4: \u0027             #TODO(alegendre): handle streamOptimized once supported by the VMware driver.\u0027\n\u003e  - functions: L1503\n\u003e E003: Indent not multiple of 4: \u0027             vmdk_disktype\u003d\"preallocated\"\u0027\n\u003e  - functions: L1504\n\u003e 14 bash8 error(s) found\n\nChange-Id: Icf2cddf283192a50253ccfa697c2d32eec75b4ba\nCloses-Bug: #1267716\n"
    },
    {
      "commit": "be2ff9a745c46bd6627b68d9b6fbdbb724f3854d",
      "tree": "cc7082de2a894ff8d0f24d8d85c6ad5cbb489e0f",
      "parents": [
        "ba3c63640469e86a7a30032f76de455fc211fca7"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Dec 17 16:26:21 2013 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Dec 17 16:26:21 2013 +1100"
      },
      "message": "Match RHEL Beta release strings\n\nRHEL7 (in beta) has \"Beta\" after the release number and before the\ncode-name.  Add a number-match to the regex so everything between that\nmatch and the codename in parenthesis is considered the release.\n\nChange-Id: I992f20eedcefc6aeed6bd3ad57fc4cf20c8ef15d\n"
    },
    {
      "commit": "6ef165cd7ae274b95eb46c8f5543726c4fcc811c",
      "tree": "105457fe4e287ff53d1c74419a983621e2659b82",
      "parents": [
        "ec16d0ffd5e780eefe69848134fb7b402bb2707d",
        "bf36e8e4cf89a9de75746ce3e2ae1c98c3948993"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Dec 17 00:40:02 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Dec 17 00:40:02 2013 +0000"
      },
      "message": "Merge \"Make rejoin-stack.sh resume file logging if enabled\""
    },
    {
      "commit": "cd7d956fbc30eae3c1694b187ea605a5f0d960d3",
      "tree": "18c30423780b6642155ebcefb7212db542a27681",
      "parents": [
        "78411958fd086acc0270c2380dd61f03ebd1f451"
      ],
      "author": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@hp.com",
        "time": "Thu Dec 05 08:09:12 2013 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@hp.com",
        "time": "Thu Dec 12 12:24:55 2013 +0000"
      },
      "message": "Handle the case of pipe char in value for iniset\n\niniset did not handle the case of \"|\" in the value\nto be injected. Fix this by replacing | with \\000 (NULL).\n\nFixes bug #1258050\n\nChange-Id: I8882c2f3f177ebdfa0c66270dbbc7fd50f30b065\n"
    },
    {
      "commit": "2ac8b3f3c2ebe586802d7789cf152b13fe0d0497",
      "tree": "118837bd091932efab16e3fd59ec1e5f1824c6f9",
      "parents": [
        "df8410c387034bec1b82c8f9d9fd949967f7080b"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Dec 04 17:20:28 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Dec 09 10:30:02 2013 -0600"
      },
      "message": "Fix a couple of INI whitespace bugs\n\n* iniset() bails if no section or option (attribute) is supplied\n* merge_config_file() properly skips lines with only whitespace\n\n* Also split the ini-tests into their own script\n\nBug 1257954\n\nChange-Id: Ie31c5bd0df8dfed129fbcf1e37228aaf25e9305d\n"
    },
    {
      "commit": "bf36e8e4cf89a9de75746ce3e2ae1c98c3948993",
      "tree": "3ee9fe5c54cfee3087d5eb70bb0b5a33fc5245a4",
      "parents": [
        "adc9fd18e516885f972be675ac1e5fa0f826fdf1"
      ],
      "author": {
        "name": "Darragh O\u0027Reilly",
        "email": "dara2002-openstack@yahoo.com",
        "time": "Mon Dec 09 13:16:16 2013 +0000"
      },
      "committer": {
        "name": "Darragh O\u0027Reilly",
        "email": "dara2002-openstack@yahoo.com",
        "time": "Mon Dec 09 13:34:51 2013 +0000"
      },
      "message": "Make rejoin-stack.sh resume file logging if enabled\n\nThis patch ensures that screen will resume logging to files\nafter rejoin-stack.sh when SCREEN_LOGDIR is set.\n\nChange-Id: I4c3eae0df7755b700dd8acf4bf14b7e383372ca3\nCloses-bug: 1192568\n"
    },
    {
      "commit": "b20d4d124e5e3afb6ec4f4c7ec287928376a8581",
      "tree": "5b709bc76a0ff5f2ad673e273fbc161e5d432795",
      "parents": [
        "2095b097def79dedb005466b7f44a20c4cd80d55",
        "ab77587a371dea59055484b6f9e4ee1a434fcaf0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Dec 05 18:02:04 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 05 18:02:04 2013 +0000"
      },
      "message": "Merge \"Generate glance image with SCSI bus type for ppc arch\""
    },
    {
      "commit": "ab77587a371dea59055484b6f9e4ee1a434fcaf0",
      "tree": "0fc6e84fd8f8becd8c6392f1cc192ff43ccae712",
      "parents": [
        "bddaf0afb6651d6245bae589532aa1d364321bb7"
      ],
      "author": {
        "name": "Rafael Folco",
        "email": "rfolco@br.ibm.com",
        "time": "Mon Dec 02 14:04:32 2013 -0200"
      },
      "committer": {
        "name": "Rafael Folco",
        "email": "rfolco@br.ibm.com",
        "time": "Wed Dec 04 16:52:31 2013 -0200"
      },
      "message": "Generate glance image with SCSI bus type for ppc arch\n\nThis patch fixes wrong assumptions for bus types of disk and cdrom\non ppc64. Qemu driver assumes IDE bus type for cdrom device, which\nis not supported on ppc arch.\nAdds capability to add --property key-value to the glance\nimage-create command.\nUsing double brackets for portability reasons.\n\nChange-Id: I9f55fa0b6a894a93926e4f8c3d0ea410b5283f9c\n"
    },
    {
      "commit": "90bcd2ff4d4ea11883a58521e58b67f2d981693b",
      "tree": "6fa95a1071729b740f454818e72b3c87c7f15d3a",
      "parents": [
        "ed727dc6d94b31b66997010666a83a540d98ff88"
      ],
      "author": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Fri Nov 22 16:05:39 2013 -0800"
      },
      "committer": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Tue Dec 03 17:57:24 2013 -0800"
      },
      "message": "Attempt to retrieve the vmdk descriptor data-pair\n\nVMDK formats such as monolithicFlat and vmfs require two files to be\nfully consumable by the Nova drivers (a descriptor-data pair: *.vmdk and\n*-flat.vmdk).\nOn the upload of the descriptor (*.vmdk), upload_image.sh should attempt to\nretrieve the *-flat.vmdk. The same way, the descriptor should be\nretrieved when a flat disk is uploaded.\nOn success, the upload script will be able to use the flat disk as the image\ncontent and the relevant descriptor settings as the image metadata.\n\nChange-Id: I9214754029c46dd60b9e7d606d84d8819a498a8d\nCloses-Bug: #1252443\n"
    },
    {
      "commit": "1fe3fc0457615007226c94be44a9535d8bb809a9",
      "tree": "a8b8b5ba121ee2ec403580b384455dbc196a5f39",
      "parents": [
        "cdf722cc0954ffc9863963f9ab1991346f081654",
        "bfb3e5ec9cfb6f06bfc4373e3c795e2918602c8e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Nov 22 16:19:01 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 22 16:19:01 2013 +0000"
      },
      "message": "Merge \"Update vsphere image filename pattern\""
    },
    {
      "commit": "202677ae3070ca5a239d29a6bb081b2fd5d1600c",
      "tree": "6d2d8acae12dba4db5914508465c9fa920e44d9e",
      "parents": [
        "429b64e4a55184d7f430e7ae52594d7c8cece6aa",
        "aaac4eede998e6601c879fd359e0cb91c83ba77a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Nov 22 09:58:08 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 22 09:58:08 2013 +0000"
      },
      "message": "Merge \"Fix stackforge_libs installation step\""
    },
    {
      "commit": "429b64e4a55184d7f430e7ae52594d7c8cece6aa",
      "tree": "40c917282d95672fc9b25c3301913444597ca60a",
      "parents": [
        "92f314785c76c32bba8e5b94068ca24034f2efcf",
        "3e439448b5ab1ea1cf2bfaef5d08c6ce41819912"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Nov 22 03:02:08 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 22 03:02:08 2013 +0000"
      },
      "message": "Merge \"upload_image.sh should handle file URLs\""
    },
    {
      "commit": "921c508027b23639e10951e7a01df3d1590ea7ed",
      "tree": "ee203858ef2da9220e4bb737b909af5e1c54fb01",
      "parents": [
        "c3dff93fcbe53fbca1695f5e49af09d6cf7af990",
        "d0059595529883719726ec146534a6639dbae65e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Nov 21 21:08:30 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 21 21:08:30 2013 +0000"
      },
      "message": "Merge \"Enable/disable ironic in tempest config\""
    },
    {
      "commit": "bfb3e5ec9cfb6f06bfc4373e3c795e2918602c8e",
      "tree": "1b65bb952bfc5edc14bca3bbbae242e627b09f15",
      "parents": [
        "c85ac787ba43115a3f47416470ef16e21ad20caf"
      ],
      "author": {
        "name": "Ryan Hsu",
        "email": "rhsu@vmware.com",
        "time": "Mon Nov 11 21:20:14 2013 -0800"
      },
      "committer": {
        "name": "Ryan Hsu",
        "email": "rhsu@vmware.com",
        "time": "Tue Nov 19 20:54:23 2013 -0800"
      },
      "message": "Update vsphere image filename pattern\n\nThe vsphere image filename pattern has been updated so that semi-\ncolons are used to delimit image properties rather than colons,\nwhich are not permitted in Windows filesystems. To support back-\nwards compatibility, colons can still be used.\n\nChange-Id: I29a3ac03dcae294326dc8813a66512a79f705f81\nCloses-Bug: #1250319\n"
    },
    {
      "commit": "aaac4eede998e6601c879fd359e0cb91c83ba77a",
      "tree": "7bba8294e2b4e0d177558fee88e4f8ede9455774",
      "parents": [
        "c85ac787ba43115a3f47416470ef16e21ad20caf"
      ],
      "author": {
        "name": "Doug Hellmann",
        "email": "doug.hellmann@dreamhost.com",
        "time": "Mon Nov 18 22:12:46 2013 +0000"
      },
      "committer": {
        "name": "Doug Hellmann",
        "email": "doug.hellmann@dreamhost.com",
        "time": "Mon Nov 18 22:16:45 2013 +0000"
      },
      "message": "Fix stackforge_libs installation step\n\nWhen stackforge_libs is enabled, the WSME and Pecan libraries\nare checked out from stackforge and installed from source instead of\npip. This change introduces a new function to perform the installation\nwithout attempting to sync the global requirements list, since the\nversion of setup.py in the global requirements repository breaks the\ndependencies for WSME (there is no ipaddr library in python 2, so we\nneed to install it, but under python 3 where it is part of the stdlib we\ncannot include it in the requirements).\n\nFixes bug 1252488\n\nChange-Id: I58357757ac67a919bf70178b76f65fa0a9e16242\n"
    },
    {
      "commit": "3e439448b5ab1ea1cf2bfaef5d08c6ce41819912",
      "tree": "093e8929d5ee67d5d99ebabf5e443347646bf1b8",
      "parents": [
        "80798bf56d22a6c72b3d8625a55dcad0e1bb9f8e"
      ],
      "author": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Fri Nov 15 16:06:03 2013 -0800"
      },
      "committer": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Fri Nov 15 16:16:17 2013 -0800"
      },
      "message": "upload_image.sh should handle file URLs\n\nupload_image.sh doesn\u0027t handle correctly file URLs: a file URL works only\nif the file is already in the cache.\nThis patch provides support for file URLs of local files (RFC 1738)\nhttp://tools.ietf.org/html/rfc1738\n\nChange-Id: I107299c543cfa189e32848c32eefdbeb51a5e1f5\nCloses-Bug: #1251752\n"
    },
    {
      "commit": "80798bf56d22a6c72b3d8625a55dcad0e1bb9f8e",
      "tree": "f8fefad3d6b878601c421c0fb72a7f0c55c10543",
      "parents": [
        "b21d6ee9fa956c43eaea8408440eafe4c3050bcc",
        "5ea53ee5f710076eba80ee9677afd3769fd2f36a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Nov 15 18:45:11 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 15 18:45:11 2013 +0000"
      },
      "message": "Merge \"Use vmdk descriptor to populate image properties\""
    },
    {
      "commit": "d0059595529883719726ec146534a6639dbae65e",
      "tree": "5b2ad59023bf1f8b937cd26a3a85f841e48681a2",
      "parents": [
        "1722aabd9c4599a9ba99dbd95889df18bd1c1cd9"
      ],
      "author": {
        "name": "Roman Prykhodchenko",
        "email": "me@romcheg.me",
        "time": "Thu Nov 14 09:58:53 2013 +0200"
      },
      "committer": {
        "name": "Roman Prykhodchenko",
        "email": "me@romcheg.me",
        "time": "Thu Nov 14 09:58:53 2013 +0200"
      },
      "message": "Enable/disable ironic in tempest config\n\nIn order to run tempest tests for Ironic in devstack\nthe availability of the Ironic service must be set in\nthe tempest config.\n\nThis patch adds a shortcut for Ironic services and sets\navailability of Ironic in tempest config.\n\nChange-Id: I206fc2ea13412ceb128f8bfe90c153348d6f2f3e\n"
    },
    {
      "commit": "5ea53ee5f710076eba80ee9677afd3769fd2f36a",
      "tree": "ad9a49f4cadecd520aa4f8b15251e931bb3c1f6d",
      "parents": [
        "1c1aef0eb7796f0fe8b2502eb4aaa62369b7842a"
      ],
      "author": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Fri Nov 01 16:42:54 2013 -0700"
      },
      "committer": {
        "name": "Arnaud Legendre",
        "email": "arnaudleg@gmail.com",
        "time": "Tue Nov 12 15:45:53 2013 -0800"
      },
      "message": "Use vmdk descriptor to populate image properties\n\nimage_upload.sh doesn\u0027t use the descriptor properties embedded inside\nthe vmdk file. This requires the user to manually change the filename of the\nvmdk file to add the properties (disk type, storage adapter and network\nadapter).\nIn case of a sparse monolithic sparse or stream-optimized sparse, these\nproperties are extracted from the descriptor.\nThe user can still override these values by modifying the filename.\n\nChange-Id: I1734311c66efe60a1a30e3ea63cc2a9da9cdb5b4\nCloses-Bug: #1247300\n"
    },
    {
      "commit": "26e0a05a9043ce93af62058132864caabd54b853",
      "tree": "1a4193049ad2373decc2d57b9bae228b1889a089",
      "parents": [
        "5a35e73b3419df571f55efd2a68ef565469e3d1b",
        "610af8cfa7ff9cadac80fdd37924ecd8fe0d546e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 11 22:20:08 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 11 22:20:08 2013 +0000"
      },
      "message": "Merge \"Fix horizon config under Apache 2.4\""
    },
    {
      "commit": "610af8cfa7ff9cadac80fdd37924ecd8fe0d546e",
      "tree": "60745b1340c115c6a0d8fab05c7bc80282a9d0d2",
      "parents": [
        "e8aa8306b1ab3f471c288d5171b31481c742f236"
      ],
      "author": {
        "name": "Chris Buccella",
        "email": "buccella@linux.vnet.ibm.com",
        "time": "Tue Nov 05 12:56:34 2013 +0000"
      },
      "committer": {
        "name": "Chris Buccella",
        "email": "buccella@linux.vnet.ibm.com",
        "time": "Tue Nov 05 13:06:34 2013 +0000"
      },
      "message": "Fix horizon config under Apache 2.4\n\nApache 2.4 now uses mod_authz_host for acces control. Horizon\u0027s\nApache config needs an update to allow access to its directory,\notherwise a 403 will be returned.\nThis change replaces a similar previous fixes done for Fedora 18\nand Ubuntu 13.10, since this is an Apache version issue, not a\ndistro-specific one.\n\nChange-Id: Iecc17600d8e1aae6a7b0929b1493d712c307616f\nCloses-Bug: #1243075\n"
    },
    {
      "commit": "89d41ca23941d864ac9b5665cd68423311029236",
      "tree": "cce6aa53cda99630a228675abbb3f6359f9f3fe6",
      "parents": [
        "613fd5591c8d6cfac6ccf4b197ed93bb8d2f7676"
      ],
      "author": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Fri Nov 01 15:41:01 2013 -0500"
      },
      "committer": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Fri Nov 01 15:41:23 2013 -0500"
      },
      "message": "Fix wrong variable comparision in functions\n\nA whitespace is missing.\nCloses-Bug: #1247273\n\nChange-Id: I4bbed6077813c5d7522650baf2e78d9c44c1bba4\n"
    },
    {
      "commit": "b7c11a0f98f46a5e205ef227f3ccdb801b6fb663",
      "tree": "b937e1bca59bdd99e599b5a7311419b37f85adc2",
      "parents": [
        "8e285072c9b6f9cee4568cc882001f87e51d3c24",
        "6a5aa7c6a20435bbd276a0f1823396b52a8f0daf"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 31 14:19:15 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 31 14:19:15 2013 +0000"
      },
      "message": "Merge \"Fix some Markdown formatting issues\""
    },
    {
      "commit": "8e285072c9b6f9cee4568cc882001f87e51d3c24",
      "tree": "f66fd4cca555c178b270fa44ef9ef9eb8220dfba",
      "parents": [
        "78180a1735c6d9c072f417accb31f90c17a01341",
        "cb961597cc30f9d8ece17529f09a8291454827e3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 31 14:18:32 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 31 14:18:32 2013 +0000"
      },
      "message": "Merge \"Fix shocco errors and warnings\""
    },
    {
      "commit": "fd98edb469884610031207695ec91c2db8c7ab93",
      "tree": "1fa220c49e9c2514d401e76c9f5bb98c36aa41fa",
      "parents": [
        "0c42f250430ad2e68c0a72804179a80522a159df"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Oct 24 14:57:59 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Oct 24 15:09:47 2013 -0400"
      },
      "message": "create an UNDO_REQUIREMENTS variable\n\nin the gate, we actually need to *not* roll back the requirements,\notherwise tempest can wedge the world because it runs under tox.\n\nMake a variable that we can set to false in the gate to ensure that\nwe don\u0027t roll back the requirements changes.\n\nChange-Id: I2b842ecc3f6e8b917dd721729640000bd7e7fb78\n"
    },
    {
      "commit": "0c42f250430ad2e68c0a72804179a80522a159df",
      "tree": "97d325a40441a38f3ffb9e478d817df4603ec02a",
      "parents": [
        "897f48a897f9404a6825275c97ae386f0994c0e6",
        "cbce1fa418ccb271879040b117b96038fefb479f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 24 16:48:54 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 24 16:48:54 2013 +0000"
      },
      "message": "Merge \"Just reset the repo instead of trying to co files\""
    },
    {
      "commit": "6a5aa7c6a20435bbd276a0f1823396b52a8f0daf",
      "tree": "d5137f132a359469f1225d61850466feb4658297",
      "parents": [
        "cb961597cc30f9d8ece17529f09a8291454827e3"
      ],
      "author": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Thu Oct 24 11:27:02 2013 +0100"
      },
      "committer": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Thu Oct 24 17:38:19 2013 +0100"
      },
      "message": "Fix some Markdown formatting issues\n\nAddress miscellaneous issues with Markdown formatting in comments which\nare consumed by shocco when generating the online documentation.\n\nChange-Id: I953075cdbddbf1f119c6c7e35f039e2e54b79078\n"
    },
    {
      "commit": "cb961597cc30f9d8ece17529f09a8291454827e3",
      "tree": "542d144cffde414f2c54eab747f6ff4908d675df",
      "parents": [
        "897f48a897f9404a6825275c97ae386f0994c0e6"
      ],
      "author": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Sat Oct 05 12:11:07 2013 +0100"
      },
      "committer": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Thu Oct 24 15:43:05 2013 +0100"
      },
      "message": "Fix shocco errors and warnings\n\nA few Markdown-oriented issues were causing Docutils errors to\nleak into the end-user docs on http://devstack.org\n\nChange-Id: I51fa9698afb1bfb48596478d83bd1fdcd84ac52e\n"
    },
    {
      "commit": "80c3ea52ed1caec16e5c6c6beecd434225afbd97",
      "tree": "be9127c85db029092dea3cf58c7dc23c84b1d8a5",
      "parents": [
        "0b865a55f2b6fa1435e8bf6df09218a9bf7a0ca0",
        "dc30bd3eb457aaea66451621695cddfa8213a169"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 22 21:33:39 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 22 21:33:39 2013 +0000"
      },
      "message": "Merge \"exit cleanup in functions\""
    },
    {
      "commit": "537d4025c511d9b162726bb5c972da72028573ed",
      "tree": "f5e9e3e9d545225b41ca4678b834aab01f12618a",
      "parents": [
        "8d3beb673cee45db73617f84b92df7b588db0411"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Tue Oct 22 07:43:22 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Tue Oct 22 12:59:22 2013 -0400"
      },
      "message": "whitespace cleanup on functions \u0026 lib/config\n\nfix some of the bash8 issues found in functions and lib/config,\npart of the long march towards fixing all the bash8 issues.\n\nChange-Id: Ia131f64870acb0f9d196fe1a9a45d633abb6fc4d\n"
    },
    {
      "commit": "92a864737e9c18ed031c4176bd7d3d13b7d4453c",
      "tree": "d34362e1b28202b92df43aaeac7128e19ba9deb0",
      "parents": [
        "a248d07f0ae2038238d0328b281cdea1848e168d",
        "f43f3a59c26979f40510b7531b587b029088c871"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 22 14:02:59 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 22 14:02:59 2013 +0000"
      },
      "message": "Merge \"./stack.sh complain no /etc/nova/nova.conf\""
    },
    {
      "commit": "dc30bd3eb457aaea66451621695cddfa8213a169",
      "tree": "28058ad6386b1a954a0f9879062c6c9b8a493770",
      "parents": [
        "ff38d464e41db3d8f83c2b85b48f983e424f3a23"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Tue Oct 22 07:30:47 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Tue Oct 22 07:32:04 2013 -0400"
      },
      "message": "exit cleanup in functions\n\nwe should always use die instead of exit so that we know why we\nfailed.\n\nAlso remove instances where exit is called after die, as that is\na noop.\n\nChange-Id: I8e08cce63d35c503c36ff1e09805f3db427d082d\n"
    },
    {
      "commit": "f43f3a59c26979f40510b7531b587b029088c871",
      "tree": "34e922dfaa758cf8cb5496c5e7f4b0c60bf1bb8f",
      "parents": [
        "3931573f2bdb542ff4299bd548cab3458c3b0c99"
      ],
      "author": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Fri Oct 11 23:09:47 2013 -0500"
      },
      "committer": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Sun Oct 20 09:49:52 2013 -0500"
      },
      "message": "./stack.sh complain no /etc/nova/nova.conf\n\nIf nova.conf doesn\u0027t exist, mute error generated by grep.\n\nCloses-Bug: #1239044\n\nChange-Id: Ia497e2a9d8395cc11850fb16fd4075af9855b2a5\n"
    },
    {
      "commit": "cbce1fa418ccb271879040b117b96038fefb479f",
      "tree": "d3cc60a83798f433a3627e3a9d9835a071c6f559",
      "parents": [
        "af0912b51257b5423fabd41fddef282da2c8386f"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Thu Sep 26 09:20:04 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 17 11:43:48 2013 +0000"
      },
      "message": "Just reset the repo instead of trying to co files\n\nWe can just reset the repo instead of trying to checkout specific files.\nThis fix external repos which doesn\u0027t not have requirements.txt or\ntest-requirements.txt.\n\nCloses-Bug: 1231334\nChange-Id: Iab898f5e8a422cc0cbfe44839c938f22c7525fd8\n"
    },
    {
      "commit": "afcb049c7ce1c0419f88cd7184a2ccc4db058387",
      "tree": "812cbfd482f259a2dcc3de5d21ab5cd50adc1667",
      "parents": [
        "79ad8617108fff38c00d851f69bd854350b825da",
        "ca5af8615e58b78dbb0242074bc35aec5de1dda5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 16 21:13:51 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 16 21:13:51 2013 +0000"
      },
      "message": "Merge \"Remove general assumption in get_packages()\""
    },
    {
      "commit": "c5a1b05ebac150590bab553d484c283567cf0a6a",
      "tree": "47d609bd441934d60cb267a1a7592bee22684a8e",
      "parents": [
        "570edfa9baa8c1e81894da67a1fe90023da0ac1c",
        "893e66360caf3bcf0578d4541b3c17d089c33b02"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Oct 14 17:49:26 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Oct 14 17:49:26 2013 +0000"
      },
      "message": "Merge \"Add meta-config via local.conf\""
    },
    {
      "commit": "b5e11ff87409a6cac67378715379f739daaa2b0b",
      "tree": "5e78a76ae48ab589008f376e9987ee7447813ee3",
      "parents": [
        "3931573f2bdb542ff4299bd548cab3458c3b0c99"
      ],
      "author": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Mon Oct 14 00:53:37 2013 -0500"
      },
      "committer": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Mon Oct 14 00:53:46 2013 -0500"
      },
      "message": "fix typo in functions\n\nChange-Id: I0d09d6d4f4405d3dc96f7a9eed62f87e5d3f8bc1\n"
    },
    {
      "commit": "893e66360caf3bcf0578d4541b3c17d089c33b02",
      "tree": "c91bd45ede20b9739c5dd39bec08d8ee32937af5",
      "parents": [
        "7ab1f22c606ae55883ac47298c810062965a1527"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Sep 13 15:05:51 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Oct 11 11:41:58 2013 -0500"
      },
      "message": "Add meta-config via local.conf\n\nThis defines a new local.conf file that is designed to take the place of all\nof the \u0027pass-through\u0027[1] configuration options that have been defined in DevStack.\n\n* new local.conf file can contain multiple config file settings to be\n  merged in to existing project config files\n* localrc can be embedded into local.conf and will auto-extract if\n  localrc does not exist\n* Adds functions get_meta_section(), get_meta_section_files(),\n  merge_config_file() and merge_config_group()\n* Adds EXTRA_OPTS, EXTRA_BAREMETAL_OPTS, Q_DHCP_EXTRA_DEFAULT_OPTS and\n  Q_SRV_EXTRA_DEFAULT_OPTS to the deprecated warning list at the end of stack.sh\n\n[1] Pass-through options are those that do not configure or change DevStack\u0027s behaviour\nbut simply set a value in a project config file.  This includes most of the EXTRA_XXX_OPTS\nconfiguration variables.\n\nChange-Id: I367cadc86116621e9574ac203aafdab483d810d3\n"
    },
    {
      "commit": "125c29f99eb590fe2ee8b4d571d9567317cbc8a5",
      "tree": "b8087e5d5bd5ec3decbd277372e182e181091cae",
      "parents": [
        "8356b8dc4f9d28661a83f2f07fab6560b10b9bea",
        "49f4486f1caff209254f560deecd774246c91c79"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Oct 06 08:42:08 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Oct 06 08:42:08 2013 +0000"
      },
      "message": "Merge \"Fix typo in property passed to glance\""
    },
    {
      "commit": "06e54c74772836fead6679ed115f5f5c9892e8c2",
      "tree": "3208664260100cc2424ea339ec4981ecca65b8e4",
      "parents": [
        "1e087b996593c1a918ce1a27a7a4f74c7514a94e",
        "0aa8534ada621becb3a6bd14e4e6b5faabde9dd6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Oct 04 19:17:09 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Oct 04 19:17:09 2013 +0000"
      },
      "message": "Merge \"Using no proxy option to skip wget and curl proxy settings in config\""
    },
    {
      "commit": "2671a8b97e9b1c231d2eeaa0cd2bd1f6b77f8904",
      "tree": "ad3f0e2fa959e9ba3e29ebc5248e88f2cce25420",
      "parents": [
        "af2b982842c79e8d7f320893d4d2552b3adeb114",
        "6d8fce732523c183fa307c6c5a685e257bdbd78a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Oct 04 18:37:30 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Oct 04 18:37:30 2013 +0000"
      },
      "message": "Merge \"Fix handling of pip and virtualenv on openSUSE\""
    },
    {
      "commit": "ca5af8615e58b78dbb0242074bc35aec5de1dda5",
      "tree": "144f4c6b009350b114ebcb2c067ddeb1200fe8f4",
      "parents": [
        "af2b982842c79e8d7f320893d4d2552b3adeb114"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Oct 04 13:33:07 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Oct 04 13:33:10 2013 -0500"
      },
      "message": "Remove general assumption in get_packages()\n\nget_packages() always included \u0027general\u0027 as a default \u0027service\u0027 file.\nRemove this assumption and add it explicitly to the primary package\ninstallation call.  This allows get_package() to be used in other places\nwhere \u0027general\u0027 is not desired to be included.\n\nChange-Id: I1eed4386d073d6ae9534aedae32654208c6662e8\n"
    }
  ],
  "next": "49f4486f1caff209254f560deecd774246c91c79"
}
