)]}'
{
  "log": [
    {
      "commit": "6b6dd5bfff75875ef7798b802bd88fcb428f0eb3",
      "tree": "55f5378a0ebeb2a5c7c5b2c9ae78c1be6591f274",
      "parents": [
        "68f9172dbd18688db188454c775dbf139224aeca",
        "04c0f0be2643ef95380a7dcf4b510d86ff11cd58"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jul 07 20:55:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jul 07 20:55:15 2015 +0000"
      },
      "message": "Merge \"Move failure trap after functions it uses\""
    },
    {
      "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": "04c0f0be2643ef95380a7dcf4b510d86ff11cd58",
      "tree": "5d3517a3be251684f49131fb814b3fe7cabb6bd0",
      "parents": [
        "e4d57d6bed88ec11ca7fcc8dc286a69d284c70aa"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jun 30 13:47:51 2015 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jun 30 13:48:53 2015 +1000"
      },
      "message": "Move failure trap after functions it uses\n\nMove the failure trap after the functions it uses, so that\n\"delete_all\" is defined when it is triggered.\n\nChange-Id: Icb2465d0f834b8cb2d46dca3c7df4ae06e49d9b5\n"
    },
    {
      "commit": "ce2d75df01071a06ac08c8f5ba73a8fd78002da4",
      "tree": "5ef078b3229cb7cca253baa1a6274596a5fb7efe",
      "parents": [
        "21b7e975fa3d1db3710b3d12d965f87828d9be84"
      ],
      "author": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Thu Jun 04 18:01:29 2015 -0400"
      },
      "committer": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Mon Jun 08 17:30:35 2015 -0400"
      },
      "message": "Remove hardcoded http in URL in sahara exercise script\n\nThe script hardcoded http://$SERVICE_HOST/... which failed\nwhen SSL or tls-proxy was enabled. Calculate the protocol\nbased on enabled services instead.\n\nChange-Id: I192eeeafe7bf4dc5cbd382c505ffb9307651d78a\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": "9a808922c194929bff88bdc7dca4f8e2431de1a4",
      "tree": "8be4bb02fe1b1ee1888eeb0a9823bcf6f16e0213",
      "parents": [
        "72bdc8c27102db3b65651ded3a9944798238a2d4"
      ],
      "author": {
        "name": "Peter Stachowski",
        "email": "peter@tesora.com",
        "time": "Wed Apr 08 19:48:09 2015 +0000"
      },
      "committer": {
        "name": "Peter Stachowski",
        "email": "peter@tesora.com",
        "time": "Mon Apr 13 10:09:13 2015 -0400"
      },
      "message": "Use openstack CLI instead of keystone\n\nWhen running \u0027./stack.sh\u0027 messages are output stating that\nthe keystone CLI has been deprecated. These calls should be\nreplaced to ones utilizing the openstack CLI program instead.\n\nDocumentation examples were also updated to reflect the new syntax.\n\nChange-Id: Ib20b8940e317d150e5f6febb618e20bd85d13f8b\nCloses-Bug: #1441340\n"
    },
    {
      "commit": "5a9739a4cae7957a24898fb11562559be2916121",
      "tree": "d41c4521e163f671114d61604b4d0ee9e94111b3",
      "parents": [
        "85c98b3e18b132d99c569626e1b747eafa59f7c6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 25 11:33:51 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Mar 25 22:22:11 2015 -0400"
      },
      "message": "Rename lib/neutron to lib/neutron-legacy\n\nPreparing to refactor lib/neutron to support Neutron as the default\nnetwork config.  lib/neutron will be renamed internally and refined\nto support a couple of specific configurations.\n\nChange-Id: I0d3773d14c4c636a4b915734784e7241f4d15474\n"
    },
    {
      "commit": "d66bac3f70ce2470be8d19f91b6945483a62328f",
      "tree": "6d0b887b2630ec8bfcf4059e0fa4a9eaabd18bbe",
      "parents": [
        "1331a828dab91f2e053cb1a4b78b872af00410c1"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Mar 17 09:10:01 2015 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Mar 17 09:16:00 2015 -0400"
      },
      "message": "remove horizon exercises\n\nThe horizon team keeps changing how the UI is exposed. This exercise\nkeeps lagging and doesn\u0027t really test anything useful any more. Just\ndelete it.\n\nChange-Id: Id62904868f1d4b39e33d2ad63340b5ee2177fb56\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": "6623049ec48058afcb207855a9754df197a8cbb6",
      "tree": "afd55aded517cc29e5a883808451105a03edba49",
      "parents": [
        "979d50fab04a3046d27391a22605654122566348"
      ],
      "author": {
        "name": "Jiri Tomasek",
        "email": "jtomasek@redhat.com",
        "time": "Tue Dec 02 13:23:19 2014 +0100"
      },
      "committer": {
        "name": "Jiri Tomasek",
        "email": "jtomasek@redhat.com",
        "time": "Wed Dec 03 11:33:17 2014 +0100"
      },
      "message": "Horizon front page test fix\n\nFixes the test string in horizon front page test so it is not failing\nwhen header tag gets new attributes\n\nChange-Id: Ibf62bf6f6300eeb0ab2f22086b0ff1c05c69d86b\n"
    },
    {
      "commit": "52f13a4087ef8b49640053bebd6a5046d55c63fe",
      "tree": "6163dea7146b3ce304302c49a4cdc694f39a9a94",
      "parents": [
        "ce9581ac954260904ee36a1354e274202b1daa3b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Nov 12 06:33:36 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Nov 12 06:41:38 2014 -0500"
      },
      "message": "remove the trove exercise\n\nThe trove cli has been changed in an incompatible way. Exercises\nare the requirements of projects to keep functioning, if they aren\u0027t\nwe should fast delete them.\n\nRelated-Bug: #1391840\n\nChange-Id: I3b61194ff220525aed202c7f7851faa0be446646\n"
    },
    {
      "commit": "bf1b8ed4707e6ee3588c5b5237317325fe2d57c4",
      "tree": "cbad6b835da278665caace71ff7cc2edb907d123",
      "parents": [
        "552459cbccf12473c5734f92b034c8f2464a4069"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Mon Oct 06 03:36:20 2014 -0400"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Thu Oct 09 01:18:36 2014 -0400"
      },
      "message": "Move swift CLI commands to OSC commands\n\nOnly a few instances in exercises/swift.sh\n\nChange-Id: I0a39b11f660453a378d44e4f9f28a4a57352f4a8\n"
    },
    {
      "commit": "38417fc9e03524afa34873df261fb0dce3873d1e",
      "tree": "f0ffe5035a8e48ce2985f1c780aa6342729e6300",
      "parents": [
        "03082affad173f29cc9f6292265127926ec33838",
        "5c206c2b7d3a983094daa9b6f383d72e396caf55"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Aug 25 14:05:53 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Aug 25 14:05:53 2014 +0000"
      },
      "message": "Merge \"Migrate from using glance image-list to openstackclient\""
    },
    {
      "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": "5c206c2b7d3a983094daa9b6f383d72e396caf55",
      "tree": "e572aca7bd4203cb0297721e32600581e72bff61",
      "parents": [
        "5acf159c72fad931031d9768ae02575240a5ede9"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sat Aug 02 20:32:31 2014 -0400"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Mon Aug 04 17:00:18 2014 -0400"
      },
      "message": "Migrate from using glance image-list to openstackclient\n\nModify instance of `glance image-list` to `openstack image list`,\nin an effort to migrate all commands to unified CLI.\n\nChange-Id: Ieef661d209606e088fbf6a3a394f9a6577667618\n"
    },
    {
      "commit": "3e57427bf2596be7fd389d27c9f7c08c7a4a265f",
      "tree": "88bfe2ac898199f0f2b081c9d25f5ef3f89abf03",
      "parents": [
        "f16ebbe085272d63df74423c688ebeae24eac4f9"
      ],
      "author": {
        "name": "Denis Makogon",
        "email": "dmakogon@mirantis.com",
        "time": "Wed Jul 23 14:36:20 2014 +0300"
      },
      "committer": {
        "name": "Denis Makogon",
        "email": "dmakogon@mirantis.com",
        "time": "Wed Jul 23 17:31:29 2014 +0300"
      },
      "message": "Fix exercises for Trove\n\nReasons:\n - trove.sh should use native python client to exercise Trove API\n\nChanges:\n - adding datastore and datastore version exercises\n\nChange-Id: I041465e5bda6ad9ec3f597ecc290612b8baef09c\nCloses-Bug: #1346743\n"
    },
    {
      "commit": "8901245ef55dc1f68d3a3e7d0002ac2a27d9970e",
      "tree": "06b1f0f19ee7390dfd6965e7608041938bfe4395",
      "parents": [
        "ceda7cfe653691e9cda21e66373f3407b759032d"
      ],
      "author": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Thu May 08 13:35:28 2014 +0100"
      },
      "committer": {
        "name": "Bob Ball",
        "email": "bob.ball@citrix.com",
        "time": "Thu May 08 13:36:33 2014 +0100"
      },
      "message": "client-env requires admin permissions\n\nopenstack endpoint show identity will not be successful without\nadmin permissions; this causes exercise.sh to fail because it\nclaims keystone is not present\n\nChange-Id: I769d70d0439c0b4c7e174a0adad7adcf1938095e\nCloses-bug: 1317507\n"
    },
    {
      "commit": "bd546c600fa80fdee8f460e761581c0e87433d70",
      "tree": "c11865e1339c49e9696693b9bc90816ca2c5c92f",
      "parents": [
        "eb6dcc095c73821c74820cb04b0e6e8ae79f3182",
        "2f6c30b33c074a03748b7c0273c49fe81ab96607"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Apr 10 16:04:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Apr 10 16:04:03 2014 +0000"
      },
      "message": "Merge \"Update client-env to use openstackclient commands\""
    },
    {
      "commit": "2a09d0c6a80a9ae65555e1f5b3bb1493d8253b09",
      "tree": "90eb69db3540cf2ba83b7f3ccd028f437e019229",
      "parents": [
        "b65dc0afee70f79b1698c3a2b222b0c4b213917d"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Fri Mar 14 00:33:58 2014 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Tue Mar 25 19:44:17 2014 -0500"
      },
      "message": "Update neutron-adv-test to use openstackclient commands\n\nThere were a few references of keystoneclient in\nexercises/neutron-adv-test.sh, this patch will change those\ncommands to their openstackclient equivalents.\n\nChange-Id: I88892fcfacd3dd6354ec269b270cee3da358447a\n"
    },
    {
      "commit": "b875d01cdf11683febf0fb4919c116eb8db08022",
      "tree": "2236b082e78d85191973885a2cf08054dda414e5",
      "parents": [
        "911cc586ad8f8a7c736516f2a3d9a9ce8571976b"
      ],
      "author": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Mon Mar 17 19:47:14 2014 -0700"
      },
      "committer": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Mon Mar 17 19:52:02 2014 -0700"
      },
      "message": "Special casing for Ironic VIRT_DRIVER in exercises\n\nIronic on Devstack does not currently suppport security groups or\nanything volume related.  Add some special casing so exercises can\nbe run without error against the Ironic driver.\n\nChange-Id: I2a54d8cca06fc17894e74b4401af9423cef95635\n"
    },
    {
      "commit": "509140e25c84dd78bde86c68f531f83572fd2946",
      "tree": "fed472980444e1e65594d454e6d17f50a7dfc0be",
      "parents": [
        "3e57ac64e75c5a5b55c2fb2d23e5b3d6377121ed",
        "7d4c7e09b4882077471c3b2cb097c237c2016f96"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 14 14:33:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 14 14:33:19 2014 +0000"
      },
      "message": "Merge \"remove docker from devstack\""
    },
    {
      "commit": "2f6c30b33c074a03748b7c0273c49fe81ab96607",
      "tree": "0b4cd10c29b23fd4d09f4cf6b1f7f4748f4cae78",
      "parents": [
        "92b400fd6383d5182bc196e1a33f89b3c5e42723"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Thu Mar 13 23:32:46 2014 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Thu Mar 13 23:32:46 2014 -0500"
      },
      "message": "Update client-env to use openstackclient commands\n\nUpdated the only instance of a keystoneclient command, to\ncheck if the identity service is enabled.\n\nChange-Id: If86f71c1610a79690d6c6a8eb423b6fa234372bb\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": "7d4c7e09b4882077471c3b2cb097c237c2016f96",
      "tree": "0a51ca06e74f9e4495fdb82ce929e7bd75f80bdc",
      "parents": [
        "3c78e080864c9b202132d8ce0e493933f3d2ab36"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Wed Mar 12 08:05:08 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Wed Mar 12 08:05:08 2014 -0400"
      },
      "message": "remove docker from devstack\n\nwith I1c9bea2fdeebc4199c4f7d8fca4580a6fb7fed5b nova removed\ndocker from it\u0027s driver tree.\n\nWe shouldn\u0027t have driver support inside of devstack that\u0027s not\npart of upstream projects (this has been a line we\u0027ve been\npretty clear on with Neutron drivers in the past).\n\nRemove docker driver accordingly.\n\nChange-Id: Ib91d415ea1616d99a5c5e7bc3b9015392fda5847\n"
    },
    {
      "commit": "45d5db3dff5846336534f3ae8e1dadab91e5fb7c",
      "tree": "cad775470d0d8e8376cac8407ffd111e59e0ee77",
      "parents": [
        "6cb378f8bd9c00ac7d0b37f51809663ec112612f",
        "9b3602ccf64f1d690a0a3d4adff987a5a12594b1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Mar 08 18:12:46 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Mar 08 18:12:46 2014 +0000"
      },
      "message": "Merge \"Fix intermittent error in exercises/floating_ips.sh\""
    },
    {
      "commit": "9b3602ccf64f1d690a0a3d4adff987a5a12594b1",
      "tree": "aebfeefb94ff51636dad38a53d1b13830d06cc60",
      "parents": [
        "2cf03d246998acf5c387a5855c36b25a1b791cb8"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Feb 28 13:52:29 2014 -0500"
      },
      "committer": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Mon Mar 03 09:26:49 2014 -0500"
      },
      "message": "Fix intermittent error in exercises/floating_ips.sh\n\nEvery once in a while I see this error running floating_ips.sh:\n\n/devstack/exercises/floating_ips.sh:184:ping_check\n/devstack/functions:356:_ping_check_neutron\n/devstack/lib/neutron:904:die\n[ERROR] /devstack/lib/neutron:904 [Fail] Could ping server\n\nI think the problem is that it immediately tries to ping right\nafter the icmp rule is deleted.  Add a timeout and check so we\nat least wait one second.\n\nChange-Id: I753ec257fa12f6d2ddff1a5b1909e32d8995e173\n"
    },
    {
      "commit": "9bbecb7fc45538bc83d7db5e33a55505a691b44d",
      "tree": "85191308eeeb1e7f956e2beae7e9e576130ae8cd",
      "parents": [
        "2cf03d246998acf5c387a5855c36b25a1b791cb8"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Feb 28 11:19:28 2014 -0500"
      },
      "committer": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Feb 28 11:19:28 2014 -0500"
      },
      "message": "Source lib/neutron in boot_from_volume.sh\n\nWithout lib/neutron, boot_from_volume.sh generates the following\nerror:\n\n  + _ping_check_neutron private 10.11.12.5 30\n  /devstack/functions: line 356: _ping_check_neutron: command not found\n\nChange-Id: Ib72c3f24d614570d69bf5dda35cbaf5847b1d1b9\n"
    },
    {
      "commit": "f07a209ce01e2d34c3624244da040537b6006bf9",
      "tree": "0df9731449271ec6f15e9afe6c7482df5b1ae56a",
      "parents": [
        "dad6e4114d07978ade5ab5594d4b5b19e998bdb5",
        "e2907b4838230940a8ff1735feffd80acf13bdab"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 28 07:33:34 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 28 07:33:34 2014 +0000"
      },
      "message": "Merge \"Fix Neutron enabled check\""
    },
    {
      "commit": "e2907b4838230940a8ff1735feffd80acf13bdab",
      "tree": "9b1f0d9eabeb00e0d12e9973d2fe491dbf8e2eef",
      "parents": [
        "1755f689e807cd73b7bb2c67ac0531afbc8c6448"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Feb 26 17:35:37 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Feb 27 15:37:11 2014 -0600"
      },
      "message": "Fix Neutron enabled check\n\n* Remove the check for neutron enabled on a block of variable settings, there\n  is no conflict and serves no purpose.\n* Also floating_ips.sh and volume.sh needed to properly source lib/neutron\n  for do ping_check() to work properly.\n\nThe current error in check-devstack-dsvm-neutron is not related to this fix.\n\nChange-Id: I1c458aaa787ffb98c945aefc3afa80c6861a405f\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": "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": "0d4bd7e6104bee974a544422456d731eb664805c",
      "tree": "e29520ededf18f60cfb5e23e869c88b6e15715ad",
      "parents": [
        "78ab80e5589a7df21a03f06f38c4bae3e79bf756"
      ],
      "author": {
        "name": "Anita Kuno",
        "email": "anteaya@anteaya.info",
        "time": "Sun Feb 02 14:59:39 2014 -0600"
      },
      "committer": {
        "name": "Anita Kuno",
        "email": "anteaya@anteaya.info",
        "time": "Sun Feb 02 15:29:31 2014 -0600"
      },
      "message": "Silence commands to echo copyright notices\n\nThis patch silences commands that echoed copyright notices to the\ndevstack logs. The copyright notices are moved to the top of the\nfile as comments.\n\nChange-Id: I8d474a366af2954c168ba8d07329392f56e8e75a\n"
    },
    {
      "commit": "c560cd121a42b177b8a7d54cd232f5539bb23d3e",
      "tree": "982fc9af47717319af2f12f68b5dbb7ae7a40613",
      "parents": [
        "9cda7566b028fe9fa3dade10ca03f7c81b492cb7",
        "52a7b6ecbad11c08dcd77a6fcd8bfef6a20324a9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 15 21:25:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 15 21:25:20 2014 +0000"
      },
      "message": "Merge \"Run neutron-debug with admin tenant in neutron-adv-test\""
    },
    {
      "commit": "9cda7566b028fe9fa3dade10ca03f7c81b492cb7",
      "tree": "7c878c0810d7a79beaffb6e0a0d8e8c591f1ddee",
      "parents": [
        "b200b1d4dda4e60bacd921f98e4e47d5b4f046d9",
        "a16c8210244a553d10250080294c7d4c65734375"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 15 18:38:27 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 15 18:38:27 2014 +0000"
      },
      "message": "Merge \"Skip Nova exercises if Nova is not enabled\""
    },
    {
      "commit": "52a7b6ecbad11c08dcd77a6fcd8bfef6a20324a9",
      "tree": "aaae3a9ede2454b121e41faedc32bce9bf424439",
      "parents": [
        "b200b1d4dda4e60bacd921f98e4e47d5b4f046d9"
      ],
      "author": {
        "name": "Jakub Libosvar",
        "email": "libosvar@redhat.com",
        "time": "Tue Jan 14 18:52:51 2014 +0100"
      },
      "committer": {
        "name": "Jakub Libosvar",
        "email": "libosvar@redhat.com",
        "time": "Tue Jan 14 19:07:29 2014 +0100"
      },
      "message": "Run neutron-debug with admin tenant in neutron-adv-test\n\nBecause neutron-debug create-probe needs admin role only, demo tenants\ncannot create ports. neutron-debug is wrapped in order to run it only\nwith admin tenant.\n\nChange-Id: Ib65e8639858c597345c6a5fdc0192b40f34a0300\nCloses-Bug: #1269090\n"
    },
    {
      "commit": "a16c8210244a553d10250080294c7d4c65734375",
      "tree": "59dd4f4487b88c3a33c98df22d6c433af3618f03",
      "parents": [
        "1d8abb95b9cfc6fa014dae539ace60af93ed175b"
      ],
      "author": {
        "name": "Kiall Mac Innes",
        "email": "kiall@hp.com",
        "time": "Sun Jan 12 19:35:43 2014 +0000"
      },
      "committer": {
        "name": "Kiall Mac Innes",
        "email": "kiall@hp.com",
        "time": "Sun Jan 12 19:51:33 2014 +0000"
      },
      "message": "Skip Nova exercises if Nova is not enabled\n\nThis allows for ./exercises.sh to complete sucessfully when nova is not\nenabled / installed.\n\nChange-Id: If969e14f5106c15007146e8fad1da27d131828c8\n"
    },
    {
      "commit": "05952e3fcc6bdd9ccd1c7980e6a73c527711c08c",
      "tree": "8425f4cf3296d918289408ef0e37227474a4e75c",
      "parents": [
        "0150d7eb2a160635a47a626f7c9968a8e0dc0254"
      ],
      "author": {
        "name": "armando-migliaccio",
        "email": "armamig@gmail.com",
        "time": "Sun Jan 05 07:59:06 2014 -0800"
      },
      "committer": {
        "name": "armando-migliaccio",
        "email": "armamig@gmail.com",
        "time": "Sun Jan 05 08:01:16 2014 -0800"
      },
      "message": "Configuration changes required to support VMware NSX plugin\n\n(Formerly known as Nicira NVP plugin).\n\nFollowing Neutron change 79fbeb7ebebc0dfbe143aee96fbc250d1b9e7582,\nthis patch introduces the new naming scheme for Neutron VMware NSX\nplugin configuration.\n\nRelated-blueprint: nvp-third-part-support (aka bp vmware-nsx-third-party)\nPartial-implements blueprint: nicira-plugin-renaming\n\nChange-Id: If7790887661507bfdec6d2b97c0f99609039aa73\n"
    },
    {
      "commit": "19bff77d20dcc22cdfe403cdc35c19117ee51393",
      "tree": "43dba0b7ff1f0012c736be0d1561994d023fa706",
      "parents": [
        "b2d40cf18b997a8bee818c70e965974df56f063c",
        "0f7ad6bba6fe451c69cdc27fadfbb8ed8fdc7b71"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Dec 17 15:31:33 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Dec 17 15:31:33 2013 +0000"
      },
      "message": "Merge \"Fix Issues in Marconi integration\""
    },
    {
      "commit": "0f7ad6bba6fe451c69cdc27fadfbb8ed8fdc7b71",
      "tree": "41393938bda30ae7e582484e0ab92b47a9c49789",
      "parents": [
        "7f285840dda144088908b3d274d431d9a3a42bae"
      ],
      "author": {
        "name": "Malini Kamalambal",
        "email": "malini.kamalambal@rackspace.com",
        "time": "Fri Dec 13 12:42:31 2013 -0500"
      },
      "committer": {
        "name": "Malini Kamalambal",
        "email": "malini.kamalambal@rackspace.com",
        "time": "Fri Dec 13 12:45:49 2013 -0500"
      },
      "message": "Fix Issues in Marconi integration\n\nThis patch fixes a couple of issues, that prevents marconi from running\non devstack.\n\nChange-Id: I47060a0334ad6f90f1402b34c83bb6ad22f723d4\nCloses-Bug: #1260820\n"
    },
    {
      "commit": "526b79f98825963c5fbb157bca5a54750bd045af",
      "tree": "755fb1bd056253d08300d38f8b961b3cd1795366",
      "parents": [
        "3422668612f667ef3b8b04999562e0206dd07424"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Nov 22 11:30:44 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Dec 05 12:25:26 2013 -0600"
      },
      "message": "Eradicate last of underscores in options\n\nThe --ip_range in stack.sh remains due to nova-manage needing to be fixed.\n\n(Rebased 05Dec2013)\n\nChange-Id: Ic0f93d41b6edfdc5deb82ae820e2c0c5a8bce24e\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": "02ef0dbfb04aaf3dea05977ffba381f8f6e55881",
      "tree": "201bda4c58d39d0dee073479a681259897cfc09b",
      "parents": [
        "4650b8929ea4089e9515a1babfb788733373576b",
        "23178a997a3b0abd1922f356e572e2933f454dc1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Dec 05 00:19:49 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 05 00:19:49 2013 +0000"
      },
      "message": "Merge \"add assertions for blind grep\""
    },
    {
      "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": "861463fa591be56b5936777539d2349abc1cea00",
      "tree": "2251c009e28f5bb0c3e0b5926c02fe36a953f4dd",
      "parents": [
        "7890b4ea08cc42c6c6b7c3e1e65d33af7765e7f2"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Oct 31 11:08:49 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Oct 31 11:08:49 2013 -0400"
      },
      "message": "Remove docker exercise\n\nNo other hypervisor has a dedicated exercise, docker should be\ntested just by testing the nova APIs, not on it\u0027s own.\n\nChange-Id: Ifc788815380e8502449171410dea8260786a1e79\n"
    },
    {
      "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": "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": "23178a997a3b0abd1922f356e572e2933f454dc1",
      "tree": "978877ea0582f1e1f46fe48664571dab725a577f",
      "parents": [
        "80c3ea52ed1caec16e5c6c6beecd434225afbd97"
      ],
      "author": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Tue Oct 22 17:07:32 2013 -0500"
      },
      "committer": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Tue Oct 22 17:12:18 2013 -0500"
      },
      "message": "add assertions for blind grep\n\nblind grep is error-prone.\nAdd assertions for errors we can not handle\n\nChange-Id: Ibe19085545ecc848498506e8b8ee14e71825b273\n"
    },
    {
      "commit": "922c8ae6804304841167fcca662726e1e26b556a",
      "tree": "63f613b8c9262c5c2cb47d7eb57f3aedfcd933ff",
      "parents": [
        "101b4248428b4c3d7757e15ff4e19d3b4f85a51f"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Tue Oct 22 10:06:06 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Tue Oct 22 13:02:29 2013 -0400"
      },
      "message": "clean up whitespace issues on exercises and friends\n\nChange-Id: I812a73e46ddd4d5fed4d304d9ef92c1de243f497\n"
    },
    {
      "commit": "334e46997eedbe62bf82450b72ddf3369a7dd4b3",
      "tree": "ec6fbf39b4b25c4afb62478a235f352fa08ec0cd",
      "parents": [
        "21178a1c74f61ed524800f5fad43f0eb6e4cf3be",
        "75e851a6de99d57eaab3e682b249067cb6065cd0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 22 12:40:05 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 22 12:40:05 2013 +0000"
      },
      "message": "Merge \"exercices: aggregates needs to be more flexible\""
    },
    {
      "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": "acb52e5db6884e6d2eeef8351306736a70345556",
      "tree": "3438ad02137645cd17becb46e287f855a6250927",
      "parents": [
        "67f7da2de299f4f9ab58718aafce336012035cd8"
      ],
      "author": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Fri Oct 11 00:08:29 2013 -0500"
      },
      "committer": {
        "name": "DennyZhang",
        "email": "denny@unitedstack.com",
        "time": "Sun Oct 20 10:01:52 2013 -0500"
      },
      "message": "detect failure of \u0027keystone token-get\u0027\n\nWhen \u0027keystone token-get\u0027 fails, the caller can\u0027t detect the failure.\nThis cause troulbe shooting a bit complicated.\n\nChange-Id: I3c58c5fd0e92a87e87546ea797904e08646a1097\nCloses-Bug: #1238412\n"
    },
    {
      "commit": "75e851a6de99d57eaab3e682b249067cb6065cd0",
      "tree": "663931b4c07dd989d43721bd0b6a83c0bfaa88d5",
      "parents": [
        "79ad8617108fff38c00d851f69bd854350b825da"
      ],
      "author": {
        "name": "Sahid Orentino Ferdjaoui",
        "email": "sahid.ferdjaoui@cloudwatt.com",
        "time": "Wed Oct 16 08:34:05 2013 +0000"
      },
      "committer": {
        "name": "Sahid Orentino Ferdjaoui",
        "email": "sahid.ferdjaoui@cloudwatt.com",
        "time": "Wed Oct 16 08:41:22 2013 +0000"
      },
      "message": "exercices: aggregates needs to be more flexible\n\nThe actual regex checks a result in python format and\nbecause of the change in the bug 1132961, Jekins failed.\n\nI have update the regex to work with the old result\nand the new result.\n\nChange-Id: I393e1358f99be5f20d9ac8b3e214355a453ecfcb\nCloses-Bug: 1239726\n"
    },
    {
      "commit": "0cccad43aad08487ad1712c63afed602889aaf72",
      "tree": "7be8f53e47a2ff1eb4f245ca71fa99df59d924c5",
      "parents": [
        "58afc729831d0d202bc4f1aa13a3340e3f1320c5"
      ],
      "author": {
        "name": "Nikhil Manchanda",
        "email": "SlickNik@gmail.com",
        "time": "Mon Dec 03 18:15:09 2012 -0700"
      },
      "committer": {
        "name": "Michael Basnight",
        "email": "mbasnight@gmail.com",
        "time": "Wed Sep 11 23:48:07 2013 +0000"
      },
      "message": "Added Trove (Database as a Service).\n\n- Added changes to stackrc for the Trove Repos.\n- Added support to devstack for \"install\", \"configure\",\n  \"init\", and \"run\"\n\nimplements blueprint:trove-devstack-integration\n\nChange-Id: Ib3f6daad33e629f764a174b80762c808ce8588e2\n"
    },
    {
      "commit": "2aa2a89cdb9071cea919116e283c16ac9dd841d6",
      "tree": "88c156a62dc7b594499556dab11083b90425f886",
      "parents": [
        "415360b23157caac28899fe0e02f47f0e4532ca2"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sun Aug 04 19:53:19 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Aug 28 22:36:48 2013 -0500"
      },
      "message": "Add support for Docker as Nova hypervisor\n\n* Add basic support for hypervisor plugins in lib/nova_plugins\n* Add lib/nova_plugins/hypervisor-docker to use Docker as a Nova\n  hypervisor.\n* Add tools/install_docker.sh to install the Docker daemon and\n  registry container, download base image and import\n* Configure Nova to use docker plugin\n* Add docker exercise and skip unsupported ones\n\nNova blueprint: new-hypervisor-docker\n\nChange-Id: I9e7065b562dce2ce853def583ab1165886612227\n"
    },
    {
      "commit": "6769b166b10272947db77c3f9bfb0d115e8d0a2d",
      "tree": "62b1a79531a3eb49beabe7de7ae199c4ca91eaab",
      "parents": [
        "55181d2cfba5dd6bbbde42bb964782e8c2b8ee50"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@ntti3.com",
        "time": "Mon Aug 12 18:18:56 2013 -0700"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@ntti3.com",
        "time": "Tue Aug 13 17:08:47 2013 -0700"
      },
      "message": "Added functions for get a ip on an instance\n\nThe cause of some gating failure looks like\nbecause of getting ip address on instance.\nHowever current exercise didn\u0027t log the return value.\nIn this commit, we add get_instance_ip function with\nerror hanlding support, and apply it on the execise.\n\nChange-Id: I8e17ba68093faafe58a98eb780a032368eea38aa\n"
    },
    {
      "commit": "1a794a3d9e8ada8a4ac671cba392d6ed53d99e18",
      "tree": "85e2ef248fbc3d7e679534ff0cdcd6e0d0dde489",
      "parents": [
        "6c84463071e1ff23e20e4ef4fb863aba0732bebc"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Aug 06 15:25:01 2013 +0200"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Aug 06 15:34:04 2013 +0200"
      },
      "message": "Show ip address before associating address\n\nIn order to see is the instance has a fixed ip at the moment.\n\nChange-Id: I506f2f099a03e8b63f1f2daeb564ed72f1322a68\n"
    },
    {
      "commit": "c62c2b9b6617c731c7979d490a1d2e7a048c1cf7",
      "tree": "c1b75411b4affa7cf7803fa9ab4a45c679536583",
      "parents": [
        "c41a0598646aad3520861c185c5df370f95301a7"
      ],
      "author": {
        "name": "Chris Behrens",
        "email": "cbehrens@codestud.com",
        "time": "Wed Jul 24 03:56:13 2013 -0700"
      },
      "committer": {
        "name": "Chris Behrens",
        "email": "cbehrens@codestud.com",
        "time": "Fri Jul 26 11:11:25 2013 -0700"
      },
      "message": "Fix various things when n-cell is enabled\n\n1) Use the newer cell_type configuration option instead of overriding\nthe compute_api_class.\n\n2) A nova-cells service is started for both the API cell (region) and\nthe compute cell (child).  The screen names were both \u0027n-cell\u0027 which\ncaused both services to log to the same log file.  The screen names have\nbeen changed to n-cell-region and n-cell-child.\n\n3) Security groups are not supported with cells.  Multiple exercises are\npatched to use the \u0027default\u0027 security group instead of creating a new\none.  Additionally, if one uses the \u0027default\u0027 security group, do not try\nto delete it, as one can never delete the default.\n\n4) Disable the floating_ips and aggregates exercises when n-cell is\nenabled, as they are not supported by cells.\n\n5) Related to #4, disable the floating_ips tests within euca.sh\n\n6) Update the README.md.  No services need to be disabled, and one only\nneeds to enable the n-cell service.\n\nChange-Id: I9782d1e3cda3c9dd3daefa15c043f5b06473cb87\n"
    },
    {
      "commit": "53fe11a8227bc96e55d31227a08f5af7cb337797",
      "tree": "29bd87639a6d81ced026aa73d85a194d0d145c72",
      "parents": [
        "2076647e2116ab2c2068e18d118c96f51a5dc926"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jul 08 15:06:33 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jul 08 15:49:35 2013 -0500"
      },
      "message": "More neutron renames\n\nRename quantum-adv-test.sh and the package prereq files in files/*/quantum\n\nChange-Id: I4dab635c2ae79f1f42a9cfdadbf7a4d06cf2b925\n"
    },
    {
      "commit": "b05c876994183b6a1d53dfbdcea2ca4a7743035f",
      "tree": "e5361481fe1ea3f96da5c9139034530bb35706a7",
      "parents": [
        "0a03806e281d1f197e54d48318e4a7bba3eab77c"
      ],
      "author": {
        "name": "Mark McClain",
        "email": "mark.mcclain@dreamhost.com",
        "time": "Sat Jul 06 23:29:39 2013 -0400"
      },
      "committer": {
        "name": "Mark McClain",
        "email": "mark.mcclain@dreamhost.com",
        "time": "Sun Jul 07 00:15:11 2013 -0400"
      },
      "message": "update for name change to Neutron\n\nNote: Nova and Horizon are not updated until those projects have\nmigrated.\n\nChange-Id: I256ef20e7caadd9c96e6dd908c5d8b69ca5c4aeb\n"
    },
    {
      "commit": "4640026cc1077232f609caf24c42a7dd477e3f68",
      "tree": "279f6e026ce6850a07f699640939c6922f5c6176",
      "parents": [
        "b3e8ea847feaf63fe4a46c2a9a417f8a3f760938"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Sun Jun 30 04:32:27 2013 -0700"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Sun Jun 30 04:32:27 2013 -0700"
      },
      "message": "Fix spelling mistakes\n\ngit ls-files | misspellings -f -\nSource: https://github.com/lyda/misspell-check\n\nChange-Id: I7d63578734ca5cc1ec865a7d024c1a013d1ada87\n"
    },
    {
      "commit": "a8a11cf1f6616dbd93b41a884c582f346731b997",
      "tree": "a211450ad5ce98937b3afc92b9637b9bb06182a1",
      "parents": [
        "25b8df59f4e47b344dc1b7448c1e57bbe0f0cbe9"
      ],
      "author": {
        "name": "Kui Shi",
        "email": "skuicloud@gmail.com",
        "time": "Sun Jun 16 10:11:46 2013 +0800"
      },
      "committer": {
        "name": "Kui Shi",
        "email": "skuicloud@gmail.com",
        "time": "Sun Jun 16 10:28:23 2013 +0800"
      },
      "message": "exercise euca.sh check the volume just created\n\nIn devstack, the exercises/euca.sh test the \"VOLUME\". it should always\ncheck the volume which was just created. Because there may be volumes\nleft by the last failed euca.sh, then the variable VOLUME\nVOLUME\u003d`euca-describe-volumes | cut -f2`\nwill be assigned a list of volumes, which is not expected.\n\nFixes bug #1191424\n\nChange-Id: Ie004c9cfeaef4a8a313866d21d45c7b41f1b2ba0\n"
    },
    {
      "commit": "18b0906e1fa6510087c7455c7dee652e5b5842ef",
      "tree": "4d9ac9f19472abf255b37b6ba4332bdedb1d3ee4",
      "parents": [
        "5695a9ecd7b84affeab07a6cd96c52a589fdbf11"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Mon Jun 10 00:23:38 2013 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Mon Jun 10 00:28:06 2013 +0000"
      },
      "message": "Correct InvalidInstanceID.NotFound test.\n\n* exercises/euca.sh: The match filtering InvalidInstanceID.NotFound\nis cleaned up to eliminate numerous leaning toothpicks, and now also\nactually works. The previous version was incorporating literal\nsquare brackets into the pattern where I think a character list\nmatch may have been intended instead, but was not actually necessary\nanyway.\n\nChange-Id: I765a20000e7b6ba6deadce8cad3bbc9559fcdd0d\n"
    },
    {
      "commit": "7c025fedc32c48f4fe7c4d3edc6c2d3674f69d86",
      "tree": "34a08c393636e6751e7556c2d091efd332f0f1ec",
      "parents": [
        "b240ad472be39786c587acc75ef40de6e61a4b2d"
      ],
      "author": {
        "name": "armando-migliaccio",
        "email": "amigliaccio@nicira.com",
        "time": "Wed May 08 11:33:07 2013 -0700"
      },
      "committer": {
        "name": "armando-migliaccio",
        "email": "amigliaccio@nicira.com",
        "time": "Thu May 09 09:05:15 2013 -0700"
      },
      "message": "Check quantum status dependent on the plugin\n\nThere are Quantum plugins that do not require the use of an agent.\nThis patch relaxes the constraint in quantum-adv-test.sh by adding\nthe ability to customize the logic that verifies whether the test\ncan run or not, depending on the Quantum plugin of your choice.\n\nFixes bug #1177904\n\nChange-Id: I6e2c17f43d9e1475b2eb175cceb5107a83f9aa74\n"
    },
    {
      "commit": "c2fc5f890ee5cdc7f4f3957b61d4237bd1abda38",
      "tree": "f9618bc34c7669758c8f6ebe2bcf3547a52c0eec",
      "parents": [
        "181b41b6ff435929688b14735362ab655cc00e0d"
      ],
      "author": {
        "name": "Chris Yeoh",
        "email": "cyeoh@au1.ibm.com",
        "time": "Mon Apr 22 10:33:07 2013 +0930"
      },
      "committer": {
        "name": "Chris Yeoh",
        "email": "cyeoh@au1.ibm.com",
        "time": "Mon Apr 22 10:33:07 2013 +0930"
      },
      "message": "Fix attach volume detect in euca test\n\nFixes test for detecting when a volume has been successfully\nattached to an instance to not just rely on the state being\nin-use, but also be marked as \"attached\". The attachment\nstate will be displayed when https://review.openstack.org/#/c/27098/\ngoes through. The attachment state is not currently displayed\nby euca-describe-volumes because of the extraneous data returned\nby the API as per bug #1074901.\n\nIn the meantime the \"attaching\" status of the volume itself, rather\nthan the attachment state, suffices for the test to work properly, but in the long\nterm this will disappear as it is not a valid ec2 API state and\nvolumes will move straight to the in-use state.\n\nFixes bug #1170548\n\nChange-Id: Id38f37e1a0efc991f60da35145f809d98b5f41cd\n"
    },
    {
      "commit": "46966491aef68f47a5ab4a1aba8519ad9b8b4b1a",
      "tree": "f46ad8675623b50608a421897d55cb5638ba50a9",
      "parents": [
        "a1c183b4effc8a9859ed5529577f209bbd9bb880",
        "aacb01dc03b31591c2af205a68e559ff95392850"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Apr 15 05:35:05 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Apr 15 05:35:05 2013 +0000"
      },
      "message": "Merge \"Remove variable substituion to %NUM% to correctly invoke local command\""
    },
    {
      "commit": "cc6b4435458b5db6aed17631e4789c43d21ee8e5",
      "tree": "a8460f062f571849a7a9a547c85771d625828b34",
      "parents": [
        "2e75ff1a41e741ee77926a1262e1e9410701b4e1"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Apr 08 15:38:03 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Apr 09 14:05:32 2013 -0500"
      },
      "message": "Formatting cleanups, doc updates and whatnot\n\nChange-Id: Ica8298353be22f947c8e8a03d8dc29ded9cb26dd\n"
    },
    {
      "commit": "aacb01dc03b31591c2af205a68e559ff95392850",
      "tree": "a0d82ae7ec4ceb3d77694aedd8e76fd2750f12f4",
      "parents": [
        "fe51a90005fbea4bacb660907d4f7dd3a1c7f0f1"
      ],
      "author": {
        "name": "Armando Migliaccio",
        "email": "amigliaccio@nicira.com",
        "time": "Wed Apr 03 09:31:20 2013 -0700"
      },
      "committer": {
        "name": "Armando Migliaccio",
        "email": "amigliaccio@nicira.com",
        "time": "Wed Apr 03 09:31:20 2013 -0700"
      },
      "message": "Remove variable substituion to %NUM% to correctly invoke local command\n\nReferencing %NUM% must be a mistake, because with it networks are not\ndeleted properly. See other commands within quantum-adv-test.sh as\nan example.\n\nFixes bug #1164018\n\nChange-Id: Ib222d82a1b8187167606b2543bb74c28b8465b5a\n"
    },
    {
      "commit": "640f1e4c8d0da6de70e358f5bad28fb1b0306e0d",
      "tree": "f4be5a40ea6d6789a4f2d38d20915d4339848ccc",
      "parents": [
        "a2ae90fa026ab3bd9d12b6696b08a999100799e4"
      ],
      "author": {
        "name": "Aaron Rosen",
        "email": "arosen@nicira.com",
        "time": "Tue Mar 26 16:52:53 2013 -0700"
      },
      "committer": {
        "name": "Aaron Rosen",
        "email": "arosen@nicira.com",
        "time": "Tue Mar 26 22:39:11 2013 -0700"
      },
      "message": "Change default PUBLIC_NETWORK_NAME/DEFAULT_FLOATING_POOL name\n\nThis patch changes the default network name/floating pool from nova\nto pubic as the name public makes more sense than nova for a public\nnetwork.\n\nChange-Id: I4153750c08d1510dbad3051681e8c142a79fe1a1\n"
    },
    {
      "commit": "3452f8eb8663a8cfc5733784d918b59947630cf8",
      "tree": "8ca256b890e93d2fe750f4e03196faa938fadbbc",
      "parents": [
        "1a5d0339d0c3fb142de3fdedcfacee46d98a977d"
      ],
      "author": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Thu Mar 21 14:11:27 2013 +0900"
      },
      "committer": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Thu Mar 21 18:34:14 2013 +0900"
      },
      "message": "Support Quantum security group\n\nAdds Q_USE_SECGROUP flag for quantum security group\n\n- Added has_quantum_plugin_security_group method for each plugin.\n- Set NOVA_VIF_DRIVER to the hybrid VIF driver for plugins with\n  iptables based security group support.\n- Specifying device_owner type on debug port in lib/quantum and\n  quantum-adv-test.sh. This change makes apply quantum security\n  group fro debug port\n\nChange-Id: Ifd155798912247d85a9765ef73a2186b929237b4\n"
    },
    {
      "commit": "0c3a5584c6631c3e67682d76bd5a9d3b4628c7f5",
      "tree": "2f6e76597890be27f33b543270c75deae593dbdc",
      "parents": [
        "0d71d1ec56f6063b88e2f11ed057aefe6d7311d2"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "launchpad@chmouel.com",
        "time": "Wed Mar 06 10:58:33 2013 +0100"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "launchpad@chmouel.com",
        "time": "Wed Mar 06 13:16:37 2013 +0100"
      },
      "message": "Enable swift by default.\n\n- Set by default SWIFT_REPLICAS to 1 since this is the most common use\n  case when using it in devstack.\n- If we have swift_replicas to 1 launch the object container account and\n  proxy servers in foreground in screen.\n- Allow any s- services if we have just \u0027swift\u0027 in service enabled\n  instead of having to specify all s- services to enable swift. This will be\n  removed in the future.\n- Set object server starting at 6013 instead of 6010 to not conflict\n  with remote ssh x11 forwarding.\n\nChange-Id: I890b6953b70283bfa0927fff0cf5e92f3c08455b\n"
    },
    {
      "commit": "f3fd44c4be11b53179ff1f227e40c21e9d00721a",
      "tree": "d480e4d9697a923292558aea97fb52617426bfce",
      "parents": [
        "f90b2740f7f15e7414f7f07ac7566f3c0b5b0e2b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Mar 04 17:33:35 2013 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Mar 04 17:52:03 2013 -0500"
      },
      "message": "Revert \"Enable swift by default.\"\n\nThis reverts commit 5a5cbf7274a6a50bb766ec590cf885430ed5c5d0.\n\nThis breaks on a default openstack install on Ubuntu 12.10,\nrevert for now until this can be cleaned up to work out of the\nbox.\n\nChange-Id: I185509cc30bd28e920cdab60fc92129949bd6b0d\n"
    },
    {
      "commit": "f90b2740f7f15e7414f7f07ac7566f3c0b5b0e2b",
      "tree": "be973683f751c73e8b7d7940810e53aa42fa64f9",
      "parents": [
        "09d6185b3f79f558cf6a42ca3d9b3c7d685dbce7",
        "07115eb5c06a7f5a63bfacdf33ded466c8f2e2c9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Mar 04 14:12:10 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 04 14:12:10 2013 +0000"
      },
      "message": "Merge \"Refactor error logging\""
    },
    {
      "commit": "07115eb5c06a7f5a63bfacdf33ded466c8f2e2c9",
      "tree": "fb6f2bedaafb7bb357f7653cf68a083c2888c1ee",
      "parents": [
        "921f2dab624c045d2be321d986b4769c7fb7de99"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Tue Feb 26 12:38:18 2013 -0800"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Thu Feb 28 11:54:24 2013 -0800"
      },
      "message": "Refactor error logging\n\nIt is hard to grep errors in current log. so in this patch,\nI\u0027m updating die function which also writes log for\nscreen_log_dir/error.log.\nIn future, we may categolize negative fault by using\nthis error.log.\n\nChange-Id: I70a8cfe67ed408284f5c88c762c6bb8acb8ecdb2\n"
    },
    {
      "commit": "5a5cbf7274a6a50bb766ec590cf885430ed5c5d0",
      "tree": "eb9815f278700411ced10c350de7d77792669e83",
      "parents": [
        "c9bda20963bd0e2cdf0139190d527931497d8622"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Mon Feb 04 12:09:10 2013 +0000"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@enovance.com",
        "time": "Fri Feb 22 18:50:08 2013 +0100"
      },
      "message": "Enable swift by default.\n\n- Set by default SWIFT_REPLICAS to 1 since this is the most common use\n  case when using it in devstack.\n- If we have swift_replicas to 1 launch the object container account and\n  proxy servers in foreground in screen.\n- Allow any s- services if we have just \u0027swift\u0027 in service enabled\n  instead of having to specify all s- services to enable swift. This will be\n  removed in the future.\n\nChange-Id: I496f79e14f99bd7e9f2c7deee12a4b6e935c3a5b\n"
    },
    {
      "commit": "c497a05ea24bb79023ccf1aa7ca16b88c1eedf9e",
      "tree": "b90ebbae5d5c559ea8e5aeffd36cb8fb969d6638",
      "parents": [
        "318dc74080cac68d05db49f8586134216fdc3efa"
      ],
      "author": {
        "name": "Mate Lakat",
        "email": "mate.lakat@citrix.com",
        "time": "Thu Feb 21 15:25:51 2013 +0000"
      },
      "committer": {
        "name": "Mate Lakat",
        "email": "mate.lakat@citrix.com",
        "time": "Thu Feb 21 15:25:51 2013 +0000"
      },
      "message": "Fix aggregates exercise\n\nFixes bug 1131244\n\naggregates.sh was making assumptions on the working directory. Thus it\nfailed, if the current working directory is not devstack. This pathch\nmakes the sourcing to use the full path for openrc.\n\nChange-Id: I10c83c88112ead97b43873e1034b0e76e4f889f4\n"
    },
    {
      "commit": "da85cdadd9a2331a28d4913b878e18c9c5abaccf",
      "tree": "09436a01223c9cc2693d59c96c79fb476e1e77e6",
      "parents": [
        "7bbeb2857c285d3feebcd21456c7e3fdf3264fa6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Feb 15 11:07:14 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Feb 15 12:34:33 2013 -0600"
      },
      "message": "Exercise cleanup\n\n* Make common steps consistent\n* Make comments consistent\n\naggregates.sh\nboot_from_volume.sh\nclient-args.sh\nclient-env.sh\neuca.sh\nfloating_ips.sh\nsec_groups.sh\nswift.sh\nvolumes.sh\n\nChange-Id: Ib93dcdfdead93c259e3cd184fbc5ccc0a4a87c9a\n"
    },
    {
      "commit": "029598ea74ab2adf08801e384b919cc2cd13398c",
      "tree": "c2f34e2842eb356670f61a2dbf6a0b42a75f16e0",
      "parents": [
        "a1e1b5c192d3c6176c9a16da9db4ff98a64fbe7c"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jan 17 11:17:16 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jan 17 12:15:12 2013 -0600"
      },
      "message": "Fix secgroups exercise on postgres\n\nThis should fix the failing (but non-voting) postgres gate tests.\n\nWhy does postgresql change the value \u00270.0.0.0/00\u0027 to \u00270.0.0.0/0\u0027?\nClearly the correct value for the network CIDR bits is with only\none zero but even an incorrect value shouldn\u0027t be changing.\n\nSQLalchemy is given this for the column:\n        Column(\u0027cidr\u0027, String(length\u003d255)),\n\nChange-Id: Ib19dad23789654664e90518087e5a462fa8b8034\n"
    },
    {
      "commit": "a1e1b5c192d3c6176c9a16da9db4ff98a64fbe7c",
      "tree": "7acde669942cb355fd9f89857f3907acf695374a",
      "parents": [
        "f528f4ed9f2dc3356b8bdb40dd6ff81f1a41101b"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jan 16 08:38:17 2013 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jan 16 08:38:17 2013 +0100"
      },
      "message": "Case correct InvalidInstanceID.NotFound\n\nChange-Id: Iab067398205f51d640355ef91f0896afaecc4dea\n"
    },
    {
      "commit": "3860a9252a8546326a7ac9f0c8b2c09afe655491",
      "tree": "a4e5e1698998f00702507ba7b785585e5f1c0b26",
      "parents": [
        "fec9355fd274a588f27c28741a249790416c7605"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Mon Jan 14 13:14:34 2013 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Mon Jan 14 13:46:24 2013 +0100"
      },
      "message": "Have ecua.sh to accept the correct error code\n\necua.sh will accept both the current and the correct error code\n\nChange-Id: I364e411986b9780fd5c5df29697753f04a9a4935\n"
    },
    {
      "commit": "15bda3e4630618135b26bd5a41f48e8c2fb0112b",
      "tree": "e4bae911d95d51f0e298c53ca1900e4b444cd077",
      "parents": [
        "a611e5c7b18f9f90c742dec850c3c94697cb4cf8"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 11 15:07:53 2013 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 11 15:09:14 2013 -0600"
      },
      "message": "Handle existing security group rules in volume exercise\n\nChange-Id: I0aa3bc0c6179f92a12c1e9bbace61597778ffa1f\n"
    },
    {
      "commit": "756c842a7743a84a084b4cc211998e3fdd171592",
      "tree": "706c7fdbc268b508c3970b4576b3c9c34cadc66b",
      "parents": [
        "822d9b6c992c21617243496760a746cf53672430"
      ],
      "author": {
        "name": "Adam Gandelman",
        "email": "adam.gandelman@canonical.com",
        "time": "Fri Jan 04 13:37:22 2013 -0800"
      },
      "committer": {
        "name": "Adam Gandelman",
        "email": "adam.gandelman@canonical.com",
        "time": "Fri Jan 04 13:37:49 2013 -0800"
      },
      "message": "Properly wait until volumes are gone in volumes.sh\n\nA logic error in volume exercise\u0027s wait for volume deletion\ncauses the test to do the opopsite, and continue on even tho\nthe volume is in in the \u0027deleting\u0027 state.  If using a volume\nbackend that can quickly delete volumes (ceph), and the volume\nis gone before entering the wait, the loop will spin, timeout\nand fail the test.\n\nChange-Id: I8e3d2aaa04e6a165e0dee32bedac97d35e13d5eb\n"
    },
    {
      "commit": "6d04fd7ba59450c4d9c6c7317eef05c7812056b1",
      "tree": "e60eafb8841a7c647e2aee7326f0d060d6d9c215",
      "parents": [
        "5ba0360b3266be26418dbd828e5e13386a324b2d"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Dec 21 11:03:37 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Dec 28 18:03:10 2012 -0600"
      },
      "message": "Holiday docs and comment formatting cleanup\n\nChange-Id: Ia4ca88c67d3b94e306a79a669805a2fa1b0dc069\n"
    },
    {
      "commit": "796342c06e8ca3dcfd2e8f1ba4e0300a703b8de1",
      "tree": "8be4d4ab206fc3134d9c38875f379793ef3063a0",
      "parents": [
        "cf37f6a0f262db4ef404488e1ec83a4f60e5d520"
      ],
      "author": {
        "name": "Michael Still",
        "email": "mikal@stillhq.com",
        "time": "Fri Dec 28 11:08:20 2012 +1100"
      },
      "committer": {
        "name": "Michael Still",
        "email": "mikal@stillhq.com",
        "time": "Fri Dec 28 11:22:20 2012 +1100"
      },
      "message": "Handle the new behaviour for invalid instances.\n\nThe behaviour of this case changed with bug/836978. Requesting the\nstatus of an invalid instance will now return an error message\nincluding the instance id, so we need to filter that out.\n\nResolves the devstack elements of bug 836978.\n\nChange-Id: I385eb6f04cff90e1ddc0b79d835fbbdf92e4e9ff\n"
    },
    {
      "commit": "ac25b0359ae1beb348b7a47ca3e9984773e88168",
      "tree": "a18914c9c789d3de7b3a46d69062a722b3411ff9",
      "parents": [
        "d6decab220e933c37a5717091be0d58fd18e54db"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Wed Dec 19 11:15:46 2012 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Wed Dec 19 11:15:46 2012 -0500"
      },
      "message": "turn debug on for euca-upload-bundle\n\nthis spuriously fails in devstack gate, and need to turn\nthis on to get to the bottom of the fails.\n\nChange-Id: I7d5c1b4d3230efacdd8a3b89e5e40e98ac894a1d\n"
    },
    {
      "commit": "2a255d9922aefdad8309664d1c0afee96df5e70f",
      "tree": "285a355030e5a6b1968287d667731035824a52bd",
      "parents": [
        "bc81c67839d860796dad69bc20009ef01a6910ac",
        "5c1bedd1edcd04c749721d55710c629bc3d91d12"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Dec 18 12:52:52 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Dec 18 12:52:52 2012 +0000"
      },
      "message": "Merge \"Update aggregates test for aggregates bp\""
    },
    {
      "commit": "b0d8a8288be6ad23114563c4bf62338c79766501",
      "tree": "cd2ff84cd83d83ec133472cf19efec859247a50f",
      "parents": [
        "1bd2a1b18601fa4f896160c348f2f5988d8b0106"
      ],
      "author": {
        "name": "Armando Migliaccio",
        "email": "amigliaccio@internap.com",
        "time": "Thu Dec 13 16:08:48 2012 +0000"
      },
      "committer": {
        "name": "Armando Migliaccio",
        "email": "amigliaccio@internap.com",
        "time": "Thu Dec 13 17:02:24 2012 +0000"
      },
      "message": "make volume size parametric in boot_from_volume\n\nFixes bug #1090007\n\nChange-Id: Ifa13b0b7b62be75805db2730cb7154406f0c1b94\n"
    },
    {
      "commit": "5c1bedd1edcd04c749721d55710c629bc3d91d12",
      "tree": "6330bc0c8d6375bd7725b1962d7701972015a34d",
      "parents": [
        "00626a3186650fb111d9af5e2d69311aa5b3d3c2"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "jogo@cloudscaling.com",
        "time": "Wed Dec 12 12:03:19 2012 +0000"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "jogo@cloudscaling.com",
        "time": "Wed Dec 12 12:20:01 2012 +0000"
      },
      "message": "Update aggregates test for aggregates bp\n\nInstead of implementing availability zones in the service table,\navailability zones will be implemented using general aggregate metadata.\n\nSo when an aggregate is created it will already have metadata.\n\nPart of blueprint aggregate-based-availability-zones\n\nChange-Id: I0fd22399b99a14087fef63fc91d0baef746efbed\n"
    },
    {
      "commit": "1e32d0ab191bfe8a8c89580b9f84fe38ded7af0a",
      "tree": "3cabf41eadc781bb4fb76838402bd36c582dc683",
      "parents": [
        "e5f8d1228a139ae13da5f2fbdfd09b3b43fd52fd"
      ],
      "author": {
        "name": "Mate Lakat",
        "email": "mate.lakat@citrix.com",
        "time": "Fri Dec 07 12:46:15 2012 +0000"
      },
      "committer": {
        "name": "Mate Lakat",
        "email": "mate.lakat@citrix.com",
        "time": "Fri Dec 07 12:46:15 2012 +0000"
      },
      "message": "exercises/euca: Fix volume timeout\n\nFixes bug 1087656\n\nIn euca exercise, the timeout for one of the volume operations was\nspecified as ASSOCIATE_TIMEOUT, whereas the timeout error message was\nmentioning RUNNING_TIMEOUT. This fix changes the timeout to\nRUNNING_TIMEOUT so that it is consistent with the error message.\n\nAs RUNNING is usually larger than ASSOCIATE, it leaves more time for the\nvolume operation.\n\nChange-Id: Ic016c7920ae6e4ec9a476bb5612b7df9eed01c75\n"
    },
    {
      "commit": "8bc21f6476304ca319489612867109d43d44cb6f",
      "tree": "f2f9d2977dcc701ae553481b82d3c3ebf21d0f8b",
      "parents": [
        "a1daabd3402c7b9ce56f2723109dd23b1e0215f3"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Mon Nov 19 22:04:28 2012 -0800"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Wed Dec 05 17:55:08 2012 -0800"
      },
      "message": "move setup_quantum to stack.sh\n\nsudo is only allowed in stack.sh on the CI, so move setup_quantum code\nto the stack.sh.\nalso fixes quantum debug command setup for linuxbridge and ryu\n\nChange-Id: I11bc0aa242a690e25acc088b3e9f483ceab38f26\n"
    },
    {
      "commit": "0da8dbd0a369d90e7eafd88e54a1cff91f09448d",
      "tree": "a65da34453efda578b914954f708409b27f116ef",
      "parents": [
        "318408c9a863321c4c052f8512fe80249a6d7356"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Nov 29 14:37:14 2012 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Fri Nov 30 16:46:09 2012 -0500"
      },
      "message": "create a horizon exercise for sanity check\n\nfrom time to time horizon gets broken in devstack and it\ntakes a while to figure out why. Put a sanity check into\ndevstack exercises that checks for horizon front page being\nup and not just a stack trace to use as a simple gate.\n\nChange-Id: I13a6c59881f618d5194b1625b67115013c9cb6c2\n"
    },
    {
      "commit": "7a51891cb4dc6b2ee56ad24000ba1fcfed084528",
      "tree": "6f00e542c4755f474292066c777109af73989e02",
      "parents": [
        "69f8729233a8f2ba95390cd4d1c99bd3c199c95c",
        "6fd2811726c098e0311bc22c84c5da0d6aa89c62"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 14 21:58:47 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 14 21:58:47 2012 +0000"
      },
      "message": "Merge \"Remove support for nova-volume\""
    },
    {
      "commit": "6fd2811726c098e0311bc22c84c5da0d6aa89c62",
      "tree": "f1fcc2456fe7df3ae4120fc646a947c58d5d3705",
      "parents": [
        "43a94c476d3a69452244731d86e81b3eccb9cc23"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "jogo@cloudscaling.com",
        "time": "Tue Nov 13 16:55:41 2012 -0800"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "jogo@cloudscaling.com",
        "time": "Wed Nov 14 13:21:58 2012 -0800"
      },
      "message": "Remove support for nova-volume\n\n* nova-volume has been removed in Grizzly\n* part of delete-nova-volume\n\nChange-Id: Iba91d69950767823d77aaaa93243b0f476dbb04d\n"
    },
    {
      "commit": "b459d0e3ba7cfbd49f4b37ccb64f9350228997eb",
      "tree": "ec1404b0a5238e74183bd8f7e95a2421f6457f05",
      "parents": [
        "da339829472ffcdc3044f79b76b6cd03608db191",
        "5db5bfa28f48b0524db6d25d340d12c96270ac0e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 14 16:30:55 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 14 16:30:55 2012 +0000"
      },
      "message": "Merge \"Make exercise.sh with quantum work\""
    },
    {
      "commit": "5db5bfa28f48b0524db6d25d340d12c96270ac0e",
      "tree": "1d51d0881bb4b8b7a6de72bca9582b72c9622cec",
      "parents": [
        "c6b9fcaed10eb8afc73310c0af75a5c682405c59"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Mon Oct 29 11:25:29 2012 -0700"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Tue Nov 13 10:40:59 2012 -0800"
      },
      "message": "Make exercise.sh with quantum work\n\n- added support for quantum-debug command\n- added ping and ssh method for quantum\n\nChange-Id: Iebf8a0e9e2ed2bb56bee6533e69827e6caa2bc82\n"
    },
    {
      "commit": "161e2807a9f530988e21b9b723fb43dbc992496c",
      "tree": "d627f537a82e075c2806f9eeef958d0f72daaee6",
      "parents": [
        "308beccc2475f7ff35421eef23048fc1d43a3491"
      ],
      "author": {
        "name": "John Griffith",
        "email": "john.griffith@solidfire.com",
        "time": "Mon Nov 05 13:59:49 2012 -0700"
      },
      "committer": {
        "name": "John Griffith",
        "email": "john.griffith@solidfire.com",
        "time": "Mon Nov 05 15:13:36 2012 -0700"
      },
      "message": "Update devstack exercises to call cinderclient\n\nExercises use nova volume-* commands still.  This works fine,\nhowever moving forward now that cinder is the default volume service\nwe should use the cinderclient explicitly for the applicable calls.\n\nAttach/Detach are still novaclient commands, however the others\n(create, delete, list, etc) should be cinderclient.\n\nChange-Id: I336de1b69a32eee6c91655b0a5bf8541b243f2f0\n"
    },
    {
      "commit": "fda946e3eb46fc59ff79f83e68a8488141f3444e",
      "tree": "35b6e15cf05dfbef643ef45c2b037f1366ee0db9",
      "parents": [
        "92c964f92a7460ecf37d0fb10e7d006bb203779c"
      ],
      "author": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Wed Oct 24 17:26:02 2012 -0700"
      },
      "committer": {
        "name": "Nachi Ueno",
        "email": "nachi@nttmcl.com",
        "time": "Thu Oct 25 21:52:31 2012 -0700"
      },
      "message": "Added ping_check and ssh_check functions and use it in exercise.sh\n\nChange-Id: I69d41c9db527f60f250b6af36b2d8e9d0dd39684\n"
    },
    {
      "commit": "fc65cfed553372152ffe8a6c0e4229607706ef8d",
      "tree": "0991ac5af1afe8ed017a124fb0cbd771096507fc",
      "parents": [
        "eccaa80ba8ff539785f0a58aefc4bd511c369f9d"
      ],
      "author": {
        "name": "Eoghan Glynn",
        "email": "eglynn@redhat.com",
        "time": "Fri Oct 19 21:26:41 2012 +0100"
      },
      "committer": {
        "name": "Eoghan Glynn",
        "email": "eglynn@redhat.com",
        "time": "Sat Oct 20 14:18:06 2012 +0100"
      },
      "message": "Directly create bootable volume based on image ID.\n\nNow that a bootable volume can be created directly based on\nimage ID, we can dispense with the complexity around using\na builder instance to acheive the same effect.\n\nChange-Id: Ied1f6863a4dd21685e2f135841b9e2c4d499675f\n"
    },
    {
      "commit": "082a3da01f01de6b71e24710b4201f969e69d1c9",
      "tree": "01c3ef54c1dba32da68767ac2ffa98420ecd30c5",
      "parents": [
        "45ae8ccc4ade72e3032029aef3f0cd8b36f924ba"
      ],
      "author": {
        "name": "John Griffith",
        "email": "john.griffith@solidfire.com",
        "time": "Sat Oct 06 22:19:33 2012 -0600"
      },
      "committer": {
        "name": "John Griffith",
        "email": "john.griffith@solidfire.com",
        "time": "Sat Oct 06 22:26:39 2012 -0600"
      },
      "message": "Remove extraneous timing messages from volumes.sh\n\nChange: I3bbcc5b9f8a4da2fcdb9f6f70913c2d6bc6e2b9b\nadded some timing messages around the volume operations in\nexercises/volumes.sh.  This was a good idea, but some\nuseless timing info was added to failed cases, this patch\npulls that back out.  The only parameter used to detect\nfailure is a timeout, so outputing the time elapses in\nthese cases is useless.\n\nChange-Id: I609a803a7293aa8a8e3cec186984de59bfe9b409\n"
    }
  ],
  "next": "496ffc74bb255efce367033d56f23f626efa4db4"
}
