)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "014999f5572b5808c54194f610b49b2a2fd40765",
      "tree": "b2e908a8a64e0cab360efadcf80697efb504c71b",
      "parents": [
        "6b427a51891518667ed76c918a09b89a061cb6af",
        "93b4a3c49d56f2d2a4ce449c43c00ba3c0570eb7"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jul 26 18:11:29 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 26 18:11:29 2016 -0500"
      },
      "message": "Merge pull request #17 from jrperritt/5\n\nUse EndpointOpts to query ServiceCatalog for endpoint for Identity service clients"
    },
    {
      "commit": "8c592a4d9d4b7c39143e8ea0ca917bf07f59bd91",
      "tree": "1abf2bf2186d2f22649a83033659874ee822abfc",
      "parents": [
        "4b4827be435887ef44309cc3f4fe47b144d4a377"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Jul 26 01:30:02 2016 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Jul 26 01:43:20 2016 +0000"
      },
      "message": "Change Block Storage v1 Volume.CreatedAt Type\n\nThis commit changes the Volume.CreatedAt type from\ngophercloud.JSONRFC3339Milli to gophercloud.JSONRFC3339MilliNoZ.\n"
    },
    {
      "commit": "d41b9269792b10e588e86ca7efc4846f77c7488f",
      "tree": "fc79c960046aeb137ec1b51c24daf26087a3075c",
      "parents": [
        "774bc77400bea9e9c97f322a23508c6dc12c59ca",
        "9977e51be08d57fb32558847aff9a3a14e8df406"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 25 18:09:03 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 25 18:09:03 2016 -0500"
      },
      "message": "Merge pull request #13 from carolynvs/fix-v3-authscope\n\nFix v3 auth with project scope"
    },
    {
      "commit": "75801bc84b9717fd450f05dda6ff9fa545d27d03",
      "tree": "ecc40c27365997f60fe8e383d620e8f8bac22244",
      "parents": [
        "e470686ff616be33b46f9eeddae10ca1f9e35a15"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Mon Jul 25 10:06:55 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Mon Jul 25 13:38:00 2016 -0700"
      },
      "message": "Adding Vip port ID for loadbalancer - Issue #9\nVip port ID is actually being returned by the lbaas api although\ndocumentation does not reference it.  This PR exposes this important\nattribute when creating or listing loadbalancers.\n\nREQ: curl -g -i --cacert \"/home/sabhaya/ipc/cacert.cer\" -X POST\nhttps://10.243.189.6:9696/v2.0/lbaas/loadbalancers.json -H \"User-Agent:\npython-neutronclient\" -H \"Content-Type: application/json\" -H \"Accept:\napplication/json\" -H \"X-Auth-Token:\n{SHA1}197d9453ec40aa1453b88ed2fd31dc22ee9bb6d3\" -d \u0027{\"loadbalancer\":\n{\"vip_subnet_id\": \"6cfcd316-6060-42e3-95a7-fe5dd7ba6f46\", \"description\":\n\"vipul-test\", \"admin_state_up\": true}}\u0027\nDEBUG: keystoneauth.session RESP: [201] Content-Type: application/json\nContent-Length: 430 X-Openstack-Request-Id:\nreq-c38d6086-77d6-4f91-94d1-b6f233cf90c0 Date: Thu, 07 Jul 2016 00:13:58\nGMT Connection: keep-alive\nRESP BODY: {\"loadbalancer\": {\"description\": \"vipul-test\",\n\"admin_state_up\": true, \"tenant_id\": \"4c45f9757fce480c875e096fba3e254e\",\n\"provisioning_status\": \"PENDING_CREATE\", \"listeners\": [], \"vip_address\":\n\"10.0.2.31\", \"vip_port_id\": \"4e901618-0a8d-4d46-861c-28fad2df7a8c\",\n\"provider\": \"octavia\", \"vip_subnet_id\":\n\"6cfcd316-6060-42e3-95a7-fe5dd7ba6f46\", \"id\":\n\"c28cf436-f201-4c4f-be63-ecbd092aae63\", \"operating_status\": \"OFFLINE\",\n\"name\": \"\"}}\n\nCreated a new loadbalancer:\n+---------------------+--------------------------------------+\n| Field               | Value                                |\n+---------------------+--------------------------------------+\n| admin_state_up      | True                                 |\n| description         | vipul-test                           |\n| id                  | c28cf436-f201-4c4f-be63-ecbd092aae63 |\n| listeners           |                                      |\n| name                |                                      |\n| operating_status    | OFFLINE                              |\n| provider            | octavia                              |\n| provisioning_status | PENDING_CREATE                       |\n| tenant_id           | 4c45f9757fce480c875e096fba3e254e     |\n| vip_address         | 10.0.2.31                            |\n| vip_port_id         | 4e901618-0a8d-4d46-861c-28fad2df7a8c |\n| vip_subnet_id       | 6cfcd316-6060-42e3-95a7-fe5dd7ba6f46 |\n+---------------------+———————————————————+\"}}\u0027\"\n"
    },
    {
      "commit": "1fa92503129903063b87ee19db0bb182a3857388",
      "tree": "a34df1720e77454320beea64709d6aae68ed7374",
      "parents": [
        "6a4dcc761f7ab30356a170209938a149f7c0a3ca"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 21 19:22:59 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 21 19:22:59 2016 -0500"
      },
      "message": "implement json.Unmarshaler for Server\n"
    },
    {
      "commit": "6a4dcc761f7ab30356a170209938a149f7c0a3ca",
      "tree": "5140d7eaec81bdbe5680665319e64a73c81dd69a",
      "parents": [
        "0093f7369999b873d8323da8bbfdd9f824b9bcd5"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 21 18:59:43 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 21 18:59:43 2016 -0500"
      },
      "message": "remove mapstructure import\n"
    },
    {
      "commit": "93b4a3c49d56f2d2a4ce449c43c00ba3c0570eb7",
      "tree": "f7dbb3bd4acdc523944b4de7b272f6261a748b53",
      "parents": [
        "0093f7369999b873d8323da8bbfdd9f824b9bcd5"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jul 20 20:29:30 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 21 15:01:15 2016 -0500"
      },
      "message": "allow EndpointOpts to search catalog for Identity clients\n"
    },
    {
      "commit": "9977e51be08d57fb32558847aff9a3a14e8df406",
      "tree": "cac3fd538c921d87cbae76aa112803526d44921b",
      "parents": [
        "6fb9d11c03309ccca21c16ea4e4a18a2498df606"
      ],
      "author": {
        "name": "Carolyn Van Slyck",
        "email": "me@carolynvanslyck.com",
        "time": "Wed Jul 20 14:34:52 2016 -0500"
      },
      "committer": {
        "name": "Carolyn Van Slyck",
        "email": "me@carolynvanslyck.com",
        "time": "Wed Jul 20 14:34:52 2016 -0500"
      },
      "message": "Update v3 test to validate modification of auth options\n"
    },
    {
      "commit": "e7303c397aa6cf78b6a0d634916da712e60539da",
      "tree": "f3da088313114dadffe5bd9baf2352f5a7f2c9c7",
      "parents": [
        "792d51f62b3b81f264cc0ab45b26f963ccaa2d2b"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jul 20 11:12:40 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jul 20 11:12:40 2016 -0500"
      },
      "message": "implement json.unmarshaler for flavor\n"
    },
    {
      "commit": "3c8926737cce8a87c58034f999c465ff84425b2b",
      "tree": "1d3fbea0cf608aed30d45271bc30dcb7d0a7cfd4",
      "parents": [
        "e3a4cbe68641f2da5828d55cc2ddc3e8ffc624d0"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 23:06:05 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 23:06:05 2016 -0500"
      },
      "message": "remove refs to origin\n"
    },
    {
      "commit": "e3a4cbe68641f2da5828d55cc2ddc3e8ffc624d0",
      "tree": "7ababe92a80c05330d96bf2a797aa432afcdc09b",
      "parents": [
        "94ae0ebccccff412b07bc214041c04c07d2b85c2"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 23:01:41 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 23:01:41 2016 -0500"
      },
      "message": "add doc.go files to make testing dirs buildable\n"
    },
    {
      "commit": "9b7b9e6a417dcbe0495f02a1eb381f3bcd193230",
      "tree": "016cfe726ce815aebece6bcbd3e5c007b8089267",
      "parents": [
        "3d966168b94eef2931a8a7198e21c8467a1f6852",
        "d47105ce4ef90cea9a14b85c8dd172b760085828"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 22:30:50 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 22:30:50 2016 -0500"
      },
      "message": "merge lbaasv2, portsbinding, volumes v2; remove \u0027rackspace\u0027 refs; update docs\n"
    },
    {
      "commit": "3d966168b94eef2931a8a7198e21c8467a1f6852",
      "tree": "dd2db0c93fe35391840a4a206e4d5f748b5d5342",
      "parents": [
        "9cc33592a49ecba441b7ecd78c7ec4f7e70205a5"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 06 14:08:54 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 06 14:08:54 2016 -0500"
      },
      "message": "move unit tests into \u0027testing\u0027 directories\n"
    },
    {
      "commit": "d47105ce4ef90cea9a14b85c8dd172b760085828",
      "tree": "d74bcaae326cd93ff1b97c7fc5bd8356267d6c27",
      "parents": [
        "27901967cdeb78cbccd3653d01121544f07cd11d",
        "b64fd201c79e030b4784b307460c5a988843e1e6"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jun 03 17:34:01 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jun 03 17:34:01 2016 -0500"
      },
      "message": "Merge pull request #579 from ncw/fix-volume-selection\n\nFix selection of v2 volumes in openstack blockstorage"
    },
    {
      "commit": "27901967cdeb78cbccd3653d01121544f07cd11d",
      "tree": "6c9fe3de3329c0590029a06955c33230365a281a",
      "parents": [
        "934dbf81977c67c521c75492dc1f55ca74dc5b04",
        "c8f234b1d4506c9c46c24beaf1e7856c9c5e9187"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jun 03 17:23:38 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jun 03 17:23:38 2016 -0500"
      },
      "message": "Merge pull request #586 from rodrigolourenco/cache-control-objectStore\n\nAdded cache-control header to objectstore"
    },
    {
      "commit": "8b6b1b7efbc00622bdcedbfd1083a37769c361b6",
      "tree": "af0b1e6847c5978d8ccf693ad03a402de2229386",
      "parents": [
        "67139b9485d6fd682c5314e963b0915e18f7947a"
      ],
      "author": {
        "name": "Min Pae",
        "email": "sputnik13@gmail.com",
        "time": "Fri Jun 03 11:56:12 2016 -0700"
      },
      "committer": {
        "name": "Min Pae",
        "email": "sputnik13@gmail.com",
        "time": "Fri Jun 03 11:58:27 2016 -0700"
      },
      "message": "fixing build constraints for lbaas_v2 fixtures\n\nBuild constraints are missing a line after the build constraint\nas required by https://golang.org/pkg/go/build/, and the fixtures\nare being pulled in by standard builds, causing test code to be\nincluded in the final binary.\n"
    },
    {
      "commit": "bb39de2a7b2e51e271cb33d889250392b938a30c",
      "tree": "1a60ea90c9b3f8e1cc5fd4bc3464bed8e9c7a037",
      "parents": [
        "3f48266c957ad33b8df9c59fe4820f8c04ae21a6"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Wed May 18 19:01:49 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Fri May 27 20:48:36 2016 +1000"
      },
      "message": "Addressing comments\n"
    },
    {
      "commit": "d6336c4baea495dcd4447f9d3467fc696e222f08",
      "tree": "3a80aeca08ab37f890be5b23c96cff7d072b22ec",
      "parents": [
        "e940a168bfb4d6c607177552bd595ac9356dfd28"
      ],
      "author": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Sat May 14 22:13:13 2016 -0700"
      },
      "committer": {
        "name": "Davide Agnello",
        "email": "dagnello@hp.com",
        "time": "Fri May 27 20:47:49 2016 +1000"
      },
      "message": "Adding Support for LBaaS v2 - Health Monitors\n"
    }
  ],
  "next": "e940a168bfb4d6c607177552bd595ac9356dfd28"
}
