)]}'
{
  "log": [
    {
      "commit": "517c799ebe75bb7d4994d286cabaf4a0782cabc1",
      "tree": "8dc4ecd56b283a8b874a382bbebfb7fd09c01c90",
      "parents": [
        "4d2266c1ea7b9bf64e6e595bb02a61b6c29fceba"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Jan 19 17:10:29 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 19 18:10:29 2017 -0600"
      },
      "message": "FWaaS Router Insertion (#220)\n\n* Implement fwaasrouterinsertion FWaaS extension\r\n\r\nThis commit adds the FWaaS router insertion extension which enables\r\nthe firewall to be associated with one or more routers.\r\n\r\n* FWaaS Router Insertion Acceptance Tests\r\n"
    },
    {
      "commit": "57680b77a96468f59d45310ab3dfa68c02f47fd7",
      "tree": "e02fb62212c680e43acbe461608ecc59663f3f8f",
      "parents": [
        "5368725816dfa1fe57af073df5eee113641ac801"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Oct 24 10:26:05 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Oct 24 11:26:05 2016 -0500"
      },
      "message": "Allow Any Protocol in FWaaS Rules (#162)\n\nThis commit enables FWaaS Rules to allow any protocols. It does this\r\nby creating constants for each valid type of protocol, and upon the\r\ntype of ProtocolAny being used, the request\u0027s protocol parameter will\r\nbe null."
    },
    {
      "commit": "c8f12c6e39d96d0e07f0976e184ea0308cb6aaf0",
      "tree": "add0b6d121a97bbae0ac2495d38da1be0e5f4f5c",
      "parents": [
        "19e713b71ea0ba4c56057127841ad792fe249782"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Oct 11 11:29:10 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 11 11:29:10 2016 -0500"
      },
      "message": "aggregate coverage metrics of unit tests across packages (#115)\n\naggregate coverage metrics of unit tests across packages"
    },
    {
      "commit": "19e713b71ea0ba4c56057127841ad792fe249782",
      "tree": "59e22891b79597eaa8174f10ba2fd5a475f6c96d",
      "parents": [
        "8e3f2508fcaecbcca35ecf1095839cf49c489bcf"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Oct 06 10:10:24 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Oct 06 11:10:24 2016 -0500"
      },
      "message": "Update Subnet Gateway Behavior (#102)\n\nThis commit enables all three behaviors of a gateway during subnet creation and\r\nupdating.\r\n\r\nIf a GatewayIP is omitted, Neutron will provision a default gateway.\r\nIf a GatewayIP is set to an empty string, no gateway will be provisioned.\r\nIf a GatewayIP is specified, it will be used as the gateway IP."
    },
    {
      "commit": "c5d17b854b473c6e0249874d23574dd5567e864b",
      "tree": "454b93c8e4628abae332a162d745b0cc0c563164",
      "parents": [
        "50cdddf51c54e8df178af065055cbc5b3cf442e1"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Sep 26 12:39:57 2016 -0400"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 26 11:39:57 2016 -0500"
      },
      "message": "Fix Floating IP Disassociation (#103)\n\nThis commit fixes floating IP disassociation by changing the PortID to a\r\nstring pointer rather than a string. This allows a value of \"null\" to be\r\npassed which is what the Networking API is looking for."
    },
    {
      "commit": "d5be3fe7d51eef1025c34a2abb8fffaf641d5683",
      "tree": "bbcc7955a3398338b3e9a439f92364718c193b69",
      "parents": [
        "091b8b96a37d13ab7665f71c70c7d025ddc54ccc"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Aug 29 09:41:13 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Aug 29 10:41:13 2016 -0500"
      },
      "message": "Ensure returned segmentation_id is a string (#70)\n\n"
    },
    {
      "commit": "091b8b96a37d13ab7665f71c70c7d025ddc54ccc",
      "tree": "896cf7ff3dafe2b61f3ce7d29c33c19b16bffb57",
      "parents": [
        "7a0f3e5d85f8e1be4557466ad2c953c3b917a16c"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Aug 29 09:33:05 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Aug 29 10:33:05 2016 -0500"
      },
      "message": "Make TenantID not required for lbaas member creation (#72)\n\n"
    },
    {
      "commit": "75801bc84b9717fd450f05dda6ff9fa545d27d03",
      "tree": "ecc40c27365997f60fe8e383d620e8f8bac22244",
      "parents": [
        "e470686ff616be33b46f9eeddae10ca1f9e35a15"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Mon Jul 25 10:06:55 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Mon Jul 25 13:38:00 2016 -0700"
      },
      "message": "Adding Vip port ID for loadbalancer - Issue #9\nVip port ID is actually being returned by the lbaas api although\ndocumentation does not reference it.  This PR exposes this important\nattribute when creating or listing loadbalancers.\n\nREQ: curl -g -i --cacert \"/home/sabhaya/ipc/cacert.cer\" -X POST\nhttps://10.243.189.6:9696/v2.0/lbaas/loadbalancers.json -H \"User-Agent:\npython-neutronclient\" -H \"Content-Type: application/json\" -H \"Accept:\napplication/json\" -H \"X-Auth-Token:\n{SHA1}197d9453ec40aa1453b88ed2fd31dc22ee9bb6d3\" -d \u0027{\"loadbalancer\":\n{\"vip_subnet_id\": \"6cfcd316-6060-42e3-95a7-fe5dd7ba6f46\", \"description\":\n\"vipul-test\", \"admin_state_up\": true}}\u0027\nDEBUG: keystoneauth.session RESP: [201] Content-Type: application/json\nContent-Length: 430 X-Openstack-Request-Id:\nreq-c38d6086-77d6-4f91-94d1-b6f233cf90c0 Date: Thu, 07 Jul 2016 00:13:58\nGMT Connection: keep-alive\nRESP BODY: {\"loadbalancer\": {\"description\": \"vipul-test\",\n\"admin_state_up\": true, \"tenant_id\": \"4c45f9757fce480c875e096fba3e254e\",\n\"provisioning_status\": \"PENDING_CREATE\", \"listeners\": [], \"vip_address\":\n\"10.0.2.31\", \"vip_port_id\": \"4e901618-0a8d-4d46-861c-28fad2df7a8c\",\n\"provider\": \"octavia\", \"vip_subnet_id\":\n\"6cfcd316-6060-42e3-95a7-fe5dd7ba6f46\", \"id\":\n\"c28cf436-f201-4c4f-be63-ecbd092aae63\", \"operating_status\": \"OFFLINE\",\n\"name\": \"\"}}\n\nCreated a new loadbalancer:\n+---------------------+--------------------------------------+\n| Field               | Value                                |\n+---------------------+--------------------------------------+\n| admin_state_up      | True                                 |\n| description         | vipul-test                           |\n| id                  | c28cf436-f201-4c4f-be63-ecbd092aae63 |\n| listeners           |                                      |\n| name                |                                      |\n| operating_status    | OFFLINE                              |\n| provider            | octavia                              |\n| provisioning_status | PENDING_CREATE                       |\n| tenant_id           | 4c45f9757fce480c875e096fba3e254e     |\n| vip_address         | 10.0.2.31                            |\n| vip_port_id         | 4e901618-0a8d-4d46-861c-28fad2df7a8c |\n| vip_subnet_id       | 6cfcd316-6060-42e3-95a7-fe5dd7ba6f46 |\n+---------------------+———————————————————+\"}}\u0027\"\n"
    },
    {
      "commit": "3c8926737cce8a87c58034f999c465ff84425b2b",
      "tree": "1d3fbea0cf608aed30d45271bc30dcb7d0a7cfd4",
      "parents": [
        "e3a4cbe68641f2da5828d55cc2ddc3e8ffc624d0"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 23:06:05 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 23:06:05 2016 -0500"
      },
      "message": "remove refs to origin\n"
    },
    {
      "commit": "e3a4cbe68641f2da5828d55cc2ddc3e8ffc624d0",
      "tree": "7ababe92a80c05330d96bf2a797aa432afcdc09b",
      "parents": [
        "94ae0ebccccff412b07bc214041c04c07d2b85c2"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 23:01:41 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 23:01:41 2016 -0500"
      },
      "message": "add doc.go files to make testing dirs buildable\n"
    },
    {
      "commit": "9b7b9e6a417dcbe0495f02a1eb381f3bcd193230",
      "tree": "016cfe726ce815aebece6bcbd3e5c007b8089267",
      "parents": [
        "3d966168b94eef2931a8a7198e21c8467a1f6852",
        "d47105ce4ef90cea9a14b85c8dd172b760085828"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 22:30:50 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 22:30:50 2016 -0500"
      },
      "message": "merge lbaasv2, portsbinding, volumes v2; remove \u0027rackspace\u0027 refs; update docs\n"
    },
    {
      "commit": "3d966168b94eef2931a8a7198e21c8467a1f6852",
      "tree": "dd2db0c93fe35391840a4a206e4d5f748b5d5342",
      "parents": [
        "9cc33592a49ecba441b7ecd78c7ec4f7e70205a5"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 06 14:08:54 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 06 14:08:54 2016 -0500"
      },
      "message": "move unit tests into \u0027testing\u0027 directories\n"
    },
    {
      "commit": "8b6b1b7efbc00622bdcedbfd1083a37769c361b6",
      "tree": "af0b1e6847c5978d8ccf693ad03a402de2229386",
      "parents": [
        "67139b9485d6fd682c5314e963b0915e18f7947a"
      ],
      "author": {
        "name": "Min Pae",
        "email": "sputnik13@gmail.com",
        "time": "Fri Jun 03 11:56:12 2016 -0700"
      },
      "committer": {
        "name": "Min Pae",
        "email": "sputnik13@gmail.com",
        "time": "Fri Jun 03 11:58:27 2016 -0700"
      },
      "message": "fixing build constraints for lbaas_v2 fixtures\n\nBuild constraints are missing a line after the build constraint\nas required by https://golang.org/pkg/go/build/, and the fixtures\nare being pulled in by standard builds, causing test code to be\nincluded in the final binary.\n"
    },
    {
      "commit": "bb39de2a7b2e51e271cb33d889250392b938a30c",
      "tree": "1a60ea90c9b3f8e1cc5fd4bc3464bed8e9c7a037",
      "parents": [
        "3f48266c957ad33b8df9c59fe4820f8c04ae21a6"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Wed May 18 19:01:49 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Fri May 27 20:48:36 2016 +1000"
      },
      "message": "Addressing comments\n"
    },
    {
      "commit": "d6336c4baea495dcd4447f9d3467fc696e222f08",
      "tree": "3a80aeca08ab37f890be5b23c96cff7d072b22ec",
      "parents": [
        "e940a168bfb4d6c607177552bd595ac9356dfd28"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Sat May 14 22:13:13 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Fri May 27 20:47:49 2016 +1000"
      },
      "message": "Adding Support for LBaaS v2 - Health Monitors\n"
    },
    {
      "commit": "e940a168bfb4d6c607177552bd595ac9356dfd28",
      "tree": "908278588fcfa67c7b67c3e0b13fe045e85329a2",
      "parents": [
        "57e28017730c3fb0505de18b8d090ac0904e2253"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Sat May 14 22:08:08 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Fri May 27 20:47:49 2016 +1000"
      },
      "message": "Adding Support for LBaaS v2 - Pools and Members\n"
    },
    {
      "commit": "57e28017730c3fb0505de18b8d090ac0904e2253",
      "tree": "abb4ba33fd1c923cfe5d282b0fa8110bfabeffff",
      "parents": [
        "f17786f3695b87d7a67c38c58cd8ec6d26a7ed5d"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Sat May 14 21:57:26 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Fri May 27 20:47:49 2016 +1000"
      },
      "message": "Adding Support for LBaaS v2 - Listeners\n"
    },
    {
      "commit": "f17786f3695b87d7a67c38c58cd8ec6d26a7ed5d",
      "tree": "91a924fc90862ee55c616ebb5607ed3ebef25bbf",
      "parents": [
        "6fbd243473c9984e40119ce8b96be8bfd1cb75d8"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Sat May 14 21:43:51 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Fri May 27 20:47:49 2016 +1000"
      },
      "message": "Adding Support for LBaaS v2 - Loadbalancers\n"
    },
    {
      "commit": "6fbd243473c9984e40119ce8b96be8bfd1cb75d8",
      "tree": "5520ce584c821592b571de87358da7d3b4b805ac",
      "parents": [
        "ff42b6ac0094d26632d2bac96b7dea0f1b7e98bb",
        "300b597b6aa492417497b2bc05b2afa90f2d1c1d"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed May 25 11:30:17 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed May 25 11:30:17 2016 -0500"
      },
      "message": "Merge pull request #560 from jtopjian/openstack-lbaas-pool-provider\n\n[rfr] Add Provider Option for Pool Creation"
    },
    {
      "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": "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": "300b597b6aa492417497b2bc05b2afa90f2d1c1d",
      "tree": "6e1c9ea6ba99b64f8d99cdba14de8963ce9f4f08",
      "parents": [
        "c54bbac81d19eb4df3ad167764dbb6ff2e7194de"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun Apr 17 05:34:57 2016 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun Apr 17 05:36:19 2016 +0000"
      },
      "message": "Add Provider Option for Pool Creation\n\nThis commit adds the ability to specify a provider when creating a\nLBaaS pool.\n"
    },
    {
      "commit": "bc5486199a11a36a89f82b55a89d8431f75f9529",
      "tree": "d5688b76de78b58cb968795840de75dfec38067b",
      "parents": [
        "47cee0c32121faaa1cfa15176c6cce17328269ce"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 17:03:59 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 17:03:59 2016 -0500"
      },
      "message": "fixes after adding rackspace/gophercloud commits\n"
    },
    {
      "commit": "47cee0c32121faaa1cfa15176c6cce17328269ce",
      "tree": "cbfbc4537934ffb9c02dd24823f4c896e1c3a75f",
      "parents": [
        "1a63d780285a732399e1424654276439585301d7",
        "231898eeeb3f1efabaf953757babcdb84298fbe8"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 16:30:30 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 16:30:30 2016 -0500"
      },
      "message": "add rackpsace/gophercloud commits\n"
    },
    {
      "commit": "8ce5e28226c46323d8d7a2c854fd849d998f1f68",
      "tree": "17c53aa00dc99f33751434f592f5ec1e3f6e6316",
      "parents": [
        "3026e84be21c0c4b877173cc1c94afdb640e590c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 14:31:01 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 14:31:01 2016 -0500"
      },
      "message": "fix import paths\n"
    },
    {
      "commit": "29ae6b37381a93b881a4658583fcacc6d31a833d",
      "tree": "dd847c1f01692742df9969fa3e20c98d3588e233",
      "parents": [
        "2be387af6548e2998407e9f8e3f4337e0ebad3a1"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 12:59:37 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 12:59:37 2016 -0500"
      },
      "message": "no naked returns in go; fix auth v3 unit tests\n"
    },
    {
      "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": "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": "3860b51298ec4cc58acd486c4f82d826ac29a239",
      "tree": "c60c18ab485d0f0a83d7c42cc27b07df4c24a6a6",
      "parents": [
        "397ade62e7592be6e70c18ac932f9d0f1e1d9f16"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Tue Mar 29 12:01:48 2016 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Tue Mar 29 12:01:48 2016 -0500"
      },
      "message": "named return vars\n"
    },
    {
      "commit": "397ade62e7592be6e70c18ac932f9d0f1e1d9f16",
      "tree": "3f83ba64b8eb8b6bf321a90033cea7d09101cf04",
      "parents": [
        "77f79d2b64b60195f79b11d4f6d95425e4109db6"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Tue Mar 15 06:55:02 2016 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Tue Mar 15 06:55:02 2016 -0500"
      },
      "message": "fixes for failing unit tests after changes\n"
    },
    {
      "commit": "e1c6ceb3abcbec6c99ada70e81346c8e1f98a490",
      "tree": "198c4ccebb5927fdc6e3b730907ea361fc47e322",
      "parents": [
        "db0ae140afbe50f92d0175f995ec34c5cfdf6831"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Mon Mar 14 12:09:36 2016 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Mon Mar 14 12:09:36 2016 -0500"
      },
      "message": "struct tags for networking v2\n"
    },
    {
      "commit": "e3cb7e45cd599c4a14838e81ffa5175f203c2340",
      "tree": "9f5ef2b8fc68b13070a65800ba7478fef064a6f8",
      "parents": [
        "a3302e1a0b56790d8191faffba6e0535161aef74"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Mon Mar 07 06:24:11 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Mon Mar 07 06:24:11 2016 -0600"
      },
      "message": "error types for networks v2\n"
    },
    {
      "commit": "1b220835fbc94202b9a582964d640fbcaefb1042",
      "tree": "06dc91613da2bd84a5f3a3acec8bf2bec5931a3c",
      "parents": [
        "31b6646e8251a5c8d3da82625794708eebd412c7"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 22:37:02 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 22:37:02 2016 -0600"
      },
      "message": "remove urls_test.go files\n"
    },
    {
      "commit": "31b6646e8251a5c8d3da82625794708eebd412c7",
      "tree": "5d93adb44e587abbdf8833d0afe799e1b6f795f5",
      "parents": [
        "82583e719f36eb9304241f31305f5acb00478c74"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 22:25:30 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 22:25:30 2016 -0600"
      },
      "message": "more consistent naming\n"
    },
    {
      "commit": "3c16647f36d84e060d67bb74880a0c4c5c90c0c5",
      "tree": "8d58878793c896187d2ede4e74e38de25d2b908a",
      "parents": [
        "668228296cefd3e03ff9b3b9b13c3d190f7a057b"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 03:07:41 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 03:07:41 2016 -0600"
      },
      "message": "remove mapstructure from identity,networking,objectstorage,orchestration,pagination\n"
    },
    {
      "commit": "27249f4d6f4edde27fb76d11fcd58b37ca27c3cb",
      "tree": "db5ca59e0af4731bb084a4f06395dbb52ab65cda",
      "parents": [
        "b101323b44e08334d450961d675b715f6360e46e"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 18 10:35:59 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 18 10:35:59 2016 -0600"
      },
      "message": "rename imports: rackspace/gophercloud -\u003e gophercloud/gophercloud\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": "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": "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": "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": "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": "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": "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": "4c39b93639e17fabd89b445c040c56bf50f235ab",
      "tree": "a8615f83a5f8267215a73074f0d998d5d90bb860",
      "parents": [
        "d783aa72ca0531c6d07f76c84fc73083a5e8af7f"
      ],
      "author": {
        "name": "Tahia Khan",
        "email": "tahia.khan@gmail.com",
        "time": "Fri Oct 02 20:46:28 2015 -0400"
      },
      "committer": {
        "name": "Tahia Khan",
        "email": "tahia.khan@gmail.com",
        "time": "Fri Oct 02 20:46:28 2015 -0400"
      },
      "message": "Docs: removing references to security group in security group rules documentation\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": "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": "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": "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": "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": "059e1509bb576ce67993d0dd66a2e4dbf7757be3",
      "tree": "ec2ee4b82fe5e4f133a36b1000f74387d8c564b5",
      "parents": [
        "562a7d55b3b9673b4804ce470f9dbe0c24c14895"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Mar 24 16:20:32 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Mar 24 16:20:32 2015 +0100"
      },
      "message": "Add Networking HTTP operations\n"
    },
    {
      "commit": "c530ba1ac117c3a2c381e9aedc31f687480f6e79",
      "tree": "ee58233e264142c13b107241db19fc8e6aca654b",
      "parents": [
        "647cea513a78fedb64875ed62c6064db1534a030"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Mar 23 17:50:46 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Mar 23 17:50:46 2015 +0100"
      },
      "message": "Refactor OpenStack services to use default OkCodes\n"
    },
    {
      "commit": "bae34462ca5287123aab5cf9f5a80d25b9d172eb",
      "tree": "ad952db231a30fa1e331a660110e91f91ac43cc7",
      "parents": [
        "8bacd0e5066ce23549f3450b7de17c304d7eeb34",
        "24019b15824e19f56fe9744a982f143159958710"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 11 09:36:54 2015 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 11 09:36:54 2015 -0600"
      },
      "message": "Merge pull request #395 from jrperritt/rs-security-groups\n\n[wip] Rackspace Neutron Security Groups; Closes #391"
    },
    {
      "commit": "24019b15824e19f56fe9744a982f143159958710",
      "tree": "fddd662d637d163c8da0d2f1efd5f06975a17b7c",
      "parents": [
        "8c2139d257131b522eb653853e5d27010f9a43d1"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 11 09:31:15 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 11 09:31:15 2015 -0600"
      },
      "message": "are -\u003e is in docs\n"
    },
    {
      "commit": "b0b9c0d5d1b89c56c38534a138d12c902a522de0",
      "tree": "18e938d374ca7f66fd2e3d23ce93100e2f474e07",
      "parents": [
        "590bb047a9a84a879a3e31db2beb70db050bc358"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Mar 10 17:24:08 2015 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Mar 10 17:24:08 2015 -0600"
      },
      "message": "weak decode NetworkExtAttrs\n"
    },
    {
      "commit": "7f658c19287c73ad4df82ae2eb16f9958a95b892",
      "tree": "0bdd4814b91a3bb04d25dfa64d79fef1162070e2",
      "parents": [
        "2474fbb6d4f4586bc7de1c1b3c53cd40ad66a0aa"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 05 09:58:44 2015 -0700"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 05 09:58:44 2015 -0700"
      },
      "message": "add comment about go version\n"
    },
    {
      "commit": "2474fbb6d4f4586bc7de1c1b3c53cd40ad66a0aa",
      "tree": "2596ca820bf48ec43cb550ae1da35de30f300c3e",
      "parents": [
        "cf6e524c08446812381e71befaaa4182ed853629"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 05 09:49:50 2015 -0700"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 05 09:49:50 2015 -0700"
      },
      "message": "comment for filler line\n"
    },
    {
      "commit": "cf6e524c08446812381e71befaaa4182ed853629",
      "tree": "49815a8c326b80d2ecfabc3ac5e4f3d2327c02e0",
      "parents": [
        "32d0a893a8ef70abe76dc5153e2925b39cbea7f7"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 04 09:36:19 2015 -0700"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 04 09:36:19 2015 -0700"
      },
      "message": "add filler line to avoid runtime issue\n"
    },
    {
      "commit": "8e5c3f235e820fb606e97c2d79aec2bdda434874",
      "tree": "989286f960c65f693ebd104fbf4ca9ed984bac1e",
      "parents": [
        "ea5b3ff6c5b56c0f342dd19e6a7496779b6c2bb0"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Tue Feb 17 21:14:51 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Tue Feb 17 21:16:28 2015 +0100"
      },
      "message": "Use client.Request instead of perigee\n"
    },
    {
      "commit": "0059767712f38031fde22e0c525b01f64ff1c800",
      "tree": "4ff84666957e6d8ed70a2072ebba585b02b9caa5",
      "parents": [
        "f1503992ae06977cd900c760170aa54305094e54"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:44:22 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:45:55 2015 +0100"
      },
      "message": "Introduce OptsBuilder for code style consistency\n"
    },
    {
      "commit": "f1503992ae06977cd900c760170aa54305094e54",
      "tree": "d6823e5320255ab294206269aa1ecedfba8f6e81",
      "parents": [
        "ed2ed803577f3900af57d74dfaae6ffb79847ba3"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:01:35 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:04:51 2015 +0100"
      },
      "message": "Change type *string to string for fields `name` \u0026 `description`\n"
    },
    {
      "commit": "ed2ed803577f3900af57d74dfaae6ffb79847ba3",
      "tree": "35b95fcfd8ca624c48ee414d45962ec4ea4bb5c1",
      "parents": [
        "092b45f07c96410ffe14731a9c813e0b1aa78a22"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Thu Feb 12 01:51:31 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:10 2015 +0100"
      },
      "message": "Error handling on struct to map mappings\n"
    },
    {
      "commit": "092b45f07c96410ffe14731a9c813e0b1aa78a22",
      "tree": "c35f15c94030b8c608a86890920d58fbf4e98f38",
      "parents": [
        "5571b6fc5d3e3c174fc868a72435ba0a569bc3e9"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Thu Feb 12 00:41:32 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:10 2015 +0100"
      },
      "message": "Use solid types for *bool attributes\n"
    },
    {
      "commit": "6d3d0067d9610e49d5458b8ea1da7807282cdaf7",
      "tree": "8ed1240aff1a3631de715d4f2e7ef5985441c263",
      "parents": [
        "3e5b293a6a05c17349a81fa71603c604aa88f8fb"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 09 00:00:37 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:10 2015 +0100"
      },
      "message": "Add unit tests for firewalls\n"
    },
    {
      "commit": "3e5b293a6a05c17349a81fa71603c604aa88f8fb",
      "tree": "845d5b17234a254a6a183ac0aee628c11c25e9d3",
      "parents": [
        "b8dca24a2beb2af7fff19f741dbb94d20824e51e"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 09 00:00:25 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:10 2015 +0100"
      },
      "message": "Add unit tests for firewall policies\n"
    },
    {
      "commit": "b8dca24a2beb2af7fff19f741dbb94d20824e51e",
      "tree": "b8f62bf1baab5e11b4d1552467de1465a58e9ecc",
      "parents": [
        "d9f939fb5e0af9cf498f6f6ef3881f1edf7efb40"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 09 00:00:11 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:10 2015 +0100"
      },
      "message": "Add unit tests for firewall rules\n"
    },
    {
      "commit": "d9f939fb5e0af9cf498f6f6ef3881f1edf7efb40",
      "tree": "7b5172f392a408410d9322b430325ab07e33c62e",
      "parents": [
        "4645912b1851522ab625fd55c290660b0535240d"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Sun Feb 08 23:49:59 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:10 2015 +0100"
      },
      "message": "Replace struct based mapping by manual mapping\n\nThe old way does not allow to handle updates correctly. When a nullable\nfield is set and we want to remove the value we need to be able to set\na null value in the json request body. For instance this happen in\nfirewall rules for field source_ip_address (among others).\n"
    },
    {
      "commit": "4645912b1851522ab625fd55c290660b0535240d",
      "tree": "143f6bfd80bcec7bc5674fec304008ea63d77c9d",
      "parents": [
        "914b10f05b7fc0db18bfef46d30393f1a4e792e2"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Sun Feb 08 22:03:35 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:09 2015 +0100"
      },
      "message": "Add mapstructure tags on Policy result\n"
    },
    {
      "commit": "914b10f05b7fc0db18bfef46d30393f1a4e792e2",
      "tree": "c5eabb7f26b4b706ecd85cae2e9b8c8c86390d9e",
      "parents": [
        "68c49f8cce8c8e5903154c631982c591fcd19a71"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Wed Feb 04 00:46:16 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:09 2015 +0100"
      },
      "message": "Fix bugs \u0026 warnings\n"
    },
    {
      "commit": "68c49f8cce8c8e5903154c631982c591fcd19a71",
      "tree": "3bc52b937accafef5f2c4a14f2daf2ce7c44c662",
      "parents": [
        "9441b814a55bff16d79d0e9a76c2b2f573441c95"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 02 01:14:21 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:09 2015 +0100"
      },
      "message": "Firewall rules bugfixes \u0026 enhancements\n"
    },
    {
      "commit": "9441b814a55bff16d79d0e9a76c2b2f573441c95",
      "tree": "bda68a4c5ff4b7583185495ce11710d300d09749",
      "parents": [
        "506d1504c1bca59e54ac1a09da619dadaff70d8d"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Tue Jan 27 01:22:45 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:09 2015 +0100"
      },
      "message": "Support FWaaS - Firewalls\n"
    },
    {
      "commit": "506d1504c1bca59e54ac1a09da619dadaff70d8d",
      "tree": "74733e031eb8f7bbfcd8dc51057e93256a441733",
      "parents": [
        "0e695145091b00ec0c28b90b200538fa18765409"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Tue Jan 27 01:21:18 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:09 2015 +0100"
      },
      "message": "Support FWaaS - Policies\n"
    },
    {
      "commit": "0e695145091b00ec0c28b90b200538fa18765409",
      "tree": "337c933708889f41c475e5680d584df91759c6f5",
      "parents": [
        "f245fe77244263d24fe9099ad179f972143cdcc3"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Tue Jan 27 01:18:51 2015 +0100"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Mon Feb 16 23:02:09 2015 +0100"
      },
      "message": "Support FWaaS - Rules\n"
    },
    {
      "commit": "59fb6c4b0726753bc5fa2cf945b86f0cff10a6c6",
      "tree": "0dbcfb0c72b524015d388542f2d86bcdd3e271cf",
      "parents": [
        "2199f10bc7ca61fbb16531b79edc78fa9d2c6eec"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Feb 12 16:21:13 2015 -0500"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Feb 13 09:09:46 2015 -0500"
      },
      "message": "Adjust regexps and do another pass.\n"
    },
    {
      "commit": "4bf41a37c959caa2aa450e11b8df1493b5919379",
      "tree": "42eb547a31378ad8fa8f965a01a47dde6d411bd1",
      "parents": [
        "f98df8d05c2289b83fef5b817a5c7cbb700024a2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Feb 12 15:52:44 2015 -0500"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Feb 13 09:09:46 2015 -0500"
      },
      "message": "openstack/ :knife: perigee\n"
    },
    {
      "commit": "71e109a368215399f0bce23878c8b3c059a29d59",
      "tree": "e0d9fa103f7eca4f35515a66970596a6ee6168bd",
      "parents": [
        "8fe67fef1207a7200a93eff3d192fd5c3a70d0f0"
      ],
      "author": {
        "name": "Julien Vey",
        "email": "vey.julien@gmail.com",
        "time": "Wed Feb 04 23:56:33 2015 +0100"
      },
      "committer": {
        "name": "Julien Vey",
        "email": "vey.julien@gmail.com",
        "time": "Thu Feb 05 12:05:59 2015 +0100"
      },
      "message": "Make portID not mandatory in floatingips\n\nWith the current code, it is not possible to allocate a floatingIP without\nassigning it to a port. Some tools will require to allocate an IP first to\nassign it later.\n\nThis is allowed in OpenStack API: http://developer.openstack.org/api-ref-networking-v2.html#layer3\n\nThis patch makes portID optional in gopher cloud\n"
    }
  ],
  "next": "65696f0db3ae024d9db8ce1930b907d13e9312c1"
}
