)]}'
{
  "log": [
    {
      "commit": "0454360ed377a9549a69d4791b09a8f1db380196",
      "tree": "011519b04a9d33188ed3c2045943803d08339819",
      "parents": [
        "b7640894ccbbec445a4f6778e76a2d4650597497"
      ],
      "author": {
        "name": "hzlouchao",
        "email": "hzlouchao@corp.netease.com",
        "time": "Mon Nov 30 18:44:15 2015 +0800"
      },
      "committer": {
        "name": "hzlouchao",
        "email": "hzlouchao@corp.netease.com",
        "time": "Mon Nov 30 18:44:15 2015 +0800"
      },
      "message": "add extract user method from get token\u0027s response include the unit and acceptance tests\n"
    },
    {
      "commit": "b7640894ccbbec445a4f6778e76a2d4650597497",
      "tree": "b8ee79db40b03b2a05986dad7bf638fa4aa0be86",
      "parents": [
        "f6e29268f62e3e926a6542a8fdcda9fdf3279252"
      ],
      "author": {
        "name": "hzlouchao",
        "email": "hzlouchao@corp.netease.com",
        "time": "Wed Nov 04 21:37:20 2015 +0800"
      },
      "committer": {
        "name": "hzlouchao",
        "email": "hzlouchao@corp.netease.com",
        "time": "Wed Nov 04 21:37:20 2015 +0800"
      },
      "message": "modify according jrperritt\u0027s suggestion\n"
    },
    {
      "commit": "f6e29268f62e3e926a6542a8fdcda9fdf3279252",
      "tree": "14d48080c72d783a1ee793749da69ae61df9ec20",
      "parents": [
        "63ee53d682169b50b8dfaca88722ba19bd5b17a6"
      ],
      "author": {
        "name": "hzlouchao",
        "email": "hzlouchao@corp.netease.com",
        "time": "Tue Oct 27 12:51:08 2015 +0800"
      },
      "committer": {
        "name": "hzlouchao",
        "email": "hzlouchao@corp.netease.com",
        "time": "Tue Oct 27 12:51:08 2015 +0800"
      },
      "message": "add validate user\u0027s token method for v2 and bug fix for reauth\n"
    },
    {
      "commit": "63ee53d682169b50b8dfaca88722ba19bd5b17a6",
      "tree": "6814503565dc90ad9cea28d1a545cbc162b68a6b",
      "parents": [
        "dc139e8a4612310304c1c71aa2b07d94ab7bdeaf",
        "98b167102a6d99f636fd2c2107e20bf42655c803"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Oct 22 09:41:59 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Oct 22 09:41:59 2015 -0500"
      },
      "message": "Merge pull request #506 from rackspace/rgbkrk-remove-tip\n\nRemove tip"
    },
    {
      "commit": "98b167102a6d99f636fd2c2107e20bf42655c803",
      "tree": "6814503565dc90ad9cea28d1a545cbc162b68a6b",
      "parents": [
        "dc139e8a4612310304c1c71aa2b07d94ab7bdeaf"
      ],
      "author": {
        "name": "Kyle Kelley",
        "email": "rgbkrk@gmail.com",
        "time": "Wed Oct 21 21:58:35 2015 -0500"
      },
      "committer": {
        "name": "Kyle Kelley",
        "email": "rgbkrk@gmail.com",
        "time": "Wed Oct 21 21:58:35 2015 -0500"
      },
      "message": "Remove tip\n\nMany failed builds, not really helpful for PRs right now."
    },
    {
      "commit": "dc139e8a4612310304c1c71aa2b07d94ab7bdeaf",
      "tree": "9a06d5e291585e190ecb03212c4796178a748c81",
      "parents": [
        "8d032cb1e835a0018269de3d6b53bb24fc77a8c0",
        "a979be9c5ec2eedeba76f064e53ed6e54168b256"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Oct 21 10:30:48 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Oct 21 10:30:48 2015 -0500"
      },
      "message": "Merge pull request #505 from fredipevcin/close-unauth-connection\n\nReauth closes old unauthorized connection"
    },
    {
      "commit": "a979be9c5ec2eedeba76f064e53ed6e54168b256",
      "tree": "9a06d5e291585e190ecb03212c4796178a748c81",
      "parents": [
        "8d032cb1e835a0018269de3d6b53bb24fc77a8c0"
      ],
      "author": {
        "name": "Fredi Pevcin",
        "email": "fredipevcin@users.noreply.github.com",
        "time": "Tue Oct 20 09:13:29 2015 +0200"
      },
      "committer": {
        "name": "Fredi Pevcin",
        "email": "fredipevcin@users.noreply.github.com",
        "time": "Tue Oct 20 09:13:29 2015 +0200"
      },
      "message": "Reauth didn\u0027t close old connection\n\nwhich cause file descriptor leaks"
    },
    {
      "commit": "8d032cb1e835a0018269de3d6b53bb24fc77a8c0",
      "tree": "a01449981991bdc4a208363a122ecd4cacb7f19b",
      "parents": [
        "d783aa72ca0531c6d07f76c84fc73083a5e8af7f",
        "430261f77e2c7e521b31bd9187ffff7f0800d70d"
      ],
      "author": {
        "name": "Kyle Kelley",
        "email": "rgbkrk@gmail.com",
        "time": "Tue Oct 13 01:01:50 2015 -0500"
      },
      "committer": {
        "name": "Kyle Kelley",
        "email": "rgbkrk@gmail.com",
        "time": "Tue Oct 13 01:01:50 2015 -0500"
      },
      "message": "Merge pull request #500 from rackspace/everett-toews-patch-1\n\nan OpenStack SDK for Go"
    },
    {
      "commit": "430261f77e2c7e521b31bd9187ffff7f0800d70d",
      "tree": "a01449981991bdc4a208363a122ecd4cacb7f19b",
      "parents": [
        "d783aa72ca0531c6d07f76c84fc73083a5e8af7f"
      ],
      "author": {
        "name": "Everett Toews",
        "email": "everett.toews@gmail.com",
        "time": "Mon Oct 12 10:11:55 2015 -0500"
      },
      "committer": {
        "name": "Everett Toews",
        "email": "everett.toews@gmail.com",
        "time": "Mon Oct 12 10:11:55 2015 -0500"
      },
      "message": "an OpenStack SDK for Go"
    },
    {
      "commit": "d783aa72ca0531c6d07f76c84fc73083a5e8af7f",
      "tree": "06f84ac728cccf1b1f5a33c50758cec5aaab9d6d",
      "parents": [
        "d86f9582b08d56dc9422e3a5d9f120b117487427",
        "7e6b7b9ad9a5fed0bf958a4e217e10fc325e3d9c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 30 18:31:19 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 30 18:31:19 2015 -0600"
      },
      "message": "Merge pull request #497 from pratikmallya/bug_fix\n\nBug fixes"
    },
    {
      "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": "469394da1e8a1aeb84f9d23987b0ef7ef3a0e8c1",
      "tree": "6a88b99a73f121330e6ffb9e4d0ae559fd820e16",
      "parents": [
        "f7fdc2f64f5542632dbbd292caf8763db5237588"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Mon Sep 21 14:09:40 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Tue Sep 22 13:35:13 2015 -0500"
      },
      "message": "Update .travis to use v1.5 for go\n"
    },
    {
      "commit": "f7fdc2f64f5542632dbbd292caf8763db5237588",
      "tree": "99f7e59fd058d6e2bf5e14b980a24165beee92f8",
      "parents": [
        "5fddb2a5285f9adbecf9ca154b17b32be62d2ca3"
      ],
      "author": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Thu Sep 17 15:19:00 2015 -0500"
      },
      "committer": {
        "name": "Pratik Mallya",
        "email": "pratik.mallya@gmail.com",
        "time": "Tue Sep 22 13:34:30 2015 -0500"
      },
      "message": "Add acceptance tests for orchestration changes\n\nAcceptance tests for added interfaces. Note that the input of the\nvalidation has changed form map to string.\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": "53c3b4c4b319cbc849532332de566e401597a753",
      "tree": "b777a62ebaf5204448e1bcd49234a451a263def6",
      "parents": [
        "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6",
        "5448f589802c980f6eec2bbeb60ad6407accb4c3"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Sep 13 20:52:22 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Sep 13 20:52:22 2015 -0500"
      },
      "message": "Merge pull request #466 from pratikmallya/fix_stackresources_pagination\n\nFix Pagination for list StackResources"
    },
    {
      "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": "1d8b6f1e17ae0fa96301f1b4b815f7d7ff0a63f6",
      "tree": "34c6557bbaf50a7c6c976e26f9813eac21ccb366",
      "parents": [
        "efb1971cbd1d39f6fc762a86cccccfad387019e6"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Aug 14 12:17:09 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Aug 14 12:17:09 2015 -0600"
      },
      "message": "update contributing guide to not reference release 1.0.1"
    },
    {
      "commit": "efb1971cbd1d39f6fc762a86cccccfad387019e6",
      "tree": "665175bd555035f6b3f2c634e248bd7124a09009",
      "parents": [
        "6a4dac02d91e11a3e95e595c2d9c68a069ac7f8c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sat Aug 01 23:13:49 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sat Aug 01 23:13:49 2015 -0600"
      },
      "message": "import fix: dear atom, always use rackpsace repo and not mine"
    },
    {
      "commit": "6a4dac02d91e11a3e95e595c2d9c68a069ac7f8c",
      "tree": "3d1ece94adad3823cb7d8412506f6a070ac036bc",
      "parents": [
        "85eff9a39ad3e2c210dcc4824e8a56fb66f6ef86",
        "9ad9243e96dc84ba08f620f42b8735cf8caa0486"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 19:15:58 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 19:15:58 2015 -0600"
      },
      "message": "Merge pull request #455 from jrperritt/object-create-bug-fix\n\none more \u0027object create\u0027 bug fix"
    },
    {
      "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": "85eff9a39ad3e2c210dcc4824e8a56fb66f6ef86",
      "tree": "d0be0d32831bb2c040ebfab24dc59501474220f7",
      "parents": [
        "24c6ec47a5042cabc915eeec2cec8a00b7fa91fb",
        "ca68c9bd7c9b2f4977c9340ff94d5e4f80ff3f62"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 16:32:57 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 31 16:32:57 2015 -0600"
      },
      "message": "Merge pull request #454 from jrperritt/upload-file-bug-fix\n\ncheck for etag header only if resp is not nil"
    },
    {
      "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": "24c6ec47a5042cabc915eeec2cec8a00b7fa91fb",
      "tree": "5d3b28e0349a3a223f5639433c3369ea0975933b",
      "parents": [
        "c2fa2899678785132c316dd5a06c77671a70d22a",
        "d200ea3eacc9ca9680fe645e5c5d2fdcdcae3731"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 12:27:28 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 30 12:27:28 2015 -0600"
      },
      "message": "Merge pull request #453 from jrperritt/object-etag-fix\n\nObject create: ETag bug fix"
    },
    {
      "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": "c2fa2899678785132c316dd5a06c77671a70d22a",
      "tree": "b18afdb84cf02887f5c978175d575570073ddd95",
      "parents": [
        "f9a5c846bda341fae159d512ce1433bc6dff15db",
        "1f218c8cf1cd9622a15474824a442c3b396ee926"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jul 29 12:12:37 2015 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jul 29 12:12:37 2015 -0400"
      },
      "message": "Merge pull request #451 from jrperritt/token-auth\n\nallow token authentication"
    },
    {
      "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": "f9a5c846bda341fae159d512ce1433bc6dff15db",
      "tree": "fcfe168a7781441025e3b0d0cb2c014d9042e908",
      "parents": [
        "f64c3492701a2a79dd3a13d295ddd0f551204ebb",
        "52e6adaa7282e298ae76b7973158316b41513795"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Jul 29 10:27:14 2015 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Jul 29 10:27:14 2015 +0200"
      },
      "message": "Merge pull request #446 from jrperritt/flavor-extra-specs\n\nRackspace Flavor extra_specs field"
    },
    {
      "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": "218a99835ee5abae1e846c2cb95497c993eb6db3",
      "tree": "696d27376a9214dd90c9ed733104280184aecf46",
      "parents": [
        "e83aa011e019917c7bd951444d61c42431b4d21d",
        "9342e52622eddc15b4d99cea5c5b8b73a20c21f4"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 24 10:09:00 2015 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jul 24 10:09:00 2015 -0500"
      },
      "message": "Merge pull request #447 from DSpeichert/master\n\nAdd all_tenants to nova servers list"
    },
    {
      "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": "52e6adaa7282e298ae76b7973158316b41513795",
      "tree": "38dc3b861caec5d132b573b8c7c5944e1b7d6ae5",
      "parents": [
        "b1ce0af34d8a7ea197dcc9122520ab5a31f2e8ac"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 16 17:58:04 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 16 17:58:04 2015 -0600"
      },
      "message": "update ExtractFlavors function and unit tests\n"
    },
    {
      "commit": "b1ce0af34d8a7ea197dcc9122520ab5a31f2e8ac",
      "tree": "f9d8ba87492518d27e14a78bd63d98256927f57a",
      "parents": [
        "2571c77d97b861e25dcb1e119d861be250f26047"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 16 17:09:32 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 16 17:09:32 2015 -0600"
      },
      "message": "change field types: uint -\u003e int\n"
    },
    {
      "commit": "2571c77d97b861e25dcb1e119d861be250f26047",
      "tree": "ec20526915d0a16703268f0c9253bfcae006fca2",
      "parents": [
        "e83aa011e019917c7bd951444d61c42431b4d21d"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 16 15:11:08 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 16 16:57:52 2015 -0600"
      },
      "message": "allow rackspace flavor extra_specs\n"
    },
    {
      "commit": "e83aa011e019917c7bd951444d61c42431b4d21d",
      "tree": "16c987225e2f4a14a992f39af268ada526b58104",
      "parents": [
        "f956c6c6c0c55844eff4b153b5071ef6e3ab4ab4",
        "50fc97deca1213738ae2e8d23a0195c92d109f57"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 16 08:27:39 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 16 08:27:39 2015 -0600"
      },
      "message": "Merge pull request #444 from jamiehannaford/checksum\n\nAdd MD5 checksum check to file uploads"
    },
    {
      "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": "b9396a1d6805d428b033ea59e86d0247ae10f21a",
      "tree": "7f967320aa0152d145954569c3ef4b2cc5f03d58",
      "parents": [
        "08096234182b4c2b4d319ae26dc40ebb81aa4bc7"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Jul 14 10:00:19 2015 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Jul 14 10:00:19 2015 +0200"
      },
      "message": "ensure rackspace tests use new fixture\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": "f956c6c6c0c55844eff4b153b5071ef6e3ab4ab4",
      "tree": "0cdde386415e50118fbd6c7cb2f3c86bc0c0e2f1",
      "parents": [
        "d6b600407bab798547d0194f21aab91bd560880a",
        "24c2083ca82e89f341491669ab8d6d9a0ebc1856"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jun 30 10:09:15 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jun 30 10:09:15 2015 -0600"
      },
      "message": "Merge pull request #440 from jrperritt/block-storage-id-by-name\n\nIDFromName functions for block storage"
    },
    {
      "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": "d6b600407bab798547d0194f21aab91bd560880a",
      "tree": "b59a69df89ff5414f30457ff78aedc41a5c2b057",
      "parents": [
        "e52d480bf91eca5a6ff7f2e1ae46839eae3c8ff3",
        "5d1d8354d69fe8b3938db7d147f01bf5af1375e1"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:28:34 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 28 19:28:34 2015 -0600"
      },
      "message": "Merge pull request #439 from jrperritt/id-from-name\n\nIDFromName for networking resources"
    },
    {
      "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": "e52d480bf91eca5a6ff7f2e1ae46839eae3c8ff3",
      "tree": "55214dce11f5d76a03033cf6dfc1d41343d13717",
      "parents": [
        "7af4dbffa9158cd9536928774ae3fb7b3636c3d2",
        "2c749a0cc02d8e8429c1497b5f83cd00f8694453"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 10:22:10 2015 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 10:22:10 2015 -0400"
      },
      "message": "Merge pull request #437 from smashwilson/clb-creation-err\n\nRackspace CLB ExtractNodes call does not propagate errors correctly"
    },
    {
      "commit": "2c749a0cc02d8e8429c1497b5f83cd00f8694453",
      "tree": "55214dce11f5d76a03033cf6dfc1d41343d13717",
      "parents": [
        "fe80dae4a77b26b365e68eb8c2cf6bb6b8cdfabf"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 10:16:16 2015 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 10:16:16 2015 -0400"
      },
      "message": "Refactor PageResult creation.\n"
    },
    {
      "commit": "fe80dae4a77b26b365e68eb8c2cf6bb6b8cdfabf",
      "tree": "47137e4a6317b1e6726205fc16c2538c6246f1ba",
      "parents": [
        "dbee47833727c5f200dea16ca1108535b26518bc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 10:12:01 2015 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 10:12:01 2015 -0400"
      },
      "message": "Prevent read from closed stream.\n\n`PageResultFrom` parses the response body as JSON, but the response returned\nfrom `client.Post` is already parsed (and the response body has been closed).\n"
    },
    {
      "commit": "dbee47833727c5f200dea16ca1108535b26518bc",
      "tree": "4868a660fae7a47fb6f0ce60d25501d034acae2c",
      "parents": [
        "ae551431bbc5f4ec6f207eb2086305eca3bd1d86"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 09:57:32 2015 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 09:57:32 2015 -0400"
      },
      "message": "Return the CreateResult\u0027s error, if one is present.\n"
    },
    {
      "commit": "ae551431bbc5f4ec6f207eb2086305eca3bd1d86",
      "tree": "43c9b3db9cc54e6df89858b2ea5724362bdf3848",
      "parents": [
        "7af4dbffa9158cd9536928774ae3fb7b3636c3d2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 09:40:40 2015 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Jun 24 09:40:40 2015 -0400"
      },
      "message": "Start with a failing test because that\u0027s how I roll\n"
    },
    {
      "commit": "7af4dbffa9158cd9536928774ae3fb7b3636c3d2",
      "tree": "ea82c933bdc508643dd62e35daf1d198874e27da",
      "parents": [
        "85e74bf417378f06c0ebffbdf9ffcae5ad1f5018",
        "a11f5db7a9e4626d982583f056122dc5904dc4b2"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 21 21:23:00 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 21 21:23:00 2015 -0600"
      },
      "message": "Merge pull request #436 from jrperritt/allpages-bug-fix\n\nfix index out of bounds error"
    },
    {
      "commit": "a11f5db7a9e4626d982583f056122dc5904dc4b2",
      "tree": "ea82c933bdc508643dd62e35daf1d198874e27da",
      "parents": [
        "85e74bf417378f06c0ebffbdf9ffcae5ad1f5018"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 21 21:17:06 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Jun 21 21:17:06 2015 -0600"
      },
      "message": "fix index out of bounds error\n"
    },
    {
      "commit": "85e74bf417378f06c0ebffbdf9ffcae5ad1f5018",
      "tree": "00f4582cb66894592ef0d49566892abf04aebf52",
      "parents": [
        "aa3cb210cca4652ac2ce35204b5c877e020b4cdc",
        "fcedd7b7a23f4666c4463b3bdeb96591290d0336"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 15 22:28:08 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 15 22:28:08 2015 -0600"
      },
      "message": "Merge pull request #435 from jrperritt/reauth-nil-pointer-fix\n\ndon\u0027t seek on nil options.RawBody"
    },
    {
      "commit": "fcedd7b7a23f4666c4463b3bdeb96591290d0336",
      "tree": "00f4582cb66894592ef0d49566892abf04aebf52",
      "parents": [
        "aa3cb210cca4652ac2ce35204b5c877e020b4cdc"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 15 19:41:01 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 15 19:41:01 2015 -0600"
      },
      "message": "don\u0027t seek on nil options.RawBody\n"
    },
    {
      "commit": "aa3cb210cca4652ac2ce35204b5c877e020b4cdc",
      "tree": "1b6fa886c06835f929f958159d30fae1d82b3dff",
      "parents": [
        "933655f4a86bf49da2fa5b63efdd01a55dc2e8cf",
        "bc523bc8bf1e349a3807f5d105d4138f92f4b44f"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 15 19:03:35 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 15 19:03:35 2015 -0600"
      },
      "message": "Merge pull request #432 from jrperritt/rs-keypair-fix\n\nRackspace keypair fix"
    },
    {
      "commit": "bc523bc8bf1e349a3807f5d105d4138f92f4b44f",
      "tree": "1b6fa886c06835f929f958159d30fae1d82b3dff",
      "parents": [
        "f54139cc2f13ad95f7ed648b0ae33881ffb525b7"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jun 11 10:24:55 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jun 11 10:24:55 2015 -0600"
      },
      "message": "fix keypair variable mistake"
    },
    {
      "commit": "f54139cc2f13ad95f7ed648b0ae33881ffb525b7",
      "tree": "2f0c596294820140d647e45ebbf780fa03c7bdee",
      "parents": [
        "933655f4a86bf49da2fa5b63efdd01a55dc2e8cf"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jun 10 11:30:57 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jun 10 11:30:57 2015 -0600"
      },
      "message": "don\u0027t set key_name if not provided\n"
    },
    {
      "commit": "933655f4a86bf49da2fa5b63efdd01a55dc2e8cf",
      "tree": "df67fcaeb70129d21977e8270415a84a19e90dbd",
      "parents": [
        "fab1f3d270f58c199398e892c2c9c234fe2147d8",
        "6b0a8835f2c650ab147e658d7e6dbc9cc5a03d5c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jun 04 17:03:33 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jun 04 17:03:33 2015 -0600"
      },
      "message": "Merge pull request #430 from jrperritt/server-IDFromName\n\nIDFromName for servers"
    },
    {
      "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": "fab1f3d270f58c199398e892c2c9c234fe2147d8",
      "tree": "358e35cbce9e696954b601190d64c60cef5ba44b",
      "parents": [
        "e259d176b68828918936ece5845085627620415a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri May 22 11:14:58 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri May 22 11:14:58 2015 -0600"
      },
      "message": "grammar fix in comment"
    },
    {
      "commit": "e259d176b68828918936ece5845085627620415a",
      "tree": "80552d9580099dd431f6313c44ee66e8adf27d41",
      "parents": [
        "13e171c4aedda11ba89d2fa383c2048d02a0ea4f",
        "ade2d7ff33bde1df53643f3be4845a6d56dddbc6"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri May 22 11:07:53 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri May 22 11:07:53 2015 -0600"
      },
      "message": "Merge pull request #429 from jrperritt/add-imageName-flavorName-fields\n\ncreate server helper fields"
    },
    {
      "commit": "ade2d7ff33bde1df53643f3be4845a6d56dddbc6",
      "tree": "80552d9580099dd431f6313c44ee66e8adf27d41",
      "parents": [
        "4267c944ff18537b89b358303ba6a2b82f787ecb"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri May 22 11:00:09 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri May 22 11:00:09 2015 -0600"
      },
      "message": "fix formatting in rs bfv"
    },
    {
      "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"
    }
  ],
  "next": "13e171c4aedda11ba89d2fa383c2048d02a0ea4f"
}
