)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "0d7ed5dbfae5f26bf07ef7cafc2c5113e5c7189b",
      "tree": "fc8f9676d3455f4729ba94a522de90ffe8579550",
      "parents": [
        "918f5735d29b126792007520ee24cb8ff36ddae8"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Aug 16 11:23:26 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 16 11:23:26 2016 -0500"
      },
      "message": "set ServiceClient field to nil before unmarshaling (#59)\n\n"
    },
    {
      "commit": "918f5735d29b126792007520ee24cb8ff36ddae8",
      "tree": "c676345dc188d2d13a49ddd0d6b786bc32ececa7",
      "parents": [
        "6dea3f17463923a8ea359d85ce2acaeb3ebb1c23"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Aug 15 08:47:08 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Aug 15 09:47:08 2016 -0500"
      },
      "message": "Identity Acceptance Test Cleanup (#49)\n\n"
    },
    {
      "commit": "6dea3f17463923a8ea359d85ce2acaeb3ebb1c23",
      "tree": "5370c0dbf8a5adde106e1e686551bf1feba0ff58",
      "parents": [
        "68bed5f81092dd3a9c6c148442ad71b5b13a518e"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Aug 11 06:44:57 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Aug 11 07:44:57 2016 -0500"
      },
      "message": "vim swp file (#46)\n\nThis commit removes an swp file that snuck in and adds a\r\n.gitignore file to prevent further ones."
    },
    {
      "commit": "68bed5f81092dd3a9c6c148442ad71b5b13a518e",
      "tree": "126b194d765a73e1829e48a3ea4735a3843ce633",
      "parents": [
        "f3275903fcb8bfa12420b0a772ab81deea18a463"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Aug 10 15:30:57 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Aug 10 16:30:57 2016 -0500"
      },
      "message": "Block Storage Acceptance Test Cleanup (#43)\n\n"
    },
    {
      "commit": "f3275903fcb8bfa12420b0a772ab81deea18a463",
      "tree": "1a5524a0437b6cf8ef2703bb97c223f8fa28710d",
      "parents": [
        "1c15e3f3295a9f644e61864dbe272c773b17ebfb"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Aug 10 15:17:46 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Aug 10 16:17:46 2016 -0500"
      },
      "message": "Allow return code 200 when adding role to user (#40)\n\n"
    },
    {
      "commit": "1c15e3f3295a9f644e61864dbe272c773b17ebfb",
      "tree": "893596e11968fafca7f6494a2ae43f94e3e812ae",
      "parents": [
        "81036a772c9b81c8caedde7f09a4615b917fe26a"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Aug 08 10:48:38 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Aug 08 11:48:38 2016 -0500"
      },
      "message": "Compute Acceptance Test Changes (#33)\n\nThis commit makes more changes to the compute acceptance tests:\r\n\r\n* Makes all reusable functions exportable so other APIs can use them.\r\n* Centralizes client initialization and environment variable checks."
    },
    {
      "commit": "81036a772c9b81c8caedde7f09a4615b917fe26a",
      "tree": "e184389e26f16b8cb0bba09f5840b8fbca57115e",
      "parents": [
        "c8834c1c34519f58fbb80453cb3c33c31956bbed"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Aug 06 13:21:39 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sat Aug 06 14:21:39 2016 -0500"
      },
      "message": "Use Correct Block Storage v2 Volume Attachment Attributes (#36)\n\n"
    },
    {
      "commit": "c8834c1c34519f58fbb80453cb3c33c31956bbed",
      "tree": "eb3a87698220e6aef7741df4927c19d81df4826b",
      "parents": [
        "614b51d907e67520f4d3f2751ea04247b0562d53"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Aug 03 16:06:16 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 03 16:06:16 2016 -0500"
      },
      "message": "create trusts.TokenExt response object (#29)\n\n* create trusts.TokenExt response object\r\n\r\n* add redelegationcount, redelegatedtrustid fields\r\n"
    },
    {
      "commit": "614b51d907e67520f4d3f2751ea04247b0562d53",
      "tree": "4ed6ed23e05bd4955b91b347a36964ff0ba23ef1",
      "parents": [
        "0bc5578dc193f747667cdeee035460f4a168e015"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Aug 03 12:19:30 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Aug 03 13:19:30 2016 -0500"
      },
      "message": "Change Block Storage v1 Snapshots.CreatedAt Type (#31)\n\n* Change Block Storage v1 Snapshots.CreatedAt Type\r\n\r\nThis commit changes the Snapshots.CreatedAt type from\r\ngophercloud.JSONRFC3339Milli to gophercloud.JSONRFC3339MilliNoZ.\r\n\r\n* Adding Description to expected results\r\n"
    },
    {
      "commit": "0bc5578dc193f747667cdeee035460f4a168e015",
      "tree": "5523e597064d224f6f1471d6d6ca1ef94ecf32c8",
      "parents": [
        "014999f5572b5808c54194f610b49b2a2fd40765"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jul 27 13:50:14 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 13:50:14 2016 -0500"
      },
      "message": "Identity v3 Authentication With TrustID (#24)\n\n* delete auth_results\r\n\r\n* v3 auth with trust\r\n\r\n* define auth errors in gophercloud pkg\r\n\r\n* AuthOptionsBuilder interface\r\n\r\n* combine error files in gophercloud pkg\r\n"
    }
  ],
  "next": "014999f5572b5808c54194f610b49b2a2fd40765"
}
