)]}'
{
  "log": [
    {
      "commit": "761cff8afb6a8e7f42c5554a90dae72f341bb481",
      "tree": "b6c0cb673bfb6097c9c360545e438f891e5688e2",
      "parents": [
        "154dc4c87653cfe3ea5db93c3292bac5fdb97ba7",
        "2e695a3d88a830b1ef6162ec964699a818d18b4c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 16 11:57:29 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 16 11:57:29 2015 -0600"
      },
      "message": "Merge pull request #361 from jamiehannaford/cloud-dbs\n\n[rfr] Rackspace Cloud Databases and OpenStack Trove services"
    },
    {
      "commit": "2e695a3d88a830b1ef6162ec964699a818d18b4c",
      "tree": "c7079669f17731b27666a5a8133527da70d66342",
      "parents": [
        "75e8cc41c501afb82fa75471dcf7320299fdfbef"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Nov 16 16:36:10 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Nov 16 16:36:10 2015 +0100"
      },
      "message": "use interfaces rather than concrete types\n"
    },
    {
      "commit": "75e8cc41c501afb82fa75471dcf7320299fdfbef",
      "tree": "ce433981bbc9cad73375cbe40e4ee1f5758957b0",
      "parents": [
        "e65ad952b5412894a6afd6b13d1e3a28c87e81de"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Nov 16 14:09:25 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Nov 16 14:09:25 2015 +0100"
      },
      "message": "rename functions\n"
    },
    {
      "commit": "e65ad952b5412894a6afd6b13d1e3a28c87e81de",
      "tree": "1dbddbdc6143a273191f9011372a13d33970fccf",
      "parents": [
        "3c3c7845e265aa8c97093b25109bd605c8b7d027"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Nov 16 14:05:11 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Nov 16 14:05:11 2015 +0100"
      },
      "message": "convert strings to time.Time\n"
    },
    {
      "commit": "e4e8b4b391662d256669b6c0fb01b1c669cf7b4a",
      "tree": "6c5402dcf6479fa76cb6a8439a1d2597a455f4e1",
      "parents": [
        "d471e5750cbf9a858a45b646968869f394077d3a"
      ],
      "author": {
        "name": "Andrew Yongjoon Kong",
        "email": "sstrato.kong@gmail.com",
        "time": "Wed Nov 11 01:47:52 2015 +0900"
      },
      "committer": {
        "name": "Andrew Yongjoon Kong",
        "email": "sstrato.kong@gmail.com",
        "time": "Wed Nov 11 01:47:52 2015 +0900"
      },
      "message": "add floating IP options"
    },
    {
      "commit": "9d6e6a946faa471d4f7cddd8660265bec026558b",
      "tree": "bb42e72e2e40db84cac4b1c29d06871f5961aa62",
      "parents": [
        "63ee53d682169b50b8dfaca88722ba19bd5b17a6"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Oct 31 23:39:22 2015 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Oct 31 23:46:42 2015 +0000"
      },
      "message": "[rfr] Remove imageName and flavorName from Boot From Volume\n\nAs of Liberty, passing imageName and flavorName causes Nova to return\na 400 error reporting that those fields are not allowed to be sent.\n"
    },
    {
      "commit": "d87c7d66ffacfed1d928ad8754ef5bd2e9da0b48",
      "tree": "436fb046d85ed310e4a760185e6a5c5ae5544b37",
      "parents": [
        "b9aa87f377ff30a00b78e967e2b6228863d52212"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 07 14:20:13 2015 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:39 2015 +0200"
      },
      "message": "test fixes\n"
    },
    {
      "commit": "d2b755f4034c418bbb7d6cb0bd59d5d85617978e",
      "tree": "643a7cf958ca201b4ff4947e6255c650ff0c9587",
      "parents": [
        "05665d66b099599dceaba95aee2dd8fd1dc13537"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 07 14:01:57 2015 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:39 2015 +0200"
      },
      "message": "add various fixes\n"
    },
    {
      "commit": "52dbcee6a658b74d6e7bde87517380898513403c",
      "tree": "0b8f88279d7d265cba611d60ada6647b2fd3975f",
      "parents": [
        "80c706777c562a8b4285ec38aab029a5f047e5d0"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Oct 06 16:09:56 2015 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:38 2015 +0200"
      },
      "message": "fix general issues\n"
    },
    {
      "commit": "99eced5e19804f19b330fa383c2341c00494f4b7",
      "tree": "3562a8bd1a74f973533484cff94831707872f930",
      "parents": [
        "42a5c6fb54b494dd3cfb5e2c0c962ac88bd778ee"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Mar 02 15:24:22 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:38 2015 +0200"
      },
      "message": "Finalize Rackspace acceptance tests and fix various things\n"
    },
    {
      "commit": "7d51cf15865a76a1e18784bc40f3f59425ea3c3e",
      "tree": "d810ddfd8255a45fac216d903a15506b5881c886",
      "parents": [
        "257c8dcaf36cafd89b9e5ea86d20158c231257fa"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Feb 25 14:50:06 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:38 2015 +0200"
      },
      "message": "Removing awkward nested maps\n"
    },
    {
      "commit": "257c8dcaf36cafd89b9e5ea86d20158c231257fa",
      "tree": "7c25701a006feadbde81fbbd52508bbfae4b4d4e",
      "parents": [
        "18b45eda7b203c1a02d7031b79a6856f51286d9d"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Feb 25 14:40:22 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:38 2015 +0200"
      },
      "message": "Pre-allocate the slices\n"
    },
    {
      "commit": "8803f83796ff1251313212c2d265e09d1d5cebc4",
      "tree": "f89d901c8ccec5004c85d14245a757d083901b76",
      "parents": [
        "1110840554699cec8f2e88c73e142ff7c704e5eb"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Feb 23 10:44:55 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:38 2015 +0200"
      },
      "message": "Fixing minor issues such as weakly typed decoding\n"
    },
    {
      "commit": "1110840554699cec8f2e88c73e142ff7c704e5eb",
      "tree": "d0945b2dc4cba70147076719ee10a4dabc4b589b",
      "parents": [
        "05d200d420609acff45dccc4d455bf36577281e1"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Feb 23 10:31:41 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:38 2015 +0200"
      },
      "message": "Finalizing most acceptance tests\n"
    },
    {
      "commit": "05d200d420609acff45dccc4d455bf36577281e1",
      "tree": "6b5aac1b7779083b495e11c031954e2913705cd4",
      "parents": [
        "b0d267bad1f07c42cc6e322108fa8a29b7be5968"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri Feb 20 14:49:05 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:38 2015 +0200"
      },
      "message": "First crack at acceptance tests\n"
    },
    {
      "commit": "9793d94a5a28974f492c952ed61f4cc7d013213b",
      "tree": "35bbc3d56359b60aaf8b7921c6be8fab4fef78c1",
      "parents": [
        "4a170281204913b0d7cad7dcfeec06162f542fc9"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Feb 18 15:13:20 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:38 2015 +0200"
      },
      "message": "Adding documentation\n"
    },
    {
      "commit": "4a170281204913b0d7cad7dcfeec06162f542fc9",
      "tree": "e1e0f875946fc1c4e5eb82ed00732eafc86a9d7c",
      "parents": [
        "e635b7ddd4dac3b383fe860f1015e035baceae56"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Feb 18 14:16:57 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:37 2015 +0200"
      },
      "message": "Refactor OS fixtures\n"
    },
    {
      "commit": "d3a78efe7f947f5daf8f272a62e63b3da9605505",
      "tree": "457c9f7c809f8632b8d45d3e42d53dce6ade558a",
      "parents": [
        "a50d135a623a75f951b4651b7419faf4f7e479b1"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Feb 18 12:17:16 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:37 2015 +0200"
      },
      "message": "Refactor to use new handler setup\n"
    },
    {
      "commit": "a50d135a623a75f951b4651b7419faf4f7e479b1",
      "tree": "a461420ef02b58d5f8366057662034a8b2ff3573",
      "parents": [
        "c1c6bf8e1f31138be50b048a420963a535166a97"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Feb 18 11:38:38 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:37 2015 +0200"
      },
      "message": "Refactor to use new client.Request\n"
    },
    {
      "commit": "76e177bbdb2ca545de763e28a9335031630f6323",
      "tree": "4ecf4b6360c66475767fbc43556c5a7bd70031d7",
      "parents": [
        "4ec6afe05992d1410bc289f313c7f6fddd2f5ba8"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Feb 16 16:53:00 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:37 2015 +0200"
      },
      "message": "Add usage field\n"
    },
    {
      "commit": "3aba0b1c78e4be732a6bc0973ef825cada1b2c90",
      "tree": "7c0c881f03b364c4530c60da03dab797f7d23976",
      "parents": [
        "8195446134878d326ea1e10eed01e06506df82b1"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri Feb 13 14:33:39 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "Fixes to imports\n"
    },
    {
      "commit": "5b7acc19837f2ed7af29b4153c31b94fd6f4ddbd",
      "tree": "e015001e8b82ce4f6f1d6672526e8b253fd397e5",
      "parents": [
        "2ca55d82f6086cbc49d451f583607b1547497fe8"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri Feb 13 09:14:25 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "Add support for OS flavors\n"
    },
    {
      "commit": "2ca55d82f6086cbc49d451f583607b1547497fe8",
      "tree": "5343952ed8f88c021e7cf65f491c2db534c88342",
      "parents": [
        "3c1796b5dc13fc2c5352079550a1769b99d29102"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Feb 12 14:21:55 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "Extract out user functionality into its own namespace\n"
    },
    {
      "commit": "af4570f7874a160a0222549d65ab9c985f52c09f",
      "tree": "de2c20ae2296ffbd313c34fb5c17a3d441502170",
      "parents": [
        "27957b2ffb5bd26951149382555573490da18c2b"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Feb 12 13:33:25 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "OpenStack DB users\n"
    },
    {
      "commit": "85f1033864c1c0550e2df435cfca0e96cf801c18",
      "tree": "e3492ec96dbf64ad069504812391c257bb1403a3",
      "parents": [
        "56d0c2e8f96d249025cb056e9617b3521c2730b5"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Feb 12 11:51:37 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "Fix receiver name\n"
    },
    {
      "commit": "56d0c2e8f96d249025cb056e9617b3521c2730b5",
      "tree": "69205769013f1819b0d81718760186164bcfca92",
      "parents": [
        "1943b383dc04f160c1f90f7857673e6078097cd1"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Feb 12 11:50:18 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "Extract DB functionality out\n"
    },
    {
      "commit": "1943b383dc04f160c1f90f7857673e6078097cd1",
      "tree": "f26e91cb8b6f7480851680344747932214702ef8",
      "parents": [
        "cc211470933a47652ba977299234b58791183f20"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Feb 12 11:50:02 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "Add support for OpenStack DBs\n"
    },
    {
      "commit": "219ca59a2f8c96549b2f9441993bcf68e3c0beca",
      "tree": "e236b829d61f4d98d9410d447e133176d26191aa",
      "parents": [
        "a74d425ef0f813f43b83849ffa0c15f284d4ee57"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Feb 10 15:59:05 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "Adding instance actions\n"
    },
    {
      "commit": "a74d425ef0f813f43b83849ffa0c15f284d4ee57",
      "tree": "e91798f6ba9b6c0dc4a5c0e4af33f505a0ec993f",
      "parents": [
        "f77fc10a85db9a72bfe84ca5ca06e4842165b627"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Feb 10 15:35:01 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:36 2015 +0200"
      },
      "message": "Adding isRootEnabled feature\n"
    },
    {
      "commit": "94164fa80c98977e8bda83e569ba04a040aac613",
      "tree": "ff58b5ebb30c4f1ffa736229d8348cedd524a3aa",
      "parents": [
        "1232e042195c2134750f2aa3b867877a6cf6247c"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Feb 10 13:58:45 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:35 2015 +0200"
      },
      "message": "Enable root user\n"
    },
    {
      "commit": "5b16b63aa4fed2b01c067d7b758864ace71662e0",
      "tree": "24b80527199eff5169339de5389f6e2352ec8e36",
      "parents": [
        "39d4ffb8ad9cdc757d37f8000976a2261efc9fa2"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Feb 10 13:36:23 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:35 2015 +0200"
      },
      "message": "Adding more tests and delete fn\n"
    },
    {
      "commit": "821015f4ac472b3960f286cb2c4b96e3f55cdeaf",
      "tree": "d202fbb98a8d9f7930c5a873bea3a727ca570cdc",
      "parents": [
        "90684245d09d4dce8ec493a4c00ca3c4e4c18391"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Feb 10 12:58:36 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:35 2015 +0200"
      },
      "message": "Get instance :rocket:\n"
    },
    {
      "commit": "90684245d09d4dce8ec493a4c00ca3c4e4c18391",
      "tree": "5a61e0c382d8fc54ad7ba0381be4a791d44533f6",
      "parents": [
        "9fdda583fbac4820c089fc0af570936e56c5d28a"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Feb 10 12:46:07 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:35 2015 +0200"
      },
      "message": "List instances\n"
    },
    {
      "commit": "9fdda583fbac4820c089fc0af570936e56c5d28a",
      "tree": "64c1fc03115498925e6eec350b3d56131219da56",
      "parents": [
        "3dbfb2d855e317940c5eda5e363187952f3891f4"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Feb 10 12:15:43 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 14 12:14:35 2015 +0200"
      },
      "message": "Decouple OpenStack implementation from Rackspace provider\n"
    },
    {
      "commit": "7e6b7b9ad9a5fed0bf958a4e217e10fc325e3d9c",
      "tree": "06f84ac728cccf1b1f5a33c50758cec5aaab9d6d",
      "parents": [
        "d86f9582b08d56dc9422e3a5d9f120b117487427"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Wed Sep 30 19:03:08 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Wed Sep 30 19:03:08 2015 -0500"
      },
      "message": "Bug fixes\n"
    },
    {
      "commit": "d86f9582b08d56dc9422e3a5d9f120b117487427",
      "tree": "2336d250d9d81dca2f6ff07176f0f7042864e0f5",
      "parents": [
        "4ad4160232eea34fa4f0744a72063fc494796442",
        "4fcd3b727104c194e84d7e3412899d4d7953c128"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Sep 24 09:14:44 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Sep 24 09:14:44 2015 -0600"
      },
      "message": "Merge pull request #495 from jrperritt/optimize-object-upload\n\n[rfr] don\u0027t copy file contents for etag"
    },
    {
      "commit": "4ad4160232eea34fa4f0744a72063fc494796442",
      "tree": "446eb56a5fa3404d4f9cb0a0818d83fbb29ad3e7",
      "parents": [
        "f92863476c034f851073599c09d90cd61ee95b3d",
        "3de347fbaecca85221e732c76b93abdc0f4a01d3"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 23 14:26:57 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 23 14:26:57 2015 -0600"
      },
      "message": "Merge pull request #486 from pratikmallya/enable_template_environment_parsing\n\n[rfr]Enable template environment parsing"
    },
    {
      "commit": "4fcd3b727104c194e84d7e3412899d4d7953c128",
      "tree": "231b46e558059a510a4b0de11805c5cfa82eb886",
      "parents": [
        "05e31e657c36139ff9640ee9ffff26c0621c9e67"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 23 11:17:23 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 23 11:17:23 2015 -0600"
      },
      "message": "fix parameter name: multiple-manifest -\u003e multipart-manifest\n"
    },
    {
      "commit": "05e31e657c36139ff9640ee9ffff26c0621c9e67",
      "tree": "5122d4f7add927bfc312f7977d4fd9cb6fb8c29b",
      "parents": [
        "f92863476c034f851073599c09d90cd61ee95b3d"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Sep 22 21:00:33 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Sep 22 21:00:33 2015 -0600"
      },
      "message": "don\u0027t copy file contents for etag\n"
    },
    {
      "commit": "3de347fbaecca85221e732c76b93abdc0f4a01d3",
      "tree": "fb0322b926b574481969d876d4f19fcdd0925dc8",
      "parents": [
        "a979f5bb71b1d1429a424b8317ce5c9a48436204"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Tue Sep 22 12:25:59 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Tue Sep 22 13:35:14 2015 -0500"
      },
      "message": "Linting and comments fixes\n"
    },
    {
      "commit": "a979f5bb71b1d1429a424b8317ce5c9a48436204",
      "tree": "5eab0f0fa79316bc33030721e0921c68d70ba8ff",
      "parents": [
        "e3086aec0f5324822cf5e5e53b1f55e3e784da5f"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Tue Sep 22 03:10:55 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Tue Sep 22 13:35:13 2015 -0500"
      },
      "message": "Make parsing methods local\n\nThe parsing methods are used only internally; they must not be\nexposed to users outside the respective packages.\n"
    },
    {
      "commit": "e3086aec0f5324822cf5e5e53b1f55e3e784da5f",
      "tree": "e2b987ca9b34afb9cb39998290b81783b328eab2",
      "parents": [
        "bfc6edab0725c96aae02e806f10217b9af87ba2a"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Mon Sep 21 15:25:16 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Tue Sep 22 13:35:13 2015 -0500"
      },
      "message": "Refactor functions into methods\n\nGetRRFileContents and GetFileContents are better suited as\nmethods of Environment and Template repectively.\n"
    },
    {
      "commit": "bfc6edab0725c96aae02e806f10217b9af87ba2a",
      "tree": "f607792a68f70d00c3cd289f41c6d489bf711026",
      "parents": [
        "469394da1e8a1aeb84f9d23987b0ef7ef3a0e8c1"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Mon Sep 21 15:01:18 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Tue Sep 22 13:35:13 2015 -0500"
      },
      "message": "Improve documentation of functions and methods\n"
    },
    {
      "commit": "5fddb2a5285f9adbecf9ca154b17b32be62d2ca3",
      "tree": "57b8b97250352c64e7bd77cad2eb0aacc1634c4e",
      "parents": [
        "827c03ee8d9e2658d26f749d68425789a05c3586"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Mon Sep 14 14:04:49 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Thu Sep 17 02:48:26 2015 -0500"
      },
      "message": "Add template and environment parsing to gophercloud\n\nOpenstack Heat expects the client to do some parsing client side,\nspecifically for nested templates and environments which refer\nto local files. This patch adds a recursive parser for both the\ntemplate and environment files to gophercloud. The interfaces\nare also changed to make use of the new parsing functionality.\n"
    },
    {
      "commit": "827c03ee8d9e2658d26f749d68425789a05c3586",
      "tree": "ef6e0091e8654f5382d456724a4195edc81c5483",
      "parents": [
        "efd338fb97aeaae22a92fdbaa16117a231a6d284"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Thu Sep 17 00:10:47 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Thu Sep 17 02:48:19 2015 -0500"
      },
      "message": "Fix api interfaces for orchestration resources\n\nSome of the interfaces don\u0027t correspond well to the values\nexpected by the requests and returned by api.\n"
    },
    {
      "commit": "f92863476c034f851073599c09d90cd61ee95b3d",
      "tree": "4216d30b5c91f81ced30a3a95aa262731f13b90e",
      "parents": [
        "9b4df5614cb12712bf35c70d654118b33976871a",
        "1cc1c8473db49870406f02cccb33378f668d4a30"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 16 10:37:26 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 16 10:37:26 2015 -0600"
      },
      "message": "Merge pull request #468 from DSpeichert/role_assignments\n\n[rfr] Keystone Identity /v3/role_assignments"
    },
    {
      "commit": "9b4df5614cb12712bf35c70d654118b33976871a",
      "tree": "6428a8d63037ac616dacb8157721ef3478cbb56a",
      "parents": [
        "8b1799a8a926b8656e9d56ae253dd82c8a2a7581",
        "07400f330e883cdd3605cdbc8dd7e81d31dafef9"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 16 10:26:51 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 16 10:26:51 2015 -0600"
      },
      "message": "Merge pull request #476 from spothanis/reorg\n\n[rfr] Reorganized volumes and volumeattach to move fixtures to subpackage"
    },
    {
      "commit": "1cc1c8473db49870406f02cccb33378f668d4a30",
      "tree": "2a0e6891476edce926d627ab9e3d2dc1cf1517fc",
      "parents": [
        "44e3b54ff5012f204a6967c9785241f862788dba"
      ],
      "author": {
        "name": "Daniel Speichert",
        "email": "daniel_speichert@cable.comcast.com",
        "time": "Tue Sep 15 23:19:13 2015 -0400"
      },
      "committer": {
        "name": "Daniel Speichert",
        "email": "daniel_speichert@cable.comcast.com",
        "time": "Tue Sep 15 23:19:13 2015 -0400"
      },
      "message": "code styling, paging fix\n"
    },
    {
      "commit": "8b1799a8a926b8656e9d56ae253dd82c8a2a7581",
      "tree": "e0d22d1d2a4703fc0fbeca0483b813c2adb72a0f",
      "parents": [
        "efd338fb97aeaae22a92fdbaa16117a231a6d284",
        "ee675fd0ce8c40a1077813b0d1f0df0bd92b6e03"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 19:36:46 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 19:36:46 2015 -0600"
      },
      "message": "Merge pull request #484 from pratikmallya/fix_gc_client\n\n[rfr]Make client return error on JSON decoding error"
    },
    {
      "commit": "ee675fd0ce8c40a1077813b0d1f0df0bd92b6e03",
      "tree": "a66f8e3ff9728b6fd1e9169e90cc1f93f1733525",
      "parents": [
        "53c3b4c4b319cbc849532332de566e401597a753"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Mon Sep 14 14:07:30 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Mon Sep 14 14:07:30 2015 -0500"
      },
      "message": "Make client return error on JSON decoding error\n\nIf the response is not valid JSON, the request simply returns an\nempty body. If the user is expecting the result to be JSON and its\nnot, we should signal that an error has occured.\n\nThis patch also includes fixes to tests that fail due to the\nerror that bubbles up.\n"
    },
    {
      "commit": "efd338fb97aeaae22a92fdbaa16117a231a6d284",
      "tree": "8a5da2d67e17bbd8a04727b22f2642e6a23cbd60",
      "parents": [
        "eb51d26036639b11515847b82df8b99a1218fe5e",
        "e1b6cbb857ac72df735dbe6928b14a2264441cda"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 10:28:57 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 10:28:57 2015 -0500"
      },
      "message": "Merge pull request #478 from pratikmallya/fix_orchestration_time\n\n[rfr]Fix time format used for cloud orchestration"
    },
    {
      "commit": "eb51d26036639b11515847b82df8b99a1218fe5e",
      "tree": "26b144c66df3539a635cfe4fc2cb029f1db212d7",
      "parents": [
        "b2653a57876bc5b5fd2613dfedd095537bfa2d15",
        "fa1b3085e1dd2f7577cc67708e5b6ea61b806542"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 10:07:36 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 10:07:36 2015 -0500"
      },
      "message": "Merge pull request #480 from timbyr/HostRoute\n\n[rfr]Allow DNSNameservers and HostRoutes to be removed"
    },
    {
      "commit": "b2653a57876bc5b5fd2613dfedd095537bfa2d15",
      "tree": "d37b9e5aca9d846e32aaff224193957c813d144f",
      "parents": [
        "075bf425c676ace13cd2158b5dd3c5f7c7a09b3d",
        "8e6b4c712f965a24fdeb0c7a75cc4154f4c4f4ed"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 09:57:23 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 09:57:23 2015 -0500"
      },
      "message": "Merge pull request #474 from feiskyer/securitygroups\n\n[rfr] Allow setting tenantID when creating security-groups"
    },
    {
      "commit": "075bf425c676ace13cd2158b5dd3c5f7c7a09b3d",
      "tree": "53b74b04264860e9cd270fd54d44617422f00526",
      "parents": [
        "53c3b4c4b319cbc849532332de566e401597a753",
        "c1afb433ad792ae029ba3fc9b14260544055466b"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 09:49:56 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 14 09:49:56 2015 -0500"
      },
      "message": "Merge pull request #479 from timbyr/master\n\n[rfr] Added mapstructure tags for HostRoute parsing "
    },
    {
      "commit": "fa1b3085e1dd2f7577cc67708e5b6ea61b806542",
      "tree": "16b7e153467773fdd5f73105e8cde85ce37b3dea",
      "parents": [
        "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6"
      ],
      "author": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Thu Sep 10 17:08:44 2015 +0100"
      },
      "committer": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Thu Sep 10 17:08:44 2015 +0100"
      },
      "message": "Allow DNSNameservers and HostRoutes to be removed\n\nCheck against nil instead of len \u003d\u003d 0 when updating DNSNameservers and\nHostRoutes. This allows the removal of already configured properties.\n"
    },
    {
      "commit": "c1afb433ad792ae029ba3fc9b14260544055466b",
      "tree": "266eba065f7c46a7a8387ea3f85368623fd0d6c4",
      "parents": [
        "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6"
      ],
      "author": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Thu Sep 10 13:43:12 2015 +0100"
      },
      "committer": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Thu Sep 10 13:43:12 2015 +0100"
      },
      "message": "Added mapstructure tags for HostRoute parsing\n\nmapstructure tags are to HostRoute so DestinationCIDR is correctly\nmapped\n"
    },
    {
      "commit": "e1b6cbb857ac72df735dbe6928b14a2264441cda",
      "tree": "3cf80e11f8da399508cbefb8e13f709760c9eeef",
      "parents": [
        "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Wed Sep 09 14:24:14 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Wed Sep 09 14:46:41 2015 -0500"
      },
      "message": "Fix time format used for cloud orchestration\n\nThe format used to represent time is slightly different than RFC\nstandard and the one present in golang time lib.\n"
    },
    {
      "commit": "07400f330e883cdd3605cdbc8dd7e81d31dafef9",
      "tree": "e8f92d6c66638db8fcec171c7c56e32a0422bb5f",
      "parents": [
        "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6"
      ],
      "author": {
        "name": "Sreekanth Pothanis",
        "email": "spothanis@ebay.com",
        "time": "Tue Sep 08 00:26:14 2015 -0700"
      },
      "committer": {
        "name": "Sreekanth Pothanis",
        "email": "spothanis@ebay.com",
        "time": "Tue Sep 08 00:26:14 2015 -0700"
      },
      "message": "Reorganized volumes and volumeattach to move fixtures to subpackage\n"
    },
    {
      "commit": "8e6b4c712f965a24fdeb0c7a75cc4154f4c4f4ed",
      "tree": "9f46bac31e6544f4018de9992b67539474fde3aa",
      "parents": [
        "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6"
      ],
      "author": {
        "name": "feisky",
        "email": "feiskyer@gmail.com",
        "time": "Sun Sep 06 10:01:09 2015 +0800"
      },
      "committer": {
        "name": "feisky",
        "email": "feiskyer@gmail.com",
        "time": "Sun Sep 06 10:01:09 2015 +0800"
      },
      "message": "Allow setting tenantID when creating security-groups\n"
    },
    {
      "commit": "44e3b54ff5012f204a6967c9785241f862788dba",
      "tree": "e0ea774b572195dfdcefdacde58cb675a28f3397",
      "parents": [
        "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6"
      ],
      "author": {
        "name": "Daniel Speichert",
        "email": "daniel_speichert@cable.comcast.com",
        "time": "Wed Aug 26 20:55:58 2015 -0400"
      },
      "committer": {
        "name": "Daniel Speichert",
        "email": "daniel_speichert@cable.comcast.com",
        "time": "Wed Aug 26 20:55:58 2015 -0400"
      },
      "message": "Keystone Identity /v3/role_assignments\n"
    },
    {
      "commit": "5448f589802c980f6eec2bbeb60ad6407accb4c3",
      "tree": "b777a62ebaf5204448e1bcd49234a451a263def6",
      "parents": [
        "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Fri Aug 21 12:21:09 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Fri Aug 21 12:27:49 2015 -0500"
      },
      "message": "Fix Pagination for list StackResources\n\nThe api does not support marker based pagination and this breaks\nthe clients which loop infinitely over list resource calls.\n"
    },
    {
      "commit": "9ad9243e96dc84ba08f620f42b8735cf8caa0486",
      "tree": "3d1ece94adad3823cb7d8412506f6a070ac036bc",
      "parents": [
        "433cc79ab806080e4f84ed2e688230565476742c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 19:10:30 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 19:10:30 2015 -0600"
      },
      "message": "return etag error if checksum and etag aren\u0027t equal\n"
    },
    {
      "commit": "433cc79ab806080e4f84ed2e688230565476742c",
      "tree": "f40b4c33a87127a001bb2292b8ca3fd1dbafd5c4",
      "parents": [
        "85eff9a39ad3e2c210dcc4824e8a56fb66f6ef86"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 18:53:12 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 18:53:12 2015 -0600"
      },
      "message": "one more \u0027object create\u0027 bug fix\n"
    },
    {
      "commit": "ca68c9bd7c9b2f4977c9340ff94d5e4f80ff3f62",
      "tree": "d0be0d32831bb2c040ebfab24dc59501474220f7",
      "parents": [
        "24c6ec47a5042cabc915eeec2cec8a00b7fa91fb"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 16:21:55 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 16:21:55 2015 -0600"
      },
      "message": "check for etag header only if resp is not nil\n"
    },
    {
      "commit": "d200ea3eacc9ca9680fe645e5c5d2fdcdcae3731",
      "tree": "5d3b28e0349a3a223f5639433c3369ea0975933b",
      "parents": [
        "e6e8c65c028d07087b0c2fa57515584726d6a6fa"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 12:23:28 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 12:23:28 2015 -0600"
      },
      "message": "import path fixes\n"
    },
    {
      "commit": "e6e8c65c028d07087b0c2fa57515584726d6a6fa",
      "tree": "83f4b480860bd0bd41425a87c53ee37ee48cfd44",
      "parents": [
        "046c88298dc194b8b1c28c3461e482ed05f95cf9"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 12:17:01 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 12:17:01 2015 -0600"
      },
      "message": "copy content to hash while writing to new buffer\n"
    },
    {
      "commit": "046c88298dc194b8b1c28c3461e482ed05f95cf9",
      "tree": "3ca322a0c62e7a0d306342ed12550ea5f3b87485",
      "parents": [
        "56d51e926c60df3e77f78a93650c4af027118f82"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 12:02:28 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 12:02:28 2015 -0600"
      },
      "message": "copy reader before making hash\n"
    },
    {
      "commit": "56d51e926c60df3e77f78a93650c4af027118f82",
      "tree": "c83124efa224f6f740d0f113d0be2c752870e463",
      "parents": [
        "f4ff727ff4642c34db2d9b38a563ce07f482247c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 11:50:53 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 11:50:53 2015 -0600"
      },
      "message": "add etag header to request object\n"
    },
    {
      "commit": "f4ff727ff4642c34db2d9b38a563ce07f482247c",
      "tree": "194846112fd9786242492e3e8757f65d677b5418",
      "parents": [
        "c2fa2899678785132c316dd5a06c77671a70d22a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 11:42:48 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 11:42:48 2015 -0600"
      },
      "message": "debug lines\n"
    },
    {
      "commit": "1f218c8cf1cd9622a15474824a442c3b396ee926",
      "tree": "10b80e6e5d18b8bf7465020a05efbef453e7a0f7",
      "parents": [
        "475668ac5e8c6da13f0323230ac7d6b24c8b0ebb"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jul 29 08:54:18 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jul 29 08:54:18 2015 -0600"
      },
      "message": "rename var: authopts.Token -\u003e authopts.TokenID\n"
    },
    {
      "commit": "475668ac5e8c6da13f0323230ac7d6b24c8b0ebb",
      "tree": "69e0783d35d870fd03d31247e5d8c6f97d00fbe1",
      "parents": [
        "95b74c8b4e9c0491b89dfb0b317ec1175de071b9"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jul 28 21:43:37 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jul 28 21:43:37 2015 -0600"
      },
      "message": "fix token unit test\n"
    },
    {
      "commit": "95b74c8b4e9c0491b89dfb0b317ec1175de071b9",
      "tree": "483a0556d403e22c0042edae03819e1d8bbb8914",
      "parents": [
        "f64c3492701a2a79dd3a13d295ddd0f551204ebb"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jul 28 20:39:27 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jul 28 20:39:27 2015 -0600"
      },
      "message": "allow token/tenantID authentication\n"
    },
    {
      "commit": "f64c3492701a2a79dd3a13d295ddd0f551204ebb",
      "tree": "c6ff6d8eb0d586dbbe4a9316bf1be539469ff448",
      "parents": [
        "218a99835ee5abae1e846c2cb95497c993eb6db3",
        "99a0613bf7fb3657972c988585d432795d49eb49"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 24 10:16:01 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 24 10:16:01 2015 -0500"
      },
      "message": "Merge pull request #381 from jtopjian/os-networks\n\nos-networks extension"
    },
    {
      "commit": "9342e52622eddc15b4d99cea5c5b8b73a20c21f4",
      "tree": "696d27376a9214dd90c9ed733104280184aecf46",
      "parents": [
        "e83aa011e019917c7bd951444d61c42431b4d21d"
      ],
      "author": {
        "name": "Daniel Speichert",
        "email": "daniel_speichert@cable.comcast.com",
        "time": "Fri Jun 05 10:31:52 2015 -0400"
      },
      "committer": {
        "name": "Daniel Speichert",
        "email": "daniel_speichert@cable.comcast.com",
        "time": "Wed Jul 22 16:19:16 2015 -0400"
      },
      "message": "Add all_tenants to nova servers list\n"
    },
    {
      "commit": "50fc97deca1213738ae2e8d23a0195c92d109f57",
      "tree": "16c987225e2f4a14a992f39af268ada526b58104",
      "parents": [
        "52d30766f193cab00618eb5a4ccacc2e75df948d"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Jul 16 12:29:01 2015 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Jul 16 12:29:01 2015 +0200"
      },
      "message": "make the comment a bit more relevant\n"
    },
    {
      "commit": "52d30766f193cab00618eb5a4ccacc2e75df948d",
      "tree": "8d9e8bc3fbc7e466c91639712e67c657557552e7",
      "parents": [
        "b9396a1d6805d428b033ea59e86d0247ae10f21a"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Jul 16 10:07:05 2015 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Jul 16 10:07:05 2015 +0200"
      },
      "message": "add explanatory comment\n"
    },
    {
      "commit": "08096234182b4c2b4d319ae26dc40ebb81aa4bc7",
      "tree": "a5d54a5072a4a55ebe0a18e33435c0022584d8de",
      "parents": [
        "f956c6c6c0c55844eff4b153b5071ef6e3ab4ab4"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Jul 13 12:47:28 2015 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Jul 13 12:47:28 2015 +0200"
      },
      "message": "Add MD5 checksum check to file uploads\n"
    },
    {
      "commit": "99a0613bf7fb3657972c988585d432795d49eb49",
      "tree": "280beebced37200e25b40782930721732841fcef",
      "parents": [
        "f956c6c6c0c55844eff4b153b5071ef6e3ab4ab4"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun Feb 22 05:06:25 2015 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Fri Jul 10 03:04:29 2015 +0000"
      },
      "message": "os-networks extension\n\nThis commit adds the os-networks extention. This can be used to view\ndetails about the nova-network-based networks that a tenant has access\nto.\n"
    },
    {
      "commit": "24c2083ca82e89f341491669ab8d6d9a0ebc1856",
      "tree": "0cdde386415e50118fbd6c7cb2f3c86bc0c0e2f1",
      "parents": [
        "d6b600407bab798547d0194f21aab91bd560880a"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jun 30 09:57:00 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jun 30 09:57:00 2015 -0600"
      },
      "message": "IDFromName functions\n"
    },
    {
      "commit": "5d1d8354d69fe8b3938db7d147f01bf5af1375e1",
      "tree": "b59a69df89ff5414f30457ff78aedc41a5c2b057",
      "parents": [
        "14f716bde917104bfc4326cc0ec8ea78c54322d0"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:08:09 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:08:09 2015 -0600"
      },
      "message": "fix typo in comment"
    },
    {
      "commit": "14f716bde917104bfc4326cc0ec8ea78c54322d0",
      "tree": "d26e774ffde3fe9c151945a253dd47a1f50c685b",
      "parents": [
        "376d4f756f26bc2d85a03a495fcf6e7e4d91abaf"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:07:52 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:07:52 2015 -0600"
      },
      "message": "fix typo in comment"
    },
    {
      "commit": "376d4f756f26bc2d85a03a495fcf6e7e4d91abaf",
      "tree": "3c8404f9dc9191aa13d17ac777dd7f91be08d956",
      "parents": [
        "0ba79da787e1813aa798928e8e53d82e61e782a2"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:07:34 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:07:34 2015 -0600"
      },
      "message": "fix typo in comment"
    },
    {
      "commit": "0ba79da787e1813aa798928e8e53d82e61e782a2",
      "tree": "f19d8422f5a7383a4aba9fba95ee9878117df655",
      "parents": [
        "5c1d7336141b31fe2353aa1fb9256e8255ef28ae"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:07:18 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:07:18 2015 -0600"
      },
      "message": "fix typo in comment"
    },
    {
      "commit": "5c1d7336141b31fe2353aa1fb9256e8255ef28ae",
      "tree": "22b5b821898767bfb39e9cca5ba8f1033ed4edd1",
      "parents": [
        "00399b4b18cfe53277b66cdf896fae9c671c6534"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:01:39 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:01:39 2015 -0600"
      },
      "message": "fix resource name in error msgs"
    },
    {
      "commit": "00399b4b18cfe53277b66cdf896fae9c671c6534",
      "tree": "d19eaddfa68e33f78469a41822cfbedad9364daa",
      "parents": [
        "dbec8c063f741a9de0da76ff7b1f25ad2ca0bfc9"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:00:45 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:00:45 2015 -0600"
      },
      "message": "fix resource name in error msgs"
    },
    {
      "commit": "dbec8c063f741a9de0da76ff7b1f25ad2ca0bfc9",
      "tree": "5cf1ab31c674f1d33c587be0f18727134dc92dda",
      "parents": [
        "7ab1328f3a8af724d8cfe424c3418bec84bd0b61"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 18:59:43 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 18:59:43 2015 -0600"
      },
      "message": "fix resource name in error msgs"
    },
    {
      "commit": "7ab1328f3a8af724d8cfe424c3418bec84bd0b61",
      "tree": "c7c55b0785fa37f9e38452d30cd592a9c952b776",
      "parents": [
        "e52d480bf91eca5a6ff7f2e1ae46839eae3c8ff3"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 18:47:19 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 18:47:19 2015 -0600"
      },
      "message": "IDFromName for networking resources\n"
    },
    {
      "commit": "6b0a8835f2c650ab147e658d7e6dbc9cc5a03d5c",
      "tree": "df67fcaeb70129d21977e8270415a84a19e90dbd",
      "parents": [
        "fab1f3d270f58c199398e892c2c9c234fe2147d8"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jun 04 14:32:30 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jun 04 14:32:30 2015 -0600"
      },
      "message": "IDFromName for servers\n"
    },
    {
      "commit": "4267c944ff18537b89b358303ba6a2b82f787ecb",
      "tree": "9d4465bd02dfd07ccc828f35ac39e61f43b14dfb",
      "parents": [
        "ad5f1cb6a9b514f83a3c00c0512eed7231a89b3f"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri May 22 10:59:35 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri May 22 10:59:35 2015 -0600"
      },
      "message": "fix formatting in bfv"
    },
    {
      "commit": "ad5f1cb6a9b514f83a3c00c0512eed7231a89b3f",
      "tree": "7c0834f236b7c3749f655a553c4da2189ef700a4",
      "parents": [
        "13e171c4aedda11ba89d2fa383c2048d02a0ea4f"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed May 20 10:38:13 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed May 20 10:38:13 2015 -0600"
      },
      "message": "create server helper fields\n"
    },
    {
      "commit": "a2c88b2489af97a4d91044c89124c03c28fd7872",
      "tree": "1321f1e903cc2babee7f578faf2c28a2a4d5a09a",
      "parents": [
        "9ad4137a6b3e786b9c1e161b8d354b44482ab6d7"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 18 11:23:30 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 18 11:23:30 2015 -0600"
      },
      "message": "fix object storage nil pointer deref error\n"
    },
    {
      "commit": "9ad4137a6b3e786b9c1e161b8d354b44482ab6d7",
      "tree": "4d49df1486ee4b686af18df5ed07b5a93aecc159",
      "parents": [
        "f0815a0e314ce696b0bb4e464bf81b446c7a06fe",
        "4d6c6e7448c7ad1fcad4a47163d859effda8751c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed May 06 10:16:05 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed May 06 10:16:05 2015 -0600"
      },
      "message": "Merge pull request #413 from doubledutch/personality\n\nServer personality"
    },
    {
      "commit": "4d6c6e7448c7ad1fcad4a47163d859effda8751c",
      "tree": "90e1cec177166c343a54c7d51a789e9739e55373",
      "parents": [
        "60c1e89989c02563a8ec2d154897c9f2888e6893"
      ],
      "author": {
        "name": "Kevin Pike",
        "email": "kpike@doubledutch.me",
        "time": "Tue May 05 17:09:27 2015 -0700"
      },
      "committer": {
        "name": "Kevin Pike",
        "email": "kpike@doubledutch.me",
        "time": "Tue May 05 17:09:27 2015 -0700"
      },
      "message": "remove duplicate test from bad merge\n"
    },
    {
      "commit": "7d6989cff7d273d5baa9ce2bb995e5df4f332545",
      "tree": "6870e275d5f278d852a347f6cc4070a98f8b75c7",
      "parents": [
        "eb4e44cfe13264adbd924c0fbbbdfe802ed68c5f"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue May 05 20:38:08 2015 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue May 05 20:38:08 2015 +0000"
      },
      "message": "Allows for more complex scheduling queries.\n"
    },
    {
      "commit": "9748b7b31b1ffaf151585efddc604b4c2e568d55",
      "tree": "173e7efc368ac74efd2c3df2b32491755307942a",
      "parents": [
        "9546f89ca628fa47d34f8f731f38b22fdb988def"
      ],
      "author": {
        "name": "Kevin Pike",
        "email": "kpike@doubledutch.me",
        "time": "Tue May 05 07:34:07 2015 -0700"
      },
      "committer": {
        "name": "Kevin Pike",
        "email": "kpike@doubledutch.me",
        "time": "Tue May 05 07:34:07 2015 -0700"
      },
      "message": "improves File documentation\n"
    },
    {
      "commit": "9546f89ca628fa47d34f8f731f38b22fdb988def",
      "tree": "663da461c233f136d8de6a05f02099b62d1fd0bc",
      "parents": [
        "b11111a28070df34a6ee5d6cc7a885b32705840e",
        "25d4569e391add43e08c9fa745ea04d375c1596b"
      ],
      "author": {
        "name": "Kevin Pike",
        "email": "kpike@doubledutch.me",
        "time": "Tue May 05 07:33:26 2015 -0700"
      },
      "committer": {
        "name": "Kevin Pike",
        "email": "kpike@doubledutch.me",
        "time": "Tue May 05 07:33:26 2015 -0700"
      },
      "message": "Merge branch \u0027personality\u0027 of https://github.com/doubledutch/gophercloud into personality\n\nConflicts:\n\topenstack/compute/v2/servers/requests_test.go\n"
    },
    {
      "commit": "eb4e44cfe13264adbd924c0fbbbdfe802ed68c5f",
      "tree": "fe04dd57ba9b439f446af46d2f9ccf3a071d8a7c",
      "parents": [
        "a3ee2e8d4660909264d6182aef1b9da39e00f99f",
        "a69b347c1f44f04da9014a6acc623fe62c557bf2"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 04 13:50:54 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 04 13:50:54 2015 -0600"
      },
      "message": "Merge pull request #425 from b0d0nne11/brendan/fix-swift-upload-retries\n\nUse a ReadSeeker for upload content and rewind the offset on retries"
    },
    {
      "commit": "27a624346bcb6dbdb05188699446b555c6918224",
      "tree": "ddd4d790587b816b4d5a898b5cc739650756a6da",
      "parents": [
        "f3ced00552c1c7d4a6184500af9062cfb4ff4463"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Apr 18 01:48:50 2015 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon May 04 06:06:41 2015 +0000"
      },
      "message": "Scheduler Hints\n\nThis commit adds the ability to specify scheduling hints for the\ninstances. Scheduling hints alter the placement of instances in\nthe OpenStack cloud by using a variety of attributes.\n"
    },
    {
      "commit": "a69b347c1f44f04da9014a6acc623fe62c557bf2",
      "tree": "4f5293f8061465269c5616a0fe7a37ae004ddb6d",
      "parents": [
        "f3ced00552c1c7d4a6184500af9062cfb4ff4463"
      ],
      "author": {
        "name": "Brendan ODonnell",
        "email": "brendan.james.odonnell@gmail.com",
        "time": "Mon Apr 27 13:59:41 2015 -0500"
      },
      "committer": {
        "name": "Brendan ODonnell",
        "email": "brendan.james.odonnell@gmail.com",
        "time": "Tue Apr 28 10:01:24 2015 -0500"
      },
      "message": "Use a ReadSeeker for upload content and rewind the offset on retries\n"
    },
    {
      "commit": "25d4569e391add43e08c9fa745ea04d375c1596b",
      "tree": "3ea6751a2cde5dce426336fb274b5199731aaa52",
      "parents": [
        "f3ced00552c1c7d4a6184500af9062cfb4ff4463",
        "a2bfaeafd64f3f6079970a8277a90917eaa84a6c"
      ],
      "author": {
        "name": "Kevin Pike",
        "email": "kpike@doubledutch.me",
        "time": "Thu Apr 23 17:20:09 2015 -0700"
      },
      "committer": {
        "name": "Kevin Pike",
        "email": "kpike@doubledutch.me",
        "time": "Thu Apr 23 17:20:09 2015 -0700"
      },
      "message": "Merge branch \u0027personality\u0027 of github.com:doubledutch/gophercloud\n\nConflicts:\n\topenstack/compute/v2/servers/requests_test.go\n"
    }
  ],
  "next": "b11111a28070df34a6ee5d6cc7a885b32705840e"
}
