)]}'
{
  "log": [
    {
      "commit": "a9d5de4df9e1ca117a73dc284c8562256777556a",
      "tree": "0b442397eb64f0db3e7f83ddcb94b82af1325c1e",
      "parents": [
        "9a5595b8ffe429439c63781cdc312c254e4ad990"
      ],
      "author": {
        "name": "Simon Murray",
        "email": "spjmurray@yahoo.co.uk",
        "time": "Thu Nov 03 15:06:44 2016 +0000"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Sun May 07 14:10:28 2017 +0200"
      },
      "message": "Nova Hypervisors API\n\nAdds in support to list all available hypervisors (detailed) for applications\nsuch as monitoring and capacity planning.\n\nFor #179\n\nFix more API weirdness\n\nFor some reason this morning storage space started to (in gophercloud only\nnot via curl) return sizes as scientific notation\n\nStylistic changes for jrperritt\n\nChange to be a marker paged type\n\nRevert to single page results\n\nOur environment doesn\u0027t support marker pages, so go for the backwards compatible\noption.\n\nAdding Aggregate to hypervisors API\n\nChange-Id: I191f5a45de29ee3eb7e7e6554dcb4614ed73b39a\n"
    },
    {
      "commit": "9a5595b8ffe429439c63781cdc312c254e4ad990",
      "tree": "f130c2a65ff78251f53aff676d934a5ecd5617ed",
      "parents": [
        "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@redhat.com",
        "time": "Mon Mar 13 13:04:29 2017 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Mar 13 13:04:29 2017 -0500"
      },
      "message": "Update some docs for some nits found (#286)\n\n* A few small doc clarifications\r\n\r\nFirst of all, remove reference to HP as an OpenStack provider and\r\nreplace with some other examples of folks who are actually running\r\nOpenStack Public Clouds.\r\n\r\nThen add a few notes clarifying tenant/project usage and the fact that\r\ndomain applies to both.\r\n\r\n* Change my-openstack.com to openstack.example.com\r\n\r\nRFC 2606 defines example.com as a reserved domain to be used in tests\r\nand examples. It is guaranteed to not be actually resolvable. Update\r\nthe uses of my-openstack.com to use example.com instead.\r\n\r\n  https://tools.ietf.org/html/rfc2606\r\n\r\n* Change \"cluster\" to \"cloud\"\r\n\r\nThe general term for an installation of OpenStack is cloud, at least\r\nwhen talking to end users.\r\n\r\n* Address review comments\r\n"
    },
    {
      "commit": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
      "tree": "ea8096411a0efb8d92522a08a1ff3e43aa2b007e",
      "parents": [
        "71b85bda7a7ca7774f0db3c4974a4a90f4bbd022"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Mar 09 18:59:53 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:59:53 2017 -0600"
      },
      "message": "Compute v2: Extended Availability Zone Status (#282)\n\n* Compute v2: Extended Availability Zone Status API\r\n\r\n* Compute v2: Extended Availability Zone Status unit tests\r\n\r\n* Compute v2: Extended Availability Zone Status acceptance tests\r\n"
    },
    {
      "commit": "71b85bda7a7ca7774f0db3c4974a4a90f4bbd022",
      "tree": "109cb39316b60d53e80cad7694a45eb4b0bd9c0e",
      "parents": [
        "feda303f795926c9743eac49ab3f3fcd3a96dfec"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Mar 09 18:55:36 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:55:36 2017 -0600"
      },
      "message": "DNS Zones: List / Get (#271)\n\n* Add Zone List / Get Support\r\n\r\n* Addressing code review comments\r\n\r\n* Adding v2 to DNS client\r\n\r\n* List / Get unit tests plus updates to results for unit tests to work.\r\n\r\n* DNS v2 List acceptance tests\r\n\r\n* add failing unit test for dns v2 allpages\r\n\r\n* Changing acceptance test for DNS v2 to use AllPages\r\n\r\n* Adding empty zones.go file for package requirements\r\n\r\n* Change ttl back to int\r\n\r\n* DNS v2 Zones ListOpts\r\n"
    },
    {
      "commit": "feda303f795926c9743eac49ab3f3fcd3a96dfec",
      "tree": "a1fd3789ecb09985587ac54502413a8ce6830e0b",
      "parents": [
        "afdc3501e9cdb5025030acfc40c4c76125fa9991"
      ],
      "author": {
        "name": "dbaumgarten",
        "email": "incognym@googlemail.com",
        "time": "Fri Mar 10 02:52:54 2017 +0100"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:52:54 2017 -0600"
      },
      "message": "Added RouterID field to floatingip (#283)\n\n"
    },
    {
      "commit": "afdc3501e9cdb5025030acfc40c4c76125fa9991",
      "tree": "cd3217382b1fcebc357f5a47a86987d16ec74fdb",
      "parents": [
        "d3c9d971734acc986beaf0ab57fab51eb00819bb"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Mar 09 18:51:37 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:51:37 2017 -0600"
      },
      "message": "Compute v2: Allow correct handling of Image Metadata (#285)\n\nThe Compute v2 API expects JSON values for metadata with keys of\r\nboot_from_volume and mappings. This commit changes the Metadata\r\ntype from map[string]string to map[string]interface{} to handle\r\nthese values."
    },
    {
      "commit": "d3c9d971734acc986beaf0ab57fab51eb00819bb",
      "tree": "c74c0ffb5279ec87527a9784e6d94928e9b51f81",
      "parents": [
        "345dba6827f8f5776216edd9f68741c9a9ecfd25"
      ],
      "author": {
        "name": "dbaumgarten",
        "email": "incognym@googlemail.com",
        "time": "Fri Mar 10 02:30:21 2017 +0100"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:30:21 2017 -0600"
      },
      "message": "Layer3 acceptance tests dont use floating-network for subnets (#277)\n\n"
    },
    {
      "commit": "345dba6827f8f5776216edd9f68741c9a9ecfd25",
      "tree": "f37f2103667f886482b267d2f978046fc691b763",
      "parents": [
        "b46ba5a3a655228918da24c1a3ef3d742cf76f20"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Mar 09 17:43:38 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 09:43:38 2017 -0600"
      },
      "message": "Feature/filestorage sharetype showaccess (#149)\n\n* sfs: Add support for share type Show Access\r\n\r\n* sfs: Add acceptance tests for share type Show Access\r\n\r\n* sfs: Remove unused type\r\n\r\n* sfs: Fix unit and acceptance test\r\n"
    },
    {
      "commit": "b46ba5a3a655228918da24c1a3ef3d742cf76f20",
      "tree": "b911befa27b013d7defc8255579dc603deb157ab",
      "parents": [
        "303bf8a5e44befcf262f4d0502f7343f64c52d8e"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Wed Mar 08 20:56:49 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 08 12:56:49 2017 -0600"
      },
      "message": "Feature/filestorage securityservices list (#134)\n\n* sfs: Add support for security services List\r\n\r\n* sfs: Add acceptance tests for security service List\r\n\r\n* sfs: Remove extra parameters for security service list\r\n\r\nAfter taking a closer look at the code, some parameters\r\nseem to be filtered out during the list request. They\r\nhave now been filtered out.\r\n\r\n* sfs: Fix unit tests\r\n\r\n* sfs: Use SecurityServiceType for ListOpts Type\r\n"
    },
    {
      "commit": "303bf8a5e44befcf262f4d0502f7343f64c52d8e",
      "tree": "a31adf4b0f0fecd2b2ab3a41a4ba4d856cfda7f5",
      "parents": [
        "885e72ebf369df53be777ad14e429cf75d765b2a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 02 12:23:34 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 02 12:23:34 2017 -0600"
      },
      "message": "remove case for map[string]interface from switch statement in AllPages (#276)\n\n"
    },
    {
      "commit": "885e72ebf369df53be777ad14e429cf75d765b2a",
      "tree": "5d51ee44b432d68be478467649b2b262342c7e0e",
      "parents": [
        "6b8670527572d0b1eb850f8a941a968dcd673d55"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Mar 01 17:21:29 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 01 18:21:29 2017 -0600"
      },
      "message": "Fixing printing of port resources (#274)\n\n"
    },
    {
      "commit": "6b8670527572d0b1eb850f8a941a968dcd673d55",
      "tree": "669b951a3bfe5de052c298add922ee72981ed79f",
      "parents": [
        "6df190ca6cecfe758ce7fb8b3684934977db7210"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Feb 23 19:57:45 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 23 19:57:45 2017 -0600"
      },
      "message": "internal package (#270)\n\n"
    },
    {
      "commit": "6df190ca6cecfe758ce7fb8b3684934977db7210",
      "tree": "a3896c6589613c88ad230d5a107c4c1cea39f191",
      "parents": [
        "929e60b059cf61f742257058fcafa450fc520063"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 16:35:10 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 20 16:35:10 2017 -0600"
      },
      "message": "omit empty AdminPass in \u0027Rebuild\u0027 req body (#267)\n\n"
    },
    {
      "commit": "929e60b059cf61f742257058fcafa450fc520063",
      "tree": "304f79cd98565bdf00d26eafabca47d13181c7c2",
      "parents": [
        "2aaed7fc5684e8cd90e4b5e112f06c7f1769da2c"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 20 15:31:15 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 16:31:15 2017 -0600"
      },
      "message": "ImageService v2: Fixing Create Properties (#264)\n\n* Fix Creating Image Properties\r\n\r\nThe combination of JSON tags were not rendering the JSON body\r\ncorrectly and causing a 400 error by the API.\r\n\r\n* ImageService v2 Acceptance Tests\r\n\r\n* unit tests\r\n"
    },
    {
      "commit": "2aaed7fc5684e8cd90e4b5e112f06c7f1769da2c",
      "tree": "e9b15a35e0bbae5c014db68bdaa1d032604d07bd",
      "parents": [
        "48f36ae36dcf63cbedb5c5951fee1fb39dd02900"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 16:19:24 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 20 16:19:24 2017 -0600"
      },
      "message": "fix images \u0027AllPages\u0027 paging (#266)\n\n* fix images AllPages paging; make AllPages more robust\r\n\r\n* need to keep using the local page when iterating in AllPages\r\n"
    },
    {
      "commit": "48f36ae36dcf63cbedb5c5951fee1fb39dd02900",
      "tree": "31a28eeb54a3b9ba280142304c2be148b94370c3",
      "parents": [
        "5cb543c8c13ece4f73656b2de9d1883bbb8890f0"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 20 14:36:44 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 15:36:44 2017 -0600"
      },
      "message": "Add os-volume_upload_image action to volumeactions (#240)\n\n* Add os-volume_upload_image action to volumeactions\r\n\r\n* Code updates to align with style guide\r\n"
    },
    {
      "commit": "5cb543c8c13ece4f73656b2de9d1883bbb8890f0",
      "tree": "7484165e234c2c22e5789e81ff895729d6a8f145",
      "parents": [
        "f47ca3a2d457dd4601b823eb17ecc3094baf5fab"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 14:03:36 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 20 14:03:36 2017 -0600"
      },
      "message": "fix coverage script from masking unit test failures (#265)\n\n* add \u0027set -e\u0027 line to fail on error\r\n\r\n* create Unmarshal method for DefaultSecRule\r\n\r\n* fix portsbinding \u0027update\u0027 unit test\r\n\r\n* go fmt\r\n\r\n* remove line from debugging\r\n"
    },
    {
      "commit": "f47ca3a2d457dd4601b823eb17ecc3094baf5fab",
      "tree": "c311d305301dc3659a0514bacfed4d9db3870e0f",
      "parents": [
        "8cab8b8197067d4eb0494627cc926c0f90f2956c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Feb 17 11:23:12 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 17 11:23:12 2017 -0600"
      },
      "message": "change io.ReadSeeker to io.Reader (#262)\n\nchange io.ReadSeeker to io.Reader"
    },
    {
      "commit": "8cab8b8197067d4eb0494627cc926c0f90f2956c",
      "tree": "31c3b9e3ff44a4ce7061468756d8c334bab4acfa",
      "parents": [
        "ff77917b4d967827a1a375c97214f06b030e519a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Feb 16 14:48:18 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 16 14:48:18 2017 -0600"
      },
      "message": "create flavor (#257)\n\n* create flavor operation\r\n\r\n* accept 200,201 status codes\r\n\r\n* unit test\r\n"
    },
    {
      "commit": "ff77917b4d967827a1a375c97214f06b030e519a",
      "tree": "79cf77219b6d4163e70a81b459888f7f52d5acda",
      "parents": [
        "b06120d13e262ceaf890ef38ee30898813696af0"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Feb 14 18:24:39 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 14 19:24:39 2017 -0600"
      },
      "message": "ImageService v2: Fix paging when next URL is blank (#254)\n\n"
    },
    {
      "commit": "b06120d13e262ceaf890ef38ee30898813696af0",
      "tree": "1d35a53a059a8a5ac15af10fb2361f0d224d03b9",
      "parents": [
        "6d2ec964420acd609b7ddc0ac69174ceebf4fe58"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 13 21:36:15 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 13 22:36:15 2017 -0600"
      },
      "message": "Use AvailabilityZone instead of Availability (#246)\n\nThis commit updates the Block Storage v1 create request to use\r\nAvailabilityZone instead of Availability."
    },
    {
      "commit": "6d2ec964420acd609b7ddc0ac69174ceebf4fe58",
      "tree": "7697db2678088c6b42977a301210aeb55d78c581",
      "parents": [
        "48584fb6faa14880acfd8e1829a74cf0f968ccd6"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 13 21:23:55 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 13 22:23:55 2017 -0600"
      },
      "message": "Ports: Remove Security Groups and Address Pairs (#236)\n\nThis commit enables security groups and address pairs to be removed\r\nfrom a port. This is done by allowing an empty value to be passed\r\nfor either attribute in the port update request."
    },
    {
      "commit": "48584fb6faa14880acfd8e1829a74cf0f968ccd6",
      "tree": "2aee564f1da6b52a3844ac126e50244db32f6840",
      "parents": [
        "10a2744ec7fa9a716a77c186396c5e0a2cc9a4ba"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 13 21:18:26 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 13 22:18:26 2017 -0600"
      },
      "message": "Refactor WaitFor (#221)\n\n* Refactor WaitFor\r\n\r\nThis commit modifies WaitFor in a few ways:\r\n\r\nIt replaces time.Now().Second() with time.Now().Unix() in order to\r\naccount for rolling minutes (for example, when WaitFor starts at 59\r\nseconds, every timeout check will result in a negative number).\r\n\r\nA \"retry\" timer has also been added. This will cause the predicate\r\nto be retried every n seconds if there hasn\u0027t been a response. This\r\nis to account for server or network issues that would cause the\r\npredicate to be lost or hang indefinitely.\r\n\r\nA combination of using both timeout and retry can be effective in\r\nhandling faulty requests as well as a master kill switch to stop.\r\n\r\n* Remove Retry from WaitFor\r\n\r\nThis removes the retry parameter and re-uses the timeout to kill\r\npossible hanging predicates.\r\n"
    },
    {
      "commit": "10a2744ec7fa9a716a77c186396c5e0a2cc9a4ba",
      "tree": "3fb91904fd5eb21f63abf9243e7b118868749e26",
      "parents": [
        "c0df5212759612eb99d1178816ad620952c549f1"
      ],
      "author": {
        "name": "esalipe",
        "email": "peter.salin@ericsson.com",
        "time": "Tue Feb 14 06:11:01 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 13 22:11:01 2017 -0600"
      },
      "message": "db/instance: support giving nics in create opts (#201)\n\n"
    },
    {
      "commit": "c0df5212759612eb99d1178816ad620952c549f1",
      "tree": "0f826facc81b35750687c545572361e524873039",
      "parents": [
        "ed2f96ce05eb76a9fe89e671467ebf1818f49234"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 20 14:14:37 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 20 14:14:37 2017 -0600"
      },
      "message": "add item about dependent PRs to style guide (#239)\n\n"
    },
    {
      "commit": "ed2f96ce05eb76a9fe89e671467ebf1818f49234",
      "tree": "5912d2099b3e0e29aa16058f049c542326d4d5a3",
      "parents": [
        "66a046c6aa7e55fb98f1ea698881a1d27819c5e2"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 20 13:02:54 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 20 13:02:54 2017 -0600"
      },
      "message": "documenting example usage of a custom HTTP client (#231)\n\n* example to implement custom logging and re-auth limits\r\n\r\n* faq for advanced usage and customization\r\n"
    },
    {
      "commit": "66a046c6aa7e55fb98f1ea698881a1d27819c5e2",
      "tree": "82ff69fb1b311cbbbe9ad48bb1fcac150665b892",
      "parents": [
        "517c799ebe75bb7d4994d286cabaf4a0782cabc1"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Jan 19 22:07:26 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 19 23:07:26 2017 -0600"
      },
      "message": "Acceptance Test Updates (#218)\n\n* compute: don\u0027t pass choices\r\n\r\n* blockstorage: don\u0027t pass choices\r\n\r\n* DumpResource Function\r\n\r\nThis function prints a resource in JSON format but retains the actual\r\nfield name rather than using the name specified in the JSON tag.\r\n\r\n* New DumpResource\r\n\r\nThis version just converts the resource into JSON. The original is\r\nbeing left in git history for posterity.\r\n\r\n* Renaming DumpResource to PrintResource\r\n\r\n* Removing all print functions in favor of PrintResource\r\n\r\n* Rebase reconcilliation\r\n"
    },
    {
      "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": "4d2266c1ea7b9bf64e6e595bb02a61b6c29fceba",
      "tree": "0a64bfc2402128f49c39d3b4e3aa7875afeb56d2",
      "parents": [
        "c2bb4914e216cb75a6b9ac9e597561f467f8ced0"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Jan 19 16:57:50 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 19 17:57:50 2017 -0600"
      },
      "message": "Handle Unmarshaling Compute Floating IP IDs (#217)\n\n"
    },
    {
      "commit": "c2bb4914e216cb75a6b9ac9e597561f467f8ced0",
      "tree": "fc3b5fc3ab2f45331d6d1200fd85aca9a13b9013",
      "parents": [
        "6b3419fe1a6978b179da2dac31b45fa48a08d453"
      ],
      "author": {
        "name": "dbaumgarten",
        "email": "incognym@googlemail.com",
        "time": "Thu Jan 19 17:14:08 2017 +0100"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 19 10:14:08 2017 -0600"
      },
      "message": "Added functionality for updating and resetting compute quotas. (#214)\n\n* Added functionality for updating and resetting compute quotas.\r\nUnit and acceptance tests added.\r\n\r\n* Forgot to add my latest changes.\r\nModified acceptance test to better find the tenant-id\r\n\r\n* Improved test coverage.\r\nAnd fixed a bug while doing this.\r\n\r\n* Moved FillFromQuotaSet to acceptance test package\r\nRefractored ToComputeQuotaUpdateMap()\r\n"
    },
    {
      "commit": "6b3419fe1a6978b179da2dac31b45fa48a08d453",
      "tree": "34fe2316179e7dbfefc84720be44666df47672b4",
      "parents": [
        "700ce7db13d286b0a04a2d60c51b7a008fab6277"
      ],
      "author": {
        "name": "Bruce Martins",
        "email": "bmartins@gmail.com",
        "time": "Wed Jan 18 20:06:55 2017 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 18 19:06:55 2017 -0600"
      },
      "message": "fixed issue where personality wasn\u0027t working in request w/ config_drive (#213)\n\n"
    },
    {
      "commit": "700ce7db13d286b0a04a2d60c51b7a008fab6277",
      "tree": "5a05fdfee37718f6bdc7f31e6d5045db8b84e9c5",
      "parents": [
        "84e358b0a9f8b4fe1bd99c2cc2ce724adc3e776f"
      ],
      "author": {
        "name": "dbaumgarten",
        "email": "incognym@googlemail.com",
        "time": "Thu Jan 19 02:04:45 2017 +0100"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 18 19:04:45 2017 -0600"
      },
      "message": "Fixed TenantID struct-tag in user/CommonOpts (#211)\n\n"
    },
    {
      "commit": "84e358b0a9f8b4fe1bd99c2cc2ce724adc3e776f",
      "tree": "43c9221898baeefe824f5a726adb4d34245beb30",
      "parents": [
        "f7b8b068362024702da80dc5cc3d88c65ecfe006"
      ],
      "author": {
        "name": "esalipe",
        "email": "peter.salin@ericsson.com",
        "time": "Thu Jan 19 02:19:23 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 18 18:19:23 2017 -0600"
      },
      "message": "db/instance: add support for IPs in response body (#199)\n\n"
    },
    {
      "commit": "f7b8b068362024702da80dc5cc3d88c65ecfe006",
      "tree": "c850341d91a3baef7cda37e8af648a60eb4997e3",
      "parents": [
        "9368c00c3a45952005aa3f3a943bf1c7ebb01980"
      ],
      "author": {
        "name": "esalipe",
        "email": "peter.salin@ericsson.com",
        "time": "Thu Jan 19 02:08:59 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 18 18:08:59 2017 -0600"
      },
      "message": "db: fix flavor id parsing (#197)\n\n* Flavor IDs returned with instances are always strings\r\n* Flavor IDs returned with flavors are integers or null, there is a\r\n  str_id parameter that contains the ID in string format"
    },
    {
      "commit": "9368c00c3a45952005aa3f3a943bf1c7ebb01980",
      "tree": "a0926c6727c982f00f773879e32b62af1684badc",
      "parents": [
        "58d15022bb32fd887557d109ea1ee4bfd8e6040c"
      ],
      "author": {
        "name": "Mikko Valkonen",
        "email": "msvalkon@gmail.com",
        "time": "Mon Jan 16 18:31:39 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jan 16 10:31:39 2017 -0600"
      },
      "message": "feature/shared file systems: share acceptance tests (#128)\n\n* feature/filestorage: acceptance tests\r\n\r\nImplements acceptance tests for `sharedfilesystems/v2/shares`\r\n\r\n* sfs/acceptance: create share-network in env script\r\n\r\nAdds creation of a share-network in the acceptance test environment\r\nsetup script, and stores the network id in an environment variable\r\n\r\n* sfs: adds ShareNetworkID to AcceptanceTestChoices\r\n\r\nGets ShareNetworkID from the OS environment variable:\r\n`OS_SHARE_NETWORK_ID`\r\n\r\n* sfs: removes hard-coding of the share-network-id\r\n\r\n* sfs: add OS_SHARE_NETWORK_ID to acceptance README\r\n\r\n* sfs/acceptance: move WaitForStatus to acc. tests\r\n\r\nMoves the `WaitForStatus`-function from the actual library to the\r\nacceptance test folder and does not export it\r\n"
    },
    {
      "commit": "58d15022bb32fd887557d109ea1ee4bfd8e6040c",
      "tree": "b9077ecdd677f5299461627b1bd4e96c9964e0ce",
      "parents": [
        "368deee20062b2c7a043f792d7d998abe621872e"
      ],
      "author": {
        "name": "esalipe",
        "email": "peter.salin@ericsson.com",
        "time": "Fri Jan 13 19:31:08 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 13 11:31:08 2017 -0600"
      },
      "message": "db/instances: expect non-Z time format (#196)\n\n* db/instances: expect non-Z time format\r\n\r\n* fixup! db/instances: expect non-Z time format\r\n"
    },
    {
      "commit": "368deee20062b2c7a043f792d7d998abe621872e",
      "tree": "5c3024512fbfea702783148e958efa6f2f27b0c7",
      "parents": [
        "98d0162076e5ac4f47a4b7ce531234fc4b91aa79"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Jan 12 14:19:23 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 12 15:19:23 2017 -0600"
      },
      "message": "Handle Unmarshaling Compute Security Group IDs (#192)\n\n* Handling integer secgroup IDs\r\n\r\n* Handling integer secgroup rule IDs\r\n\r\n* Updating unit tests for integer secgroup IDs and rule IDs\r\n\r\n* Style updates\r\n\r\n* Style updates\r\n\r\n* Test formatting fix\r\n"
    },
    {
      "commit": "98d0162076e5ac4f47a4b7ce531234fc4b91aa79",
      "tree": "7256eedfec0e891710f80d666e80de1522d7a7ba",
      "parents": [
        "8baf47a5b9d7a92daf5571f9a072aea83bdc889a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 12 14:24:42 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 12 14:24:42 2017 -0600"
      },
      "message": "change all time fields to have type time.Time (#190)\n\n* add Volume.Unmarshal\r\n\r\n* add volumetenants.VolumeExt.Unmarshal\r\n\r\n* create servers.Server time.Time fields\r\n\r\n* json.Unmarshal can correctly handle time.RFC3339 (Server time fields)\r\n\r\n* add v3 Token UnmarshalJSON method\r\n\r\n* check for empty string when unmarshaling time\r\n\r\n* add Member UnmarshalJSON\r\n\r\n* v3 tokens.Token ExtractInto\r\n\r\n* v3 trust.Trust UnmarshalJSON\r\n\r\n* time.Time fields swift response objects\r\n\r\n* time.Time fields for orchestration response objects\r\n\r\n* time.Time fields for shared file systems response objects\r\n\r\n* if we don\u0027t use pointers for the custom time fields, we don\u0027t need to check if they\u0027re nil\r\n\r\n* style guide fixes: \u0027r\u0027 for receiver, \u0027s\u0027 for struct\r\n\r\n* remove unnecessary pointers from UnmarshalJSON methods\r\n"
    },
    {
      "commit": "8baf47a5b9d7a92daf5571f9a072aea83bdc889a",
      "tree": "85b3718802f103f735ee43373e664122093eb7ab",
      "parents": [
        "d131fb82d438ca390dbd9867c555681a1a9fd06e"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:50:24 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:50:24 2017 -0600"
      },
      "message": "Identity v3 Projects Update (#167)\n\n"
    },
    {
      "commit": "d131fb82d438ca390dbd9867c555681a1a9fd06e",
      "tree": "3f7a2f463f74259231010b70ec4b4ce9113cfbcb",
      "parents": [
        "997607633ac6ff54f5125d9b9dc2b1ff9d08f8c3"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:41:44 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:41:44 2017 -0600"
      },
      "message": "Identity v3 Projects Delete (#166)\n\n"
    },
    {
      "commit": "997607633ac6ff54f5125d9b9dc2b1ff9d08f8c3",
      "tree": "561573f3e7459e03aadbe7548b09e718b7ea6287",
      "parents": [
        "8ad602c701e4b583b04f0bd32163b445f49f53bd"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:40:40 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:40:40 2017 -0600"
      },
      "message": "Removing unused createErr functions from Identity packages (#229)\n\n"
    },
    {
      "commit": "8ad602c701e4b583b04f0bd32163b445f49f53bd",
      "tree": "43fb8b377c6dfa25337bf34e13b55b5bee1881b8",
      "parents": [
        "c2b8dcdf1a5caa47bb6d3569cf9247dc75bdbe71"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:01:47 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:01:47 2017 -0600"
      },
      "message": "Identity v3 Projects Create (#165)\n\n* Identity v3 Projects Create\r\n\r\n* Removing unused createErr function\r\n"
    },
    {
      "commit": "c2b8dcdf1a5caa47bb6d3569cf9247dc75bdbe71",
      "tree": "fbad921d379c5b550d2dba1ec9010b167982ef39",
      "parents": [
        "220e6e744484bfaeff8158dce14f54243b4236d9"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Wed Jan 11 06:01:00 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jan 10 22:01:00 2017 -0600"
      },
      "message": "Feature/filestorage availabilityzones list (#153)\n\n* sfs: Add support for Availability Zone List\r\n\r\n* sfs: Add acceptance tests for Availability zones List\r\n\r\n* sfs: Fix review comments\r\n"
    },
    {
      "commit": "220e6e744484bfaeff8158dce14f54243b4236d9",
      "tree": "0e58aa3eae620b14bb412255dbd49857a56f52c6",
      "parents": [
        "1c236d3c638f72bb395ac3ba45a314be8228587f"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Wed Jan 11 05:56:13 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jan 10 21:56:13 2017 -0600"
      },
      "message": "Feature/filestorage sharetype unsetextraspecs (#148)\n\n* sfs: Add support for share type Unset Extra Specs\r\n\r\n* sfs: Add acceptance tests for share type Unset Extra Specs\r\n"
    },
    {
      "commit": "1c236d3c638f72bb395ac3ba45a314be8228587f",
      "tree": "4df33b71fa4100970b57a40b412e54b1821f704d",
      "parents": [
        "463e9c872ffa9743a2109d1e89418b6e26a384c1"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Jan 09 15:33:32 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jan 09 16:33:32 2017 -0600"
      },
      "message": "Identity v3 Projects Get (#164)\n\n* Identity v3 Projects Get\r\n\r\n* Renaming ToGetQuery to ToProjectGetQuery\r\n\r\n* Fixing acceptance test\r\n"
    },
    {
      "commit": "463e9c872ffa9743a2109d1e89418b6e26a384c1",
      "tree": "8fafadc595ccbea354dbf0da18f1d35704e4e926",
      "parents": [
        "894b50d8e0e304e65bd8e822e95cd1fb417f8f43"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Sat Jan 07 01:18:18 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 06 17:18:18 2017 -0600"
      },
      "message": "Feature/filestorage sharetype setextraspecs (#147)\n\n* sfs: Add support for share type Set Extra Specs\r\n\r\n* sfs: Add acceptance tests for share type Set Extra Specs\r\n\r\n* sfs: Fix tests\r\n"
    },
    {
      "commit": "894b50d8e0e304e65bd8e822e95cd1fb417f8f43",
      "tree": "ed5357584a8586fea289c576b62b96997a63a8b5",
      "parents": [
        "d5eda9707e146108e4d424062b602fd97a71c2e6"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Sat Jan 07 00:38:03 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 06 16:38:03 2017 -0600"
      },
      "message": "Feature/filestorage securityservices delete (#133)\n\n* sfs: Add support for security services Delete\r\n\r\n* sfs: Add acceptance tests for security service Delete\r\n"
    },
    {
      "commit": "d5eda9707e146108e4d424062b602fd97a71c2e6",
      "tree": "7a44239baf6892398dd48d3e772ac81614ad9205",
      "parents": [
        "b5066cd02b356d2acf82eb263ea8314412d79327",
        "bb45a5e9acdaa82987a5806fdab954c31c7813a8"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 14 12:28:31 2016 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 14 12:28:31 2016 -0600"
      },
      "message": "tenantattr extension for cinder (#186)\n\n* tenantattr extension for cinder; ExtractInto method for handling custom Volume objects\r\n\r\n* make sure interface{} parameter is *struct\r\n\r\n* ExtractInto*Ptr methods for Result\r\n\r\n* use gophercloud.ExtractInto*Ptr for ExtractInto and ^CtractVolumesInto\r\n\r\n* use type instead of struct literal in unit test\r\n\r\n* comments for tenantattr pkg\r\n\r\n* call volumes.ExtractInto from volumes.Extract\r\n\r\n* clean up extractIntoPtr and add comments for new exported methods\r\n\r\n* add comment about ExtractInto*Ptr being for internal use only\r\n\r\n* check for http response error in ExtractInto*Ptr methods\r\n\r\nrename tenantattr pkg to volumetenants\r\n\r\n* rename tenantattr to volumetenants; remove commented code\r\n"
    },
    {
      "commit": "bb45a5e9acdaa82987a5806fdab954c31c7813a8",
      "tree": "452a751ef372c08204d01f2dedfdd3a52d3435b7",
      "parents": [
        "25492a9d0f93ebc52868393193f95240f115acf1"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 14 12:20:22 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 14 12:21:34 2016 -0600"
      },
      "message": "rename tenantattr to volumetenants; remove commented code\n"
    },
    {
      "commit": "25492a9d0f93ebc52868393193f95240f115acf1",
      "tree": "233696955489c68d8fd59c0aebd3e90b0c87ee79",
      "parents": [
        "c501bc1d93651ab04907d9d420831744c523957d"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 17:42:24 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 14 12:21:18 2016 -0600"
      },
      "message": "check for http response error in ExtractInto*Ptr methods\n\nrename tenantattr pkg to volumetenants\n"
    },
    {
      "commit": "b5066cd02b356d2acf82eb263ea8314412d79327",
      "tree": "32f4ce54b4aa0e9597a3c23bf13b0a62749f0a10",
      "parents": [
        "a901585e86130747c8d75e3833738ab3bfdc4c76"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Nov 10 22:15:42 2016 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 10 14:15:42 2016 -0600"
      },
      "message": "Feature/filestorage securityservices create (#132)\n\n* sfs: Add support for security services Create\r\n\r\n* sfs: Add acceptance tests for security service Create\r\n\r\n* sfs: Fix comments\r\n"
    },
    {
      "commit": "a901585e86130747c8d75e3833738ab3bfdc4c76",
      "tree": "db6c9787664952e6ffb8161e3edf2c6121cfdd8e",
      "parents": [
        "cd65a06fb6a69eef63cb1c1ec861144e86011b2f"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Nov 10 22:08:54 2016 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 10 14:08:54 2016 -0600"
      },
      "message": "Feature/filestorage sharetype getextraspecs (#146)\n\n* sfs: Add support for share type Get Extra Specs\r\n\r\n* sfs: Add acceptance tests for share type Get Extra Specs\r\n\r\n* sfs: Fix comments\r\n"
    },
    {
      "commit": "c501bc1d93651ab04907d9d420831744c523957d",
      "tree": "ab3bc6068682d17fdd5ba1521659d37a8d99cecb",
      "parents": [
        "41a7078b699656b6cdee196ba464952629b2df5f"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 15:52:55 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 15:52:55 2016 -0600"
      },
      "message": "add comment about ExtractInto*Ptr being for internal use only\n"
    },
    {
      "commit": "41a7078b699656b6cdee196ba464952629b2df5f",
      "tree": "d3c6dbed73711010505c6d131b142394abee7f55",
      "parents": [
        "8f364f76b52e50fc8a9d182980b0dfdde5005c3c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 14:40:46 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 14:40:46 2016 -0600"
      },
      "message": "clean up extractIntoPtr and add comments for new exported methods\n"
    },
    {
      "commit": "8f364f76b52e50fc8a9d182980b0dfdde5005c3c",
      "tree": "148876fce1cc84eaa675abb094e9996405daf7eb",
      "parents": [
        "6be8c4247d29435e773753d98626bfe0b0b0d03c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 13:09:15 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 13:09:15 2016 -0600"
      },
      "message": "call volumes.ExtractInto from volumes.Extract\n"
    },
    {
      "commit": "6be8c4247d29435e773753d98626bfe0b0b0d03c",
      "tree": "3390ef282fda045f2e2cb3df704d28abd22c01f9",
      "parents": [
        "17e8b62988e092bcd35eb39834b07ec925a376b6"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 13:08:35 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 13:08:35 2016 -0600"
      },
      "message": "comments for tenantattr pkg\n"
    },
    {
      "commit": "17e8b62988e092bcd35eb39834b07ec925a376b6",
      "tree": "40c94b0a5330d550e53e1ac824af89c41472fe42",
      "parents": [
        "2e4415e902c537e033ee15b0dd732f0233470610"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 17:00:15 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 17:00:15 2016 -0600"
      },
      "message": "use type instead of struct literal in unit test\n"
    },
    {
      "commit": "2e4415e902c537e033ee15b0dd732f0233470610",
      "tree": "ab7f9d5f3f7f268d0f6526c74546b1108ec0ccad",
      "parents": [
        "613bea2dc1d1bde83192501453789f1884cdbb44"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 16:59:29 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 16:59:29 2016 -0600"
      },
      "message": "use gophercloud.ExtractInto*Ptr for ExtractInto and ^CtractVolumesInto\n"
    },
    {
      "commit": "613bea2dc1d1bde83192501453789f1884cdbb44",
      "tree": "eaa628685ce4bbc4eaab38db18e38087e0e3b44d",
      "parents": [
        "410c105d5d75504cb8b9b149c7e5a29e85c54cef"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 16:58:10 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 16:58:10 2016 -0600"
      },
      "message": "ExtractInto*Ptr methods for Result\n"
    },
    {
      "commit": "410c105d5d75504cb8b9b149c7e5a29e85c54cef",
      "tree": "da1881f20fb24e29c5bf11841de4d6d77b2bd30a",
      "parents": [
        "7dc49465540b00c1146b1e5290bc2c042e5e988d"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 15:24:07 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 15:24:07 2016 -0600"
      },
      "message": "make sure interface{} parameter is *struct\n"
    },
    {
      "commit": "7dc49465540b00c1146b1e5290bc2c042e5e988d",
      "tree": "ba770d5c09dad2f3d1ea6cbd9deeba8bc35dc292",
      "parents": [
        "cd65a06fb6a69eef63cb1c1ec861144e86011b2f"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 15:09:33 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 15:09:33 2016 -0600"
      },
      "message": "tenantattr extension for cinder; ExtractInto method for handling custom Volume objects\n"
    },
    {
      "commit": "cd65a06fb6a69eef63cb1c1ec861144e86011b2f",
      "tree": "5ca4d634fa9a009f3c8667ee2b3d143726c9e5b3",
      "parents": [
        "176266d312aa9cc559ba66a853296d2da9a54b10"
      ],
      "author": {
        "name": "Gavin Williams",
        "email": "fatmcgav@gmail.com",
        "time": "Tue Nov 08 19:05:47 2016 +0000"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 13:05:47 2016 -0600"
      },
      "message": "computer/v2/servers: Check if opts.UserData is already Base64 Encoded (#170)\n\n* computer/v2/servers: Check if opts.UserData is already Base64 Encoded\r\n\r\n* Tweaks following review\r\n\r\n* Add tests for UserData generation using both string and Base64 encoded values\r\n"
    },
    {
      "commit": "176266d312aa9cc559ba66a853296d2da9a54b10",
      "tree": "4dd70f464682a5d23a19fe19769572e12a736168",
      "parents": [
        "12f19e5e04d617182cffa5c11f189ef0013b9791"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Nov 07 14:45:46 2016 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 07 15:45:46 2016 -0600"
      },
      "message": "Ensure StorageURL ends in a slash (#183)\n\n* Ensure StorageURL ends in a slash\r\n\r\n* Use NormalizeURL instead of HasSuffix\r\n\r\n* Go back to a one-line import\r\n"
    },
    {
      "commit": "12f19e5e04d617182cffa5c11f189ef0013b9791",
      "tree": "9f7bf7f7c6bb28c872e6cb87392c8d5b8ce89802",
      "parents": [
        "f61691cc5b95035a976c6d27b1e6647b0af1ac88"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Nov 05 14:35:08 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sat Nov 05 15:35:08 2016 -0500"
      },
      "message": "Update how isZero handles Pointers (#181)\n\n* Update how isZero handles Pointers\r\n\r\nThis commit modifies the isZero function so it checks to see if\r\na pointer is actually set rather than if it points to a zero value.\r\n\r\n* Adding a loop to BuildQueryString to efficiently determine parameter type\r\n\r\n* Moving reflect.Ptr to top of BuildQueryString loop\r\n"
    },
    {
      "commit": "f61691cc5b95035a976c6d27b1e6647b0af1ac88",
      "tree": "b32e431ea2e28150c2e4d00ef1193ab13d3092ae",
      "parents": [
        "c5c590a7ee87267c978586fdd1655db0dd4b6e05"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Nov 05 12:34:59 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sat Nov 05 13:34:59 2016 -0500"
      },
      "message": "Identity v3 Projects List (#163)\n\n* Identity v3 Projects List\r\n\r\n* Rename ToListQuery to ToProjectListQuery\r\n"
    },
    {
      "commit": "c5c590a7ee87267c978586fdd1655db0dd4b6e05",
      "tree": "191f9612468563dbfa4acab290cd34819b8e859f",
      "parents": [
        "a08c1d2357665c41f256540e98ac49f05f9d22c5"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Nov 04 14:41:15 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 04 14:41:15 2016 -0500"
      },
      "message": "images service v2 port from rackpsace/gophercloud (#171)\n\n* CheckByteArrayEquals funcs\r\n\r\n* direct port from rackspace/gophercloud with minor additions to get unit tests passing\r\n\r\n* new package for uploading and downloading image data\r\n\r\n* updates to make imageservice v2 consistent with the rest of gophercloud/gophercloud\r\n\r\n* add image service v2 client\r\n"
    },
    {
      "commit": "a08c1d2357665c41f256540e98ac49f05f9d22c5",
      "tree": "3edb073ff8245ba991701b669e700037b968df41",
      "parents": [
        "10f33e9059d3777b3d980c9c8f976d7db9779392"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Fri Nov 04 10:33:00 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Nov 04 11:33:00 2016 -0500"
      },
      "message": "Compute Limits (#121)\n\n* Compute Limits\r\n\r\nThis commit adds support for the limits API. It includes the ability\r\nto query limits for the currently scoped user as well as to query the\r\nlimits for a specific tenant.\r\n\r\n* Clarifying RAM measurement\r\n\r\n* Removing ExtractAbsolute. Renaming ExtractLimits to Extract\r\n"
    },
    {
      "commit": "10f33e9059d3777b3d980c9c8f976d7db9779392",
      "tree": "6bea2774b88e2976a5352fce2bec5e15923f3e6f",
      "parents": [
        "1b54c0d1c60fcc15c7e243f80796cff6cb2c997f"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 03 17:03:52 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 03 17:03:52 2016 -0500"
      },
      "message": "Issue/PR templates (#180)\n\n* create .github directory to hold issue/PR templates and contributing guide\r\n\r\n* update link to Contributing guide in Readme\r\n"
    },
    {
      "commit": "1b54c0d1c60fcc15c7e243f80796cff6cb2c997f",
      "tree": "7bd528765d3a31a4b19211fb2f9c2205d932e54c",
      "parents": [
        "fd6d86cd5075ba269e9ddc7a52bd1cb4d4d3583f"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Nov 03 21:56:51 2016 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 03 14:56:51 2016 -0500"
      },
      "message": "Feature/filestorage sharetype getdefault (#144)\n\n* sfs: Add support for share type Get Default\r\n\r\n* sfs: Add acceptance tests for share type Get Default\r\n\r\n* sfs: Improve share type Get Default unit tests\r\n"
    },
    {
      "commit": "fd6d86cd5075ba269e9ddc7a52bd1cb4d4d3583f",
      "tree": "555f4c326a4786b5f0da28eb17cb1a01daa07871",
      "parents": [
        "22bf82b871c4f20ebb10bb7878dcadf82ee8e476"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Nov 03 21:35:45 2016 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 03 14:35:45 2016 -0500"
      },
      "message": "Feature/filestorage sharenetworks update (#126)\n\n* sfs: Add update for share networks\r\n\r\n* sfs: Add acceptance tests for share network Update\r\n\r\n* sfs: Add possiblity to update the network for share network\r\n\r\n* sfs: Improve share network Update unit tests\r\n\r\n* sfs: Improve share network Update acceptance tests\r\n"
    },
    {
      "commit": "22bf82b871c4f20ebb10bb7878dcadf82ee8e476",
      "tree": "82c0e58bfc564227c57a76f5bfa67e622ca7dc56",
      "parents": [
        "e3d6384a3714b335d075862e6eb0a681180643df"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Wed Oct 26 20:32:05 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Oct 26 12:32:05 2016 -0500"
      },
      "message": "Feature/filestorage sharetype list (#143)\n\n* sfs: Add support for share type List\r\n\r\n* sfs: Add acceptance tests for share type List\r\n\r\n* sfs: Fix unit test for share type List\r\n"
    },
    {
      "commit": "e3d6384a3714b335d075862e6eb0a681180643df",
      "tree": "27a412b58e1d727cb76c4f42853fa802c50db913",
      "parents": [
        "a088cec4de4f13399d77bee8310d0579f8304abb"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Tue Oct 25 21:03:21 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Oct 25 13:03:21 2016 -0500"
      },
      "message": "Feature/filestorage sharetype delete (#142)\n\n* sfs: Add support for share type Delete\r\n\r\n* sfs: Add acceptance tests for share type Delete\r\n"
    },
    {
      "commit": "a088cec4de4f13399d77bee8310d0579f8304abb",
      "tree": "99c3f71137059dc99db87ec11a8bd60fc256dc66",
      "parents": [
        "d887d2abcafe27018cbeca5c2d3e160e52b15012"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Tue Oct 25 21:02:05 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Oct 25 13:02:05 2016 -0500"
      },
      "message": "Feature/filestorage sharenetworks get (#125)\n\n* sfs: Add get for share networks\r\n\r\n* sfs: Add acceptance test for share network Get\r\n\r\n* sfs: Improve unit test for share network Get\r\n"
    },
    {
      "commit": "d887d2abcafe27018cbeca5c2d3e160e52b15012",
      "tree": "78eb5087c19467ff83fad99e55450ed9ac2906c4",
      "parents": [
        "4c108b50971d099e139c47577f39c65d04ce509a"
      ],
      "author": {
        "name": "Mikko Valkonen",
        "email": "msvalkon@gmail.com",
        "time": "Tue Oct 25 21:00:09 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Oct 25 13:00:09 2016 -0500"
      },
      "message": "feature/shared file systems: show share details (#127)\n\n* sfs/shares: get a share with details\r\n\r\n* sfs/shares: use AssertDeepEquals in get share test\r\n"
    },
    {
      "commit": "4c108b50971d099e139c47577f39c65d04ce509a",
      "tree": "530bcadf59ea4261e24a6a3a814b8c527f189412",
      "parents": [
        "20de78068c27f79d5c64ece7d8e2b8ed8a6600d4"
      ],
      "author": {
        "name": "Mikko Valkonen",
        "email": "msvalkon@gmail.com",
        "time": "Mon Oct 24 23:11:25 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Oct 24 15:11:25 2016 -0500"
      },
      "message": "sfs/share: Delete share (#120)\n\n"
    },
    {
      "commit": "20de78068c27f79d5c64ece7d8e2b8ed8a6600d4",
      "tree": "4bd35351774ca3133a58b33e28bf94adb4d1f57e",
      "parents": [
        "0794333407a41b62a53c57ce6ebc4fcc319e99ea"
      ],
      "author": {
        "name": "Mikko Valkonen",
        "email": "msvalkon@gmail.com",
        "time": "Mon Oct 24 22:25:01 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Oct 24 14:25:01 2016 -0500"
      },
      "message": "feature/shared file systems: create share (#119)\n\n* sfs/add url for create\r\n\r\n* sfs/results: add share type and result type\r\n\r\n* sfs/requests: add CreateOpts and Create method\r\n\r\n* sfs/tests: add tests for creating a share\r\n\r\n* sfs/shares: fixes according to comments\r\n\r\n* sfs/create: fix Metadata field naming in Share\r\n"
    },
    {
      "commit": "0794333407a41b62a53c57ce6ebc4fcc319e99ea",
      "tree": "f218ce2ca52c89df3e25b23d16b13df6f090f67a",
      "parents": [
        "0e59efa201c0d7e27a58b5b2f4371202c142e276"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Mon Oct 24 21:21:58 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Oct 24 13:21:58 2016 -0500"
      },
      "message": "Feature/filestorage sharenetworks list (#124)\n\n* sfs: Add list for share networks\r\n\r\n* sfs: Add acceptance tests for share network List\r\n\r\n* sfs: Add more fields for filtering List requests\r\n\r\n* sfs: Add pagination for share network List\r\n\r\n* sfs: Change pagination to use MarkerPage\r\n\r\n* sfs: Add acceptance tests for share network pagination\r\n"
    },
    {
      "commit": "0e59efa201c0d7e27a58b5b2f4371202c142e276",
      "tree": "9afa369ce7b3934a1d670a8b682d41bfc164b0d6",
      "parents": [
        "57680b77a96468f59d45310ab3dfa68c02f47fd7"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Mon Oct 24 19:34:50 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Oct 24 11:34:50 2016 -0500"
      },
      "message": "Feature/filestorage sharetype create (#141)\n\n* sfs: Add support for share type Create\r\n\r\n* sfs: Add acceptance tests for share type Create\r\n\r\n* Fix comment\r\n\r\n* sfs: Fix comments about share type create\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": "5368725816dfa1fe57af073df5eee113641ac801",
      "tree": "f36aceb7475d0ea2bad34350c5d4c2ee402f46b2",
      "parents": [
        "10f1f856241ab2ad0cc525351a99376d9ecf4dbe"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Fri Oct 14 22:10:13 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Oct 14 14:10:13 2016 -0500"
      },
      "message": "Feature/filestorage sharenetworks delete (#122)\n\n* sfs: Add delete for share networks\r\n\r\n* sfs: Make name and descr required for creating share network\r\n\r\n* sfs: Add acceptance test for share network Delete\r\n\r\n* sfs: Remove required parameters\r\n\r\nAfter taking a close look at the code it appeared that \u0027name\u0027\r\nand \u0027description\u0027 are not required parameters\r\n"
    },
    {
      "commit": "10f1f856241ab2ad0cc525351a99376d9ecf4dbe",
      "tree": "61a1eca781177741ce4cf1172dec736cc87dddc5",
      "parents": [
        "f1f404184ec6dea322bd21b56c99703c361c9c0b"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Fri Oct 14 20:58:23 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Oct 14 12:58:23 2016 -0500"
      },
      "message": "Feature/filestorage sharenetworks create (#118)\n\n* sfs: Add support for share networks Create\r\n\r\n* sfs: Add Manila to acceptance test environment\r\n\r\n* sfs: Add acceptance tests for share networks Create\r\n\r\n* sfs: Remove unused urls\r\n\r\nSome url functions were introduced but they belong to other\r\nPRs. Will be repushed with in the correct PRs\r\n\r\n* sfs: Make name and descr required for creating share network\r\n\r\n* sfs: Remove required parameters\r\n\r\nAfter taking a close look at the code it appeared that \u0027name\u0027\r\nand \u0027description\u0027 are not required parameters\r\n"
    },
    {
      "commit": "f1f404184ec6dea322bd21b56c99703c361c9c0b",
      "tree": "cd76f9cc12e531f735eda8d64d565d55e7b6c906",
      "parents": [
        "b3a4f337bdea57bb2d96b70ce6ac828001ec6781"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Oct 13 17:42:25 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Oct 13 18:42:25 2016 -0500"
      },
      "message": "bfv updates (#100)\n\nThis commit creates a DestinationType for the possible block device\r\ndestination types.\r\n\r\nIt allows VolumeSize to be omitted.\r\n\r\nFinally, it adds both unit and acceptance tests for all possible ways\r\nthat the bootfromvolume extension can be used.\r\n\r\n* Renaming and reordering source and destination types\r\n\r\n* Erroneous rename\r\n"
    },
    {
      "commit": "b3a4f337bdea57bb2d96b70ce6ac828001ec6781",
      "tree": "8847c78b4bda5e556d55bc147f1dd0d3adf3ae1f",
      "parents": [
        "18a8bcc5b1618e616565108822a0ac7903be38ce"
      ],
      "author": {
        "name": "Eugene Yakubovich",
        "email": "eyakubovich@gmail.com",
        "time": "Thu Oct 13 11:01:06 2016 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Oct 13 13:01:06 2016 -0500"
      },
      "message": "Add BeginDetaching call for Cinder v2 (#90)\n\nPer Cinder API, os-begin_detaching action needs to\r\nbe called prior to os-terminate_connection."
    },
    {
      "commit": "18a8bcc5b1618e616565108822a0ac7903be38ce",
      "tree": "2e23a18e840b9dc02c404a50203b50153745cb19",
      "parents": [
        "c8f12c6e39d96d0e07f0976e184ea0308cb6aaf0"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Oct 11 15:23:03 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 11 15:23:03 2016 -0500"
      },
      "message": "move block storage extensions from \u0027v2\u0027 to \u0027blockstorage\u0027 (#112)\n\n"
    },
    {
      "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": "8e3f2508fcaecbcca35ecf1095839cf49c489bcf",
      "tree": "9761d79dd8730bec7c0b89ca5e45965ae720a350",
      "parents": [
        "9152721b033df1efec3bd89195dc8ebe22a03fa6"
      ],
      "author": {
        "name": "Eugene Yakubovich",
        "email": "eyakubovich@gmail.com",
        "time": "Thu Oct 06 07:15:46 2016 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Oct 06 09:15:46 2016 -0500"
      },
      "message": "Check for token not being returned in JSON response (#91)\n\nThis avoid a potential nil pointer dereference since\r\nJSON decoding can succeed with missing fields."
    },
    {
      "commit": "9152721b033df1efec3bd89195dc8ebe22a03fa6",
      "tree": "47769dfdaaaf6b81c42d2a18f6fba10656481f8d",
      "parents": [
        "c5d17b854b473c6e0249874d23574dd5567e864b"
      ],
      "author": {
        "name": "Eugene Yakubovich",
        "email": "eyakubovich@gmail.com",
        "time": "Fri Sep 30 10:17:32 2016 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Sep 30 12:17:32 2016 -0500"
      },
      "message": "Always set error on response in token create (#109) (#92)\n\nIf there was a network error, http response will be nil\r\nbut error needs to be propogated out."
    },
    {
      "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": "50cdddf51c54e8df178af065055cbc5b3cf442e1",
      "tree": "1be2ebb1e53e419d8e480a638f071b7866234005",
      "parents": [
        "f464c963e383ef8e0f8886c52bb1139a49a1ffa7"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Fri Sep 16 10:56:09 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Sep 16 11:56:09 2016 -0500"
      },
      "message": "Allow ImageRef to be empty when block device is present (#97)\n\nThis commit removes the requirement for ImageRef to be set when creating\r\na server. This is to enable booting from a volume to work properly.\r\n\r\nA unit test was added to verify this is possible.\r\n\r\nAcceptance tests were also modified to handle this."
    },
    {
      "commit": "f464c963e383ef8e0f8886c52bb1139a49a1ffa7",
      "tree": "8da7bd1c62e1ceadb37e7e7a1285d79646437b8a",
      "parents": [
        "3a4e1b95ca1160f757fba5f76e157642452fa47e"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Sep 12 08:02:43 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Sep 12 09:02:43 2016 -0500"
      },
      "message": "Server Metadata Update (#93)\n\nThis commit updates the Server Metadata so it can be parsed and\r\ntranslated using JSON tags.\r\n\r\nThe Server Metadata result has been changed to map[string]string to\r\nmatch the request.\r\n\r\nA unit test was added to verify the above and a piece of metadata has\r\nbeen added to the server creation acceptance test."
    },
    {
      "commit": "3a4e1b95ca1160f757fba5f76e157642452fa47e",
      "tree": "5c33c599734e44bc238a4629920ce0e5449a88ff",
      "parents": [
        "37b56e8781b116e76a7818251674c63a30d5dd63"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Sep 06 10:08:51 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Sep 06 11:08:51 2016 -0500"
      },
      "message": "Updating acceptance test environment scripts (#88)\n\n"
    },
    {
      "commit": "37b56e8781b116e76a7818251674c63a30d5dd63",
      "tree": "0e3160da32c95d57271da5138c2826d8741f1d35",
      "parents": [
        "a4d4930ed40c27a2c51486d2de6880f36fe74bd4"
      ],
      "author": {
        "name": "Gleb",
        "email": "glebstepanov1992@gmail.com",
        "time": "Tue Sep 06 19:07:58 2016 +0300"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Sep 06 11:07:58 2016 -0500"
      },
      "message": "\u0027 (#85)\n\nFix typos in comments"
    },
    {
      "commit": "a4d4930ed40c27a2c51486d2de6880f36fe74bd4",
      "tree": "711e38956a1e68c4101e043a97458b4fdcf1853c",
      "parents": [
        "7c8dd023175c4b73bb7709022d341316754f9aaa"
      ],
      "author": {
        "name": "Mario Luan",
        "email": "mariosouzaluan@gmail.com",
        "time": "Fri Sep 02 11:37:24 2016 -0400"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Sep 02 10:37:24 2016 -0500"
      },
      "message": "Adds block storage extend\u0027s action support (#67)\n\n* created Godeps dependency tree\r\n\r\n* added vendor folder to gitignore\r\n\r\n* added support for extend size action to volumes\u0027s client\r\n\r\n* Revert \"created Godeps dependency tree\"\r\n\r\nThis reverts commit b9366e292c2e99e262240b98151c98f49c69df32.\r\n\r\n* Revert \"added vendor folder to gitignore\"\r\n\r\nThis reverts commit 34403f85dad4f0514d7e0d8ce882b1712b82cd87.\r\n\r\n* set volumeactions.ExtendSizeOpts.NewSize as required\r\n"
    },
    {
      "commit": "7c8dd023175c4b73bb7709022d341316754f9aaa",
      "tree": "0e046bcd508d112045c123060b3d50ab97ec58cb",
      "parents": [
        "20c085200eb5760c81f84a23da6640406e0be54e"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Sep 01 12:02:04 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Sep 01 13:02:04 2016 -0500"
      },
      "message": "Networking Acceptance Test Cleanup (#79)\n\n"
    },
    {
      "commit": "20c085200eb5760c81f84a23da6640406e0be54e",
      "tree": "83e82a9821b02554a8b0af8be6fdf536c12ecf61",
      "parents": [
        "655245a8a612c9cc93de133f59cc462cd3c4bf66"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Aug 31 15:56:38 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 31 15:56:38 2016 -0500"
      },
      "message": "last_modified: rfc1123 -\u003e rfc3339MilliNoZ (#81)\n\n"
    },
    {
      "commit": "655245a8a612c9cc93de133f59cc462cd3c4bf66",
      "tree": "b9da0538125ac12bc6a22dbd5fa4398eb82cfc8d",
      "parents": [
        "d5be3fe7d51eef1025c34a2abb8fffaf641d5683"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Aug 31 15:30:27 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 31 15:30:28 2016 -0500"
      },
      "message": "More specific types for ObjectStorage response object fields (#74)\n\n* more accurate types for objectstorage response object fields (e.g. ContentLength: string -\u003e in64)\r\n\r\n* containers unit tests for new field types\r\n\r\n* more specific types for accounts headers fields\r\n\r\n* update accounts unit tests\r\n\r\n* download header unmarshal method and unit test\r\n\r\n* object results unmarshal methods\r\n"
    },
    {
      "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": "7a0f3e5d85f8e1be4557466ad2c953c3b917a16c",
      "tree": "d0f14da02d64c915bba8f54996816244c0dbbf64",
      "parents": [
        "0d7ed5dbfae5f26bf07ef7cafc2c5113e5c7189b"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Aug 22 20:26:34 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Aug 22 21:26:34 2016 -0500"
      },
      "message": "Swauth Support (#65)\n\n* Swauth Support\r\n\r\nSwauth is an internal authentication system for Swift. This commit adds\r\nsupport for Swauth in a way that still enables the resulting\r\n*gophercloud.ServiceClient to still be able to use the existing ObjectStorage\r\nAPI calls.\r\n\r\n* Swauth updates for consistency\r\n\r\n* Marking required fields for Swauth\r\n"
    }
  ],
  "next": "0d7ed5dbfae5f26bf07ef7cafc2c5113e5c7189b"
}
