)]}'
{
  "log": [
    {
      "commit": "30d9bf9a6d8af9590b04caa3757956522f2004d4",
      "tree": "c41ec387e576c525a0e1d7d06b2c7f3c7efab748",
      "parents": [
        "84ead5aacf8ada7c3cd8ff524cb1f7c7e8dc147d"
      ],
      "author": {
        "name": "Dan Smith",
        "email": "dansmith@redhat.com",
        "time": "Tue Jan 19 12:10:52 2021 -0800"
      },
      "committer": {
        "name": "Dan Smith",
        "email": "dansmith@redhat.com",
        "time": "Tue Feb 09 15:57:04 2021 -0800"
      },
      "message": "Async task support\n\nWe have a *ton* of stuff in devstack that is very linear, specifically\nthe ten-ish minutes we spend loading osc to run a single API command\nagainst something. We also generate configs, sync databases, and other\nthings that use one core of our worker and make our runtime longer\nthan it really needs to be.\n\nThe idea in this patch is to make it super simple to run some things\nin the background and then wait for them to finish before proceeding\nto something that will require them to be done. This avoids the\ninterleaving you would expect by redirecting the async tasks to a log\nfile, and then cat\u0027ing that log file synchronously during the wait\noperation. The per-task log file remains so it\u0027s easier to examine\nit in isolation.\n\nMultiple people have reported between 22-30% improvement in the\ntime it takes to stack with this. More can be done, but what is here\nalready makes a significant difference.\n\nChange-Id: I270a910b531641b023c13f75dfedca057a1f1031\n"
    },
    {
      "commit": "b719b55b1d8158a926eb3cd0d04a2749f608a6d8",
      "tree": "3e16f04029e56031eefa05fd281d8881da91ebd9",
      "parents": [
        "98f2cafe8b1f08500921f8fd5f7c10bf2b0c9f4c",
        "5c39154c39cb23c78f3f130719614624681bd1f3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 30 16:30:38 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 30 16:30:38 2016 +0000"
      },
      "message": "Merge \"Ensure testing configuration can run as late as possible\""
    },
    {
      "commit": "c9f6327844c794789ea3c3905cc8e04523262f71",
      "tree": "609a2f444005562d27a1c065140393b99565c26e",
      "parents": [
        "79722563a67d941a808b02aeccb3c6d4f1af0c41"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Tue Aug 30 17:21:30 2016 -0400"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Tue Aug 30 17:21:30 2016 -0400"
      },
      "message": "Remove lib/ceph\n\nAll jobs using ceph as a storage backend have been moved over\nto using the devstack-plugin-ceph repo in project-config so we\nshould be safe to remove the now unused lib/ceph file.\n\nThe files are left in place because the devstack plugin does not\ninstall xfsprogs but it\u0027s used by the create_disk function.\n\nAnd the ceph cinder backend file is left in place since the\ndevstack-plugin-ceph repo uses that by setting\nCINDER_ENABLED_BACKENDS\u003d${CINDER_ENABLED_BACKENDS:-ceph}.\n\nChange-Id: I3fb09fc92bc6ab614e86d701ea46d5741a76b7a8\n"
    },
    {
      "commit": "5c39154c39cb23c78f3f130719614624681bd1f3",
      "tree": "b683831bc44fe0245fab13836b48573800e5d9c7",
      "parents": [
        "8befb781983be7131adb8eabb34e9860f491893c"
      ],
      "author": {
        "name": "Sam Betts",
        "email": "sam@code-smash.net",
        "time": "Wed Aug 10 15:58:27 2016 +0100"
      },
      "committer": {
        "name": "Sam Betts",
        "email": "sam@code-smash.net",
        "time": "Wed Aug 10 15:58:27 2016 +0100"
      },
      "message": "Ensure testing configuration can run as late as possible\n\nBefore the code in the extra.d plugins was removed from the devstack\ntree they could define the order they ran. When this code is decomposed\ninto a plugin, there is still a need to do some form of ordering. This\ncaused problems with the Ironic devstack plugin and Tempest because the\ncode is run in this order:\n\n 1. The tempest configuration is run from extra.d, processing\n    DEFAULT_INSTANCE_TYPE, and writing the flavor_ref to tempest.conf\n\n 2. The Ironic devstack plugin is run, creating the flavor needed for\n    DEFAULT_INSTANCE_TYPE\n\nThis leads to build failures as tempest can not find the required\nflavor, so it writes which ever flavor it can find at the time into\nflavor_ref. Ironic now has code it its devstack plugin duplicated from\nthe tempest plugin to work around this problem until this is merged.\n\nThis patch fixes this by using the test-config phase to move the tempest\nplugin as late as possible in the devstack process.\n\nChange-Id: I3d98692e69d94756e0034c83a247e05d85177f02\n"
    },
    {
      "commit": "7e603d1bf8689a50ffa3dd93c901a71ea5f5ae36",
      "tree": "d6a2507488e0b4fe031c861f2085b09502912a08",
      "parents": [
        "bc4b96b79425c8485929b8dd5c4e138a395099a3"
      ],
      "author": {
        "name": "Matthew Treinish",
        "email": "mtreinish@kortar.org",
        "time": "Wed Jun 01 18:16:14 2016 -0400"
      },
      "committer": {
        "name": "Matthew Treinish",
        "email": "mtreinish@kortar.org",
        "time": "Thu Jun 02 14:50:13 2016 -0400"
      },
      "message": "Move tempest plugin install to the end\n\nFor the tempest plugin install inside the tox venv to hold we need to\nensure that it\u0027s the last thing run that touches the tox venv before\ndevstack ends. Otherwise there is a chance we\u0027ll recreate the venv in\na later step of installing and configuring tempest. This commit\nmoves the plugin installation into it\u0027s own function and calls that\nfunction as last phase of the tempest setup to make sure it runs last.\n\nChange-Id: Ie253171537e8c5a9887cc30aba1cad4b31e57663\n"
    },
    {
      "commit": "c67d22e2ed0eb3fa0786f4314752ab7b26758ea3",
      "tree": "03819d602686d9c625b27cf1a48e85138df8c672",
      "parents": [
        "3c92590101bffc53cadcc04f8774d9deca01e44b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Feb 02 05:51:14 2016 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Feb 02 05:51:14 2016 -0500"
      },
      "message": "make the alt_demo user during normal install\n\nFor testing reasons it\u0027s typically very useful to have a second non\nadmin user to cross check that it can\u0027t do a thing to the first\nuser. It was useful enough we always created it with tempest (though\nwe didn\u0027t always use it).\n\nThis makes devstack always create an alt_demo user, which is available\nin occ as devstack-alt. This will help us unwind some of the keystone\nv3 breaks with functional tests using keystone cli to build this\nsecond user.\n\nChange-Id: Iaaf02469180563e2d8c413fee0ee66ada2296cfa\n"
    },
    {
      "commit": "6136c4e0bd93d7a19e24a78240749577ec9a3ec5",
      "tree": "ceeb9c1a3eaffc4a32af4c77f751c334978964a4",
      "parents": [
        "4847ee69eed812a4631f26e9cf2e34a0cd860abd",
        "ba23ba317abd6a65979b3006410eb4ba6429cf09"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 06 19:18:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 06 19:18:34 2016 +0000"
      },
      "message": "Merge \"remove configuration for boto section\""
    },
    {
      "commit": "4847ee69eed812a4631f26e9cf2e34a0cd860abd",
      "tree": "b1e995d8edb6546ddd7380802dc413246994b7c1",
      "parents": [
        "f3c722fb0a4b18744b84fe564d60f3f076e3679e",
        "65a028bf1c3685e16fafbc7c44adaeeeb6e9cf58"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 06 18:35:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 06 18:35:59 2016 +0000"
      },
      "message": "Merge \"[ceph] Deploy ceph failed at controller node for multiple node\""
    },
    {
      "commit": "ba23ba317abd6a65979b3006410eb4ba6429cf09",
      "tree": "4649cc5cb5be4c7242b11e7db4031f87d0e416a4",
      "parents": [
        "63b7d7bcae863a22feab34079d2d4b5fc1c845f3"
      ],
      "author": {
        "name": "Andrey Pavlov",
        "email": "andrey-mp@yandex.ru",
        "time": "Tue Dec 22 23:33:30 2015 +0300"
      },
      "committer": {
        "name": "Andrey Pavlov",
        "email": "andrey-mp@yandex.ru",
        "time": "Tue Dec 22 23:33:30 2015 +0300"
      },
      "message": "remove configuration for boto section\n\nthirdparty.boto tests was removed from tempest and this section\nis no needed more\n\nChange-Id: Ibec0534d118423be7a51c2e2b82f1c61531503a0\n"
    },
    {
      "commit": "47367071cdc110c40ec5c92d12f4dbe50cc553d4",
      "tree": "f4fd1c71781800adc16a2a9adf220414d98f599b",
      "parents": [
        "6f8048589873e4fe526e850bb6a02cd653d76b56"
      ],
      "author": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Thu Dec 10 14:24:00 2015 +0000"
      },
      "committer": {
        "name": "vsaienko",
        "email": "vsaienko@mirantis.com",
        "time": "Fri Dec 18 17:26:02 2015 +0200"
      },
      "message": "Remove ironic code from tree\n\nThis removes all of the ironic code from the devstack tree, in favor of\nthe devstack plugin in Ironic\u0027s tree.\n\nDepends-On: I659e3de5c64df798441798ff48ba5c9c0506585a\nDepends-On: I2c52bc014f1b0dbc6b0ae22a4deb4132b4c28621\nChange-Id: I5125fce295c79600781469c2f48bea80e7600081\n"
    },
    {
      "commit": "9fc3ba408a97d0dd39ce26dd8dbcdb3b110cde71",
      "tree": "c210c9c531d980d77de6da24ff1d09db4557443e",
      "parents": [
        "1f7631dce6252f32c182176b5e11b1f8eaa8b399"
      ],
      "author": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Thu Dec 10 13:33:28 2015 +0000"
      },
      "committer": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Thu Dec 10 15:41:32 2015 +0000"
      },
      "message": "Ironic: add flag for using plugin\n\nThis adds a flag to skip ironic code if the ironic devstack plugin is in\nuse. This flag will be set to true in ironic\u0027s devstack plugin to\nindicate that the plugin should be in control, rather than devstack.\n\nThis is for the transition period only, and will be removed with the\nrest of the ironic code in the devstack tree, once the gate\nis configured to use the ironic plugin.\n\nChange-Id: Id01d97fd13fa9f866d645ec5077834ddb78b2b89\n"
    },
    {
      "commit": "93e2499ee1abfd2f9ed1ebda7a7d4d0deab04f80",
      "tree": "cb7f53f35992220db2e0cd1e645f534a635f4883",
      "parents": [
        "585501a250cd4ee8210c81176ce89b0430b97753"
      ],
      "author": {
        "name": "Deepak C Shetty",
        "email": "deepakcs@redhat.com",
        "time": "Wed Nov 18 12:29:33 2015 +0530"
      },
      "committer": {
        "name": "Deepak C Shetty",
        "email": "deepakcs@redhat.com",
        "time": "Wed Nov 18 12:43:54 2015 +0530"
      },
      "message": "doc: document override_defaults phase\n\noverride_defaults phase was added to devstack in [1]\nbut documentation was pending. This patch adds the\nsame. For history around override_defaults, one can\nrefer to the mail thread [2]\n\nAlso fixes a small typo\n\n[1]: https://review.openstack.org/#/c/167933/\n[2]: http://lists.openstack.org/pipermail/openstack-dev/2015-March/059621.html\n\nChange-Id: I1b58ca0ce0e4b85a1dbd710b4c426606fd4dcf45\n"
    },
    {
      "commit": "65a028bf1c3685e16fafbc7c44adaeeeb6e9cf58",
      "tree": "d995a9231ab423237de9efcf54f83b923e9bea26",
      "parents": [
        "a9b9fca5ef4a8a8a3edd804c5dbf1a47ac1dd565"
      ],
      "author": {
        "name": "Chung Chih, Hung",
        "email": "lyan.h@inwinstack.com",
        "time": "Fri Nov 13 11:10:48 2015 +0000"
      },
      "committer": {
        "name": "Chung Chih, Hung",
        "email": "lyan.h@inwinstack.com",
        "time": "Fri Nov 13 11:12:47 2015 +0000"
      },
      "message": "[ceph] Deploy ceph failed at controller node for multiple node\n\nController node wouldn\u0027t install libvirt package. The package will only\nbeen installed at nodes which had enable nova-compute.\nWe only need to configure libvirt secret if it had enable nova-compute.\n\nChange-Id: I9cd6baf1820ce9f71c276d7e8b670307833578a5\nCloses-Bug: 1515960\n"
    },
    {
      "commit": "624ab1e65dac94572de04e4a12b28d31e342faf1",
      "tree": "4995589016bd2548f7eeb1b4dd9756d043a50edd",
      "parents": [
        "c00e39901be810deb4044904734cc68af42aad8e"
      ],
      "author": {
        "name": "Flavio Percoco",
        "email": "flaper87@gmail.com",
        "time": "Thu Apr 30 08:54:15 2015 +0200"
      },
      "committer": {
        "name": "Flavio Percoco",
        "email": "flaper87@gmail.com",
        "time": "Tue Sep 15 14:38:35 2015 +0200"
      },
      "message": "Remove Zaqar from devstack\n\nZaqar\u0027s devstack code has been moved into a plugin in the Zaqar repo.\nThis patch removes the remaining code from devstack.\n\nDepends-On: Iceefabb6cd528b23075a91e8039b8264eb3f33f5\nChange-Id: Ifcf54fa2d4a5bf49b6757b593bb70cdeda8edb2a\n"
    },
    {
      "commit": "3381e09f72e7edbf39080893212b533b8e01a3a9",
      "tree": "cbf50f839776758eae779780965b960028b96fc4",
      "parents": [
        "85a1c488dfda0094238f899ea0bf693106021ce5"
      ],
      "author": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Wed Jul 01 14:20:23 2015 +0300"
      },
      "committer": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Wed Jul 01 16:09:56 2015 +0000"
      },
      "message": "Move Sahara into in-tree plugin\n\nOnce the Sahara related code moved to Sahara repo and used, we can\nremove Sahara specific code from Devstack.\n\nPartial-Implements: bp sahara-devstack-intree\n\nChange-Id: I34412b5cb2e86944b8555b8fd04b43556eb2bbe6\nDepends-on: I2e00b2ebc59dd3be6a0539dea2985f2e801a1bd7\nDepends-on: I07c3fede473030e8a110cbf5a08309f890905abf"
    },
    {
      "commit": "9e220b9b2b560b160c93058b255b3d69e49c0cbc",
      "tree": "c1506e67b15f9cf4a1297c01e36d62704b672725",
      "parents": [
        "bf5de0aee48cd756fcc8e792f2014054c5f5294a"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@hp.com",
        "time": "Tue Mar 24 16:32:03 2015 -0700"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@hp.com",
        "time": "Thu May 14 07:57:23 2015 -0700"
      },
      "message": "Move trove into in-tree plugin\n\nOnce the trove code is copied into the trove repo and it is used\nas a devstack-plugin, we can remove trove-specific code from\ndevstack.\n\nChange-Id: I8f9f1a015edb7ec1033e2eaf0b29ab15d89384ce\nDepends-On: I3506dec0e6097f9c2e9267110fdfb768faa23c85\n"
    },
    {
      "commit": "249e36dec6198c1dfd8e4f80d1f0a815fe6f36aa",
      "tree": "a272bcf3d1fd5d896ce918897ba5dc5d6626be28",
      "parents": [
        "cfbf8a165956b0c6b0c921d5486295d7c923310a"
      ],
      "author": {
        "name": "Steve Baker",
        "email": "sbaker@redhat.com",
        "time": "Thu Mar 05 14:01:45 2015 +1300"
      },
      "committer": {
        "name": "Steve Baker",
        "email": "sbaker@redhat.com",
        "time": "Fri Mar 06 10:57:52 2015 +1300"
      },
      "message": "Remove lib/dib\n\ndiskimage-builder is a utility rather than a service, and is already\ninstalled in devstack via pip when required.\n\nlib/dib was created to allow an image to be created during a devstack\nrun for the heat functional tests, however this approach is no longer\nbeing taken and there are no other known uses for lib/dib.\n\nThis change removes lib/dib and moves the pip mirror building to\nlib/heat so that snapshot pip packages of the heat agent projects can\nbe made available to servers which the heat functional tests boot.\n\nThis also removes tripleo-image-elements, which has never\nbeen utilised, and since images won\u0027t be created\nduring heat functional test runs it is no longer required.\n\nChange-Id: Ic77f841437ea23c0645d3a34d9dd6bfd1ee28714\n"
    },
    {
      "commit": "8ed3e40be8672aa23ebd2b6c95accf06a2ff8ac4",
      "tree": "9eb19a6b592d954d2e362a0c38dcc4a019cce068",
      "parents": [
        "f957b49edea7f8d71f9ace1101d64b180c9c550d",
        "76a08f5a931c9c9a052d8a5bdcd5d99621ec41c0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 11 02:54:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 11 02:54:11 2015 +0000"
      },
      "message": "Merge \"Remove OpenDaylight from being in-tree for devstack\""
    },
    {
      "commit": "b36a13a76a9434daa8257a88a558fb301339970d",
      "tree": "60a99cd5952a6766bc04441dfc219258cb01512d",
      "parents": [
        "fa94dfcb17317b192f8a13f2b833dbcae9f7fde4"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 09 07:51:53 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 09 13:32:47 2015 -0500"
      },
      "message": "gantt is a dead project, remove it\n\nThe gantt source trees are dead projects, we should remove them from\ndevstack.\n\nChange-Id: I0f271891846d2ad7a7a8edd975cdfb4f08419f0c\n"
    },
    {
      "commit": "fa94dfcb17317b192f8a13f2b833dbcae9f7fde4",
      "tree": "06cb2e67dcfbafd57c4c929dccd03b7145d8f7e2",
      "parents": [
        "5e781bd9d0d12473ce2bd6ad8b27f51b1373d506"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 09 07:50:03 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 09 13:32:46 2015 -0500"
      },
      "message": "remove tuskar\n\nTuskar server support is proposed as an external plugin here\nI67dc8420582a40e18de7d5e00094bccc1184a7f9, we should remove Tuskar\nfrom the main devstack tree.\n\nChange-Id: I93e97e7ae8fd03cabc1245a10588c4474d7e3728\n"
    },
    {
      "commit": "85ff5323ff95106eb18c1c6bfd71d75f3980c370",
      "tree": "ccbf706b448442635a6430871ea42cf8de5c5368",
      "parents": [
        "0a52f5597e436a8d2c7253a6967bfc4863c64fe7"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jan 28 14:28:01 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Mon Feb 09 14:36:20 2015 +1100"
      },
      "message": "Isolate creating service users\n\nThe code for creating service users is almost exactly the same. Abstract\nthis into a function that can be reused and standardized.\n\nChange-Id: I3a4edbff0a928da7ef9b0097a5a8d508fdfab7ff\n"
    },
    {
      "commit": "76a08f5a931c9c9a052d8a5bdcd5d99621ec41c0",
      "tree": "3abba9d31d9ebca63b95c9e665f566dc7160fe23",
      "parents": [
        "3273b6d280e2b6edd5dc3e4ba089afb5025e408a"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Fri Feb 06 21:43:52 2015 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Fri Feb 06 21:43:52 2015 +0000"
      },
      "message": "Remove OpenDaylight from being in-tree for devstack\n\nNow that we have a patch to make this pluggable [1], lets remove this\nfrom the devstack repository.\n\n[1] https://review.openstack.org/#/c/153700/\n\nChange-Id: Ia23f99476ec16df9cc12f63864189835a09eb644\n"
    },
    {
      "commit": "18f39bfb1f6af23a7fc5f5a5b822e7216ce9ec62",
      "tree": "7d129d3e5a087f1d819f19282cd3978e051bd936",
      "parents": [
        "c2999d190a0ce92a99332a9733b2e43828a6201c"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jan 28 13:38:32 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jan 28 13:38:32 2015 +1000"
      },
      "message": "Remove the default project from all users\n\nThe default project means that a user gains token scoping information\nfor a project if they don\u0027t specify another. This is something we want\nto discourage for user creation. User\u0027s should specify there own\nauthentication scope when they authenticate.\n\nChange-Id: I42c3060d59edfcd44d04cd166bad500419dd99bc\n"
    },
    {
      "commit": "222ff80869ed0749621892a99f171b30c40d7c8b",
      "tree": "5c87b7caba3e415d351d873093df49dec6bd4894",
      "parents": [
        "4f154070e4688f60d88b4807822e481d36a009f7",
        "b31304829f4ec3830c30fcf25c55f100ebfe7227"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 20 18:36:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 20 18:36:08 2015 +0000"
      },
      "message": "Merge \"Register heat image in sahara image registry for fake plugin\""
    },
    {
      "commit": "955f80a7efe6d5c78fb80d957f63803ef3c0486c",
      "tree": "80931baf547c97897f511eef060783aa52177178",
      "parents": [
        "d4a81a895ebd505b82ada0278d7b388924577ff0",
        "157c84b8766ae67f6868f26505ce9a5d7291730b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 20 15:44:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 20 15:44:07 2015 +0000"
      },
      "message": "Merge \"Enforce UTF-8 encoding when creating databases\""
    },
    {
      "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": "4eb04a5f9e378fa67175056ab94b5803db2be875",
      "tree": "536a1a727704072d3e0ca4eeea9bd491438858c7",
      "parents": [
        "e750f9c1c6cd51b58e340502792ad119e798d622"
      ],
      "author": {
        "name": "Sébastien Han",
        "email": "sebastien.han@enovance.com",
        "time": "Thu Dec 04 16:22:41 2014 +0100"
      },
      "committer": {
        "name": "Sébastien Han",
        "email": "sebastien.han@enovance.com",
        "time": "Tue Jan 13 09:49:58 2015 +0100"
      },
      "message": "Ability to use a remote Ceph cluster\n\nSometimes we want to run some benchmarks on virtual machines that will be\nbacked by a Ceph cluster. The first idea that comes in our mind is to\nuse devstack to quickly get an OpenStack up and running but what about\nthe configuration of Devstack with this remote cluster?\n\nThanks to this commit it\u0027s now possible to use an already existing Ceph\ncluster. In this case Devstack just needs two things:\n\n* the location of the Ceph config file (by default devstack will look\nfor /etc/ceph/ceph.conf\n* the admin key of the remote ceph cluster (by default devstack will\nlook for /etc/ceph/ceph.client.admin.keyring)\n\nDevstack will then create the necessary pools, users, keys and will\nconnect the OpenStack environment as usual. During the unstack phase\nevery pools, users and keys will be deleted on the remote cluster while\nlocal files and ceph-common package will be removed from the current\nDevstack host.\n\nTo enable this mode simply add REMOTE_CEPH\u003dTrue to your localrc file.\n\nChange-Id: I1a4b6fd676d50b6a41a09e7beba9b11f8d1478f7\nSigned-off-by: Sébastien Han \u003csebastien.han@enovance.com\u003e\n"
    },
    {
      "commit": "b31304829f4ec3830c30fcf25c55f100ebfe7227",
      "tree": "23299c8a65872523759784da351d3c76a9ffe826",
      "parents": [
        "c7acc12ad2d1348e2da075fad923811e19efa9d1"
      ],
      "author": {
        "name": "Andrew Lazarev",
        "email": "alazarev@mirantis.com",
        "time": "Tue Dec 16 14:36:59 2014 -0800"
      },
      "committer": {
        "name": "Andrew Lazarev",
        "email": "alazarev@mirantis.com",
        "time": "Fri Jan 09 12:07:08 2015 -0800"
      },
      "message": "Register heat image in sahara image registry for fake plugin\n\nFake plugin can work with heat image. Even more, sahara uses heat\nto provision instances. So, registering image in sahara image\nregistry.\n\nChange-Id: Ie498fc05d0afe7f276b6f29f20a61abb58a5c676\nCloses-Bug: #1402856\n"
    },
    {
      "commit": "157c84b8766ae67f6868f26505ce9a5d7291730b",
      "tree": "2335d93852b26d620b8c2270164c69d6879b596c",
      "parents": [
        "5c0a3cfb71ef8c8faca92c19e4eee4968eb309e3"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Oct 06 13:29:39 2014 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Jan 05 15:57:23 2015 +0100"
      },
      "message": "Enforce UTF-8 encoding when creating databases\n\nWe use InnoDB everywhere, so there should be no issues with long unicode\nkeys. Dropped charset parameter for recreate_database since it\u0027s not\nneeded anymore.\n\nChange-Id: Ib768402a9337c918309030a92ab81da17269f4f6\n"
    },
    {
      "commit": "d591a25e424ea8cec4d67854fcce236671210139",
      "tree": "98434abe7ffda19b8e47ed106aca241d02d47c6f",
      "parents": [
        "dd69403ff4608f8fe2c50c71962aee042ae0c1fa"
      ],
      "author": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Mon Oct 27 17:22:17 2014 +0000"
      },
      "committer": {
        "name": "Steven Hardy",
        "email": "shardy@redhat.com",
        "time": "Tue Nov 18 18:28:58 2014 +0000"
      },
      "message": "Add support for tuskar-api service\n\nAdds initial support for configuring and starting the tuskar-api\nservice.\n\nTo enable, add the following to your localrc:\n\nenable_service tuskar\nenable_service tuskar-api\n\nThe aim of this addition is to provide a more accessible (non devtest)\nway for developers to run up tuskar in a familiar devstack environment.\n\nSee the official repos for more information:\nhttps://github.com/openstack/tuskar/\nhttps://github.com/openstack/python-tuskarclient\n\nChange-Id: Id0c3c0d3a38100c66dbe6e3adf1f715162f99742\n"
    },
    {
      "commit": "5cb190697c1bce5dcd2ad843922813b0cc74bd24",
      "tree": "ba87095ef1603c957902abadcb692ccf653e6f59",
      "parents": [
        "2d18b83600bf53df3a41aec619eee67328fe154f"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Sat Nov 01 01:37:45 2014 +0100"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Nov 04 10:18:58 2014 +0100"
      },
      "message": "support installing clients at released versions\n\nexpand the devstack support for libraries from released versions to\nsupport python-* clients and tempest_lib.\n\nDepends-On: I81b0d228e7769758c61e5b0323ecfce8c8886d39\n\nChange-Id: I26fac0ccf8fd4818e24618d56bf04b32306f88f6\n"
    },
    {
      "commit": "fa16ae92cd7339a830851dea17ce263205b78865",
      "tree": "c7d17f996c9468df5722d13a33cadd060f614c06",
      "parents": [
        "552459cbccf12473c5734f92b034c8f2464a4069"
      ],
      "author": {
        "name": "Sébastien Han",
        "email": "sebastien.han@enovance.com",
        "time": "Mon Oct 06 00:15:33 2014 +0200"
      },
      "committer": {
        "name": "Sébastien Han",
        "email": "sebastien.han@enovance.com",
        "time": "Thu Oct 09 19:25:23 2014 +0200"
      },
      "message": "Add the ability to activate Nova ceph without Cinder\n\nPrior to this patch, if we wanted to boot a VM in Ceph using\nlibvirt_image_type we must had Cinder enabled. This patch allows you to\nuse libvirt_image_type without having Cinder enabled.\n\nChange-Id: Ia61e6effc5a4ccba69f4fa48f6e9984f15bb8979\nSigned-off-by: Sébastien Han \u003csebastien.han@enovance.com\u003e\n"
    },
    {
      "commit": "264174500c943a5c28a86c09fe81cf0661ed253a",
      "tree": "3f48c13fe3c2de963410d5a511b494da25cb1676",
      "parents": [
        "a672e02818869de184c7c04aeb2f3e471bec3153"
      ],
      "author": {
        "name": "Masayuki Igawa",
        "email": "igawa@mxs.nes.nec.co.jp",
        "time": "Mon Sep 01 15:32:58 2014 +0900"
      },
      "committer": {
        "name": "Masayuki Igawa",
        "email": "igawa@mxs.nes.nec.co.jp",
        "time": "Mon Sep 01 15:36:15 2014 +0900"
      },
      "message": "Remove sahara-dashboard\n\nsahara-dashboard has been removed in the commit:\n  Change-Id: I1f0e93e1dee3d065c4f00d8bf2042bebc8d45a22\nHowever, there is still sahara-dashboard in extras.d/70-sahara.sh. This\ncauses an error.\n\n/opt/stack/new/devstack/extras.d/70-sahara.sh: line 7:\n/opt/stack/new/devstack/lib/sahara-dashboard: No such file or directory\n\nSo this commit just removes it.\n\nChange-Id: Iae76dc5f92a1f0a557d43d74b9b5d2c347cc23a9\nCloses-Bug: #1363828\n"
    },
    {
      "commit": "a90898d90438834ac32224162500b7d54fe2e603",
      "tree": "ae503e532a1fc3e887f4e9183d816bd76fcca257",
      "parents": [
        "a7a2b883b28a6a2137f9b56be956a5d3798a0479"
      ],
      "author": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Tue Aug 05 16:14:12 2014 +0400"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@openstack.org",
        "time": "Wed Aug 27 17:00:01 2014 -0700"
      },
      "message": "Move sahara client installation to lib/sahara\n\nAll other projects installs their clients in the same lib file as the\nmain services.\n\nRemove sahara-dashboard installation\n\nSahara dashboard is now merged into the Horizon and enabled by default\n(when data_processing endpoint is available), so, we should stop\ninstalling it as separated dashboard.\n\nChange-Id: I1f0e93e1dee3d065c4f00d8bf2042bebc8d45a22\n"
    },
    {
      "commit": "122ab703307d20f32fc83d23202b04fb43140be8",
      "tree": "9f7d080e1076b3cccf91b9390427b345d37c7275",
      "parents": [
        "315971d972e26d1444a103965a10c0be5ffe6396"
      ],
      "author": {
        "name": "Steve Baker",
        "email": "sbaker@redhat.com",
        "time": "Mon May 05 16:06:17 2014 +1200"
      },
      "committer": {
        "name": "Steve Baker",
        "email": "sbaker@redhat.com",
        "time": "Wed Aug 20 09:06:34 2014 +1200"
      },
      "message": "A service to install diskimage-builder\n\nEnabling service \u0027dib\u0027 will install the following repos:\n* diskimage-builder\n* tripleo-image-elements\n* os-collect-config\n* os-refresh-config\n* os-apply-config\n\nThese repos are already pre-fetched in devstack-gate.\n\nThis will facilitate gating on changes in these projects by building\na custom image then running the heat-slow job against that image.\n\ndiskimage_builder is pip installed from the current git checkout\nif the dib service is enabled. This allows devstack gating on\ndiskimage-builder changes while also allowing diskimage-builder to\nbe installed from releases for other scenarios (for example, ironic).\n\nChange-Id: Ia911cdee86f5b2e2ba1557e5aa8bf392b92ef555\n"
    },
    {
      "commit": "9504bb376d02533ae9193050879f518699316ce2",
      "tree": "b709db5705ceb104b9d03f6e98d27b2f5c371fbe",
      "parents": [
        "a6a45467c412476b2cddb8526a97e421b0b74db7"
      ],
      "author": {
        "name": "Malini Kamalambal",
        "email": "malini.kamalambal@rackspace.com",
        "time": "Fri Aug 01 17:41:08 2014 -0400"
      },
      "committer": {
        "name": "Malini Kamalambal",
        "email": "malini.kamalambal@rackspace.com",
        "time": "Mon Aug 18 14:59:49 2014 -0400"
      },
      "message": "Rename Marconi to Zaqar\n\nThis patch changes all Marconi references to Zaqar.\n\nChange-Id: Iec4aeca54c0f383c995fba564bc59daa550d3747\nImplements: blueprint project-rename\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": "5c3a63e6337961497ec3d29c409d64301108a2e3",
      "tree": "32d13a678d3f8a99f8939f448d0345eda2237f45",
      "parents": [
        "49d14407c5ea93c6c8c22e8c06f29de6b38ce976"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jul 09 11:27:42 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jul 09 11:35:16 2014 -0500"
      },
      "message": "Add pre-install phase for extras.d plugins\n\nAn additional call hook for the extras.d plugins that is called before\nany service installation occurs turns out to be needed by Ceph and\nuseful for other plugins.\n\nThis is called between the installation of the system packages listed\nas prerequisites and the installation of the actual services.\n\nChange-Id: Id723bdc7542182d2b2eff40c0dc0127307f094c5\n"
    },
    {
      "commit": "51783ccf383e3c04641bb4615ae57989c097b041",
      "tree": "077505e6b01a5b82c132043607219ad5d5f27f02",
      "parents": [
        "906ffb7b773e3007062d9feaa54dc55eaf692684"
      ],
      "author": {
        "name": "Flavio Fernandes",
        "email": "ffernand@redhat.com",
        "time": "Mon Jun 16 00:36:03 2014 -0400"
      },
      "committer": {
        "name": "Flavio Fernandes",
        "email": "ffernand@redhat.com",
        "time": "Mon Jun 16 10:27:42 2014 -0400"
      },
      "message": "Invoke create_nova_conf_neutron from odl-compute post-install\nonly if nova is enabled.\n\nChange-Id: I4627ab97eccd7fd4a2ffc31b6a0bb939b2343659\n"
    },
    {
      "commit": "09b56b1c311a0f7558910cb20e53f965b5c79314",
      "tree": "29544bed98bc7c2d0ce498bff1015cdfdb131872",
      "parents": [
        "d65f7a2858fb047b20470e8fa62ddaede2787a85"
      ],
      "author": {
        "name": "Sam Hague",
        "email": "shague@gmail.com",
        "time": "Mon May 05 10:30:09 2014 -0400"
      },
      "committer": {
        "name": "Sam Hague",
        "email": "shague@gmail.com",
        "time": "Tue May 20 18:35:52 2014 +0000"
      },
      "message": "Add options to configure provider network mappings for\nOpenDaylight\n\nOpenDaylight needs to know the physical network mapping\nused with vlan tenant isolation. This is similar to how\nthe bridge_mappings cofig is used to map the physical\nnetwork to the bridge,\ni.e. bridge_mappings\u003dphysnet1:br-eth1,physnet2:br-eth2.\n\nOpenDaylight needs the physical network device itself:\nprovider_mappings\u003dphysnet1:eth1,physnet2:eth2.\n\nOpenDaylight needs the mapping because the device port is\nused when pushing flows. The neutron API\u0027s provide the\nphysical provider network value for example as physnet1.\n\nDocImpact:\nUse of VLANs with ML2 and the OpenDaylight mechanism driver\nrequires OpenDaylight Helium or newer to be installed.\n\nCloses-Bug: #1315492\nChange-Id: If7af9ce5735b01c35315a54c79355ca87b72c4b4\n"
    },
    {
      "commit": "408efd2170a5310f9ae2b3abb3fd8e2129698b8d",
      "tree": "ef02da98198fd6e6b1be5d61f5df4eaef289ec0d",
      "parents": [
        "17f52dcd8bdee2783d96343339c60fd6b9d464c6"
      ],
      "author": {
        "name": "Sam Hague",
        "email": "shague@gmail.com",
        "time": "Wed Apr 23 09:59:49 2014 -0400"
      },
      "committer": {
        "name": "Sam Hague",
        "email": "shague@gmail.com",
        "time": "Wed Apr 23 11:19:28 2014 -0400"
      },
      "message": "Add bridge_mappings to extras/80-opendaylight.sh to support vlan isolation.\n\nOpenDaylight integration with Openstack requires some extra configuration\ninformation to be set in the ovsdb via the other_config value. Currently\nonly the local ip address is set. bridge_mappings needs to be added to support\nvlan isolation.\n\nThis requires changing the form of the existing ovs-vsctl command to set\nthe other_config value. The current command does a replace so the last\ncommand to run overwrites any other values. The command is changed to\nappend values instead.\n\nChange-Id: Ia001ecf27c8f5ace05af014ecce0b13f6d490ac1\n"
    },
    {
      "commit": "cfc9ebba85cfdb2d03a0ed2451cad097f07e4b7e",
      "tree": "c21d5c3b286fe01568f3622b6e2cce98639e1ca9",
      "parents": [
        "87c0c263a015e7595ffab2be322c358dc3da3ca0"
      ],
      "author": {
        "name": "Simon Pasquier",
        "email": "simon.pasquier@bull.net",
        "time": "Tue Apr 08 09:34:44 2014 +0200"
      },
      "committer": {
        "name": "Simon Pasquier",
        "email": "simon.pasquier@bull.net",
        "time": "Tue Apr 08 09:34:44 2014 +0200"
      },
      "message": "Set parameters for OpenDaylight ML2 driver\n\nNow that https://review.openstack.org/#/c/85589/ is merged, the\nOpenDaylight ML2 driver requires that url, username and password\nparameters are set.\n\nChange-Id: Iecbdd3275387bea145a5d274d359a15eceaee6b7\nCloses-Bug: #1304226\n"
    },
    {
      "commit": "5d4406c56d1d6c7b21b1339ea67903e438e55df9",
      "tree": "dbc927da353b5adbf51241282731758a1d2ede85",
      "parents": [
        "c5937e896e24aae9ecf0941a4960d019ef42d0e9",
        "42a59c2bfae69eca5520748d6b45803a387fdb88"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Mar 18 05:46:48 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 18 05:46:48 2014 +0000"
      },
      "message": "Merge \"Complete moving Keystone setup out of keystone_data.sh\""
    },
    {
      "commit": "06fb29c66124b6c753fdd262eb262043b4551298",
      "tree": "9040d17889a581eca7d043a7ed61be17a2cead4e",
      "parents": [
        "1fef36e526727b6057ba0d54049e07260a49b1f4"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@mirantis.com",
        "time": "Fri Jan 31 18:02:07 2014 +0400"
      },
      "committer": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Fri Mar 14 13:44:00 2014 -0700"
      },
      "message": "Integration testing preparation for Ironic\n\nAdd ability to create/register qemu vms for Ironic testing purposes\n\nImplements bp:deprecate-baremetal-driver\n\nChange-Id: If452438fcc0ff562531b33a36cd189b235654b48\n"
    },
    {
      "commit": "7ff8443e46c94562822895b86b24122bc7474cfd",
      "tree": "407a83d91140dfab2503fddad78ac15858a2bc14",
      "parents": [
        "0c76039622c65428d97e307b7d0687ae5bd8fa6b"
      ],
      "author": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Mon Mar 10 20:04:51 2014 +0400"
      },
      "committer": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Wed Mar 12 22:25:20 2014 +0400"
      },
      "message": "Rename all Savanna usages to Sahara\n\nThere are several backward compatibility nits.\n\nChange-Id: I93cac543375896602d158860cc557f86e41bcb63\n"
    },
    {
      "commit": "42a59c2bfae69eca5520748d6b45803a387fdb88",
      "tree": "5dcf4b9b5db925fb9f354a987917b23901a020f2",
      "parents": [
        "c880fb41b05d94d7c9b5d3acca5ded9a13f14c66"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 03 14:31:29 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 10 15:17:30 2014 -0500"
      },
      "message": "Complete moving Keystone setup out of keystone_data.sh\n\n* Move remaining role creation to create_keystone_accounts()\n* Move glance creation to create_glance_accounts()\n* Move nova/ec2/s3 creation to create_nova_accounts()\n* Move ceilometer creation to create_ceilometer_accounts()\n* Move tempest creation to create_tempest_accounts()\n* Convert moved code to use OpenStackClient for setup\n* files/keystone_data.sh is removed\n\nNote that the SERVICE_TENANT and ADMIN_ROLE lookups in the other service\nimplementations are not necessary with OSC, all operations can be done\nusing names rather than requiring IDs.\n\nChange-Id: I4283ca0036ae39fd44ed2eed834b69d78e4f8257\n"
    },
    {
      "commit": "11b36c9b0a0a04ff3a53ae95c6de94fdd457f5e7",
      "tree": "62dec4c241a4dccd1418f197949de6d500c9b94a",
      "parents": [
        "0dfbf9b4b91c0b95fdaa1735471c2e6f15326098"
      ],
      "author": {
        "name": "Roey Chen",
        "email": "roeyc@mellanox.com",
        "time": "Mon Mar 10 11:25:50 2014 +0200"
      },
      "committer": {
        "name": "Roey Chen",
        "email": "roeyc@mellanox.com",
        "time": "Mon Mar 10 14:30:00 2014 +0200"
      },
      "message": "Fixed unconditioned source phase in OpenDaylight extras\n\nShould source ``lib/opendaylight`` in ``extras.d/80-opendaylight.sh``\nonly when appropriate services are enabled.\nFix for bug/1290033\n\nChange-Id: Ifa470e1e132029f3c5bf255f27c4e96373b339a8\nSigned-off-by: Roey Chen \u003croeyc@mellanox.com\u003e\n"
    },
    {
      "commit": "d44517dfcfacb5aa9e1952847a1505fd3a92580b",
      "tree": "e596a69ae63190d1b3a43cfe37f1f32b20085cd7",
      "parents": [
        "c880fb41b05d94d7c9b5d3acca5ded9a13f14c66"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "kmestery@cisco.com",
        "time": "Tue Jan 28 20:29:18 2014 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "kmestery@cisco.com",
        "time": "Thu Mar 06 16:19:10 2014 +0000"
      },
      "message": "Add support for configuring OVS to work with OpenDaylight\n\nThis adds support for running OpenDaylight as an OpenStack Neutron plugin\nunder devstack. This entails downloading the latest version of OpenDaylight,\nconfiguring it, and running it as a service under devstack. This code also\nincludes pieces which configure Open vSwitch on each devstack node to point\nat OpenDaylight as their OpenFlow and OVSDB control interface. This is\nrequired for compute hosts, which will not be running any Neutron software\non them at all. This post-devstack configuration is handled in the extras\ndirectory because of the fact there is no Neutron code running on the compute\nhosts themselves.\n\nCloses-bug: #1273917\n\nChange-Id: I696e7c7fe63c835f90c56105775def305a702877\n"
    },
    {
      "commit": "de2057290a368e339cb66a8a61d483c90f964089",
      "tree": "2d5abed27eed8ac6b30ee02d8be1a647af14194d",
      "parents": [
        "2dcc77422348e55b6f7028679647cfbdf872f6a2"
      ],
      "author": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Wed Feb 19 14:00:42 2014 +0400"
      },
      "committer": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Thu Feb 20 01:56:17 2014 +0400"
      },
      "message": "Improve savanna keystone auth configuration\n\nWe\u0027re doing to use common keystone configuration approach - section\nkeystone_authtoken with config opts from the python-keystoneclient\nauth_token middleware.\n\nChange-Id: Ibbe0c76ee3b00045f5cb5134bd7661e9cef6ccdd\n"
    },
    {
      "commit": "c86ec3568c7ed11ce38584b654b91594eb0d235a",
      "tree": "29f29748ccc2febbc0bc34c7cdb4e525a2173cb6",
      "parents": [
        "7719d4aca8e87a73416637f2b91671738f801123"
      ],
      "author": {
        "name": "Yuriy Zveryanskyy",
        "email": "yzveryanskyy@mirantis.com",
        "time": "Wed Feb 12 11:03:18 2014 +0200"
      },
      "committer": {
        "name": "Yuriy Zveryanskyy",
        "email": "yzveryanskyy@mirantis.com",
        "time": "Wed Feb 12 11:04:15 2014 +0200"
      },
      "message": "Fix hook script for Ironic\n\ncleanup_ironic should not be started on \"unstack\" phase,\notherwise API service not restarted because auth cache\ndirectory removed.\n\nChange-Id: I3da86b9fb8c3ce1185aff05df0fa83cf259708f4\n"
    },
    {
      "commit": "28a29a3527b7f0599d8ca39759aaa338aca82708",
      "tree": "2d811b933bacc0a6a7b737c66c2c9183eb08dc1c",
      "parents": [
        "13fa8d5dd2b5ef5f3ef87102ceb3b24c3018de0b",
        "1023ff7c3ac184da00b6306f361f285301849881"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Feb 08 14:08:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Feb 08 14:08:04 2014 +0000"
      },
      "message": "Merge \"Move ironic to plugin\""
    },
    {
      "commit": "1023ff7c3ac184da00b6306f361f285301849881",
      "tree": "45081dee03d7b5f8b67ae916edcec5012db157ba",
      "parents": [
        "b160640d47446bf379b3299460c4e76cb6e6c7c6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jan 27 14:56:44 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Feb 04 15:51:38 2014 -0600"
      },
      "message": "Move ironic to plugin\n\nAlso adds an is_ironic_enabled() function to prepare for an upcoming\nchange in is_service_enabled().\n\nChange-Id: I6e6e0e8b70221e231785ab27e9b5d4836933ac4c\n"
    },
    {
      "commit": "f84eb5ba43ec0d548e59d982ec149a8feaa4d4d0",
      "tree": "0988e82da7dc335bf50fd2adf389dd8ccb87bb22",
      "parents": [
        "e0ed8ea038299952826b27a16753775472f108d8"
      ],
      "author": {
        "name": "Don Dugger",
        "email": "donald.d.dugger@intel.com",
        "time": "Thu Jan 30 09:59:30 2014 -0700"
      },
      "committer": {
        "name": "Don Dugger",
        "email": "donald.d.dugger@intel.com",
        "time": "Thu Jan 30 14:47:50 2014 -0700"
      },
      "message": "Add support for Gantt\n\nGantt is the new breakout of the scheduler code from the Nova\nsource tree.  These changes allow devstack to install/configure/startup\ngantt as the scheduler service for openstack.\n\nChange-Id: Ia2b6001f5ccf2469ee9fdee67564c9a915a13862\n"
    },
    {
      "commit": "4a0cd374e2911adb33af44fa6643d6323ea523e6",
      "tree": "c4875c579ad949102b697fe8bc3a346f75585de5",
      "parents": [
        "b160640d47446bf379b3299460c4e76cb6e6c7c6"
      ],
      "author": {
        "name": "shalini khandelwal",
        "email": "shalini.khandelwal@globallogic.com",
        "time": "Wed Jan 29 09:48:15 2014 +0000"
      },
      "committer": {
        "name": "shalini khandelwal",
        "email": "shalini.khandelwal@globallogic.com",
        "time": "Wed Jan 29 15:27:18 2014 +0000"
      },
      "message": "Renamed file 70-trove to 70-trove.sh\n\nReason: Devstack not installing trove\n        stack.sh ignores the trove installation script(70-trove)\n\nChange-Id: I3f179a6b5ded46e9f96a1c4bcc673ec52fa8bf0e\nCloses-Bug: #1274022\n"
    },
    {
      "commit": "fc744f9713fcccfebeb52e35c7fc1ce955b89200",
      "tree": "8c759ab2b06a63f3e922780c8e1ff8aefe009cc0",
      "parents": [
        "b53dbad8ac42417960f39bbd1f0901ffae808075"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jan 27 13:45:21 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jan 27 17:16:33 2014 -0600"
      },
      "message": "Convert trove to plugin\n\nAlso adds an is_trove_enabled() function to match\nhttps://review.openstack.org/69497 changes for is_service_enabled().\n\nChange-Id: Ic0408ff6d9816aec8a3506931470470342a5dcd7\n"
    },
    {
      "commit": "0c08e7b2b978b71fbb25cea6a9949cea0081db5c",
      "tree": "5e6392fee2f9be3df20faf7b4b065f74f537020f",
      "parents": [
        "3422668612f667ef3b8b04999562e0206dd07424"
      ],
      "author": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Wed Dec 04 18:03:25 2013 +0400"
      },
      "committer": {
        "name": "Sergey Lukjanov",
        "email": "slukjanov@mirantis.com",
        "time": "Fri Dec 06 12:56:52 2013 +0400"
      },
      "message": "Setup user and endpoints for Savanna\n\n* create savanna user with admin role for auth token checks\n* create service data_processing\n* create savanna endpoint\n* use savanna user for auth token checks\n\nIt\u0027s needed for running tempest tests.\n\nChange-Id: Iff26960746e36012c275f43c0de0dedcaebc8b0a\n"
    },
    {
      "commit": "f7ab12db011d262ee0e41265f7ce40e6932ac2cc",
      "tree": "9ac6346f2489889f4e4e4d7fc2cf9b9e02eaff8a",
      "parents": [
        "63c19987df76e6f337461135f3fa62932aa0ea6f",
        "06b345e509f7fa213be17715f9ac581a51f2fd56"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Dec 05 17:10:57 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 05 17:10:57 2013 +0000"
      },
      "message": "Merge \"Add marconi support to devstack\""
    },
    {
      "commit": "06b345e509f7fa213be17715f9ac581a51f2fd56",
      "tree": "c772af38945210ae621a4147d6529ea39109418b",
      "parents": [
        "3ae26652af8e8c484a52c925553c8801d1a9a7e3"
      ],
      "author": {
        "name": "Flaper Fesp",
        "email": "flaper87@gmail.com",
        "time": "Wed Sep 04 15:35:47 2013 +0200"
      },
      "committer": {
        "name": "Flavio Percoco",
        "email": "flaper87@gmail.com",
        "time": "Wed Nov 27 11:09:21 2013 +0100"
      },
      "message": "Add marconi support to devstack\n\nMarconi has an optional dependency on keystone for authentication. This\ncode was tested with everything enabled and also with the following\nlocalrc:\n\n    STACK_USER\u003dfedora\n    SERVICE_TOKEN\u003dsecrete\n    ADMIN_PASSWORD\u003dsecrete\n    MYSQL_PASSWORD\u003dsecrete\n    RABBIT_PASSWORD\u003dsecrete\n    SERVICE_PASSWORD\u003dsecrete\n\n    disable_all_services\n    enable_service qpid\n    enable_service key\n    enable_service mysql\n    enable_service marconi-server\n\nImplements blueprint marconi-devstack-integration\nImplements blueprint devstack-support\n\nChange-Id: I13495bcc5c5eb66cee641894e9f84a0089460c8b\n"
    },
    {
      "commit": "feb28837f4db9177835f94b6b9899a90c45a685d",
      "tree": "c6d7aaab17209bda6cfb2bae5a7e09bfac693820",
      "parents": [
        "5a35e73b3419df571f55efd2a68ef565469e3d1b"
      ],
      "author": {
        "name": "Ryan Hsu",
        "email": "rhsu@vmware.com",
        "time": "Thu Nov 07 12:12:35 2013 -0800"
      },
      "committer": {
        "name": "Ryan Hsu",
        "email": "rhsu@vmware.com",
        "time": "Thu Nov 07 12:35:38 2013 -0800"
      },
      "message": "Add new stack phase: post-extra\n\nThe current existing phases \"post-config\" and \"extra\" are not\nsufficient to allow local.conf overrides to extra type services\nbecause they run after the services are installed and configured.\nThis commit introduces a new phase called \"post-extra\" that runs\nafter these existing phases. With this change, users are able to\nleverage local.conf to provide overridden options to services\nlike Tempest.\n\nChange-Id: I5d758eebfda804dd1d8cbc3d5cc35ef4dcc8c96f\nCloses-Bug: #1249085\n"
    },
    {
      "commit": "46b511f2001edcaea6ed93dee4d85c64169a2d5a",
      "tree": "cb783293a3bba7cca1e2a8c331a68190552e582c",
      "parents": [
        "80c3ea52ed1caec16e5c6c6beecd434225afbd97",
        "a45a0a0276f542ef5d624067e98dfa2de830fd84"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 23 00:28:14 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 23 00:28:14 2013 +0000"
      },
      "message": "Merge \"Added Savanna Project\""
    },
    {
      "commit": "a45a0a0276f542ef5d624067e98dfa2de830fd84",
      "tree": "1746f607c90adba3d5f7a8a5904c7aaf3193a677",
      "parents": [
        "67f7da2de299f4f9ab58718aafce336012035cd8"
      ],
      "author": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Tue Oct 01 16:03:39 2013 +0000"
      },
      "committer": {
        "name": "Denis Egorenko",
        "email": "degorenko@mirantis.com",
        "time": "Tue Oct 22 12:12:25 2013 +0400"
      },
      "message": "Added Savanna Project\n\nAdded services Savanna, Savanna Dashboard, Savanna python client.\n\nImplements blueprint devstack-savanna-support\nImplements blueprint devstack-integration\n\nChange-Id: I8725f59a0cc9aef4817988470313136c56711cf1\n"
    },
    {
      "commit": "b8dd27bf457d1c7a7ad0f1b3a946529c8a1d073f",
      "tree": "e3edf04a7e8258a2091a74cb313daa1599609e99",
      "parents": [
        "af0912b51257b5423fabd41fddef282da2c8386f"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 17 12:03:55 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 21 11:20:42 2013 -0500"
      },
      "message": "Fix typos and thinkos in docs\n\nUpdates for the new major features and some clarification\n\nPartial-Bug: #1235626\n\nChange-Id: If2da63e62a14894e498b4163b5052d9b2b2069ed\n"
    },
    {
      "commit": "cdf3d766478d04e62a860754298e7d86f89b33a9",
      "tree": "e42f8bad2abca9aea1b838b9132509e521fb5939",
      "parents": [
        "13209d8b6dfb31b40e752c2b8edaef48e71e319f"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 15 09:42:43 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 15 16:13:47 2013 -0500"
      },
      "message": "Add stack phases to extras.d handling\n\nAdd hooks to stack.sh, unstack.sh and clean.sh to call the extras.d\nscripts at multiple points in stack.sh.  This allows these scripts to\nperform installation and startup tasks at similar times as they would\nif integrated into stack.sh.\n\nextras.d/70-tempest.sh is present as an example of the structure\nof these scripts.\n\nSee extras.d/README.md for more information.\n\nChange-Id: Ic1fe522559b94d204d6c0319a2e3d23684c8d028\n"
    },
    {
      "commit": "1d29d8bcf734cdd6db54da3c1458bfdb636e453c",
      "tree": "a01d96ee971d894109dd15670058fef426cd8db2",
      "parents": [
        "00844508aa59132f3af3d21dafc45f6af37ff522"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Mon Jan 07 15:51:32 2013 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Jan 15 14:23:07 2013 +0100"
      },
      "message": "Add basic uec image preparation to tempest\n\nAdd uec image preparation to lib/tempest.\ncirros as image is hard coded at the moment.\n\nIf the images does not exists or the system is not able to use uec images the\nimage prepare step will be skipped and tempest will skip the related\ntests as well.\n\nSetting ssh username correctly.\nSetting instance type for the boto test.\n\nChange-Id: I0d36ac7834e1eb677007e2c92dfc375d134a6023\n"
    },
    {
      "commit": "768295e9f1b0ee74635f8b3002cf7e1971bbdddf",
      "tree": "04dc83efddb9eda7616508afd256127a020d6b88",
      "parents": [
        "2d9a4e4e37ab2e7cedd169aeaa9918620b673281"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jan 09 13:42:03 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jan 09 19:53:45 2013 -0600"
      },
      "message": "Add mechanism to automatically load additional projects\n\nThis adds an extras.d directory to contain startup scripts that\nstack.sh runs automatically at the end.  Similar to local.sh\nexcept the scripts are sourced into the stack.sh process rather\nthan executed as a child process.  This gives them complete\naccess to the stack.sh environment.\n\nConvert Tempest to use this format as an example.\n\nChange-Id: Ibc95e6aaecf4211da948319eb452293ae4357780\n"
    }
  ]
}
