)]}'
{
  "log": [
    {
      "commit": "12a49c6495673f5dd35618b3dd535004ef7fd884",
      "tree": "d736111bf1139ba51b1fc6223a83116a4074f224",
      "parents": [
        "f611358f5b41f5173f17010bcb2290dd5ffbd89e"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Dec 02 13:13:19 2019 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Dec 02 13:13:19 2019 +0400"
      },
      "message": "Make MaxOverSubscriptionRatio optional\n\nsince this field is optional we have to provide a possibility to\nleave it empty\n\nChange-Id: Ida453a1b09b0c493f823ecf50c343f4230b7697a\nRelated-PROD: PROD-33588\n"
    },
    {
      "commit": "f611358f5b41f5173f17010bcb2290dd5ffbd89e",
      "tree": "81e5837a12e79c3137f19da08ef7fa65d9d8e5ca",
      "parents": [
        "a1c3ca985b09bc52a0706f4923ba3b7e2467a02e"
      ],
      "author": {
        "name": "Michal Kobus",
        "email": "mkobus@mirantis.com",
        "time": "Mon Sep 09 15:58:21 2019 +0200"
      },
      "committer": {
        "name": "Michal Kobus",
        "email": "mkobus@mirantis.com",
        "time": "Wed Sep 11 11:04:36 2019 +0200"
      },
      "message": "Sync baremetal openstack with upstream\n\nChange-Id: I125fc08e2cc4433aeaa470de48823dd4434c2030\nRelated-PROD: PROD-33018\n"
    },
    {
      "commit": "a1c3ca985b09bc52a0706f4923ba3b7e2467a02e",
      "tree": "3362da30c9f9962056f56320381dd39fce96c1f9",
      "parents": [
        "7ea47130392d9d957f56adcd30d8e02cafaae0f5"
      ],
      "author": {
        "name": "Michal Kobus",
        "email": "mkobus@mirantis.com",
        "time": "Wed Aug 21 14:29:23 2019 +0200"
      },
      "committer": {
        "name": "Michal Kobus",
        "email": "mkobus@mirantis.com",
        "time": "Fri Aug 30 12:41:19 2019 +0200"
      },
      "message": "Add baremetal API endpoints\n\n- drivers\n- nodes\n\nChange-Id: I7a144f146ce4ee9c028d7450b98aadb12d6a597d\nRelated-PROD: PROD-32734\n"
    },
    {
      "commit": "fc6c80c20830c2e0f64e38a76144cb3aa6b81e13",
      "tree": "b3e04d68294b218faf548889effb5e020d5b15c1",
      "parents": [
        "fb5c0e894e825da4ff6a417d52ec078d9ab88554"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Jun 13 13:06:50 2017 -0600"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Tue Apr 30 10:47:55 2019 +0000"
      },
      "message": "ImageService v2: Collect all properties of images (#376)\n\n* ImageService v2: Add VirtualSize field\n\n* ImageService v2: Have Images.Properties collect all remaining fields\n\nRelated-PROD: PROD-28126\n\nChange-Id: Ib6311d3bafc1e5e6e6a2c6d043d2a63a1eaa96cf\n"
    },
    {
      "commit": "fb5c0e894e825da4ff6a417d52ec078d9ab88554",
      "tree": "f4c44a33897068573eecb0a3813d2ea226a3ef38",
      "parents": [
        "1e9551cc60b3d46f2bc65977832fc9e3896b2fba"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Sat Jun 10 20:52:58 2017 -0600"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Tue Apr 30 10:47:41 2019 +0000"
      },
      "message": "Fix testhelper.deepDiffEqual (#374)\n\n* Fix deepdiff comparison with maps\n\n* Fix RemainingKeys function\n\n* Fix unit tests\n\n* Another fix of RemainingKeys\n\n* RemainingKeys cleanup\n\n* Simplifying RemainingKeys\n\n* Revert continue on invalid. Fix broken tests\n\nRelated-PROD: PROD-28126\n\nChange-Id: Ifc5afaf1278c7cff3a89b23a1fd1876aac1dff34\n"
    },
    {
      "commit": "1f6dbd08eca61af7e72a351600cefb9d48d97ea4",
      "tree": "0a73ff060fb12255198234d56169f111c4fa75af",
      "parents": [
        "790e9f22fe3315304af552875595d9b37e1a8037"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Apr 29 15:39:25 2019 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Apr 29 16:14:57 2019 +0400"
      },
      "message": "Allow null values for hypervisor stat fields\n\nChange-Id: I32f1accfae00864bca21476aefba8b2a04fa0504\nRelated-PROD: PROD-28803\n"
    },
    {
      "commit": "790e9f22fe3315304af552875595d9b37e1a8037",
      "tree": "134146fc4d31735fcb7c601ba1179c7db85cfbc6",
      "parents": [
        "4f4220e6377fdfd6f8ed2cc8d0edd6d461026bac"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Sun Mar 24 22:33:37 2019 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Mar 25 12:17:36 2019 +0400"
      },
      "message": "Add dhcp-networks agent function\n\nRelated-PROD: PROD-28687 (PROD:28687)\n\nChange-Id: Ica9c2579f1620ea11ec6ef0b5f0931797ab5716a\n"
    },
    {
      "commit": "4f4220e6377fdfd6f8ed2cc8d0edd6d461026bac",
      "tree": "5048c63182e8ce4a5e90f138627df998b983a4ae",
      "parents": [
        "9a4174aacecf2ff1a722b00f09cdc5295501215c"
      ],
      "author": {
        "name": "Michal Kobus",
        "email": "mkobus@mirantis.com",
        "time": "Mon Dec 17 18:45:17 2018 +0100"
      },
      "committer": {
        "name": "Michal Kobus",
        "email": "mkobus@mirantis.com",
        "time": "Wed Dec 19 17:49:22 2018 +0100"
      },
      "message": "Add NewLoadBalancerV2\n\nTo create Octavia service client\n\nChange-Id: I7e87bcca14037f67f054c923959e377677cb3965\nRelated-bug: PROD-24928 (PROD:24928)\n"
    },
    {
      "commit": "9a4174aacecf2ff1a722b00f09cdc5295501215c",
      "tree": "c0a3cce5ee811b354cadd4ff55d3eda781b0034c",
      "parents": [
        "16b859134a2381adeedf4ce9e715a857c8850f6c"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Nov 19 15:41:20 2018 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Nov 19 11:42:25 2018 +0000"
      },
      "message": "Handle string capacity\n\nChange-Id: I64b34974fd1910be49d9208764f0ad9466c59f97\nRelated-PROD: PROD-25085 (PROD:25085)\n"
    },
    {
      "commit": "16b859134a2381adeedf4ce9e715a857c8850f6c",
      "tree": "214b40ba6fd869b17f913f8ed0ada22ca9843c25",
      "parents": [
        "2e5bb073865017fabdfa2329fbb74ffdc5637073"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Nov 19 13:04:55 2018 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Nov 19 13:48:21 2018 +0400"
      },
      "message": "Handle both types for MaxOverSubscriptionRatio\n\nfloat \u003c\u003d Pike; string \u003e Pike.\n\nRelated-PROD: PROD-25085 (PROD:25085)\n\nChange-Id: I137ef82442d6277f4341ee71c4b793a912ef5f2d\n"
    },
    {
      "commit": "2e5bb073865017fabdfa2329fbb74ffdc5637073",
      "tree": "4a75292758b0c29b7efa77221d3c4ad5237d0936",
      "parents": [
        "d74641fed501fb0ff3557345a2424547ebe5c7cf"
      ],
      "author": {
        "name": "Erik",
        "email": "lynheell@gmail.com",
        "time": "Sat Jun 16 13:52:35 2018 +0800"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Wed Nov 14 16:26:43 2018 +0400"
      },
      "message": "Fix the issue of unmarshal string into Go struct field StoragePool.capabilities\n\nThe MaxOverSubscriptionRatio type should be string because max_over_subscription_ratio returned by cinder is a string, not float.\n\nChange-Id: I9c2100df11aa686a52e7bdabbcf3154638bc6b2c\n"
    },
    {
      "commit": "d74641fed501fb0ff3557345a2424547ebe5c7cf",
      "tree": "7c682ebd2b66893f51beed3df903a1e192a3a813",
      "parents": [
        "de9341232195de051ec8820f44e566c87023760a"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Tue Jul 25 02:58:19 2017 +0000"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Thu Nov 08 17:01:51 2018 +0400"
      },
      "message": "OpenStack Client: Handle New Identity Endpoints\n\nThis commit modifies the openstack client to handle new identity\nendpoints in the following ways:\n\n1. Identity endpoints published with a valid URL path\n(http://example.com/identity) are now parsed correctly.\n\nIf the endpoint has a version suffix (http://example.com/identity/v3),\nthe client will use /identity as the base and /identity/v3 as the\nendpoint.\n\nIf the endpoint does not have a version suffix, both the base and the\nendpoint will be set to /identity and further version discovery will\nbe done.\n\n2. Version discovery can now handle version IDs other than v2.0 and v3.\nIf the Identity Service is publishing an ID of v3.8, Gophercloud will\nrecognize it as a valid result.\n\nRelated-PROD: PROD-24705 (PROD:24705)\n\nChange-Id: I994e159d2bfd4f594eb16308a5a5ca76339206e5\n"
    },
    {
      "commit": "de9341232195de051ec8820f44e566c87023760a",
      "tree": "4ad6b2c7db76a74d11d12c71c8e7584689125d62",
      "parents": [
        "5e65016aca23526098ac2449265eab332b89b3e3"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Fri Nov 02 17:34:39 2018 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Fri Nov 02 17:36:08 2018 +0400"
      },
      "message": "Avoid empty cpu_info field\n\nChange-Id: I7edc1e98ec219df143747dcb369dedb0fcbea279\nRelated-PROD: PROD-24578 (PROD:24578)\n"
    },
    {
      "commit": "5e65016aca23526098ac2449265eab332b89b3e3",
      "tree": "50a7daeddbfad7b3f6bc276724661110477f5bc9",
      "parents": [
        "8edb1e8bc8852e9ec77e014cbb2afeff5b4fe13f"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Fri Apr 13 16:16:57 2018 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Fri Apr 13 16:16:57 2018 +0400"
      },
      "message": "Add parameter to volume list request\n\nChange-Id: I9700f2d53ce3c873759946b51f69ca4e056595c1\n"
    },
    {
      "commit": "8edb1e8bc8852e9ec77e014cbb2afeff5b4fe13f",
      "tree": "29048e2cc3fd3bad3dd53be7098b8563b1d78c37",
      "parents": [
        "6c31b9752c755709bd372043eba64a8a67eaaf35"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Tue Mar 27 17:32:09 2018 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Tue Mar 27 17:32:09 2018 +0400"
      },
      "message": "Added Cinder Storage Pools API\n\nChange-Id: I9b57058c313ae961fa90bc02f69dfd4be6afef03\n"
    },
    {
      "commit": "6c31b9752c755709bd372043eba64a8a67eaaf35",
      "tree": "ae8fc1376840dfaafb7314e193bf44d032c43783",
      "parents": [
        "8c2ede0c54fb86b8e4cadccd2b763e7fa950e5f7"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Mar 12 17:01:52 2018 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Mon Mar 12 17:01:52 2018 +0400"
      },
      "message": "Add server list support\n\nChange-Id: Idc1cd9cf78e5472e54e51c1a42cfe672056d572e\n"
    },
    {
      "commit": "8c2ede0c54fb86b8e4cadccd2b763e7fa950e5f7",
      "tree": "c9f8da812a308dd91d20da7fc9ff777886b24d61",
      "parents": [
        "e4c5dcc6545f69166a069de240799c3a22429ad6"
      ],
      "author": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Tue Feb 27 17:26:52 2018 +0400"
      },
      "committer": {
        "name": "Ildar Svetlov",
        "email": "isvetlov@mirantis.com",
        "time": "Tue Feb 27 17:27:24 2018 +0400"
      },
      "message": "Change listener type from string to listener\n\nChange-Id: Ibef19a99df51cee9f6416ffb236171a2ccd290cf\n"
    },
    {
      "commit": "e4c5dcc6545f69166a069de240799c3a22429ad6",
      "tree": "f032f0d3b711ff0d43ef596b8d5698852d4d7ad7",
      "parents": [
        "b696646ed0cdae80af8a01701eeb214d25044412"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Thu Sep 14 14:04:46 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon Sep 18 11:31:58 2017 +0200"
      },
      "message": "Fix for image servcie v2 client\n\nChange-Id: Ic316efe884ed7640c460d3e71024f06729a3880e\n"
    },
    {
      "commit": "b696646ed0cdae80af8a01701eeb214d25044412",
      "tree": "90298b5a1d3e878094395e604cede01f3c6e7c09",
      "parents": [
        "1b61cbaffc1b047b4d45226bdedacab9724530ac"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Thu Sep 14 14:04:46 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Thu Sep 14 14:04:46 2017 +0200"
      },
      "message": "Fix for image servcie v2 client\n\nChange-Id: I5bcd606559bec6c4ccafa9f7e043ed7cbea03665\n"
    },
    {
      "commit": "1b61cbaffc1b047b4d45226bdedacab9724530ac",
      "tree": "3653c129bca2a725b5a9e81a07a23aa8795c9513",
      "parents": [
        "e6dbb17f1ece65e7557036dcff5299e46411cfd3"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Thu Sep 14 13:18:49 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Thu Sep 14 13:18:49 2017 +0200"
      },
      "message": "Changes Listners type to string in loadbalancers response\n\nChange-Id: Ie1221a831b5ac96a1f2f06c88968a72414b3bc48\n"
    },
    {
      "commit": "e6dbb17f1ece65e7557036dcff5299e46411cfd3",
      "tree": "de2669f85371a1de1a540e465c4c7e9dbb81badd",
      "parents": [
        "e28b2e2a4cd9ec116f481aff51726f6f64e85f55"
      ],
      "author": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon Sep 11 10:24:31 2017 +0200"
      },
      "committer": {
        "name": "Krzysztof Szukiełojć",
        "email": "kszukielojc@mirantis.com",
        "time": "Mon Sep 11 10:24:31 2017 +0200"
      },
      "message": "Fix for url in Image Service\n\nChange-Id: I75fa73f3eda76c7dfe27fecdfde5c2ab84a743c5\n"
    },
    {
      "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": "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": "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": "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": "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": "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"
    }
  ],
  "next": "d887d2abcafe27018cbeca5c2d3e160e52b15012"
}
