)]}'
{
  "log": [
    {
      "commit": "fd1c87e83035438d58692bef63186598373a06af",
      "tree": "fe078c8fc005518a01153b81cf74690395062209",
      "parents": [
        "08e07fb4c817796db06bf8b90982c3b7cc5c41f2"
      ],
      "author": {
        "name": "John Garbutt",
        "email": "john.garbutt@citrix.com",
        "time": "Fri Feb 24 14:52:54 2012 +0000"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 28 18:24:52 2012 -0500"
      },
      "message": "blueprint host-aggregates\n\nadd some inital tests for the host-aggregates blueprint\n\nChange-Id: I0c07f2e7fd123bbda6d26f4ff64bea3949e57157\n"
    },
    {
      "commit": "408b009ccda94a95d3b3999f6db2bd62e92cdfb9",
      "tree": "7011b3ccd44a5e9d943514b84c6ae3f9b1e5616a",
      "parents": [
        "17ff9763da677f3db0339a395c558cdb881d5d56"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Thu Mar 15 23:21:55 2012 +0000"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Wed Mar 28 11:34:51 2012 +0100"
      },
      "message": "Allow skipping exercises.\n\n- Catch a special exit signal 55 to notify that we want to skip an\n  excercise.\n- Move is_enabled_service to functions.\n- Fix bug 928390.\n\nChange-Id: Iebf7a6f30a0f305a2a70173fb6b988bc07e34292\n"
    },
    {
      "commit": "27e326995aaddf9e34cdf54a56f0ed02fc04bfcc",
      "tree": "9abba1609d309b887f2960db9c00c92fb2f7bc0a",
      "parents": [
        "09407d90a841c05d83f82b588af0769161326a4d"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 16 16:16:56 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 19 10:06:15 2012 -0500"
      },
      "message": "Simplify die_if_error\n\n* Replace die_if_error() with the simpler die()\n* Attempt to clean up unnecessary trace output\n* Formatting cleanups on all exercise scripts\n\nChange-Id: I72a542b3a59ee9bf12bee6bcc605edd7579205e0\n"
    },
    {
      "commit": "77b0e1d8ff9617dc71cf92a7a9d7fb850e2e5998",
      "tree": "b640770acca70e2820a98f06668c0e458fd3e90d",
      "parents": [
        "737320f9998c90f0175bccb38042da2c6f2c7034"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Wed Feb 29 16:55:43 2012 +0000"
      },
      "committer": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Thu Mar 15 20:59:45 2012 +0000"
      },
      "message": "Converts bundle exercise to use swift/s3\n\n- Fix keystone s3token configuration (in admin api not public api).\n- Set s3 service in keystone to swift if installed.\n- Fixes a bug in bundle.sh\n- Adds config options for nova to use swift as s3 store\n\nChange-Id: Ic2fca5aba06a25c0b3a74f1e97d062390a8e2ab1\n"
    },
    {
      "commit": "737320f9998c90f0175bccb38042da2c6f2c7034",
      "tree": "a89d692ad759e5673a35338074690e3ebe366e6b",
      "parents": [
        "7641463ade929b937d5ae8a78b010b97148f0600",
        "4d88347f59afbb99a3674bd93cf520c8ac305eea"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 15 17:51:55 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 15 17:51:55 2012 +0000"
      },
      "message": "Merge \"Add exercises/client-args.sh to test the pending cli changes for Keystone, Nova, Glance and Swift.\""
    },
    {
      "commit": "440be4b6a85f6e25de834d4f5b2736fd82785b17",
      "tree": "ce3445134737dd61ea081099978c8badda2c4e65",
      "parents": [
        "ae604985e78ae5e9763a348d132cb8e120b85c95"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Feb 10 21:42:39 2012 -0800"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Mar 13 23:28:26 2012 -0700"
      },
      "message": "Add exercise that boots an instance from a volume.\n\n * Launches a cirros builder instance\n * Mounts a disk to the builder instance\n * Creates a bootable volume from builder\n * Launches the volume-backed instance\n * Update glance syntax\n * Don\u0027t require instance-to-web communication (that only works with\n   fully configured floating ips)\n * Add footer/header\n\nChange-Id: Ia6dcf399ee49154aaf4e597b060164c2f41cf3d2\n"
    },
    {
      "commit": "4d88347f59afbb99a3674bd93cf520c8ac305eea",
      "tree": "7f4bc86e1e9bdf682f9e1b9bac54e172c63a889b",
      "parents": [
        "ae604985e78ae5e9763a348d132cb8e120b85c95"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Mar 13 23:56:49 2012 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 14 01:04:32 2012 -0500"
      },
      "message": "Add exercises/client-args.sh to test the pending cli changes for Keystone, Nova,\nGlance and Swift.\n\nChange-Id: I05aeda9be61e9c556d23ebc33076477c71708460\n"
    },
    {
      "commit": "51fb454f71a9814486b5f3ad14bfad4d9c950596",
      "tree": "a93d0a4a6b8e08387268036046013682f3021f6d",
      "parents": [
        "8da5656ffd8b28d88536efbe6d452ab86c3b3e74"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 09 22:21:59 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 12 11:44:32 2012 -0500"
      },
      "message": "Create exerciserc to configure exercises\n\n* Move timeouts from openrc to (new) exerciserc\n* Update all exercise scripts\n* Update HACKING.rst\n\nFixes bug 951315\n\nChange-Id: Icc4ff03a7dcf0cc711e204046176fb5186990c17\n"
    },
    {
      "commit": "0bd2410d469f11934b5965d83b57d56418e66b48",
      "tree": "a4c11f7dbe9ee31626ba02331c25704d67686e94",
      "parents": [
        "09cafcbaf33519a916a8d9514718806a070d1701"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 08 00:33:54 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 09 21:41:00 2012 -0600"
      },
      "message": "Move all EC2 cred creation to eucarc\n\n* Remove credential creation from files/keystone_data.sh\n* Remove EC2 cert setup from openrc\n* Remove sourcing of ec2rc from stackrc\n* Collect the above in eucarc\n* Allow rc files to be sourced from other directories; based on Chmouel\u0027s\n  4881 proposal but is simpler and doesn\u0027t actually change the directory\n* Create S3 endpoint\n* Get EC2 and S3 endpoints from Keystone service catalog\n* Add EC2 credential checks to exercises/client-env.sh\n* exercises/bundle.sh and exercises/euca.sh use eucarc\n\nUpdates:\n* remove readlink -f to stay bash 3 compatible\n* use service catalog\n* create S3 endpoint\n\nFixes bug 949528\n\nChange-Id: I58caea8cecbbd10661779bc2d150d241f4a5822e\n"
    },
    {
      "commit": "489bd2a62b5949665bc7c4a05a52d27a987e0489",
      "tree": "baed5bdd9d9f3bdba8d1325125f61f7a72ddc56a",
      "parents": [
        "4807df8e5bc0e5e78536ecea37a0ca7621720524"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 02 10:44:29 2012 -0600"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Fri Mar 02 17:55:37 2012 -0800"
      },
      "message": "Improve exercise robustness\n\n* Test returns and exit codes on most command invocations\n* Add start and end banners to make output easier to find in\n  long log files\n* Adds die_if_error(), die_if_not_set() and is_set() to functions\n* Add some function tests\n\nFixes bug 944593\n\nChange-Id: I55e2962c5fec9aad237b674732b1e922ad37a62e\n"
    },
    {
      "commit": "a6bdfddd2b9ac89ea5ceba7cde5f37eddaf936df",
      "tree": "23b98a6458078c1cc47ff045eab67adb786bab85",
      "parents": [
        "b32c876ed5e66c8971c8126432c1ae957301eb08"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Wed Feb 29 14:11:01 2012 +0000"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Wed Feb 29 14:20:49 2012 +0000"
      },
      "message": "Use OS common cli auth arguments.\n\nChange-Id: I80c9e42abb7060622d82cffc83d0108654a36562\n"
    },
    {
      "commit": "854d8c93b81667b04a3ad38720bcc02acf3d15b0",
      "tree": "63918b7cd4d161074f5048ee49e08c2bd5d12897",
      "parents": [
        "995bfe02520a0882d6ac3baad8cd5eab63565240"
      ],
      "author": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Mon Feb 27 22:41:54 2012 +0000"
      },
      "committer": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Tue Feb 28 01:15:57 2012 +0000"
      },
      "message": "Add a helper method to volumes test to get fields\n\n * The way we retrieve data from cli output is janky, this\n   improves it slightly by creating a helper method.\n\nChange-Id: Ib0889fd56f6a78bed85dad4c5e9e6e34bac9fb0d\n"
    },
    {
      "commit": "8534bcb6bb15db3d781228880040fd684a7cf228",
      "tree": "212e5ba300ab860d3de90525414df814123e4383",
      "parents": [
        "2e9158ebc61b349d4f238d2254bc1b9899d3f6fa"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Sat Feb 25 08:04:48 2012 +0000"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel@chmouel.com",
        "time": "Sat Feb 25 18:44:26 2012 +0100"
      },
      "message": "Update Swift configuration with keystone latest.\n\n- Update Swift to use the new tokenauth and swift_auth from keystone.\n- Drop swift-keystone2.\n- Add swift3 / s3token in swift proxy pipeline (TODO: figure out\ntesting).\n- Fix exercises/swift.sh (workaround until review #3712 get merged).\n\nChange-Id: Ie85d30e14cee21c6f80043fccde92dfb229f0e80\n"
    },
    {
      "commit": "5836b1533a8d3cbe4dac7ad90c862948dadb1fbc",
      "tree": "a5e2ca98cf5dbd21d855cc3ed4411ba6e745d805",
      "parents": [
        "8d87ca05330d050561611fcc43cfa941a340d13a"
      ],
      "author": {
        "name": "Russell Bryant",
        "email": "rbryant@redhat.com",
        "time": "Fri Feb 24 10:23:33 2012 -0500"
      },
      "committer": {
        "name": "Russell Bryant",
        "email": "rbryant@redhat.com",
        "time": "Fri Feb 24 10:23:33 2012 -0500"
      },
      "message": "Wait for VM to stop before deleting security group.\n\nRelated to bug 938853.\n\nThe patch for this bug prevents deleting security groups through the\nOpenStack API if they are still in use.  This patch for devstack updates\nthe floating_ips exercise script to wait until the VM has stopped before\ndeleting the security group.\n\nChange-Id: If42f85934c2b92d4d001c419cabb09e2e3dc1aae\n"
    },
    {
      "commit": "243b26a84e0328eaa5e3051a17416b3323c2c703",
      "tree": "b3cc50d995241eed704a6ee3c99375bc1a095b6f",
      "parents": [
        "e7ed17eea4975931401d80e360cbd66e797ef258"
      ],
      "author": {
        "name": "Russell Bryant",
        "email": "rbryant@redhat.com",
        "time": "Wed Feb 22 11:19:32 2012 -0500"
      },
      "committer": {
        "name": "Russell Bryant",
        "email": "rbryant@redhat.com",
        "time": "Wed Feb 22 11:19:32 2012 -0500"
      },
      "message": "Wait for instance termination to complete.\n\nThis patch waits for instance termination to complete before trying to\ndelete the security group.  The last change to simply move the security\ngroup deletion to after euca-terminate-instance was not sufficient, as\nit has to wait until the termination is complete.\n\nChange-Id: Icba579534f324afb4d44abd42d8c755834dd2a57\n"
    },
    {
      "commit": "e7ed17eea4975931401d80e360cbd66e797ef258",
      "tree": "7b0eabb5267a45be324750f480886c59c35bf2f9",
      "parents": [
        "a3a496f9c2de8ab161bbe1e5723e66659bb1072e"
      ],
      "author": {
        "name": "Russell Bryant",
        "email": "rbryant@redhat.com",
        "time": "Tue Feb 21 17:43:33 2012 -0500"
      },
      "committer": {
        "name": "Russell Bryant",
        "email": "rbryant@redhat.com",
        "time": "Tue Feb 21 17:47:46 2012 -0500"
      },
      "message": "Delete security group after terminating instance.\n\nThis patch slightly modifies the order of operations in the euca exercise\nscript.  It moves the deletion of the security group to the end, after\nthe instance has been terminated.  The reason this change must be made\nis because of this change proposed to nova:\n\n    https://review.openstack.org/#change,4154\n\nWithout this change, when exercise.sh is run against this patch, the euca\nexercises will fail when the security group is deleted.  Moving it to the\nend should make it pass, as the security group will no longer be in use.\n\nChange-Id: I9095a02c42173ed1837ec20b38d5ef00fe4474ec\n"
    },
    {
      "commit": "80756ea71a86e91b2ec45ac25875a2e928b183be",
      "tree": "24764722bde5f04c87a1c5ef74455c2c134328ef",
      "parents": [
        "dd9809305ecfb782b1b079b79c181c07b03cda53"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Feb 01 18:01:01 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Feb 13 23:49:15 2012 -0600"
      },
      "message": "Blueprint cli-auth\n\n* Add proper test for swift in client-env.sh\n* Remove all VERIFY variables; nothing beyond the 4 OS_ vars is set now\n* Update exercises for Keystone 2.0 auth\n* swift understands Keystone 2.0 auth now, don\u0027t download custom binary\n* cleanup uploaded bundle in bundle.sh\n\nChange-Id: I99c818d81534bbf93c0e142513acb80e5fe613ea\n"
    },
    {
      "commit": "a94784135e5c420e967e14ad535926ddc2580a9c",
      "tree": "cc73f8674604a29a4fc4397af5ac61ab7f477471",
      "parents": [
        "fcd135252b29d5bdd7349395734accafc85aed4f"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Feb 08 11:49:28 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Feb 08 11:49:28 2012 -0600"
      },
      "message": "Not all distros include a symlink from euca-describe-group to euca-describe-groups\n\nChange-Id: Iaba71c36b405d2891aebdb45c1b9fd84853988f5\n"
    },
    {
      "commit": "10670d1bad6b4afd3dce9af61d22c8cd5eeded59",
      "tree": "d7485ed9e8f8ca9184f8dc87577865c58c317845",
      "parents": [
        "d1ee828f339ac8efe1f6d693f13ee9a871dc8fc5"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Jan 24 11:26:15 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Jan 31 12:26:28 2012 -0600"
      },
      "message": "Add support for OS_* environment vars\n\nAdd the OS_* env variables to mirror the NOVA_* vars; example:\nsetting OS_USERNAME will override NOVA_USERNAME in the clients and\ntools, but if left unset it defaults to NOVA_USERNAME.\n\nAdds exercises/client-env.sh to test operation of command-line\nclients with only the OS_* variables set\n\nAddresses bug 897304, http://wiki.openstack.org/CLIAuth\n\nChange-Id: I72450153541072fe8026a82748cfcd1cf5ed31d8\n"
    },
    {
      "commit": "ce05e03213847da1220356e5d95adfde1bd3ae32",
      "tree": "bc844ddabbee3404c46635d63aa2b53e1c3a1363",
      "parents": [
        "d2be50c6e098bc2add116106f80845c364440558"
      ],
      "author": {
        "name": "Adam Gandelman",
        "email": "adamg@canonical.com",
        "time": "Mon Jan 30 14:43:14 2012 -0800"
      },
      "committer": {
        "name": "Adam Gandelman",
        "email": "adamg@canonical.com",
        "time": "Mon Jan 30 14:46:25 2012 -0800"
      },
      "message": "exercises: Multihost support for Glance client\n\nfloating_ips and volumes exercises both access Glance directly, but\nassume it is running locally.  To better accomodate exercising a\nmulti-host cloud, specify glance host via GLANCE_HOST setting which\ndefaults to HOST_IP to maintain current single-node functionality.\n\nChange-Id: Iad06044af031083afa477204d446ada5161ca521\n"
    },
    {
      "commit": "75bbd75d9189a380b254ffd2f89cbf5108e2efb0",
      "tree": "fade63a0e1ae5f6ecbc06dd7aaf710aa35e2414b",
      "parents": [
        "30439a6dc4b859d9687500128d00fd51a35d1cb4"
      ],
      "author": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Thu Jan 19 23:28:46 2012 +0000"
      },
      "committer": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Wed Jan 25 15:40:40 2012 +0000"
      },
      "message": "Allow euca-upload-bundle to work with devstack\n\n * modifies stack.sh to run nova-cert and nova-objectstore\n * adds exercises/bundle.sh to test for bundling\n * requires https://review.openstack.org/#change,3200\n\nChange-Id: I850891948fbdfdf5890225f94df755e5dbc733d0\n"
    },
    {
      "commit": "751c15243fff7a805031397e85d3dec6d3033aa3",
      "tree": "2b6c6ea0dea4d59c9d7b6d218547362a94e6d4b1",
      "parents": [
        "19721bc79d973bcbe7fb162e64fff85020b5b4fc"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Jan 10 15:34:34 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jan 19 14:49:08 2012 -0600"
      },
      "message": "Increase exercise robustness\n\n* increase some timeouts\n* tolerate existing security groups and rules\n* add optional DEFAULT_IMAGE_NAME to select the image to boot\n* fix image lists via glance\n\nChange-Id: I31ae743e602f69a2c9f872273273f542fc4afda3\n"
    },
    {
      "commit": "696ad331a4af3a0d259b1db7eed5ef6b691ba045",
      "tree": "f5653d682560ab7c5f6ba7cac01fe27e96fc1e33",
      "parents": [
        "ea4a53da619c8ce7e65141a17b68ce314e729e60"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Jan 10 15:34:34 2012 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Jan 12 16:32:24 2012 -0600"
      },
      "message": "Add some additional floating ip pool testing\n\nChange-Id: I62cd6b43e3250dc28d66dc84d3759f47e81ff134\n"
    },
    {
      "commit": "4b40c4d95fafbf48c79010956abf9069985ee0c7",
      "tree": "f6a10ba0d76eded35ef32be3f1cfb3a220cd4134",
      "parents": [
        "c384424e94f7d4a84670630860bf1848a0563342",
        "1d6e0e196e6f2ee5fef7c5cf2571e4b3ab947300"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 03 18:32:04 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 03 18:32:04 2012 +0000"
      },
      "message": "Merge \"Use DEFAULT_INSTANCE_TYPE in exercises\""
    },
    {
      "commit": "c384424e94f7d4a84670630860bf1848a0563342",
      "tree": "9a8faf2478482a21cfaeab2ed906c6d6726f3598",
      "parents": [
        "34694f156874e10199e29d4d92f35626b68d88d2"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Dec 30 14:27:02 2011 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Dec 30 14:32:42 2011 -0600"
      },
      "message": "exercises/euca.sh timing fixes\n\nAdjust timing in the script for testing on slower systems,\nsuch as VMs on laptops.\n\nChange-Id: I657fe54c7a4b75169b84ae1af37c88e2941e918a\n"
    },
    {
      "commit": "1d6e0e196e6f2ee5fef7c5cf2571e4b3ab947300",
      "tree": "8ab5fc51826ab5da552b57227501e7df86acb74e",
      "parents": [
        "c1b2354a88f9d14c6773fe9f9fa06f918e37d8f8"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Dec 23 12:45:13 2011 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Dec 28 14:20:47 2011 -0600"
      },
      "message": "Use DEFAULT_INSTANCE_TYPE in exercises\n\nChange-Id: I5a98a3a4e8057f613a94054b08ff5439f1ccf7cd\n"
    },
    {
      "commit": "2fcb3a85df060a458f0fc2e0828d9373a1ebc974",
      "tree": "c3e333d0c853807c461649e0fdd621f83c646522",
      "parents": [
        "c6b0c0978583dfb8eb46884b1f5eaeb255803abc",
        "abda427a10873a6d11026f767d53d2cecf967d1c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Dec 23 17:56:15 2011 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Dec 23 17:56:15 2011 +0000"
      },
      "message": "Merge \"Improve euca exercise to use floating ips and secgroups.  This ensures that the full instance lifecycle gets \u0027worked.\u0027\""
    },
    {
      "commit": "abda427a10873a6d11026f767d53d2cecf967d1c",
      "tree": "e132c2f13e36f271938e005ef1d92f83ed3a3ab6",
      "parents": [
        "e0d6cd1e920033fc889ae01b102885dc2eb2cdd0"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Dec 16 20:16:20 2011 +0000"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Dec 16 20:36:51 2011 +0000"
      },
      "message": "Improve euca exercise to use floating ips and secgroups.  This ensures that the full instance lifecycle gets \u0027worked.\u0027\n\nChange-Id: Ibf22054ae3fb864242ff3df2b8066985a43803d7\n"
    },
    {
      "commit": "a8dda1709f4cb6b64ea9664bf22aa88ae691a047",
      "tree": "7cc4209f6f90dd592de6777d244c3c571a66a78e",
      "parents": [
        "e0d6cd1e920033fc889ae01b102885dc2eb2cdd0"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Dec 16 12:22:02 2011 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Dec 16 14:36:35 2011 -0600"
      },
      "message": "Add volume.sh exercise\n\nChange-Id: Ic339c34c85493d21f9fbf5280bb5ff1660644f98\n"
    },
    {
      "commit": "9c7c9083a4866e4c225fe8dac7d17054c640ba03",
      "tree": "7bc2940040995ce70d024ed5f8db4e01ad6a9eaf",
      "parents": [
        "83a59d26a7ad5c31136e0b2974e0acd1d95f764d"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Nov 23 10:10:53 2011 -0800"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Nov 23 11:26:39 2011 -0800"
      },
      "message": "initial devstack + essex\n\n* update horizon apache config\n* updates apts for horizon\n* better logging for horizon\n* keystone conf settings\n* only add swift endpoint if it is enabled\n* new nova paste\n\nChange-Id: I1edacbe5d8adc4bd5265d36abcaf01ce5490aefd\n"
    },
    {
      "commit": "38df1228decc04dfcce990eb996322b2ade5dedb",
      "tree": "f0bad789a79a5b79aa3fe7d888b0c525c7be7e24",
      "parents": [
        "f6c09edf25a6da0fcdb7c2997dbddfaf90b33e21"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Nov 20 09:55:44 2011 -0800"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Nov 20 09:55:44 2011 -0800"
      },
      "message": "revive working with subset of services\n\nChange-Id: I645c5df457a2ac2c997ac32720d53cacc0fa109b\n"
    },
    {
      "commit": "f6c09edf25a6da0fcdb7c2997dbddfaf90b33e21",
      "tree": "df4caffd52b9b5d19bc5d3e79d257f0924ad4810",
      "parents": [
        "a208dcc34077c96f5f4ab580c5c462f52bf114e1"
      ],
      "author": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Wed Nov 16 16:38:24 2011 -0800"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "james.blair@rackspace.com",
        "time": "Thu Nov 17 15:14:43 2011 -0800"
      },
      "message": "pause is admin-api, we shouldn\u0027t be testing it\n\nChange-Id: Ia7b9d2f06aecb67f3e0c2f12687f18e3e386da3f\n"
    },
    {
      "commit": "b74b74a2b321adfc976590a58685b6a506e5db64",
      "tree": "acd993dbfb69930f0f494d069c5a089d0d5a6a18",
      "parents": [
        "16b6efab4c36456beb3c56157c4d854cafb4a87d"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Nov 10 11:47:34 2011 -0800"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Nov 10 11:47:34 2011 -0800"
      },
      "message": "permissions\n"
    },
    {
      "commit": "16b6efab4c36456beb3c56157c4d854cafb4a87d",
      "tree": "08820d11f8c76fea3bb75e2211394c0ce028df27",
      "parents": [
        "662e1b0333a88ed994aae56f54b9cb3e75a3ecb9",
        "aa4aa2ecb8508c12c64d1dd9fcc77e98133c0817"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Nov 10 11:46:18 2011 -0800"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Nov 10 11:46:18 2011 -0800"
      },
      "message": "merge origin/master\n"
    },
    {
      "commit": "3ef87eedce4cde0c23e2dd310772eeef2fb39fb7",
      "tree": "87ba3cb17815c93a8278d12abc7a32a518e2f386",
      "parents": [
        "9a3066f9fd4efae4ec838a673fe1517554e0e531",
        "3e6ec236f01abaf80fe7dc8db73ecbfdf3532e89"
      ],
      "author": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Sat Nov 05 11:05:56 2011 -0400"
      },
      "committer": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Sat Nov 05 11:05:56 2011 -0400"
      },
      "message": "Merge branch \u0027toddexercises\u0027 of github.com:cloudbuilders/devstack into toddexercises\n"
    },
    {
      "commit": "9a3066f9fd4efae4ec838a673fe1517554e0e531",
      "tree": "e86f8c291b881bcf487c5635c7dec8cda55dae42",
      "parents": [
        "0367cf1585eb7359a6bc741aab06dc3a3750575a"
      ],
      "author": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Sat Nov 05 11:02:34 2011 -0400"
      },
      "committer": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Sat Nov 05 11:02:34 2011 -0400"
      },
      "message": "RUNNING_TIMEOUT \u003d BOOT_TIMEOUT + ACTIVE_TIMEOUT\n"
    },
    {
      "commit": "3e6ec236f01abaf80fe7dc8db73ecbfdf3532e89",
      "tree": "8a44d35eb28aedc1cd2086a476d09f5f835e63ee",
      "parents": [
        "9e9132ddaf77a4b858352e827da29ce214a6848d"
      ],
      "author": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Fri Nov 04 12:23:35 2011 -0400"
      },
      "committer": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Fri Nov 04 12:23:35 2011 -0400"
      },
      "message": "Pull in swift testing from master.\n"
    },
    {
      "commit": "9e9132ddaf77a4b858352e827da29ce214a6848d",
      "tree": "589dc5d737d8c4d6b68a99b50d2e6ba99f756f4e",
      "parents": [
        "2599b3165ad35c9c62b5bfa543c03f2a3aecb4cd"
      ],
      "author": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Fri Nov 04 12:09:54 2011 -0400"
      },
      "committer": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Fri Nov 04 12:09:54 2011 -0400"
      },
      "message": "Exercises: euca bugfix, output cleanup.\n\nDon\u0027t log stderr per-exercise, because stdout is barfy anyway.\nMove the state of skip/pass/fail to the end of the exercise run.\n"
    },
    {
      "commit": "2599b3165ad35c9c62b5bfa543c03f2a3aecb4cd",
      "tree": "5087db7234cb76b7949dac952a5d3a318570348a",
      "parents": [
        "787af01bddbaace8f83c65c273da6a62a9658a06"
      ],
      "author": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Fri Nov 04 10:31:37 2011 -0400"
      },
      "committer": {
        "name": "Todd Willey",
        "email": "xtoddx@gmail.com",
        "time": "Fri Nov 04 10:31:37 2011 -0400"
      },
      "message": "Wrap exercises with master script, with logs, and move common variables.\n"
    },
    {
      "commit": "787af01bddbaace8f83c65c273da6a62a9658a06",
      "tree": "60423bb0e14d06ad466179191bc8ba1838f571d9",
      "parents": [
        "9f1863450e71e19bb8ff42e9a7c182c3f5f67c3d"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Tue Nov 01 16:44:19 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Tue Nov 01 16:44:19 2011 -0700"
      },
      "message": "fix sourcing of openrc\n"
    },
    {
      "commit": "9f1863450e71e19bb8ff42e9a7c182c3f5f67c3d",
      "tree": "527de7ed7aae2f460bbaa17450c14e2a8b4b05f9",
      "parents": [
        "f6705491868494fb3b78139dad23f35cd99f12c7"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Tue Nov 01 16:05:40 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Tue Nov 01 16:05:40 2011 -0700"
      },
      "message": "docs\n"
    },
    {
      "commit": "f6705491868494fb3b78139dad23f35cd99f12c7",
      "tree": "be32345ae99cf7ab29094008e0b7e8b01afc266d",
      "parents": [
        "f0dca55a29048a6183c103e47bee667c5e3a76e3"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Tue Nov 01 16:04:14 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Tue Nov 01 16:04:14 2011 -0700"
      },
      "message": "move from exercise.sh to exercises/..\n"
    }
  ]
}
