)]}'
{
  "log": [
    {
      "commit": "e28b2e2a4cd9ec116f481aff51726f6f64e85f55",
      "tree": "fe83e6e24139e2b6bb03a41c16fcba2b7e59aab1",
      "parents": [
        "162f0d00afbdb92e2a8c3a4b9577d74575870240"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon Jul 31 11:31:06 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon Jul 31 11:31:06 2017 +0200"
      },
      "message": "Adding BlockStorage v3 version support\n\nChange-Id: Ia0c304731f2f1f35d80a9168cd9bb2ca3a8a08b9\n"
    },
    {
      "commit": "162f0d00afbdb92e2a8c3a4b9577d74575870240",
      "tree": "58630f7f8872b49d3ce3b1cf4aedb432fdb86dd8",
      "parents": [
        "4b70b46fdb3c0f24a8a7b8c960d1ab4e3fa9725e"
      ],
      "author": {
        "name": "Dmitry Kalashnik",
        "email": "dkalashnik@mirantis.com",
        "time": "Fri Jun 02 17:18:53 2017 +0400"
      },
      "committer": {
        "name": "Dmitry Kalashnik",
        "email": "dkalashnik@mirantis.com",
        "time": "Fri Jun 02 17:18:53 2017 +0400"
      },
      "message": "Fix nova service ID type\n\nChange-Id: Ic726de7cb537dcc76aab2ec7f4382c4e97a8abb5\n"
    },
    {
      "commit": "4b70b46fdb3c0f24a8a7b8c960d1ab4e3fa9725e",
      "tree": "afc35d4ce5a7b91360bbab80f4afcb8edbae2949",
      "parents": [
        "7db726b87d7ec46e4da6c15ceff42bcd57c447ba"
      ],
      "author": {
        "name": "Dmitry Kalashnik",
        "email": "dkalashnik@mirantis.com",
        "time": "Thu Jun 01 20:46:04 2017 +0400"
      },
      "committer": {
        "name": "Dmitry Kalashnik",
        "email": "dkalashnik@mirantis.com",
        "time": "Thu Jun 01 20:46:04 2017 +0400"
      },
      "message": "Fix neutron agent client\n\nChange-Id: I21f5712d0bad3d617ddf3c50f963d369bb09d5a8\n"
    },
    {
      "commit": "7db726b87d7ec46e4da6c15ceff42bcd57c447ba",
      "tree": "5678f1599575c043deb1e780504402a99c544e8c",
      "parents": [
        "efa889cee392e46bfc232e04750643c44e83da56"
      ],
      "author": {
        "name": "Dmitry Kalashnik",
        "email": "dkalashnik@mirantis.com",
        "time": "Thu Jun 01 19:39:49 2017 +0400"
      },
      "committer": {
        "name": "Dmitry Kalashnik",
        "email": "dkalashnik@mirantis.com",
        "time": "Thu Jun 01 19:40:31 2017 +0400"
      },
      "message": "Fix neutron agents resource url\n\nChange-Id: Ie631dd71e19d6988cd91b37ae935f2c49ab55a6b\n"
    },
    {
      "commit": "efa889cee392e46bfc232e04750643c44e83da56",
      "tree": "98602da7ed82b85fa52de5cb61c55d827cfb8ae0",
      "parents": [
        "15c5e9ebd391861694124adc645c579e02b23196"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Fri May 19 10:33:42 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Fri May 19 10:33:42 2017 +0200"
      },
      "message": "Adding os-services in blockstorage api\n\nChange-Id: I6ded5a930c4d43288053014cb77a946732f37f12\n"
    },
    {
      "commit": "15c5e9ebd391861694124adc645c579e02b23196",
      "tree": "5d2cb0dcc8220a291e1fc40f738261ed67a00b48",
      "parents": [
        "7cf0b33d292805f9b3ed0ddea2b8f9d4584f8389"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Fri May 19 10:32:32 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Fri May 19 10:32:32 2017 +0200"
      },
      "message": "Fix bug with services extractor\n\nChange-Id: Ifaa6b54f7e9b0b01b4ef6370e6d3c9eeb8db0227\n"
    },
    {
      "commit": "7cf0b33d292805f9b3ed0ddea2b8f9d4584f8389",
      "tree": "9d4b1b837552a9de7658a99c6a30ebc506b15333",
      "parents": [
        "6b2d29ffa7271538fa7c7f74b99c8f2876b5acb8"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Thu May 18 08:46:42 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Thu May 18 08:46:42 2017 +0200"
      },
      "message": "Adding BlockStorage Snapshots v2 API\n\nChange-Id: If240939038c1aaf45ac8e7c6b0d2914805031f12\n"
    },
    {
      "commit": "6b2d29ffa7271538fa7c7f74b99c8f2876b5acb8",
      "tree": "50dcf8b9012850accc20e0479e026abdb683e326",
      "parents": [
        "2f6168567b5796942a751dbb2707e4ddb83f528b"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon May 15 11:55:02 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon May 15 11:55:02 2017 +0200"
      },
      "message": "Adding support for os-servcies in compute\n\nChange-Id: I8f52c074d9f3a4f1cff231fd5da93523c172b43d\n"
    },
    {
      "commit": "2f6168567b5796942a751dbb2707e4ddb83f528b",
      "tree": "c9f1ac6ba56f46e0cd94c08798340fb2447e5899",
      "parents": [
        "ab149989b4da72aacdab651143d4cc2647da59fa"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Fri May 12 16:24:00 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Fri May 12 16:24:00 2017 +0200"
      },
      "message": "Bunch of fixes\n\nChange-Id: Ic5cd50226b67cb05d755288529c631c4686bbee6\n"
    },
    {
      "commit": "ab149989b4da72aacdab651143d4cc2647da59fa",
      "tree": "ca530429891c0713532c415c586763a7e5c2a19b",
      "parents": [
        "718e5c4368b6f05f1a70284aa83938e8196cd23c"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Wed May 10 14:49:39 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Wed May 10 14:49:39 2017 +0200"
      },
      "message": "Adding Agents Extensions to Networking\n\nChange-Id: I862278d9d8d4e07caee464aace6537b27b9f2a47\n"
    },
    {
      "commit": "718e5c4368b6f05f1a70284aa83938e8196cd23c",
      "tree": "445315d712c316c2d3713046e954987715ef33aa",
      "parents": [
        "6e6c5ab4efd653a115038f8b1cf87e4641e6f279"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Tue May 09 11:34:47 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Tue May 09 11:34:47 2017 +0200"
      },
      "message": "Adding Fields to ListOptions in networking\n\nChange-Id: I688e8993a9d8a853ee6bd040f6d704391447f9d5\n"
    },
    {
      "commit": "6e6c5ab4efd653a115038f8b1cf87e4641e6f279",
      "tree": "4877261900f53f62cd0e159f61fed5512ca5d748",
      "parents": [
        "58ed42e06e9948795d5e8e75b868aac7cc08cdd8",
        "94da1c0f02685ec57699ecf578d73bd0dbaf77c6"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon May 08 13:58:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit2@5776b83a74fe",
        "time": "Mon May 08 13:58:36 2017 +0000"
      },
      "message": "Merge \"Adding List for Roles\""
    },
    {
      "commit": "94da1c0f02685ec57699ecf578d73bd0dbaf77c6",
      "tree": "90f261d87e5a2b2f9c6860300360d28ecbf9bf43",
      "parents": [
        "3f41d080c2a737d95c665f969b22c9f4097e4fd9"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon May 08 15:56:48 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon May 08 15:56:48 2017 +0200"
      },
      "message": "Adding List for Roles\n\nChange-Id: Idea3ec6f3c7d74c4b754c4c143199a58a4855738\n"
    },
    {
      "commit": "58ed42e06e9948795d5e8e75b868aac7cc08cdd8",
      "tree": "b12607c28d2c1a1f81c62e496db71c4e25f851df",
      "parents": [
        "07a8a07b428a05560cef94fbe94676a23c8a2eda",
        "3f41d080c2a737d95c665f969b22c9f4097e4fd9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@localhost",
        "time": "Sun May 07 23:31:33 2017 +0000"
      },
      "committer": {
        "name": "Jenkins",
        "email": "jenkins@localhost",
        "time": "Sun May 07 23:31:33 2017 +0000"
      },
      "message": "Merge remote-tracking branch \u0027target/master\u0027\n"
    },
    {
      "commit": "07a8a07b428a05560cef94fbe94676a23c8a2eda",
      "tree": "6296cb92b6db751e3598353fd09629228ce0c64d",
      "parents": [
        "a9a3fabd5fedec64e21fc82eb04d50399dda352b",
        "efee1c8b9303853d7bc5c6a079c8d1dec8144338"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun May 07 18:44:37 2017 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 07 18:44:37 2017 -0400"
      },
      "message": "Merge pull request #332 from jtopjian/neutronv2-missing-protocols\n\nAdd Missing Neutron v2 Protocol Constants"
    },
    {
      "commit": "efee1c8b9303853d7bc5c6a079c8d1dec8144338",
      "tree": "6296cb92b6db751e3598353fd09629228ce0c64d",
      "parents": [
        "a9a3fabd5fedec64e21fc82eb04d50399dda352b"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun May 07 22:35:56 2017 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun May 07 22:35:56 2017 +0000"
      },
      "message": "Add Missing Neutron v2 Protocol Constants\n\nThis commit adds two missing neutron v2 protocol constants. It\nalso re-arranged the ordering to alphabetical.\n"
    },
    {
      "commit": "a9a3fabd5fedec64e21fc82eb04d50399dda352b",
      "tree": "d79f6d267154eaefedf9f2ad30028330b94edbe0",
      "parents": [
        "0bf921da554eacc1552a70204be7a1201937c1e1",
        "f85dfb6feea0a05ab8b27a255c91fe3382c641a2"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sun May 07 18:32:51 2017 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 07 18:32:51 2017 -0400"
      },
      "message": "Merge pull request #294 from takaishi/add_protocol_for_security_group\n\nNeutronV2: add protocols"
    },
    {
      "commit": "3f41d080c2a737d95c665f969b22c9f4097e4fd9",
      "tree": "1971986b1ca85b7da13cc0211424a561ce818c2c",
      "parents": [
        "24a29cea730c2729fd753bcf91f59e9b83c78462"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Sun May 07 14:43:06 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Sun May 07 14:44:07 2017 +0200"
      },
      "message": "Chaning github to gerrit own repository part II\n\nChange-Id: Iae76646b3e5b276679fee09869bb91e27ac95cfc\n"
    },
    {
      "commit": "24a29cea730c2729fd753bcf91f59e9b83c78462",
      "tree": "035157590117f9a57ed2d95f7365606695ddf8db",
      "parents": [
        "c3491c0e09b2df1061fd0acc366da45a65a29c29"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Sun May 07 14:24:02 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Sun May 07 14:24:02 2017 +0200"
      },
      "message": "Chaning github repository to our gerrit repository\n\nChange-Id: I51ff03d516eecf00a659bade8e15802debfffc5e\n"
    },
    {
      "commit": "c3491c0e09b2df1061fd0acc366da45a65a29c29",
      "tree": "6230ebcdeba28537bf4e824a951dfddebcf0b1d4",
      "parents": [
        "63fdac8e82150952662a60b98e0c0111f0e4af5f",
        "a9d5de4df9e1ca117a73dc284c8562256777556a"
      ],
      "author": {
        "name": "Krzysztof Szukielojc",
        "email": "kszukielojc@mirantis.com",
        "time": "Sun May 07 12:11:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit2@5776b83a74fe",
        "time": "Sun May 07 12:11:26 2017 +0000"
      },
      "message": "Merge \"Nova Hypervisors API\""
    },
    {
      "commit": "a9d5de4df9e1ca117a73dc284c8562256777556a",
      "tree": "0b442397eb64f0db3e7f83ddcb94b82af1325c1e",
      "parents": [
        "9a5595b8ffe429439c63781cdc312c254e4ad990"
      ],
      "author": {
        "name": "Simon Murray",
        "email": "spjmurray@yahoo.co.uk",
        "time": "Thu Nov 03 15:06:44 2016 +0000"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Sun May 07 14:10:28 2017 +0200"
      },
      "message": "Nova Hypervisors API\n\nAdds in support to list all available hypervisors (detailed) for applications\nsuch as monitoring and capacity planning.\n\nFor #179\n\nFix more API weirdness\n\nFor some reason this morning storage space started to (in gophercloud only\nnot via curl) return sizes as scientific notation\n\nStylistic changes for jrperritt\n\nChange to be a marker paged type\n\nRevert to single page results\n\nOur environment doesn\u0027t support marker pages, so go for the backwards compatible\noption.\n\nAdding Aggregate to hypervisors API\n\nChange-Id: I191f5a45de29ee3eb7e7e6554dcb4614ed73b39a\n"
    },
    {
      "commit": "f85dfb6feea0a05ab8b27a255c91fe3382c641a2",
      "tree": "1237684e97f8986e49a16d69c81afd49eb04b2fb",
      "parents": [
        "20187a25d3f50d92b95789838177e46796ee2df0"
      ],
      "author": {
        "name": "r_takaishi",
        "email": "ryo.takaishi.0@gmail.com",
        "time": "Sun May 07 11:38:22 2017 +0900"
      },
      "committer": {
        "name": "r_takaishi",
        "email": "ryo.takaishi.0@gmail.com",
        "time": "Sun May 07 11:38:22 2017 +0900"
      },
      "message": "update ipv3-encap protocol name\n"
    },
    {
      "commit": "63fdac8e82150952662a60b98e0c0111f0e4af5f",
      "tree": "cb6b00d98b06b608695a1d1347b0ca76f520f5bc",
      "parents": [
        "0bf921da554eacc1552a70204be7a1201937c1e1",
        "cd777d4542e35337dbd6111065cfaa9059eaf8f6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@localhost",
        "time": "Thu May 04 02:31:37 2017 +0000"
      },
      "committer": {
        "name": "Jenkins",
        "email": "jenkins@localhost",
        "time": "Thu May 04 02:31:37 2017 +0000"
      },
      "message": "Merge remote-tracking branch \u0027target/master\u0027\n"
    },
    {
      "commit": "0bf921da554eacc1552a70204be7a1201937c1e1",
      "tree": "5c56263c325fc5aeceb3bfe6c1f3231116a5c209",
      "parents": [
        "c0b5d841dc04f890f258008086281177c02c20a1",
        "20a9ce18d96fef0e6c59556f8535e42afa7faa8b"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed May 03 19:40:32 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 03 19:40:32 2017 -0600"
      },
      "message": "Merge pull request #330 from jtopjian/identity-reauth-fix\n\nContinue reauth fixes"
    },
    {
      "commit": "cd777d4542e35337dbd6111065cfaa9059eaf8f6",
      "tree": "0a36300e6df94116b502974c993c7148c4ec2c03",
      "parents": [
        "c0b5d841dc04f890f258008086281177c02c20a1",
        "95939509d56e08e05f8df7723c60c2f6e04c90ee"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@localhost",
        "time": "Thu May 04 01:31:36 2017 +0000"
      },
      "committer": {
        "name": "Jenkins",
        "email": "jenkins@localhost",
        "time": "Thu May 04 01:31:36 2017 +0000"
      },
      "message": "Merge remote-tracking branch \u0027target/master\u0027\n"
    },
    {
      "commit": "20a9ce18d96fef0e6c59556f8535e42afa7faa8b",
      "tree": "5c56263c325fc5aeceb3bfe6c1f3231116a5c209",
      "parents": [
        "c0b5d841dc04f890f258008086281177c02c20a1"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu May 04 01:24:48 2017 +0000"
      },
      "committer": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu May 04 01:24:48 2017 +0000"
      },
      "message": "Continue reauth fixes\n\nThis commit stops auth_options.go from clearing the TenantName.\nIt also adds an acceptance test for reauthentication.\n"
    },
    {
      "commit": "c0b5d841dc04f890f258008086281177c02c20a1",
      "tree": "43cb35e618f059a406337cd9bfcd6c1dd19fc5bc",
      "parents": [
        "9a5595b8ffe429439c63781cdc312c254e4ad990",
        "3e73927eaaf2859173aee440aaaf8562b4fbd30d"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed May 03 19:22:05 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 03 19:22:05 2017 -0600"
      },
      "message": "Merge pull request #314 from tureus/fix-tenant-id-reauth\n\nRemove checks for TenantId"
    },
    {
      "commit": "95939509d56e08e05f8df7723c60c2f6e04c90ee",
      "tree": "547c97a2bb723fb0e47b54420c7b72f23d38df98",
      "parents": [
        "9a5595b8ffe429439c63781cdc312c254e4ad990",
        "35f5abed80e060d38f0198d0c04d02f9df21b7b5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@localhost",
        "time": "Wed May 03 07:31:02 2017 +0000"
      },
      "committer": {
        "name": "Jenkins",
        "email": "jenkins@localhost",
        "time": "Wed May 03 07:31:02 2017 +0000"
      },
      "message": "Merge remote-tracking branch \u0027target/master\u0027\n"
    },
    {
      "commit": "35f5abed80e060d38f0198d0c04d02f9df21b7b5",
      "tree": "4e3d91460a0b6a08f6d5a5037e9bab852947600f",
      "parents": [],
      "author": {
        "name": "Jeepyb User",
        "email": "mcp-ci-jeepyb@ci.mcp.mirantis.net",
        "time": "Tue May 02 09:29:59 2017 +0000"
      },
      "committer": {
        "name": "Jeepyb User",
        "email": "mcp-ci-jeepyb@ci.mcp.mirantis.net",
        "time": "Tue May 02 09:29:59 2017 +0000"
      },
      "message": "Added .gitreview\n"
    },
    {
      "commit": "3e73927eaaf2859173aee440aaaf8562b4fbd30d",
      "tree": "43cb35e618f059a406337cd9bfcd6c1dd19fc5bc",
      "parents": [
        "9a5595b8ffe429439c63781cdc312c254e4ad990"
      ],
      "author": {
        "name": "Xavier Lange",
        "email": "xrlange@gmail.com",
        "time": "Tue Mar 28 16:19:20 2017 -0700"
      },
      "committer": {
        "name": "Xavier Lange",
        "email": "xrlange@gmail.com",
        "time": "Tue Mar 28 16:19:20 2017 -0700"
      },
      "message": "Remove checks for TenantId\n"
    },
    {
      "commit": "9a5595b8ffe429439c63781cdc312c254e4ad990",
      "tree": "f130c2a65ff78251f53aff676d934a5ecd5617ed",
      "parents": [
        "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@redhat.com",
        "time": "Mon Mar 13 13:04:29 2017 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Mar 13 13:04:29 2017 -0500"
      },
      "message": "Update some docs for some nits found (#286)\n\n* A few small doc clarifications\r\n\r\nFirst of all, remove reference to HP as an OpenStack provider and\r\nreplace with some other examples of folks who are actually running\r\nOpenStack Public Clouds.\r\n\r\nThen add a few notes clarifying tenant/project usage and the fact that\r\ndomain applies to both.\r\n\r\n* Change my-openstack.com to openstack.example.com\r\n\r\nRFC 2606 defines example.com as a reserved domain to be used in tests\r\nand examples. It is guaranteed to not be actually resolvable. Update\r\nthe uses of my-openstack.com to use example.com instead.\r\n\r\n  https://tools.ietf.org/html/rfc2606\r\n\r\n* Change \"cluster\" to \"cloud\"\r\n\r\nThe general term for an installation of OpenStack is cloud, at least\r\nwhen talking to end users.\r\n\r\n* Address review comments\r\n"
    },
    {
      "commit": "20187a25d3f50d92b95789838177e46796ee2df0",
      "tree": "1d09b4cf72bd2272b21b0fce8f90cc3db99641e1",
      "parents": [
        "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504"
      ],
      "author": {
        "name": "r_takaishi",
        "email": "ryo.takaishi.0@gmail.com",
        "time": "Mon Mar 13 23:45:20 2017 +0900"
      },
      "committer": {
        "name": "r_takaishi",
        "email": "ryo.takaishi.0@gmail.com",
        "time": "Mon Mar 13 23:47:08 2017 +0900"
      },
      "message": "add protocols\n"
    },
    {
      "commit": "0f64da0e36de86a0ca1a8f2fc1b0570a0d3f7504",
      "tree": "ea8096411a0efb8d92522a08a1ff3e43aa2b007e",
      "parents": [
        "71b85bda7a7ca7774f0db3c4974a4a90f4bbd022"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Mar 09 18:59:53 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:59:53 2017 -0600"
      },
      "message": "Compute v2: Extended Availability Zone Status (#282)\n\n* Compute v2: Extended Availability Zone Status API\r\n\r\n* Compute v2: Extended Availability Zone Status unit tests\r\n\r\n* Compute v2: Extended Availability Zone Status acceptance tests\r\n"
    },
    {
      "commit": "71b85bda7a7ca7774f0db3c4974a4a90f4bbd022",
      "tree": "109cb39316b60d53e80cad7694a45eb4b0bd9c0e",
      "parents": [
        "feda303f795926c9743eac49ab3f3fcd3a96dfec"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Mar 09 18:55:36 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:55:36 2017 -0600"
      },
      "message": "DNS Zones: List / Get (#271)\n\n* Add Zone List / Get Support\r\n\r\n* Addressing code review comments\r\n\r\n* Adding v2 to DNS client\r\n\r\n* List / Get unit tests plus updates to results for unit tests to work.\r\n\r\n* DNS v2 List acceptance tests\r\n\r\n* add failing unit test for dns v2 allpages\r\n\r\n* Changing acceptance test for DNS v2 to use AllPages\r\n\r\n* Adding empty zones.go file for package requirements\r\n\r\n* Change ttl back to int\r\n\r\n* DNS v2 Zones ListOpts\r\n"
    },
    {
      "commit": "feda303f795926c9743eac49ab3f3fcd3a96dfec",
      "tree": "a1fd3789ecb09985587ac54502413a8ce6830e0b",
      "parents": [
        "afdc3501e9cdb5025030acfc40c4c76125fa9991"
      ],
      "author": {
        "name": "dbaumgarten",
        "email": "incognym@googlemail.com",
        "time": "Fri Mar 10 02:52:54 2017 +0100"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:52:54 2017 -0600"
      },
      "message": "Added RouterID field to floatingip (#283)\n\n"
    },
    {
      "commit": "afdc3501e9cdb5025030acfc40c4c76125fa9991",
      "tree": "cd3217382b1fcebc357f5a47a86987d16ec74fdb",
      "parents": [
        "d3c9d971734acc986beaf0ab57fab51eb00819bb"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Mar 09 18:51:37 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:51:37 2017 -0600"
      },
      "message": "Compute v2: Allow correct handling of Image Metadata (#285)\n\nThe Compute v2 API expects JSON values for metadata with keys of\r\nboot_from_volume and mappings. This commit changes the Metadata\r\ntype from map[string]string to map[string]interface{} to handle\r\nthese values."
    },
    {
      "commit": "d3c9d971734acc986beaf0ab57fab51eb00819bb",
      "tree": "c74c0ffb5279ec87527a9784e6d94928e9b51f81",
      "parents": [
        "345dba6827f8f5776216edd9f68741c9a9ecfd25"
      ],
      "author": {
        "name": "dbaumgarten",
        "email": "incognym@googlemail.com",
        "time": "Fri Mar 10 02:30:21 2017 +0100"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 19:30:21 2017 -0600"
      },
      "message": "Layer3 acceptance tests dont use floating-network for subnets (#277)\n\n"
    },
    {
      "commit": "345dba6827f8f5776216edd9f68741c9a9ecfd25",
      "tree": "f37f2103667f886482b267d2f978046fc691b763",
      "parents": [
        "b46ba5a3a655228918da24c1a3ef3d742cf76f20"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Mar 09 17:43:38 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 09 09:43:38 2017 -0600"
      },
      "message": "Feature/filestorage sharetype showaccess (#149)\n\n* sfs: Add support for share type Show Access\r\n\r\n* sfs: Add acceptance tests for share type Show Access\r\n\r\n* sfs: Remove unused type\r\n\r\n* sfs: Fix unit and acceptance test\r\n"
    },
    {
      "commit": "b46ba5a3a655228918da24c1a3ef3d742cf76f20",
      "tree": "b911befa27b013d7defc8255579dc603deb157ab",
      "parents": [
        "303bf8a5e44befcf262f4d0502f7343f64c52d8e"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Wed Mar 08 20:56:49 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 08 12:56:49 2017 -0600"
      },
      "message": "Feature/filestorage securityservices list (#134)\n\n* sfs: Add support for security services List\r\n\r\n* sfs: Add acceptance tests for security service List\r\n\r\n* sfs: Remove extra parameters for security service list\r\n\r\nAfter taking a closer look at the code, some parameters\r\nseem to be filtered out during the list request. They\r\nhave now been filtered out.\r\n\r\n* sfs: Fix unit tests\r\n\r\n* sfs: Use SecurityServiceType for ListOpts Type\r\n"
    },
    {
      "commit": "303bf8a5e44befcf262f4d0502f7343f64c52d8e",
      "tree": "a31adf4b0f0fecd2b2ab3a41a4ba4d856cfda7f5",
      "parents": [
        "885e72ebf369df53be777ad14e429cf75d765b2a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Mar 02 12:23:34 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 02 12:23:34 2017 -0600"
      },
      "message": "remove case for map[string]interface from switch statement in AllPages (#276)\n\n"
    },
    {
      "commit": "885e72ebf369df53be777ad14e429cf75d765b2a",
      "tree": "5d51ee44b432d68be478467649b2b262342c7e0e",
      "parents": [
        "6b8670527572d0b1eb850f8a941a968dcd673d55"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Mar 01 17:21:29 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Mar 01 18:21:29 2017 -0600"
      },
      "message": "Fixing printing of port resources (#274)\n\n"
    },
    {
      "commit": "6b8670527572d0b1eb850f8a941a968dcd673d55",
      "tree": "669b951a3bfe5de052c298add922ee72981ed79f",
      "parents": [
        "6df190ca6cecfe758ce7fb8b3684934977db7210"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Feb 23 19:57:45 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 23 19:57:45 2017 -0600"
      },
      "message": "internal package (#270)\n\n"
    },
    {
      "commit": "6df190ca6cecfe758ce7fb8b3684934977db7210",
      "tree": "a3896c6589613c88ad230d5a107c4c1cea39f191",
      "parents": [
        "929e60b059cf61f742257058fcafa450fc520063"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 16:35:10 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 20 16:35:10 2017 -0600"
      },
      "message": "omit empty AdminPass in \u0027Rebuild\u0027 req body (#267)\n\n"
    },
    {
      "commit": "929e60b059cf61f742257058fcafa450fc520063",
      "tree": "304f79cd98565bdf00d26eafabca47d13181c7c2",
      "parents": [
        "2aaed7fc5684e8cd90e4b5e112f06c7f1769da2c"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 20 15:31:15 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 16:31:15 2017 -0600"
      },
      "message": "ImageService v2: Fixing Create Properties (#264)\n\n* Fix Creating Image Properties\r\n\r\nThe combination of JSON tags were not rendering the JSON body\r\ncorrectly and causing a 400 error by the API.\r\n\r\n* ImageService v2 Acceptance Tests\r\n\r\n* unit tests\r\n"
    },
    {
      "commit": "2aaed7fc5684e8cd90e4b5e112f06c7f1769da2c",
      "tree": "e9b15a35e0bbae5c014db68bdaa1d032604d07bd",
      "parents": [
        "48f36ae36dcf63cbedb5c5951fee1fb39dd02900"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 16:19:24 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 20 16:19:24 2017 -0600"
      },
      "message": "fix images \u0027AllPages\u0027 paging (#266)\n\n* fix images AllPages paging; make AllPages more robust\r\n\r\n* need to keep using the local page when iterating in AllPages\r\n"
    },
    {
      "commit": "48f36ae36dcf63cbedb5c5951fee1fb39dd02900",
      "tree": "31a28eeb54a3b9ba280142304c2be148b94370c3",
      "parents": [
        "5cb543c8c13ece4f73656b2de9d1883bbb8890f0"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 20 14:36:44 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 15:36:44 2017 -0600"
      },
      "message": "Add os-volume_upload_image action to volumeactions (#240)\n\n* Add os-volume_upload_image action to volumeactions\r\n\r\n* Code updates to align with style guide\r\n"
    },
    {
      "commit": "5cb543c8c13ece4f73656b2de9d1883bbb8890f0",
      "tree": "7484165e234c2c22e5789e81ff895729d6a8f145",
      "parents": [
        "f47ca3a2d457dd4601b823eb17ecc3094baf5fab"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 20 14:03:36 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 20 14:03:36 2017 -0600"
      },
      "message": "fix coverage script from masking unit test failures (#265)\n\n* add \u0027set -e\u0027 line to fail on error\r\n\r\n* create Unmarshal method for DefaultSecRule\r\n\r\n* fix portsbinding \u0027update\u0027 unit test\r\n\r\n* go fmt\r\n\r\n* remove line from debugging\r\n"
    },
    {
      "commit": "f47ca3a2d457dd4601b823eb17ecc3094baf5fab",
      "tree": "c311d305301dc3659a0514bacfed4d9db3870e0f",
      "parents": [
        "8cab8b8197067d4eb0494627cc926c0f90f2956c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Feb 17 11:23:12 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 17 11:23:12 2017 -0600"
      },
      "message": "change io.ReadSeeker to io.Reader (#262)\n\nchange io.ReadSeeker to io.Reader"
    },
    {
      "commit": "8cab8b8197067d4eb0494627cc926c0f90f2956c",
      "tree": "31c3b9e3ff44a4ce7061468756d8c334bab4acfa",
      "parents": [
        "ff77917b4d967827a1a375c97214f06b030e519a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Feb 16 14:48:18 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 16 14:48:18 2017 -0600"
      },
      "message": "create flavor (#257)\n\n* create flavor operation\r\n\r\n* accept 200,201 status codes\r\n\r\n* unit test\r\n"
    },
    {
      "commit": "ff77917b4d967827a1a375c97214f06b030e519a",
      "tree": "79cf77219b6d4163e70a81b459888f7f52d5acda",
      "parents": [
        "b06120d13e262ceaf890ef38ee30898813696af0"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Feb 14 18:24:39 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Feb 14 19:24:39 2017 -0600"
      },
      "message": "ImageService v2: Fix paging when next URL is blank (#254)\n\n"
    },
    {
      "commit": "b06120d13e262ceaf890ef38ee30898813696af0",
      "tree": "1d35a53a059a8a5ac15af10fb2361f0d224d03b9",
      "parents": [
        "6d2ec964420acd609b7ddc0ac69174ceebf4fe58"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 13 21:36:15 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 13 22:36:15 2017 -0600"
      },
      "message": "Use AvailabilityZone instead of Availability (#246)\n\nThis commit updates the Block Storage v1 create request to use\r\nAvailabilityZone instead of Availability."
    },
    {
      "commit": "6d2ec964420acd609b7ddc0ac69174ceebf4fe58",
      "tree": "7697db2678088c6b42977a301210aeb55d78c581",
      "parents": [
        "48584fb6faa14880acfd8e1829a74cf0f968ccd6"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 13 21:23:55 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 13 22:23:55 2017 -0600"
      },
      "message": "Ports: Remove Security Groups and Address Pairs (#236)\n\nThis commit enables security groups and address pairs to be removed\r\nfrom a port. This is done by allowing an empty value to be passed\r\nfor either attribute in the port update request."
    },
    {
      "commit": "48584fb6faa14880acfd8e1829a74cf0f968ccd6",
      "tree": "2aee564f1da6b52a3844ac126e50244db32f6840",
      "parents": [
        "10a2744ec7fa9a716a77c186396c5e0a2cc9a4ba"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Feb 13 21:18:26 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 13 22:18:26 2017 -0600"
      },
      "message": "Refactor WaitFor (#221)\n\n* Refactor WaitFor\r\n\r\nThis commit modifies WaitFor in a few ways:\r\n\r\nIt replaces time.Now().Second() with time.Now().Unix() in order to\r\naccount for rolling minutes (for example, when WaitFor starts at 59\r\nseconds, every timeout check will result in a negative number).\r\n\r\nA \"retry\" timer has also been added. This will cause the predicate\r\nto be retried every n seconds if there hasn\u0027t been a response. This\r\nis to account for server or network issues that would cause the\r\npredicate to be lost or hang indefinitely.\r\n\r\nA combination of using both timeout and retry can be effective in\r\nhandling faulty requests as well as a master kill switch to stop.\r\n\r\n* Remove Retry from WaitFor\r\n\r\nThis removes the retry parameter and re-uses the timeout to kill\r\npossible hanging predicates.\r\n"
    },
    {
      "commit": "10a2744ec7fa9a716a77c186396c5e0a2cc9a4ba",
      "tree": "3fb91904fd5eb21f63abf9243e7b118868749e26",
      "parents": [
        "c0df5212759612eb99d1178816ad620952c549f1"
      ],
      "author": {
        "name": "esalipe",
        "email": "peter.salin@ericsson.com",
        "time": "Tue Feb 14 06:11:01 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Feb 13 22:11:01 2017 -0600"
      },
      "message": "db/instance: support giving nics in create opts (#201)\n\n"
    },
    {
      "commit": "c0df5212759612eb99d1178816ad620952c549f1",
      "tree": "0f826facc81b35750687c545572361e524873039",
      "parents": [
        "ed2f96ce05eb76a9fe89e671467ebf1818f49234"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 20 14:14:37 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 20 14:14:37 2017 -0600"
      },
      "message": "add item about dependent PRs to style guide (#239)\n\n"
    },
    {
      "commit": "ed2f96ce05eb76a9fe89e671467ebf1818f49234",
      "tree": "5912d2099b3e0e29aa16058f049c542326d4d5a3",
      "parents": [
        "66a046c6aa7e55fb98f1ea698881a1d27819c5e2"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 20 13:02:54 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 20 13:02:54 2017 -0600"
      },
      "message": "documenting example usage of a custom HTTP client (#231)\n\n* example to implement custom logging and re-auth limits\r\n\r\n* faq for advanced usage and customization\r\n"
    },
    {
      "commit": "66a046c6aa7e55fb98f1ea698881a1d27819c5e2",
      "tree": "82ff69fb1b311cbbbe9ad48bb1fcac150665b892",
      "parents": [
        "517c799ebe75bb7d4994d286cabaf4a0782cabc1"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Jan 19 22:07:26 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 19 23:07:26 2017 -0600"
      },
      "message": "Acceptance Test Updates (#218)\n\n* compute: don\u0027t pass choices\r\n\r\n* blockstorage: don\u0027t pass choices\r\n\r\n* DumpResource Function\r\n\r\nThis function prints a resource in JSON format but retains the actual\r\nfield name rather than using the name specified in the JSON tag.\r\n\r\n* New DumpResource\r\n\r\nThis version just converts the resource into JSON. The original is\r\nbeing left in git history for posterity.\r\n\r\n* Renaming DumpResource to PrintResource\r\n\r\n* Removing all print functions in favor of PrintResource\r\n\r\n* Rebase reconcilliation\r\n"
    },
    {
      "commit": "517c799ebe75bb7d4994d286cabaf4a0782cabc1",
      "tree": "8dc4ecd56b283a8b874a382bbebfb7fd09c01c90",
      "parents": [
        "4d2266c1ea7b9bf64e6e595bb02a61b6c29fceba"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Jan 19 17:10:29 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 19 18:10:29 2017 -0600"
      },
      "message": "FWaaS Router Insertion (#220)\n\n* Implement fwaasrouterinsertion FWaaS extension\r\n\r\nThis commit adds the FWaaS router insertion extension which enables\r\nthe firewall to be associated with one or more routers.\r\n\r\n* FWaaS Router Insertion Acceptance Tests\r\n"
    },
    {
      "commit": "4d2266c1ea7b9bf64e6e595bb02a61b6c29fceba",
      "tree": "0a64bfc2402128f49c39d3b4e3aa7875afeb56d2",
      "parents": [
        "c2bb4914e216cb75a6b9ac9e597561f467f8ced0"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Jan 19 16:57:50 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 19 17:57:50 2017 -0600"
      },
      "message": "Handle Unmarshaling Compute Floating IP IDs (#217)\n\n"
    },
    {
      "commit": "c2bb4914e216cb75a6b9ac9e597561f467f8ced0",
      "tree": "fc3b5fc3ab2f45331d6d1200fd85aca9a13b9013",
      "parents": [
        "6b3419fe1a6978b179da2dac31b45fa48a08d453"
      ],
      "author": {
        "name": "dbaumgarten",
        "email": "incognym@googlemail.com",
        "time": "Thu Jan 19 17:14:08 2017 +0100"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 19 10:14:08 2017 -0600"
      },
      "message": "Added functionality for updating and resetting compute quotas. (#214)\n\n* Added functionality for updating and resetting compute quotas.\r\nUnit and acceptance tests added.\r\n\r\n* Forgot to add my latest changes.\r\nModified acceptance test to better find the tenant-id\r\n\r\n* Improved test coverage.\r\nAnd fixed a bug while doing this.\r\n\r\n* Moved FillFromQuotaSet to acceptance test package\r\nRefractored ToComputeQuotaUpdateMap()\r\n"
    },
    {
      "commit": "6b3419fe1a6978b179da2dac31b45fa48a08d453",
      "tree": "34fe2316179e7dbfefc84720be44666df47672b4",
      "parents": [
        "700ce7db13d286b0a04a2d60c51b7a008fab6277"
      ],
      "author": {
        "name": "Bruce Martins",
        "email": "bmartins@gmail.com",
        "time": "Wed Jan 18 20:06:55 2017 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 18 19:06:55 2017 -0600"
      },
      "message": "fixed issue where personality wasn\u0027t working in request w/ config_drive (#213)\n\n"
    },
    {
      "commit": "700ce7db13d286b0a04a2d60c51b7a008fab6277",
      "tree": "5a05fdfee37718f6bdc7f31e6d5045db8b84e9c5",
      "parents": [
        "84e358b0a9f8b4fe1bd99c2cc2ce724adc3e776f"
      ],
      "author": {
        "name": "dbaumgarten",
        "email": "incognym@googlemail.com",
        "time": "Thu Jan 19 02:04:45 2017 +0100"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 18 19:04:45 2017 -0600"
      },
      "message": "Fixed TenantID struct-tag in user/CommonOpts (#211)\n\n"
    },
    {
      "commit": "84e358b0a9f8b4fe1bd99c2cc2ce724adc3e776f",
      "tree": "43c9221898baeefe824f5a726adb4d34245beb30",
      "parents": [
        "f7b8b068362024702da80dc5cc3d88c65ecfe006"
      ],
      "author": {
        "name": "esalipe",
        "email": "peter.salin@ericsson.com",
        "time": "Thu Jan 19 02:19:23 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 18 18:19:23 2017 -0600"
      },
      "message": "db/instance: add support for IPs in response body (#199)\n\n"
    },
    {
      "commit": "f7b8b068362024702da80dc5cc3d88c65ecfe006",
      "tree": "c850341d91a3baef7cda37e8af648a60eb4997e3",
      "parents": [
        "9368c00c3a45952005aa3f3a943bf1c7ebb01980"
      ],
      "author": {
        "name": "esalipe",
        "email": "peter.salin@ericsson.com",
        "time": "Thu Jan 19 02:08:59 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 18 18:08:59 2017 -0600"
      },
      "message": "db: fix flavor id parsing (#197)\n\n* Flavor IDs returned with instances are always strings\r\n* Flavor IDs returned with flavors are integers or null, there is a\r\n  str_id parameter that contains the ID in string format"
    },
    {
      "commit": "9368c00c3a45952005aa3f3a943bf1c7ebb01980",
      "tree": "a0926c6727c982f00f773879e32b62af1684badc",
      "parents": [
        "58d15022bb32fd887557d109ea1ee4bfd8e6040c"
      ],
      "author": {
        "name": "Mikko Valkonen",
        "email": "msvalkon@gmail.com",
        "time": "Mon Jan 16 18:31:39 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jan 16 10:31:39 2017 -0600"
      },
      "message": "feature/shared file systems: share acceptance tests (#128)\n\n* feature/filestorage: acceptance tests\r\n\r\nImplements acceptance tests for `sharedfilesystems/v2/shares`\r\n\r\n* sfs/acceptance: create share-network in env script\r\n\r\nAdds creation of a share-network in the acceptance test environment\r\nsetup script, and stores the network id in an environment variable\r\n\r\n* sfs: adds ShareNetworkID to AcceptanceTestChoices\r\n\r\nGets ShareNetworkID from the OS environment variable:\r\n`OS_SHARE_NETWORK_ID`\r\n\r\n* sfs: removes hard-coding of the share-network-id\r\n\r\n* sfs: add OS_SHARE_NETWORK_ID to acceptance README\r\n\r\n* sfs/acceptance: move WaitForStatus to acc. tests\r\n\r\nMoves the `WaitForStatus`-function from the actual library to the\r\nacceptance test folder and does not export it\r\n"
    },
    {
      "commit": "58d15022bb32fd887557d109ea1ee4bfd8e6040c",
      "tree": "b9077ecdd677f5299461627b1bd4e96c9964e0ce",
      "parents": [
        "368deee20062b2c7a043f792d7d998abe621872e"
      ],
      "author": {
        "name": "esalipe",
        "email": "peter.salin@ericsson.com",
        "time": "Fri Jan 13 19:31:08 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 13 11:31:08 2017 -0600"
      },
      "message": "db/instances: expect non-Z time format (#196)\n\n* db/instances: expect non-Z time format\r\n\r\n* fixup! db/instances: expect non-Z time format\r\n"
    },
    {
      "commit": "368deee20062b2c7a043f792d7d998abe621872e",
      "tree": "5c3024512fbfea702783148e958efa6f2f27b0c7",
      "parents": [
        "98d0162076e5ac4f47a4b7ce531234fc4b91aa79"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Thu Jan 12 14:19:23 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 12 15:19:23 2017 -0600"
      },
      "message": "Handle Unmarshaling Compute Security Group IDs (#192)\n\n* Handling integer secgroup IDs\r\n\r\n* Handling integer secgroup rule IDs\r\n\r\n* Updating unit tests for integer secgroup IDs and rule IDs\r\n\r\n* Style updates\r\n\r\n* Style updates\r\n\r\n* Test formatting fix\r\n"
    },
    {
      "commit": "98d0162076e5ac4f47a4b7ce531234fc4b91aa79",
      "tree": "7256eedfec0e891710f80d666e80de1522d7a7ba",
      "parents": [
        "8baf47a5b9d7a92daf5571f9a072aea83bdc889a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 12 14:24:42 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 12 14:24:42 2017 -0600"
      },
      "message": "change all time fields to have type time.Time (#190)\n\n* add Volume.Unmarshal\r\n\r\n* add volumetenants.VolumeExt.Unmarshal\r\n\r\n* create servers.Server time.Time fields\r\n\r\n* json.Unmarshal can correctly handle time.RFC3339 (Server time fields)\r\n\r\n* add v3 Token UnmarshalJSON method\r\n\r\n* check for empty string when unmarshaling time\r\n\r\n* add Member UnmarshalJSON\r\n\r\n* v3 tokens.Token ExtractInto\r\n\r\n* v3 trust.Trust UnmarshalJSON\r\n\r\n* time.Time fields swift response objects\r\n\r\n* time.Time fields for orchestration response objects\r\n\r\n* time.Time fields for shared file systems response objects\r\n\r\n* if we don\u0027t use pointers for the custom time fields, we don\u0027t need to check if they\u0027re nil\r\n\r\n* style guide fixes: \u0027r\u0027 for receiver, \u0027s\u0027 for struct\r\n\r\n* remove unnecessary pointers from UnmarshalJSON methods\r\n"
    },
    {
      "commit": "8baf47a5b9d7a92daf5571f9a072aea83bdc889a",
      "tree": "85b3718802f103f735ee43373e664122093eb7ab",
      "parents": [
        "d131fb82d438ca390dbd9867c555681a1a9fd06e"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:50:24 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:50:24 2017 -0600"
      },
      "message": "Identity v3 Projects Update (#167)\n\n"
    },
    {
      "commit": "d131fb82d438ca390dbd9867c555681a1a9fd06e",
      "tree": "3f7a2f463f74259231010b70ec4b4ce9113cfbcb",
      "parents": [
        "997607633ac6ff54f5125d9b9dc2b1ff9d08f8c3"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:41:44 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:41:44 2017 -0600"
      },
      "message": "Identity v3 Projects Delete (#166)\n\n"
    },
    {
      "commit": "997607633ac6ff54f5125d9b9dc2b1ff9d08f8c3",
      "tree": "561573f3e7459e03aadbe7548b09e718b7ea6287",
      "parents": [
        "8ad602c701e4b583b04f0bd32163b445f49f53bd"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:40:40 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:40:40 2017 -0600"
      },
      "message": "Removing unused createErr functions from Identity packages (#229)\n\n"
    },
    {
      "commit": "8ad602c701e4b583b04f0bd32163b445f49f53bd",
      "tree": "43fb8b377c6dfa25337bf34e13b55b5bee1881b8",
      "parents": [
        "c2b8dcdf1a5caa47bb6d3569cf9247dc75bdbe71"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:01:47 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:01:47 2017 -0600"
      },
      "message": "Identity v3 Projects Create (#165)\n\n* Identity v3 Projects Create\r\n\r\n* Removing unused createErr function\r\n"
    },
    {
      "commit": "c2b8dcdf1a5caa47bb6d3569cf9247dc75bdbe71",
      "tree": "fbad921d379c5b550d2dba1ec9010b167982ef39",
      "parents": [
        "220e6e744484bfaeff8158dce14f54243b4236d9"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Wed Jan 11 06:01:00 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jan 10 22:01:00 2017 -0600"
      },
      "message": "Feature/filestorage availabilityzones list (#153)\n\n* sfs: Add support for Availability Zone List\r\n\r\n* sfs: Add acceptance tests for Availability zones List\r\n\r\n* sfs: Fix review comments\r\n"
    },
    {
      "commit": "220e6e744484bfaeff8158dce14f54243b4236d9",
      "tree": "0e58aa3eae620b14bb412255dbd49857a56f52c6",
      "parents": [
        "1c236d3c638f72bb395ac3ba45a314be8228587f"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Wed Jan 11 05:56:13 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Jan 10 21:56:13 2017 -0600"
      },
      "message": "Feature/filestorage sharetype unsetextraspecs (#148)\n\n* sfs: Add support for share type Unset Extra Specs\r\n\r\n* sfs: Add acceptance tests for share type Unset Extra Specs\r\n"
    },
    {
      "commit": "1c236d3c638f72bb395ac3ba45a314be8228587f",
      "tree": "4df33b71fa4100970b57a40b412e54b1821f704d",
      "parents": [
        "463e9c872ffa9743a2109d1e89418b6e26a384c1"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Jan 09 15:33:32 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jan 09 16:33:32 2017 -0600"
      },
      "message": "Identity v3 Projects Get (#164)\n\n* Identity v3 Projects Get\r\n\r\n* Renaming ToGetQuery to ToProjectGetQuery\r\n\r\n* Fixing acceptance test\r\n"
    },
    {
      "commit": "463e9c872ffa9743a2109d1e89418b6e26a384c1",
      "tree": "8fafadc595ccbea354dbf0da18f1d35704e4e926",
      "parents": [
        "894b50d8e0e304e65bd8e822e95cd1fb417f8f43"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Sat Jan 07 01:18:18 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 06 17:18:18 2017 -0600"
      },
      "message": "Feature/filestorage sharetype setextraspecs (#147)\n\n* sfs: Add support for share type Set Extra Specs\r\n\r\n* sfs: Add acceptance tests for share type Set Extra Specs\r\n\r\n* sfs: Fix tests\r\n"
    },
    {
      "commit": "894b50d8e0e304e65bd8e822e95cd1fb417f8f43",
      "tree": "ed5357584a8586fea289c576b62b96997a63a8b5",
      "parents": [
        "d5eda9707e146108e4d424062b602fd97a71c2e6"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Sat Jan 07 00:38:03 2017 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Jan 06 16:38:03 2017 -0600"
      },
      "message": "Feature/filestorage securityservices delete (#133)\n\n* sfs: Add support for security services Delete\r\n\r\n* sfs: Add acceptance tests for security service Delete\r\n"
    },
    {
      "commit": "d5eda9707e146108e4d424062b602fd97a71c2e6",
      "tree": "7a44239baf6892398dd48d3e772ac81614ad9205",
      "parents": [
        "b5066cd02b356d2acf82eb263ea8314412d79327",
        "bb45a5e9acdaa82987a5806fdab954c31c7813a8"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 14 12:28:31 2016 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 14 12:28:31 2016 -0600"
      },
      "message": "tenantattr extension for cinder (#186)\n\n* tenantattr extension for cinder; ExtractInto method for handling custom Volume objects\r\n\r\n* make sure interface{} parameter is *struct\r\n\r\n* ExtractInto*Ptr methods for Result\r\n\r\n* use gophercloud.ExtractInto*Ptr for ExtractInto and ^CtractVolumesInto\r\n\r\n* use type instead of struct literal in unit test\r\n\r\n* comments for tenantattr pkg\r\n\r\n* call volumes.ExtractInto from volumes.Extract\r\n\r\n* clean up extractIntoPtr and add comments for new exported methods\r\n\r\n* add comment about ExtractInto*Ptr being for internal use only\r\n\r\n* check for http response error in ExtractInto*Ptr methods\r\n\r\nrename tenantattr pkg to volumetenants\r\n\r\n* rename tenantattr to volumetenants; remove commented code\r\n"
    },
    {
      "commit": "bb45a5e9acdaa82987a5806fdab954c31c7813a8",
      "tree": "452a751ef372c08204d01f2dedfdd3a52d3435b7",
      "parents": [
        "25492a9d0f93ebc52868393193f95240f115acf1"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 14 12:20:22 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 14 12:21:34 2016 -0600"
      },
      "message": "rename tenantattr to volumetenants; remove commented code\n"
    },
    {
      "commit": "25492a9d0f93ebc52868393193f95240f115acf1",
      "tree": "233696955489c68d8fd59c0aebd3e90b0c87ee79",
      "parents": [
        "c501bc1d93651ab04907d9d420831744c523957d"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 17:42:24 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 14 12:21:18 2016 -0600"
      },
      "message": "check for http response error in ExtractInto*Ptr methods\n\nrename tenantattr pkg to volumetenants\n"
    },
    {
      "commit": "b5066cd02b356d2acf82eb263ea8314412d79327",
      "tree": "32f4ce54b4aa0e9597a3c23bf13b0a62749f0a10",
      "parents": [
        "a901585e86130747c8d75e3833738ab3bfdc4c76"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Nov 10 22:15:42 2016 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 10 14:15:42 2016 -0600"
      },
      "message": "Feature/filestorage securityservices create (#132)\n\n* sfs: Add support for security services Create\r\n\r\n* sfs: Add acceptance tests for security service Create\r\n\r\n* sfs: Fix comments\r\n"
    },
    {
      "commit": "a901585e86130747c8d75e3833738ab3bfdc4c76",
      "tree": "db6c9787664952e6ffb8161e3edf2c6121cfdd8e",
      "parents": [
        "cd65a06fb6a69eef63cb1c1ec861144e86011b2f"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Nov 10 22:08:54 2016 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 10 14:08:54 2016 -0600"
      },
      "message": "Feature/filestorage sharetype getextraspecs (#146)\n\n* sfs: Add support for share type Get Extra Specs\r\n\r\n* sfs: Add acceptance tests for share type Get Extra Specs\r\n\r\n* sfs: Fix comments\r\n"
    },
    {
      "commit": "c501bc1d93651ab04907d9d420831744c523957d",
      "tree": "ab3bc6068682d17fdd5ba1521659d37a8d99cecb",
      "parents": [
        "41a7078b699656b6cdee196ba464952629b2df5f"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 15:52:55 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 15:52:55 2016 -0600"
      },
      "message": "add comment about ExtractInto*Ptr being for internal use only\n"
    },
    {
      "commit": "41a7078b699656b6cdee196ba464952629b2df5f",
      "tree": "d3c6dbed73711010505c6d131b142394abee7f55",
      "parents": [
        "8f364f76b52e50fc8a9d182980b0dfdde5005c3c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 14:40:46 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 14:40:46 2016 -0600"
      },
      "message": "clean up extractIntoPtr and add comments for new exported methods\n"
    },
    {
      "commit": "8f364f76b52e50fc8a9d182980b0dfdde5005c3c",
      "tree": "148876fce1cc84eaa675abb094e9996405daf7eb",
      "parents": [
        "6be8c4247d29435e773753d98626bfe0b0b0d03c"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 13:09:15 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 13:09:15 2016 -0600"
      },
      "message": "call volumes.ExtractInto from volumes.Extract\n"
    },
    {
      "commit": "6be8c4247d29435e773753d98626bfe0b0b0d03c",
      "tree": "3390ef282fda045f2e2cb3df704d28abd22c01f9",
      "parents": [
        "17e8b62988e092bcd35eb39834b07ec925a376b6"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 13:08:35 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Nov 09 13:08:35 2016 -0600"
      },
      "message": "comments for tenantattr pkg\n"
    },
    {
      "commit": "17e8b62988e092bcd35eb39834b07ec925a376b6",
      "tree": "40c94b0a5330d550e53e1ac824af89c41472fe42",
      "parents": [
        "2e4415e902c537e033ee15b0dd732f0233470610"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 17:00:15 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 17:00:15 2016 -0600"
      },
      "message": "use type instead of struct literal in unit test\n"
    },
    {
      "commit": "2e4415e902c537e033ee15b0dd732f0233470610",
      "tree": "ab7f9d5f3f7f268d0f6526c74546b1108ec0ccad",
      "parents": [
        "613bea2dc1d1bde83192501453789f1884cdbb44"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 16:59:29 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 16:59:29 2016 -0600"
      },
      "message": "use gophercloud.ExtractInto*Ptr for ExtractInto and ^CtractVolumesInto\n"
    },
    {
      "commit": "613bea2dc1d1bde83192501453789f1884cdbb44",
      "tree": "eaa628685ce4bbc4eaab38db18e38087e0e3b44d",
      "parents": [
        "410c105d5d75504cb8b9b149c7e5a29e85c54cef"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 16:58:10 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 16:58:10 2016 -0600"
      },
      "message": "ExtractInto*Ptr methods for Result\n"
    },
    {
      "commit": "410c105d5d75504cb8b9b149c7e5a29e85c54cef",
      "tree": "da1881f20fb24e29c5bf11841de4d6d77b2bd30a",
      "parents": [
        "7dc49465540b00c1146b1e5290bc2c042e5e988d"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 15:24:07 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 15:24:07 2016 -0600"
      },
      "message": "make sure interface{} parameter is *struct\n"
    },
    {
      "commit": "7dc49465540b00c1146b1e5290bc2c042e5e988d",
      "tree": "ba770d5c09dad2f3d1ea6cbd9deeba8bc35dc292",
      "parents": [
        "cd65a06fb6a69eef63cb1c1ec861144e86011b2f"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 15:09:33 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 15:09:33 2016 -0600"
      },
      "message": "tenantattr extension for cinder; ExtractInto method for handling custom Volume objects\n"
    },
    {
      "commit": "cd65a06fb6a69eef63cb1c1ec861144e86011b2f",
      "tree": "5ca4d634fa9a009f3c8667ee2b3d143726c9e5b3",
      "parents": [
        "176266d312aa9cc559ba66a853296d2da9a54b10"
      ],
      "author": {
        "name": "Gavin Williams",
        "email": "fatmcgav@gmail.com",
        "time": "Tue Nov 08 19:05:47 2016 +0000"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Nov 08 13:05:47 2016 -0600"
      },
      "message": "computer/v2/servers: Check if opts.UserData is already Base64 Encoded (#170)\n\n* computer/v2/servers: Check if opts.UserData is already Base64 Encoded\r\n\r\n* Tweaks following review\r\n\r\n* Add tests for UserData generation using both string and Base64 encoded values\r\n"
    },
    {
      "commit": "176266d312aa9cc559ba66a853296d2da9a54b10",
      "tree": "4dd70f464682a5d23a19fe19769572e12a736168",
      "parents": [
        "12f19e5e04d617182cffa5c11f189ef0013b9791"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Mon Nov 07 14:45:46 2016 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Nov 07 15:45:46 2016 -0600"
      },
      "message": "Ensure StorageURL ends in a slash (#183)\n\n* Ensure StorageURL ends in a slash\r\n\r\n* Use NormalizeURL instead of HasSuffix\r\n\r\n* Go back to a one-line import\r\n"
    },
    {
      "commit": "12f19e5e04d617182cffa5c11f189ef0013b9791",
      "tree": "9f7bf7f7c6bb28c872e6cb87392c8d5b8ce89802",
      "parents": [
        "f61691cc5b95035a976c6d27b1e6647b0af1ac88"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Nov 05 14:35:08 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sat Nov 05 15:35:08 2016 -0500"
      },
      "message": "Update how isZero handles Pointers (#181)\n\n* Update how isZero handles Pointers\r\n\r\nThis commit modifies the isZero function so it checks to see if\r\na pointer is actually set rather than if it points to a zero value.\r\n\r\n* Adding a loop to BuildQueryString to efficiently determine parameter type\r\n\r\n* Moving reflect.Ptr to top of BuildQueryString loop\r\n"
    },
    {
      "commit": "f61691cc5b95035a976c6d27b1e6647b0af1ac88",
      "tree": "b32e431ea2e28150c2e4d00ef1193ab13d3092ae",
      "parents": [
        "c5c590a7ee87267c978586fdd1655db0dd4b6e05"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Nov 05 12:34:59 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Sat Nov 05 13:34:59 2016 -0500"
      },
      "message": "Identity v3 Projects List (#163)\n\n* Identity v3 Projects List\r\n\r\n* Rename ToListQuery to ToProjectListQuery\r\n"
    },
    {
      "commit": "c5c590a7ee87267c978586fdd1655db0dd4b6e05",
      "tree": "191f9612468563dbfa4acab290cd34819b8e859f",
      "parents": [
        "a08c1d2357665c41f256540e98ac49f05f9d22c5"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Nov 04 14:41:15 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 04 14:41:15 2016 -0500"
      },
      "message": "images service v2 port from rackpsace/gophercloud (#171)\n\n* CheckByteArrayEquals funcs\r\n\r\n* direct port from rackspace/gophercloud with minor additions to get unit tests passing\r\n\r\n* new package for uploading and downloading image data\r\n\r\n* updates to make imageservice v2 consistent with the rest of gophercloud/gophercloud\r\n\r\n* add image service v2 client\r\n"
    },
    {
      "commit": "a08c1d2357665c41f256540e98ac49f05f9d22c5",
      "tree": "3edb073ff8245ba991701b669e700037b968df41",
      "parents": [
        "10f33e9059d3777b3d980c9c8f976d7db9779392"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Fri Nov 04 10:33:00 2016 -0600"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Nov 04 11:33:00 2016 -0500"
      },
      "message": "Compute Limits (#121)\n\n* Compute Limits\r\n\r\nThis commit adds support for the limits API. It includes the ability\r\nto query limits for the currently scoped user as well as to query the\r\nlimits for a specific tenant.\r\n\r\n* Clarifying RAM measurement\r\n\r\n* Removing ExtractAbsolute. Renaming ExtractLimits to Extract\r\n"
    },
    {
      "commit": "10f33e9059d3777b3d980c9c8f976d7db9779392",
      "tree": "6bea2774b88e2976a5352fce2bec5e15923f3e6f",
      "parents": [
        "1b54c0d1c60fcc15c7e243f80796cff6cb2c997f"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 03 17:03:52 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 03 17:03:52 2016 -0500"
      },
      "message": "Issue/PR templates (#180)\n\n* create .github directory to hold issue/PR templates and contributing guide\r\n\r\n* update link to Contributing guide in Readme\r\n"
    },
    {
      "commit": "1b54c0d1c60fcc15c7e243f80796cff6cb2c997f",
      "tree": "7bd528765d3a31a4b19211fb2f9c2205d932e54c",
      "parents": [
        "fd6d86cd5075ba269e9ddc7a52bd1cb4d4d3583f"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Nov 03 21:56:51 2016 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 03 14:56:51 2016 -0500"
      },
      "message": "Feature/filestorage sharetype getdefault (#144)\n\n* sfs: Add support for share type Get Default\r\n\r\n* sfs: Add acceptance tests for share type Get Default\r\n\r\n* sfs: Improve share type Get Default unit tests\r\n"
    },
    {
      "commit": "fd6d86cd5075ba269e9ddc7a52bd1cb4d4d3583f",
      "tree": "555f4c326a4786b5f0da28eb17cb1a01daa07871",
      "parents": [
        "22bf82b871c4f20ebb10bb7878dcadf82ee8e476"
      ],
      "author": {
        "name": "ehdou",
        "email": "ehdouh@gmail.com",
        "time": "Thu Nov 03 21:35:45 2016 +0200"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Nov 03 14:35:45 2016 -0500"
      },
      "message": "Feature/filestorage sharenetworks update (#126)\n\n* sfs: Add update for share networks\r\n\r\n* sfs: Add acceptance tests for share network Update\r\n\r\n* sfs: Add possiblity to update the network for share network\r\n\r\n* sfs: Improve share network Update unit tests\r\n\r\n* sfs: Improve share network Update acceptance tests\r\n"
    }
  ],
  "next": "22bf82b871c4f20ebb10bb7878dcadf82ee8e476"
}
