)]}'
{
  "log": [
    {
      "commit": "d1c7d2539e30781c16d9bd98d7c1e868153e27cb",
      "tree": "14f858f641a383ba7e941c2e5c201e6c72f1a2c4",
      "parents": [
        "adc206589ed49d18cecc9890ab93534704b04702"
      ],
      "author": {
        "name": "Rodrigo Lourenco",
        "email": "rodrigo.s.lourenco@gmail.com",
        "time": "Mon May 23 14:11:03 2016 -0300"
      },
      "committer": {
        "name": "Rodrigo Lourenco",
        "email": "rodrigo.s.lourenco@gmail.com",
        "time": "Mon May 23 14:11:03 2016 -0300"
      },
      "message": "Added cache-control header to objectstore\n"
    },
    {
      "commit": "adc206589ed49d18cecc9890ab93534704b04702",
      "tree": "cb36f2e0546ddba4f2a9ea45dcb6a53067a2f1ba",
      "parents": [
        "74d07365702afe919c069b9e1bf905f6095e0fb9",
        "0765099a5e7b64656b935bbec07ca9c433f80b9c"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 17:44:37 2016 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 17:44:37 2016 +0200"
      },
      "message": "Merge pull request #475 from feiskyer/neutronports\n\n[rfr] Allow to specify hostid when creating/updating a port"
    },
    {
      "commit": "1b17d0adcdc11dd9dfc0c88c59e05f3fbd1b2fec",
      "tree": "8d6600799beeb5187cc499fa51982cb41a9ace15",
      "parents": [
        "c6266be4a7c235b8960b7980658ac8ca6928f000"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 17:27:14 2016 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 17:27:14 2016 +0200"
      },
      "message": "add list operation and squash structs\n"
    },
    {
      "commit": "c6266be4a7c235b8960b7980658ac8ca6928f000",
      "tree": "5304cce7f3cd1373506d7a98cb52e36924d97c1d",
      "parents": [
        "4b97ac24934d3e7cd3a337fd27a994716ccade56"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 15:19:29 2016 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 15:19:29 2016 +0200"
      },
      "message": "first attempt\n"
    },
    {
      "commit": "74d07365702afe919c069b9e1bf905f6095e0fb9",
      "tree": "14ca786e5a000d5d26bf356aaae871d34f08e505",
      "parents": [
        "116a4d7dd8d71a722d6cda117e4c9de64ae08ebe",
        "e028916c94d284d0990304f7b397dea00d0e4eec"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 13:27:12 2016 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 13:27:12 2016 +0200"
      },
      "message": "Merge pull request #489 from feiskyer/blockstoragev2-volumes\n\n[rfr] Add volumes part of blockstorage v2 API"
    },
    {
      "commit": "a3ad43a054ea15518102bdb4e62f0167f78223ef",
      "tree": "1e9c5535da7d266cf3c46bbe4c7573ea75511334",
      "parents": [
        "531e0cc056061bc99d4842858d25f0ed52605f3c"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 13:09:50 2016 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 13:09:50 2016 +0200"
      },
      "message": "fix unit tests\n"
    },
    {
      "commit": "531e0cc056061bc99d4842858d25f0ed52605f3c",
      "tree": "c891c94ad42028ab98ada48f3900f753d0667b83",
      "parents": [
        "99c358027595391633f1e9d1a701eb8e940d9582"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 13:03:39 2016 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri May 13 13:03:39 2016 +0200"
      },
      "message": "fix acceptance tests and prevent decoding empty responses\n"
    },
    {
      "commit": "4b97ac24934d3e7cd3a337fd27a994716ccade56",
      "tree": "e6c1737133ab883e898d5cd836ad2480ec015e48",
      "parents": [
        "f6061591909b9c13a7ce8014d770e4abb2a3876a"
      ],
      "author": {
        "name": "Pengfei Ni",
        "email": "feiskyer@gmail.com",
        "time": "Fri May 13 16:57:26 2016 +0800"
      },
      "committer": {
        "name": "Pengfei Ni",
        "email": "feiskyer@gmail.com",
        "time": "Fri May 13 17:20:36 2016 +0800"
      },
      "message": "Add acceptance test for portsbinding\n"
    },
    {
      "commit": "f6061591909b9c13a7ce8014d770e4abb2a3876a",
      "tree": "f1411749ea791a8fafa8d7994a66e8d016158766",
      "parents": [
        "116a4d7dd8d71a722d6cda117e4c9de64ae08ebe"
      ],
      "author": {
        "name": "feisky",
        "email": "feiskyer@gmail.com",
        "time": "Sun Sep 06 13:30:25 2015 +0800"
      },
      "committer": {
        "name": "Pengfei Ni",
        "email": "feiskyer@gmail.com",
        "time": "Fri May 13 16:56:58 2016 +0800"
      },
      "message": "Allow to specify hostid when creating/updating a port\n"
    },
    {
      "commit": "65d5ee27690554c7dec70c124fb2f7288946df1e",
      "tree": "e0040ec4c9546e8f47b02f3afc363f17a1052667",
      "parents": [
        "524bcebcc86a3ff1602d605b0cf8a84438a3efcd"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 09 16:43:32 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 09 16:43:32 2016 -0500"
      },
      "message": "fixes for image unit tests\n"
    },
    {
      "commit": "524bcebcc86a3ff1602d605b0cf8a84438a3efcd",
      "tree": "b0551fb8e85d9a33fc33cd4ffe5e93eb67613342",
      "parents": [
        "d62a69f7484d2e2b90c68991ccc91c3309d80b1e"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 09 14:35:39 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 09 14:35:39 2016 -0500"
      },
      "message": "add Metadata field to Image result"
    },
    {
      "commit": "42b019f3357691aac2fce6107497e271e9435d76",
      "tree": "0fc6101028677f4c8edc107bbe3c107997bef7e7",
      "parents": [
        "057373d0ce19a917a0afc29e93e82e95c1533535"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 02 14:02:55 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 02 14:02:55 2016 -0500"
      },
      "message": "fix import\n"
    },
    {
      "commit": "057373d0ce19a917a0afc29e93e82e95c1533535",
      "tree": "cd5e36bf5607fd8ec9ed1993e92c9000c4d904f9",
      "parents": [
        "231898eeeb3f1efabaf953757babcdb84298fbe8"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 02 14:01:39 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon May 02 14:01:39 2016 -0500"
      },
      "message": "return from AllPages for SinglePageBase\n"
    },
    {
      "commit": "8bfbfb0d9bf6ce5bec67675f755c9f90a20e2b85",
      "tree": "ac01e4dc713d08b4ade52ad1b9016e2144842fbc",
      "parents": [
        "cf0c7fe4ff2e137bd12db8f49312d455e39cf9a4"
      ],
      "author": {
        "name": "Pengfei Ni",
        "email": "feiskyer@gmail.com",
        "time": "Fri Apr 29 16:04:12 2016 +0800"
      },
      "committer": {
        "name": "Pengfei Ni",
        "email": "feiskyer@gmail.com",
        "time": "Fri Apr 29 16:11:50 2016 +0800"
      },
      "message": "Add docs and type fixes\n"
    },
    {
      "commit": "cf0c7fe4ff2e137bd12db8f49312d455e39cf9a4",
      "tree": "cc6df51fa74f5e63571f5bbacd1b0c75e5b3b266",
      "parents": [
        "da5461439aa9b0bbe2a4ad652f459031d7e31c26"
      ],
      "author": {
        "name": "feisky",
        "email": "feiskyer@gmail.com",
        "time": "Thu Nov 05 22:06:17 2015 +0800"
      },
      "committer": {
        "name": "Pengfei Ni",
        "email": "feiskyer@gmail.com",
        "time": "Fri Apr 29 16:11:50 2016 +0800"
      },
      "message": "Update blockstorage v2 API\n"
    },
    {
      "commit": "da5461439aa9b0bbe2a4ad652f459031d7e31c26",
      "tree": "6a4adfdf22ee102d09ef341a2eeae55d61577881",
      "parents": [
        "c54bbac81d19eb4df3ad167764dbb6ff2e7194de"
      ],
      "author": {
        "name": "feisky",
        "email": "feiskyer@gmail.com",
        "time": "Thu Sep 17 12:28:23 2015 +0800"
      },
      "committer": {
        "name": "Pengfei Ni",
        "email": "feiskyer@gmail.com",
        "time": "Fri Apr 29 16:11:50 2016 +0800"
      },
      "message": "Copy blockstorage v1 to v2\n"
    },
    {
      "commit": "a09b5b4eb58195b6fb3898496586b8d6aeb558e0",
      "tree": "766e8a6d98814f4e29c272e29fa3539067a77b81",
      "parents": [
        "1270499c0f662b06202ebc9bfe31acf2bbda290f",
        "2524d119150604a229a40cd7b7b2c902034134fd"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Apr 07 13:39:57 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Apr 07 13:39:57 2016 -0500"
      },
      "message": "Merge pull request #553 from jtopjian/subnet-no-gateway\n\n[rfr] Allow subnets to have no gateway"
    },
    {
      "commit": "2524d119150604a229a40cd7b7b2c902034134fd",
      "tree": "8c9473cb25ae5c2511c2abeba3bda093c2b571e5",
      "parents": [
        "f92ae6c762ef68e7fbe914f793d14356805a0a50"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Apr 07 15:41:39 2016 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Apr 07 18:31:59 2016 +0000"
      },
      "message": "Ensure both GatewayIP and NoGateway cannot be set in subnets\n"
    },
    {
      "commit": "f92ae6c762ef68e7fbe914f793d14356805a0a50",
      "tree": "04badac80542c7196fc98054e91877e10b3c47b7",
      "parents": [
        "61270d47e018e4b492833fce9a21a11fd821f16c"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Apr 06 21:24:43 2016 -0600"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Apr 07 04:29:19 2016 +0000"
      },
      "message": "Allow subnets to have no gateway\n"
    },
    {
      "commit": "69cc33768d3318e48fa47a216722d2737e84158b",
      "tree": "429f761ad2ba2f3e44d8c377c25ce1a382df74d7",
      "parents": [
        "61270d47e018e4b492833fce9a21a11fd821f16c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 06 13:51:52 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 06 13:51:52 2016 -0500"
      },
      "message": "leave auth options untouched in authv3\n"
    },
    {
      "commit": "61270d47e018e4b492833fce9a21a11fd821f16c",
      "tree": "ed8ac7e89c93127d3429d4521ce18c046897b9fc",
      "parents": [
        "3dc52174c26169aeae623cb224278dfac476ca08",
        "8aeb1d9a30f9aef20506e2e2619bda57bac5ba8c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 06 10:09:29 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 06 10:09:29 2016 -0500"
      },
      "message": "Merge pull request #526 from Fodoj/add-router-type\n\nAdd CreateOptsBuilder for routers"
    },
    {
      "commit": "8aeb1d9a30f9aef20506e2e2619bda57bac5ba8c",
      "tree": "b736f73f37bf177e82246b3383e758433a81e2ca",
      "parents": [
        "f824a86019df81ae20cd94b3ea7f17a0c893db60"
      ],
      "author": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Wed Apr 06 11:38:27 2016 +0200"
      },
      "committer": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Wed Apr 06 11:38:27 2016 +0200"
      },
      "message": "Remove router_type reference\n"
    },
    {
      "commit": "f824a86019df81ae20cd94b3ea7f17a0c893db60",
      "tree": "e333bad39624396ecb72cf2fe0da4f2df7321de0",
      "parents": [
        "defa84ad003185ef8853f60d8650ed3af36ab557"
      ],
      "author": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Wed Apr 06 11:36:00 2016 +0200"
      },
      "committer": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Wed Apr 06 11:36:00 2016 +0200"
      },
      "message": "Fixes as in review\n"
    },
    {
      "commit": "bda4859853f5b0f5363a19bfadba7022dcdd63dc",
      "tree": "262cec98cffdaf762ada3e78643a56188023fd2e",
      "parents": [
        "8992d7483a06748dea706e4716d042a4a9e73918"
      ],
      "author": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Wed Mar 23 11:37:08 2016 +0000"
      },
      "committer": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Wed Mar 23 11:37:08 2016 +0000"
      },
      "message": "Add fixtures build tag to all fixtures.go files\n\nEnsure testing dependencies from fixtures don\u0027t leak into builds.\n"
    },
    {
      "commit": "8992d7483a06748dea706e4716d042a4a9e73918",
      "tree": "116c7614f89320e776265d3e05d0279ebc9dea6c",
      "parents": [
        "9b8e7f3168c12daa1e4b1f0760038c2a6696aa83",
        "ed3f5fdf77071960eb0181920368b53432ff5529"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 17 02:37:08 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 17 02:37:08 2016 -0500"
      },
      "message": "Merge pull request #542 from dangogh/quota-set-get\n\n[rfr] os-quota-set GET api"
    },
    {
      "commit": "7aadf8671fba51612eb57adef8c96e6a9b76189a",
      "tree": "f812451e99ee20b842c71c905ff0d519b88db269",
      "parents": [
        "b5bf7041a16c0eafb0bd72c64ca51a0178c5d578"
      ],
      "author": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Wed Mar 16 12:41:11 2016 -0600"
      },
      "committer": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Wed Mar 16 12:41:11 2016 -0600"
      },
      "message": "spelling\n"
    },
    {
      "commit": "9b8e7f3168c12daa1e4b1f0760038c2a6696aa83",
      "tree": "bb0eb7b7ed2fc97ef46505a57717ed831b593e49",
      "parents": [
        "f3d053460f7c37970af6733bf370a3256e3648fb",
        "14c8801e247e209fb52cf669b967fc6f1353b0aa"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 10 01:29:10 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 10 01:29:10 2016 -0600"
      },
      "message": "Merge pull request #535 from marcin-krolik/kromar-fix-533\n\nFix for issue#533"
    },
    {
      "commit": "b5bf7041a16c0eafb0bd72c64ca51a0178c5d578",
      "tree": "5ee170750ff41d1f34759d6b99f6a3ec26ff517d",
      "parents": [
        "7e8d8ed867aa5527a714cf60679ac61963b28465"
      ],
      "author": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Tue Mar 08 14:11:05 2016 -0700"
      },
      "committer": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Tue Mar 08 14:11:05 2016 -0700"
      },
      "message": "remove sample\n"
    },
    {
      "commit": "7e8d8ed867aa5527a714cf60679ac61963b28465",
      "tree": "e5f8a5d93bb94544afa29f5ba8f955d2d8ddab7d",
      "parents": [
        "c0a8099d7be7b7875bedf9a1f4db978353bd6e6b"
      ],
      "author": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Tue Mar 08 14:05:57 2016 -0700"
      },
      "committer": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Tue Mar 08 14:05:57 2016 -0700"
      },
      "message": "use QuotaSet consistently; fix unit test\n"
    },
    {
      "commit": "c0a8099d7be7b7875bedf9a1f4db978353bd6e6b",
      "tree": "27209c4e6720291ffd0c7850f0054617ec236e51",
      "parents": [
        "47b27063eaf49051a7476a0cc3dc58c562821f99"
      ],
      "author": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Mon Mar 07 13:47:25 2016 -0700"
      },
      "committer": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Mon Mar 07 13:47:25 2016 -0700"
      },
      "message": "change package and type name\n"
    },
    {
      "commit": "47b27063eaf49051a7476a0cc3dc58c562821f99",
      "tree": "b73cacf5a7b0e921e1d7caa484aabdb47dda29ef",
      "parents": [
        "b06882506856f23d864b7414054df3a249187f2e"
      ],
      "author": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Mon Mar 07 13:30:27 2016 -0700"
      },
      "committer": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Mon Mar 07 13:30:27 2016 -0700"
      },
      "message": "quota -\u003e quotasets\n"
    },
    {
      "commit": "b06882506856f23d864b7414054df3a249187f2e",
      "tree": "cb7614982e543547db178f2169a24ee387b1978d",
      "parents": [
        "ceb8409a51de49162a10e5a30f24dd673f26a137"
      ],
      "author": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Mon Mar 07 13:28:50 2016 -0700"
      },
      "committer": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Mon Mar 07 13:28:50 2016 -0700"
      },
      "message": "remove all but Get action\n"
    },
    {
      "commit": "ceb8409a51de49162a10e5a30f24dd673f26a137",
      "tree": "8e08c745460e973ed21eaac2000c25733254cf5f",
      "parents": [
        "f3d053460f7c37970af6733bf370a3256e3648fb"
      ],
      "author": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Tue Mar 01 13:58:34 2016 -0700"
      },
      "committer": {
        "name": "Dan Kirkwood",
        "email": "daniel_kirkwood@cable.comcast.com",
        "time": "Fri Mar 04 16:31:39 2016 -0700"
      },
      "message": "initial os-quota-set api; GET unit test\n"
    },
    {
      "commit": "defa84ad003185ef8853f60d8650ed3af36ab557",
      "tree": "8dfaab15243305b0374c9b980efd6b03ecd1c68a",
      "parents": [
        "2e84b74a6501960194bb2967507283e272b8b5e4",
        "f3d053460f7c37970af6733bf370a3256e3648fb"
      ],
      "author": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Tue Mar 01 15:59:42 2016 +0100"
      },
      "committer": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Tue Mar 01 15:59:42 2016 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into add-router-type\n"
    },
    {
      "commit": "f3d053460f7c37970af6733bf370a3256e3648fb",
      "tree": "c4dc8f77a0daee2666e9af4151df3d2c7b5f1933",
      "parents": [
        "285a96162c457d860ec1c1dbc77c860a61cd9180",
        "6b88f18cf661b5a7c5a3d0efdb80180cf517c135"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Feb 28 19:59:50 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sun Feb 28 19:59:50 2016 -0600"
      },
      "message": "Merge pull request #522 from deniszh/master\n\n[rfr] From Port and To Port should accept values of 0 "
    },
    {
      "commit": "4f9dce250d9de81c33aac2156b74c2e6e0dce622",
      "tree": "04e02934846deb53629943d25958b0a95a817610",
      "parents": [
        "9920d78d4631c85e578be6ed593f70c250c0fc5d"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun Feb 28 00:03:37 2016 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun Feb 28 00:03:37 2016 +0000"
      },
      "message": "Unit tests for Security Group Rules with ICMP values of 0\n"
    },
    {
      "commit": "ab8cd7a00d5871ac0d2da214559795a307e95412",
      "tree": "d0d477cfc694b86c3cf5fff69611e70270e33fdb",
      "parents": [
        "c3d49b79485edd7f2bae90bdffc7065a5e15f313"
      ],
      "author": {
        "name": "Rickard von Essen",
        "email": "rickard.von.essen@gmail.com",
        "time": "Wed Feb 17 20:25:39 2016 +0100"
      },
      "committer": {
        "name": "Rickard von Essen",
        "email": "rickard.von.essen@gmail.com",
        "time": "Wed Feb 17 21:04:08 2016 +0100"
      },
      "message": "Added build constraint: fixtures\n"
    },
    {
      "commit": "c3d49b79485edd7f2bae90bdffc7065a5e15f313",
      "tree": "4caab892413074ce19aff4713194b4dc650b15bc",
      "parents": [
        "5b8bbff595ef4eb7bb08390d7379640be2dd435e"
      ],
      "author": {
        "name": "Rickard von Essen",
        "email": "rickard.von.essen@gmail.com",
        "time": "Tue Feb 16 20:59:18 2016 +0100"
      },
      "committer": {
        "name": "Rickard von Essen",
        "email": "rickard.von.essen@gmail.com",
        "time": "Tue Feb 16 20:59:18 2016 +0100"
      },
      "message": "Added test for servers.GetPasswordResult and fixed spelling.\n"
    },
    {
      "commit": "14c8801e247e209fb52cf669b967fc6f1353b0aa",
      "tree": "74763ee941220bbd9aaa0f244690c4484d6a8fce",
      "parents": [
        "6769c3b3e54a5cf1b0bdb10ea5b25f5cff0a3134"
      ],
      "author": {
        "name": "Marcin Krolik",
        "email": "marcin.krolik@intel.com",
        "time": "Tue Feb 16 08:59:48 2016 +0100"
      },
      "committer": {
        "name": "Marcin Krolik",
        "email": "marcin.krolik@intel.com",
        "time": "Tue Feb 16 09:03:28 2016 +0100"
      },
      "message": "Fix for issue#533\n"
    },
    {
      "commit": "5b8bbff595ef4eb7bb08390d7379640be2dd435e",
      "tree": "46a76daec956224d9e56b0a0a8eb95ba940ffa8d",
      "parents": [
        "6769c3b3e54a5cf1b0bdb10ea5b25f5cff0a3134"
      ],
      "author": {
        "name": "Rickard von Essen",
        "email": "rickard.von.essen@gmail.com",
        "time": "Tue Feb 16 07:48:20 2016 +0100"
      },
      "committer": {
        "name": "Rickard von Essen",
        "email": "rickard.von.essen@gmail.com",
        "time": "Tue Feb 16 08:47:12 2016 +0100"
      },
      "message": "Add Nova get-password support\n\nAdd support to get a encrypted administrative password for a server\nthrough a GET on: /v2.1/{tenant_id}/servers/{server_id}/os-server-password\noptionally decrypting the password if a private key is supplied.\n\nThe same operation with OpenStack CLI is done with:\n  nova get-password \u003cserver_id\u003e [private_key.pem]\n"
    },
    {
      "commit": "2e84b74a6501960194bb2967507283e272b8b5e4",
      "tree": "427390e13c95e4f915e3777e2d82127fb3ebcb0b",
      "parents": [
        "3b07ffd6240bc0d27165848e48b595d373cdc922",
        "6769c3b3e54a5cf1b0bdb10ea5b25f5cff0a3134"
      ],
      "author": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Fri Feb 12 18:12:51 2016 +0100"
      },
      "committer": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Fri Feb 12 18:12:51 2016 +0100"
      },
      "message": "Resolve conflicts\n"
    },
    {
      "commit": "6769c3b3e54a5cf1b0bdb10ea5b25f5cff0a3134",
      "tree": "ac99d56e2bef49214b537b78651ac6e7d93bebc1",
      "parents": [
        "89bdd4f58da2ed33f4ac2222b04d265b9c3e1521",
        "66803f089953dcc41ecfe6b06ba58849303a8659"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Feb 10 12:08:30 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Feb 10 12:08:30 2016 -0600"
      },
      "message": "Merge pull request #471 from feiskyer/keystone\n\n[rfr] Add identity admin client"
    },
    {
      "commit": "5ef9a2380ff5cad7a1f38af35e13a0c27e2d4408",
      "tree": "163b73737bbeaa9a82edcec2b7f9796cd49d5d8e",
      "parents": [
        "e6b9184083fc73827cd0b380c227032759790dff"
      ],
      "author": {
        "name": "alexcern",
        "email": "alexandre.lossent@cern.ch",
        "time": "Wed Feb 10 11:41:00 2016 +0100"
      },
      "committer": {
        "name": "alexcern",
        "email": "alexandre.lossent@cern.ch",
        "time": "Wed Feb 10 11:41:00 2016 +0100"
      },
      "message": "Support reauth on identity endpoints with a base path\n\nFix re-authentication to use the correct endpoint when the identity endpoint has a base path (e.g. https://keystone.example.com/somepath/v2.0)"
    },
    {
      "commit": "e6b9184083fc73827cd0b380c227032759790dff",
      "tree": "d4c3989d5966d6ab5adfc3abb349cfc60cf09f83",
      "parents": [
        "010f2b662940c0529def04c74dbc3a78eeeeffce",
        "370c4300029d713ff36f3377c3e98e5ad73b1c4d"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 14:36:02 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 14:36:02 2016 -0600"
      },
      "message": "Merge pull request #524 from monkeylittleinc/master\n\nAdd support for force delete server"
    },
    {
      "commit": "010f2b662940c0529def04c74dbc3a78eeeeffce",
      "tree": "e36e57cc775b2870d95498fe91e28066ee615b98",
      "parents": [
        "b4e5f90e497df7ca8ada2d27b5fb908d9504b1bb",
        "ecf63dd14409e6200661c67be23f5c3c2bad3c7e"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 14:30:23 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 14:30:23 2016 -0600"
      },
      "message": "Merge pull request #515 from jtopjian/jtopjian-multi-ephemeral\n\n[rfr] multi ephemeral support"
    },
    {
      "commit": "b7d9172600367675df4790d1a08ef488a313c785",
      "tree": "472e5b337a4e5b4a2c622d80a0d08b231f520302",
      "parents": [
        "ff407fa7656e3e4de8d6cc57e939c27ba9578e67",
        "baaaf3e0bb97c0da2915f8c2c87821f1db78f37a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 14:16:46 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 14:16:46 2016 -0600"
      },
      "message": "Merge pull request #529 from kwapik/fix/reauth_in_v3_tokens\n\n[rfr] Fix reauth in v3 tokens"
    },
    {
      "commit": "ff407fa7656e3e4de8d6cc57e939c27ba9578e67",
      "tree": "31c899fefc8949f0d0b47fcb900982367eb222e3",
      "parents": [
        "b13ad9a2552ddce7011677cb70b071da38b4ffdd",
        "043fa7044e6ef45dd8d776f09838a79312bee4a0"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 13:20:50 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 13:20:50 2016 -0600"
      },
      "message": "Merge pull request #525 from Fodoj/extend-routers-attribute\n\nAdd support for distributed routers"
    },
    {
      "commit": "7cfd38c4eb5242428e3c6c85ee01f97db97466c9",
      "tree": "528eff6a30092d38ac73079793a3d32c9a312b98",
      "parents": [
        "680aa02616313d8399abc91f17a444cf9292f0e1",
        "0c24665ba87c31de205ec5b6f1f95090aa83d7e2"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 12:53:43 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 09 12:53:43 2016 -0600"
      },
      "message": "Merge pull request #488 from trumant/allowed_address_pairs\n\nAllowed address pairs support for Neutron Port"
    },
    {
      "commit": "baaaf3e0bb97c0da2915f8c2c87821f1db78f37a",
      "tree": "2711a0510545e4921a5193c5d1d6e4e4397b7a33",
      "parents": [
        "680aa02616313d8399abc91f17a444cf9292f0e1"
      ],
      "author": {
        "name": "Krzysztof Kwapisiewicz",
        "email": "krzysztof.kwapisiewicz@codilime.com",
        "time": "Wed Feb 03 15:18:16 2016 +0100"
      },
      "committer": {
        "name": "Krzysztof Kwapisiewicz",
        "email": "krzysztof.kwapisiewicz@codilime.com",
        "time": "Wed Feb 03 15:24:12 2016 +0100"
      },
      "message": "Fix reauth in v3 tokens\n"
    },
    {
      "commit": "0c24665ba87c31de205ec5b6f1f95090aa83d7e2",
      "tree": "b6063eb74dc97a4c65fb4032ef55c9d0a714d045",
      "parents": [
        "a371c0ee00b37625367b6d2960767d604cf1cec7"
      ],
      "author": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Mon Feb 01 09:50:38 2016 -0500"
      },
      "committer": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Mon Feb 01 09:50:38 2016 -0500"
      },
      "message": "Addressing feedback from @jrperritt to move to []AddressPair explicit typing\n"
    },
    {
      "commit": "3b07ffd6240bc0d27165848e48b595d373cdc922",
      "tree": "79a8b45c762f2dca040e0d7e358e9196ab535d41",
      "parents": [
        "9ffeae7c908225dd555bb9bf6f3ae520452c6ab7"
      ],
      "author": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Sun Jan 31 11:35:48 2016 +0100"
      },
      "committer": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Sun Jan 31 11:35:48 2016 +0100"
      },
      "message": "remove One extre obsolete test\n"
    },
    {
      "commit": "9ffeae7c908225dd555bb9bf6f3ae520452c6ab7",
      "tree": "b1ff7ca3dce21b1c720fa24b846de80645c378a8",
      "parents": [
        "87b8fa6b1237b8f07813762aff8e4389676aed13"
      ],
      "author": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Sun Jan 31 11:25:42 2016 +0100"
      },
      "committer": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Sun Jan 31 11:25:42 2016 +0100"
      },
      "message": "Remove references to router type\n"
    },
    {
      "commit": "87b8fa6b1237b8f07813762aff8e4389676aed13",
      "tree": "fe3f0f36536a8b13be22dd070de6e9db24bdef4f",
      "parents": [
        "c70720d7929fb03f6d2b329db5ad14d2ddefc418"
      ],
      "author": {
        "name": "Kirill Shirinkin",
        "email": "kirill.shirinkin@amadeus.com",
        "time": "Thu Jan 28 19:31:56 2016 +0100"
      },
      "committer": {
        "name": "Kirill Shirinkin",
        "email": "fodojyko@gmail.com",
        "time": "Sun Jan 31 11:23:57 2016 +0100"
      },
      "message": "Add DriverOpts for routers\n"
    },
    {
      "commit": "043fa7044e6ef45dd8d776f09838a79312bee4a0",
      "tree": "82eb11831d6821dcbc97c4777d6a0e4c39057dd7",
      "parents": [
        "c70720d7929fb03f6d2b329db5ad14d2ddefc418"
      ],
      "author": {
        "name": "Kirill Shirinkin",
        "email": "kirill.shirinkin@amadeus.com",
        "time": "Thu Jan 28 16:24:15 2016 +0100"
      },
      "committer": {
        "name": "Kirill Shirinkin",
        "email": "kirill.shirinkin@amadeus.com",
        "time": "Thu Jan 28 18:38:16 2016 +0100"
      },
      "message": "Add support for distributed routers\n"
    },
    {
      "commit": "98c77d02c7f2f05324d6ebb3ec0b99b616512195",
      "tree": "cb2d6cc1f00f38f9c5bb09eed82b13ee667ba067",
      "parents": [
        "af49847b9cf27e8a6777ee0ce30ed4b6b98e7f25"
      ],
      "author": {
        "name": "Denis Zhdanov",
        "email": "denis.zhdanov@gmail.com",
        "time": "Sun Jan 24 18:10:09 2016 +0100"
      },
      "committer": {
        "name": "Denis Zhdanov",
        "email": "denis.zhdanov@gmail.com",
        "time": "Sun Jan 24 18:10:09 2016 +0100"
      },
      "message": "fix spacing issue"
    },
    {
      "commit": "370c4300029d713ff36f3377c3e98e5ad73b1c4d",
      "tree": "a00fb4be025013a202235cdf49fbefa41c2ef4d4",
      "parents": [
        "680aa02616313d8399abc91f17a444cf9292f0e1"
      ],
      "author": {
        "name": "Ian Duffy",
        "email": "ian.x.duffy@aib.ie",
        "time": "Thu Jan 21 10:44:56 2016 +0000"
      },
      "committer": {
        "name": "Ian Duffy",
        "email": "ian.x.duffy@aib.ie",
        "time": "Thu Jan 21 10:44:56 2016 +0000"
      },
      "message": "Add support for forced delete\n\nSigned-off-by: Ian Duffy \u003cian.x.duffy@aib.ie\u003e\n"
    },
    {
      "commit": "af49847b9cf27e8a6777ee0ce30ed4b6b98e7f25",
      "tree": "8e63f8cbde44309d8eb8ba03df7d05da6b30d2b2",
      "parents": [
        "680aa02616313d8399abc91f17a444cf9292f0e1"
      ],
      "author": {
        "name": "Denys Zhdanov",
        "email": "dzhdanov@ebay.com",
        "time": "Tue Jan 19 11:34:21 2016 +0100"
      },
      "committer": {
        "name": "Denys Zhdanov",
        "email": "dzhdanov@ebay.com",
        "time": "Tue Jan 19 11:34:21 2016 +0100"
      },
      "message": "From Port and To Port should accept values of 0 when the IP Protocol is \"ICMP\".\nFixing https://github.com/rackspace/gophercloud/issues/521\n"
    },
    {
      "commit": "87704baee33ada4f581d312b5ae2aa2ac2d7e19a",
      "tree": "dcc9e524f5012c7ed7bdf9f7a3a1ba2a455a016a",
      "parents": [
        "c70720d7929fb03f6d2b329db5ad14d2ddefc418"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Jan 14 11:49:56 2016 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Jan 14 11:49:56 2016 +0100"
      },
      "message": "use better type assertions\n"
    },
    {
      "commit": "a371c0ee00b37625367b6d2960767d604cf1cec7",
      "tree": "5858d29174e9fbb1d857525602dc6ce44f69e5c8",
      "parents": [
        "d3e3a10563cd16079df6b874e1730d20c0a29cc5"
      ],
      "author": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Thu Oct 01 10:32:20 2015 -0400"
      },
      "committer": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Tue Jan 12 16:05:39 2016 -0500"
      },
      "message": "AllowedAddressPairs support for Port creation\n"
    },
    {
      "commit": "d3e3a10563cd16079df6b874e1730d20c0a29cc5",
      "tree": "51052770f3c3e6a897e666a8da8fc552c6769170",
      "parents": [
        "e934020a57c027b9407cdb8b734b2e75d4d4e980"
      ],
      "author": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Wed Sep 16 14:21:56 2015 -0400"
      },
      "committer": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Tue Jan 12 16:05:39 2016 -0500"
      },
      "message": "Fixing typo\n"
    },
    {
      "commit": "e934020a57c027b9407cdb8b734b2e75d4d4e980",
      "tree": "68f66dd31a1a0aec2113f603a2c3a80ffb1de171",
      "parents": [
        "69e88e9713f8499808937defb819faee5164e830"
      ],
      "author": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Wed Sep 16 14:04:40 2015 -0400"
      },
      "committer": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Tue Jan 12 16:05:39 2016 -0500"
      },
      "message": "unit testing allowed_address_pairs\n"
    },
    {
      "commit": "69e88e9713f8499808937defb819faee5164e830",
      "tree": "147dc04445277e700c6830db9c4315903abc0a5c",
      "parents": [
        "b02c75b293b997b8786d996f981121466b30ac6e"
      ],
      "author": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Wed Sep 16 13:55:32 2015 -0400"
      },
      "committer": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Tue Jan 12 16:05:39 2016 -0500"
      },
      "message": "Testing the allowed_address_pairs update\n"
    },
    {
      "commit": "b02c75b293b997b8786d996f981121466b30ac6e",
      "tree": "fd26cf09c7aa064ff5e7e958c45a5f36814a9227",
      "parents": [
        "0447aca7f597ab8f3fd56a6263b4cf8491dc2540"
      ],
      "author": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Wed Sep 16 11:52:05 2015 -0400"
      },
      "committer": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Tue Jan 12 16:05:38 2016 -0500"
      },
      "message": "Passing acceptance test\n"
    },
    {
      "commit": "0447aca7f597ab8f3fd56a6263b4cf8491dc2540",
      "tree": "50fabb91eed54d4429905788e6fb364d794ae262",
      "parents": [
        "c70720d7929fb03f6d2b329db5ad14d2ddefc418"
      ],
      "author": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Tue Sep 15 16:09:24 2015 -0400"
      },
      "committer": {
        "name": "Travis Truman",
        "email": "travis_truman@cable.comcast.com",
        "time": "Tue Jan 12 16:05:38 2016 -0500"
      },
      "message": "First cut at supporting optional allowed_address_pairs option for Neutron Port update operation\n"
    },
    {
      "commit": "f8f23dd383778327fb50b4c764335639a4edb5c2",
      "tree": "4686cea595e54254d14ca244ff34dee4c67d13d4",
      "parents": [
        "0a866d91a8e5100b388a359137a413e1659c2e04"
      ],
      "author": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Fri Jan 08 11:16:59 2016 +0000"
      },
      "committer": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Fri Jan 08 11:16:59 2016 +0000"
      },
      "message": "Allow all routes to be removed\n\nRemove omitempty tag so an empty Routes array will be passed in JSON\nrequest and all routes can be removed.\n"
    },
    {
      "commit": "0a866d91a8e5100b388a359137a413e1659c2e04",
      "tree": "e2a607ffc5c200daeac60e85ce16eb5e89e861dc",
      "parents": [
        "9c901fbf44c949a78796a3d7bed356268e356a28",
        "0454360ed377a9549a69d4791b09a8f1db380196"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jan 05 14:47:58 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jan 05 14:47:58 2016 -0600"
      },
      "message": "Merge pull request #514 from chaolou/bug-fix-reauth\n\nBug fix reauth and add extract user from token"
    },
    {
      "commit": "9c901fbf44c949a78796a3d7bed356268e356a28",
      "tree": "fdc473d925a0d85b245d51e33a4e94cd683ec43a",
      "parents": [
        "5e6aa6b73b3cfa7d9815a1f5963bdb05fa38f8d5",
        "94e4cc524c28906fa3bba81276146add2b98dbbf"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jan 05 14:41:32 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jan 05 14:41:32 2016 -0600"
      },
      "message": "Merge pull request #403 from jtopjian/compute-floating-ip-fixed-ip\n\n[rfr] Adds Fixed IP support to os-floating-ips"
    },
    {
      "commit": "94e4cc524c28906fa3bba81276146add2b98dbbf",
      "tree": "411e93dcddc3aa645be1f875fc33acdc896adddb",
      "parents": [
        "d97fe9ba757f374d1e845d2d8cf79327e012f507"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Jan 05 17:01:18 2016 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Jan 05 17:01:18 2016 +0000"
      },
      "message": "Renaming functions to be more appropriate to their task\n"
    },
    {
      "commit": "5e6aa6b73b3cfa7d9815a1f5963bdb05fa38f8d5",
      "tree": "d71b54d2b2d01c41c0898726cbb4c6dfab4523e6",
      "parents": [
        "57ff5f87febc1da8104bbf1e686b1851cfe3110e",
        "4c39b93639e17fabd89b445c040c56bf50f235ab"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jan 04 10:48:05 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jan 04 10:48:05 2016 -0600"
      },
      "message": "Merge pull request #499 from tahia-khan/master\n\nUpdating godocs descriptions for SecGroupRule"
    },
    {
      "commit": "57ff5f87febc1da8104bbf1e686b1851cfe3110e",
      "tree": "ebae9f3fc1dbac8e977a437dec1ae5f6fdda03de",
      "parents": [
        "761cff8afb6a8e7f42c5554a90dae72f341bb481",
        "1a59d26837f37b037b126f63b83cd7232cab489e"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jan 04 10:31:25 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jan 04 10:31:25 2016 -0600"
      },
      "message": "Merge pull request #494 from timbyr/RouterExtraRoutes\n\n[rfr]Support Extra routes extension in router api"
    },
    {
      "commit": "ecf63dd14409e6200661c67be23f5c3c2bad3c7e",
      "tree": "f701279c9cc80cd5b105b858f42c68059995d20f",
      "parents": [
        "761cff8afb6a8e7f42c5554a90dae72f341bb481"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Dec 12 20:33:50 2015 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Dec 14 21:02:49 2015 +0000"
      },
      "message": "multi ephemeral support\n\nThis commit adds the ability to specify multiple ephemeral disks through the\nbootfromvolume extension.\n"
    },
    {
      "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": "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": "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": "1a59d26837f37b037b126f63b83cd7232cab489e",
      "tree": "05bab5ee9dfbd978f5c21a1463f10fa945855a26",
      "parents": [
        "d471e5750cbf9a858a45b646968869f394077d3a"
      ],
      "author": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Tue Sep 22 14:49:53 2015 +0100"
      },
      "committer": {
        "name": "Keith Byrne",
        "email": "keith.byrne@ammeon.com",
        "time": "Tue Nov 03 12:49:18 2015 +0000"
      },
      "message": "[rfr]Support Extra routes extension in router api\n\nhttp://developer.openstack.org/api-ref-networking-v2-ext.html#extraroute-ext\n"
    },
    {
      "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": "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": "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"
    }
  ],
  "next": "56d0c2e8f96d249025cb056e9617b3521c2730b5"
}
