)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b3fff11fe464fc3611bc65e58cdc10fe0fd3c7a8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"As we discussed on"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2015-July/068864.html"},{"line_number":11,"context_line":"All http POST/PUT methods need to contain **kwargs as their arguments."},{"line_number":12,"context_line":"This patch makes aggregates_client use **kwargs."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially implements blueprint consistent-service-method-names"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"9a8ffd7b_7031a059","line":12,"updated":"2015-12-03 02:16:41.000000000","message":"aggregates_client -\u003e volume_types_client","commit_id":"e8a0fce8cfedb50b270a4211df84b084c9d0c014"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"4fc933c8734d4478f72513520d67f7596d9f49f9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"As we discussed on"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2015-July/068864.html"},{"line_number":11,"context_line":"All http POST/PUT methods need to contain **kwargs as their arguments."},{"line_number":12,"context_line":"This patch makes aggregates_client use **kwargs."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially implements blueprint consistent-service-method-names"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"9a8ffd7b_aa83fa01","line":12,"in_reply_to":"9a8ffd7b_7031a059","updated":"2015-12-03 13:07:51.000000000","message":"Nice catch! The commit message should be corrected.","commit_id":"e8a0fce8cfedb50b270a4211df84b084c9d0c014"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"572f1a18e611bc368c6f1992c07e2f0912e4e864","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lei zhang \u003cshleiz@cn.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-11-30 00:07:44 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make volume_types_client use **kwargs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As we discussed on"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2015-July/068864.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"7a740942_2aaf017e","line":7,"updated":"2015-12-08 16:22:21.000000000","message":"volume_types_client -\u003e types_client","commit_id":"ef9c470123d30601b7b9889f5162a9140cb89f63"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"572f1a18e611bc368c6f1992c07e2f0912e4e864","unresolved":false,"context_lines":[{"line_number":9,"context_line":"As we discussed on"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2015-July/068864.html"},{"line_number":11,"context_line":"All http POST/PUT methods need to contain **kwargs as their arguments."},{"line_number":12,"context_line":"This patch makes volume_types_client  use **kwargs."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially implements blueprint consistent-service-method-names"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"7a740942_0a948540","line":12,"updated":"2015-12-08 16:22:21.000000000","message":"volume_types_client -\u003e types_client","commit_id":"ef9c470123d30601b7b9889f5162a9140cb89f63"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1ff2bb992863d3b0bfe91566254efaf2d9d4efe9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lei zhang \u003cshleiz@cn.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-01 18:57:53 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make types_client use **kwargs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As we discussed on"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2015-July/068864.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"7a740942_df98eb1d","line":7,"updated":"2015-12-10 22:21:47.000000000","message":"Sorry for my bad review in patch set 24. I think \"volume\" word should be added :)\n\n    Make volume types_client use **kwargs","commit_id":"c52958df384d2754f28016915e62d8bc99901039"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1ff2bb992863d3b0bfe91566254efaf2d9d4efe9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"As we discussed on"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2015-July/068864.html"},{"line_number":11,"context_line":"All http POST/PUT methods need to contain **kwargs as their arguments."},{"line_number":12,"context_line":"This patch makes types_client use **kwargs."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially implements blueprint consistent-service-method-names"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"7a740942_5f85dbaa","line":12,"updated":"2015-12-10 22:21:47.000000000","message":"ditto","commit_id":"c52958df384d2754f28016915e62d8bc99901039"}],"tempest/api/volume/admin/test_volume_types.py":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1ff2bb992863d3b0bfe91566254efaf2d9d4efe9","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        provider \u003d \"LuksEncryptor\""},{"line_number":126,"context_line":"        control_location \u003d \"front-end\""},{"line_number":127,"context_line":"        name \u003d data_utils.rand_name(\"volume-type\")"},{"line_number":128,"context_line":"        body \u003d (self.volume_types_client.create_volume_type("},{"line_number":129,"context_line":"            name\u003dname)[\u0027volume_type\u0027])"},{"line_number":130,"context_line":"        self.addCleanup(self._delete_volume_type, body[\u0027id\u0027])"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"7a740942_df346bfc","line":128,"updated":"2015-12-10 22:21:47.000000000","message":"Parentheses are not redundant here.","commit_id":"c52958df384d2754f28016915e62d8bc99901039"}],"tempest/api/volume/admin/test_volume_types_extra_specs.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"54c327e5f2b81efc9ff1e721325f701445694be1","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # List Volume types extra specs."},{"line_number":38,"context_line":"        extra_specs \u003d {\"spec1\": \"val1\"}"},{"line_number":39,"context_line":"        body \u003d self.volume_types_client.create_volume_type_extra_specs("},{"line_number":40,"context_line":"            self.volume_type[\u0027id\u0027], spec1\u003d\"val1\")[\u0027extra_specs\u0027]"},{"line_number":41,"context_line":"        self.assertEqual(extra_specs, body,"},{"line_number":42,"context_line":"                         \"Volume type extra spec incorrectly created\")"},{"line_number":43,"context_line":"        body \u003d self.volume_types_client.list_volume_types_extra_specs("}],"source_content_type":"text/x-python","patch_set":9,"id":"9a8ffd7b_5d8f76cc","line":40,"updated":"2015-11-30 16:48:12.000000000","message":"Use **extra_specs\n\nOtherwise we have to duplicate the key/value pair which is not nice.","commit_id":"8512a805ff56993bc372c8962d5d6cbb530de785"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"54c327e5f2b81efc9ff1e721325f701445694be1","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        extra_specs \u003d {\"spec2\": \"val1\"}"},{"line_number":52,"context_line":"        body \u003d self.volume_types_client.create_volume_type_extra_specs("},{"line_number":53,"context_line":"            self.volume_type[\u0027id\u0027], spec2\u003d\"val1\")[\u0027extra_specs\u0027]"},{"line_number":54,"context_line":"        self.assertEqual(extra_specs, body,"},{"line_number":55,"context_line":"                         \"Volume type extra spec incorrectly created\")"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        extra_spec \u003d {\"spec2\": \"val2\"}"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a8ffd7b_7dafda2b","line":54,"updated":"2015-11-30 16:48:12.000000000","message":"Use **extra_specs","commit_id":"8512a805ff56993bc372c8962d5d6cbb530de785"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"54c327e5f2b81efc9ff1e721325f701445694be1","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        body \u003d self.volume_types_client.update_volume_type_extra_specs("},{"line_number":59,"context_line":"            self.volume_type[\u0027id\u0027],"},{"line_number":60,"context_line":"            extra_spec.keys()[0],"},{"line_number":61,"context_line":"            spec2\u003d\"val2\")"},{"line_number":62,"context_line":"        self.assertIn(\u0027spec2\u0027, body)"},{"line_number":63,"context_line":"        self.assertEqual(extra_spec[\u0027spec2\u0027], body[\u0027spec2\u0027],"},{"line_number":64,"context_line":"                         \"Volume type extra spec incorrectly updated\")"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a8ffd7b_5da69654","line":61,"updated":"2015-11-30 16:48:12.000000000","message":"Use **extra_specs","commit_id":"8512a805ff56993bc372c8962d5d6cbb530de785"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"54c327e5f2b81efc9ff1e721325f701445694be1","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        extra_specs \u003d {\"spec3\": \"val1\"}"},{"line_number":70,"context_line":"        body \u003d self.volume_types_client.create_volume_type_extra_specs("},{"line_number":71,"context_line":"            self.volume_type[\u0027id\u0027],"},{"line_number":72,"context_line":"            spec3\u003d\"val1\")[\u0027extra_specs\u0027]"},{"line_number":73,"context_line":"        self.assertEqual(extra_specs, body,"},{"line_number":74,"context_line":"                         \"Volume type extra spec incorrectly created\")"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a8ffd7b_9d739ee7","line":72,"updated":"2015-11-30 16:48:12.000000000","message":"Same","commit_id":"8512a805ff56993bc372c8962d5d6cbb530de785"}],"tempest/api/volume/admin/test_volume_types_extra_specs_negative.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ec07b5f07c5427d34f6f73d25a41940d72f02e68","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        self.assertRaises("},{"line_number":102,"context_line":"            lib_exc.BadRequest,"},{"line_number":103,"context_line":"            self.volume_types_client.create_volume_type_extra_specs,"},{"line_number":104,"context_line":"            self.volume_type[\u0027id\u0027], [\u0027invalid\u0027])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @test.idempotent_id(\u0027031cda8b-7d23-4246-8bf6-bbe73fd67074\u0027)"},{"line_number":107,"context_line":"    def test_delete_nonexistent_volume_type_id(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a8ffd7b_933f2186","side":"PARENT","line":104,"updated":"2015-11-30 12:52:58.000000000","message":"Why did you remove the above 2 tests?","commit_id":"aa4d873d72b5510cdc7e80cee4f3076dc4a673cf"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"54c327e5f2b81efc9ff1e721325f701445694be1","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            str(uuid.uuid4()), extra_specs)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @test.idempotent_id(\u0027c821bdc8-43a4-4bf4-86c8-82f3858d5f7d\u0027)"},{"line_number":91,"context_line":"    def test_create_none_body(self):"},{"line_number":92,"context_line":"        # Should not create volume type extra spec for none POST body."},{"line_number":93,"context_line":"        self.assertRaises("},{"line_number":94,"context_line":"            lib_exc.BadRequest,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a8ffd7b_3d05d213","side":"PARENT","line":91,"updated":"2015-11-30 16:48:12.000000000","message":"Why is this test removed ?","commit_id":"aa4d873d72b5510cdc7e80cee4f3076dc4a673cf"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"54c327e5f2b81efc9ff1e721325f701445694be1","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            lib_exc.BadRequest,"},{"line_number":74,"context_line":"            self.volume_types_client.update_volume_type_extra_specs,"},{"line_number":75,"context_line":"            self.volume_type[\u0027id\u0027], extra_spec.keys()[0],"},{"line_number":76,"context_line":"            spec1\u003d\"val2\", spec2\u003d\"val1\")"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @test.idempotent_id(\u002749d5472c-a53d-4eab-a4d3-450c4db1c545\u0027)"},{"line_number":79,"context_line":"    def test_create_nonexistent_type_id(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a8ffd7b_5d2bf694","line":76,"updated":"2015-11-30 16:48:12.000000000","message":"Use **extra_spec.","commit_id":"8512a805ff56993bc372c8962d5d6cbb530de785"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"fb8057280b50fda6095abdd325a6d02203b0c4ff","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    @test.idempotent_id(\u002725e5a0ee-89b3-4c53-8310-236f76c75365\u0027)"},{"line_number":51,"context_line":"    def test_update_nonexistent_extra_spec_id(self):"},{"line_number":52,"context_line":"        # Should not update volume type extra specs with nonexistent id."},{"line_number":53,"context_line":"        extra_spec \u003d {\"spec1\":\"val2\"}"},{"line_number":54,"context_line":"        self.assertRaises("},{"line_number":55,"context_line":"            lib_exc.BadRequest,"},{"line_number":56,"context_line":"            self.volume_types_client.update_volume_type_extra_specs,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a8ffd7b_2441da0b","line":53,"updated":"2015-12-02 07:52:17.000000000","message":"need a space between \"spec1\":\"val2\"","commit_id":"27a239e3110865254afa1a2ba0d5ba2ee457b3e0"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"f19a3a7ab1bad258f609bee1e3d0a713b1aac699","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    def test_update_multiple_extra_spec(self):"},{"line_number":71,"context_line":"        # Should not update volume type extra specs with multiple specs as"},{"line_number":72,"context_line":"            # body."},{"line_number":73,"context_line":"        extra_spec \u003d {\"spec1\": \"val2\", \"spec2\": \"val1\"}"},{"line_number":74,"context_line":"        self.assertRaises("},{"line_number":75,"context_line":"            lib_exc.BadRequest,"},{"line_number":76,"context_line":"            self.volume_types_client.update_volume_type_extra_specs,"}],"source_content_type":"text/x-python","patch_set":18,"id":"7a740942_08dbd47d","line":73,"updated":"2015-12-04 09:18:11.000000000","message":"NIT: seems unrelated...","commit_id":"68256bfb4871ae3db9c2ba50df5e55d65525501c"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a69fa475009b5b08cf47013cab5df8e09851ef4e","unresolved":false,"context_lines":[{"line_number":95,"context_line":"            self.volume_types_client.create_volume_type_extra_specs,"},{"line_number":96,"context_line":"            self.volume_type[\u0027id\u0027], None)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    @test.idempotent_id(\u0027bc772c71-1ed4-4716-b9458b5ed0f15e87\u0027)"},{"line_number":99,"context_line":"    def test_create_invalid_body(self):"},{"line_number":100,"context_line":"        # Should not create volume type extra spec for invalid POST body."},{"line_number":101,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":22,"id":"7a740942_920c6e3c","line":98,"updated":"2015-12-07 16:38:34.000000000","message":"Idempotent ID of this test was changed. Please, fix it.","commit_id":"785325c87ee61858f0b2dc384a34f73283a55ce7"}],"tempest/services/volume/base/admin/base_types_client.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d8ba2dd19dce4e5608cd07230ed18068a57e7421","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    def list_volume_types(self, **params):"},{"line_number":51,"context_line":"        \"\"\"List all the volume_types created.\"\"\""},{"line_number":52,"context_line":"        url \u003d \u0027types\u0027"},{"line_number":53,"context_line":"        if params is not None:"},{"line_number":54,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a740942_0362d2d8","line":53,"updated":"2015-12-10 05:31:26.000000000","message":"it should be if params:\n\notherwise url endup with \"types/?\" . It is working as auth alter ? from url","commit_id":"a942ac314baf866be70e5b86f304e480a5f02551"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d8ba2dd19dce4e5608cd07230ed18068a57e7421","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    def list_volume_types_extra_specs(self, vol_type_id, **params):"},{"line_number":88,"context_line":"        \"\"\"List all the volume_types extra specs created.\"\"\""},{"line_number":89,"context_line":"        url \u003d \u0027types/%s/extra_specs\u0027 % str(vol_type_id)"},{"line_number":90,"context_line":"        if params is not None:"},{"line_number":91,"context_line":"            url +\u003d \u0027?%s\u0027 % urllib.urlencode(params)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a740942_a3809e47","line":90,"updated":"2015-12-10 05:31:26.000000000","message":"it should be if params:\n\notherwise url endup with \"types/%s/extra_specs/?\" .","commit_id":"a942ac314baf866be70e5b86f304e480a5f02551"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d8ba2dd19dce4e5608cd07230ed18068a57e7421","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def create_encryption_type(self, vol_type_id, **kwargs):"},{"line_number":156,"context_line":"        \"\"\"Create encryption type."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        TODO: Current api-site doesn\u0027t contain this API description."},{"line_number":159,"context_line":"        After fixing the api-site, we need to fix here also for putting"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a740942_434bfa2b","line":156,"updated":"2015-12-10 05:31:26.000000000","message":"I think old description is much clear","commit_id":"a942ac314baf866be70e5b86f304e480a5f02551"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1ff2bb992863d3b0bfe91566254efaf2d9d4efe9","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \"\"\"Returns the primary type of resource this client works with.\"\"\""},{"line_number":48,"context_line":"        return \u0027volume-type/encryption-type\u0027"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def list_volume_types(self, **params):"},{"line_number":51,"context_line":"        \"\"\"List all the volume_types created.\"\"\""},{"line_number":52,"context_line":"        url \u003d \u0027types\u0027"},{"line_number":53,"context_line":"        if params:"}],"source_content_type":"text/x-python","patch_set":26,"id":"7a740942_d11d3f67","line":50,"updated":"2015-12-10 22:21:47.000000000","message":"Could you please add the link to API docs here?","commit_id":"c52958df384d2754f28016915e62d8bc99901039"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"1ff2bb992863d3b0bfe91566254efaf2d9d4efe9","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.expected_success(202, resp.status)"},{"line_number":85,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def list_volume_types_extra_specs(self, vol_type_id, **params):"},{"line_number":88,"context_line":"        \"\"\"List all the volume_types extra specs created.\"\"\""},{"line_number":89,"context_line":"        url \u003d \u0027types/%s/extra_specs\u0027 % str(vol_type_id)"},{"line_number":90,"context_line":"        if params:"}],"source_content_type":"text/x-python","patch_set":26,"id":"7a740942_f1187b77","line":87,"updated":"2015-12-10 22:21:47.000000000","message":"ditto","commit_id":"c52958df384d2754f28016915e62d8bc99901039"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"471a8c02ae87119b25205dcc7fbb15375ec650b7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \"\"\"List all the volume_types created."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":54,"context_line":"                              api-ref-blockstorage-v2.html#listVolumeTypes"},{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        url \u003d \u0027types\u0027"},{"line_number":57,"context_line":"        if params:"}],"source_content_type":"text/x-python","patch_set":27,"id":"7a740942_8b3c05e2","line":54,"updated":"2015-12-14 05:01:57.000000000","message":"this is not valid link -  -it is http://developer.openstack.org/api-ref-blockstorage-v2.html#getVolumeTypes\n\nBut link name \u0027listVolumeTypes\u0027 looks much better. If you would like you can update the same in API-site also.\n\nBut if later then as of now #getVolumeTypes is valid link","commit_id":"f33ca1b500bd96f8d1d8b7c0e6dd3b55904f3ba1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"471a8c02ae87119b25205dcc7fbb15375ec650b7","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        \"\"\"List all the volume_types extra specs created."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":95,"context_line":"                              api-ref-blockstorage-v2.html#listVolumeTypes"},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":"        url \u003d \u0027types/%s/extra_specs\u0027 % str(vol_type_id)"},{"line_number":98,"context_line":"        if params:"}],"source_content_type":"text/x-python","patch_set":27,"id":"7a740942_dd041416","line":95,"updated":"2015-12-14 05:01:57.000000000","message":"link is not right. I think API doc does have documentation for volume type extra spec.\n\nYou can leave that till it is fixed in API doc and keep a TODO here","commit_id":"f33ca1b500bd96f8d1d8b7c0e6dd3b55904f3ba1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"69c94fd1b1e3019197635aa302223e9f685debaf","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \"\"\"List all the volume_types created."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":54,"context_line":"                              api-ref-blockstorage-v2.html#getVolumeTypes"},{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        url \u003d \u0027types\u0027"},{"line_number":57,"context_line":"        if params:"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a710552_b1e79c3f","line":54,"updated":"2015-12-15 07:13:41.000000000","message":"This link is wrong because this method is shared between v2 and v3.\nSo we cannot put v2 api-doc link for this base part.","commit_id":"1c7855efbc0862c830ef90922487177805cd1de7"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"3197f740aec76b2e632667ae65ea7602f7cd1685","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        After fixing the api-site, we need to fix here also for putting"},{"line_number":92,"context_line":"        the link to api-site."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        \"\"\""},{"line_number":96,"context_line":"        url \u003d \u0027types/%s/extra_specs\u0027 % str(vol_type_id)"},{"line_number":97,"context_line":"        if params:"}],"source_content_type":"text/x-python","patch_set":29,"id":"3a7e1126_a3d6b74c","line":94,"updated":"2015-12-21 17:39:40.000000000","message":"Please, remove L93-L94.","commit_id":"83c4bbd5472c559cb025251557293bad98e611f6"}],"tempest/services/volume/base/admin/base_volume_types_client.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"f19a3a7ab1bad258f609bee1e3d0a713b1aac699","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def create_volume_type(self, **kwargs):"},{"line_number":70,"context_line":"        \"\"\"Create volume type."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":73,"context_line":"                              api-ref-blockstorage-v2.html"},{"line_number":74,"context_line":"        \"\"\""},{"line_number":75,"context_line":"        post_body \u003d json.dumps({\u0027volume_type\u0027: kwargs})"},{"line_number":76,"context_line":"        resp, body \u003d self.post(\u0027types\u0027, post_body)"}],"source_content_type":"text/x-python","patch_set":18,"id":"7a740942_08cf5457","line":73,"range":{"start_line":72,"start_character":31,"end_line":73,"end_character":58},"updated":"2015-12-04 09:18:11.000000000","message":"The link here should be http://developer.openstack.org/api-ref-blockstorage-v2.html#createVolumeType","commit_id":"68256bfb4871ae3db9c2ba50df5e55d65525501c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"f19a3a7ab1bad258f609bee1e3d0a713b1aac699","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":96,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def show_volume_type_extra_specs(self, vol_type_id, extra_spec_name):"},{"line_number":99,"context_line":"        \"\"\"Returns the details of a single volume_type extra spec.\"\"\""},{"line_number":100,"context_line":"        url \u003d \"types/%s/extra_specs/%s\" % (str(vol_type_id),"},{"line_number":101,"context_line":"                                           str(extra_spec_name))"}],"source_content_type":"text/x-python","patch_set":18,"id":"7a740942_2841f00b","line":98,"updated":"2015-12-04 09:18:11.000000000","message":"This should be extra_specs_name?","commit_id":"68256bfb4871ae3db9c2ba50df5e55d65525501c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"f19a3a7ab1bad258f609bee1e3d0a713b1aac699","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":105,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def create_volume_type_extra_specs(self, vol_type_id, extra_specs):"},{"line_number":108,"context_line":"        \"\"\"Creates a new Volume_type extra spec."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        vol_type_id: Id of volume_type."}],"source_content_type":"text/x-python","patch_set":18,"id":"7a740942_2899f06e","line":107,"updated":"2015-12-04 09:18:11.000000000","message":"Not sure this change belongs to this patch - but I\u0027m fine if you want to include it.","commit_id":"68256bfb4871ae3db9c2ba50df5e55d65525501c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"f19a3a7ab1bad258f609bee1e3d0a713b1aac699","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def update_volume_type_extra_specs(self, vol_type_id, extra_spec_name,"},{"line_number":128,"context_line":"                                       extra_spec):"},{"line_number":129,"context_line":"        \"\"\"Update a volume_type extra spec."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        vol_type_id: Id of volume_type."}],"source_content_type":"text/x-python","patch_set":18,"id":"7a740942_c8c5cc5b","line":128,"updated":"2015-12-04 09:18:11.000000000","message":"This should be extra_specs?\n\nBTW, according to the docs (http://developer.openstack.org/api-ref-blockstorage-v2.html#updateVolumeTypeExtraSpecs) this method is wrong, the API does not expose any extra_specs path, so extra_spec_name shouldn\u0027t be there. Which makes sense because this cannot update a single spec and a dict of specs at the same time?","commit_id":"68256bfb4871ae3db9c2ba50df5e55d65525501c"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"f19a3a7ab1bad258f609bee1e3d0a713b1aac699","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    def create_encryption_type(self, vol_type_id, **kwargs):"},{"line_number":156,"context_line":"        \"\"\"Create a new encryption type for the specified volume type."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        vol_type_id: Id of volume_type."},{"line_number":159,"context_line":"        provider: Class providing encryption support."},{"line_number":160,"context_line":"        cipher: Encryption algorithm/mode to use."},{"line_number":161,"context_line":"        key_size: Size of the encryption key, in bits."}],"source_content_type":"text/x-python","patch_set":18,"id":"7a740942_4846bc24","line":158,"updated":"2015-12-04 09:18:11.000000000","message":"Docstring is invalid. We need to replace the list of parameters with the link to documentation.","commit_id":"68256bfb4871ae3db9c2ba50df5e55d65525501c"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"795349ccd5b2e9d660b9da456e73cd5a21d5d4d0","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":96,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def show_volume_type_extra_specs(self, vol_type_id, extra_specs__name):"},{"line_number":99,"context_line":"        \"\"\"Returns the details of a single volume_type extra spec.\"\"\""},{"line_number":100,"context_line":"        url \u003d \"types/%s/extra_specs/%s\" % (str(vol_type_id),"},{"line_number":101,"context_line":"                                           str(extra_specs__name))"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_787a27f3","line":98,"updated":"2015-12-07 05:22:49.000000000","message":"double \"_\" is not necessary.","commit_id":"d66fa3bb47aec7ef03a9977f175f614cb1884c7d"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"795349ccd5b2e9d660b9da456e73cd5a21d5d4d0","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        \"\"\"Create encryption type."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":159,"context_line":"                              api-ref-blockstorage-v2.html#createEncryptionType"},{"line_number":160,"context_line":"        \"\"\""},{"line_number":161,"context_line":"        url \u003d \"/types/%s/encryption\" % str(vol_type_id)"},{"line_number":162,"context_line":"        post_body \u003d json.dumps({\u0027encryption\u0027: kwargs})"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_b8e64fb2","line":159,"updated":"2015-12-07 05:22:49.000000000","message":"Current api-site doesn\u0027t contain this API description, right?\nIf so, please put here like\n\n TODO: Current api-site doesn\u0027t contain this API description.\n       After fixing the api-site, we need to fix here also for putting\n       the link to api-site.","commit_id":"d66fa3bb47aec7ef03a9977f175f614cb1884c7d"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"1a6a90572c099c374d16af4e10c957c25f1a1197","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \"\"\"Create volume type."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":73,"context_line":"                              api-ref-blockstorage-v2.html#createVolumeType"},{"line_number":74,"context_line":"        \"\"\""},{"line_number":75,"context_line":"        post_body \u003d json.dumps({\u0027volume_type\u0027: kwargs})"},{"line_number":76,"context_line":"        resp, body \u003d self.post(\u0027types\u0027, post_body)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a740942_615b4e2f","line":73,"updated":"2015-12-07 07:09:43.000000000","message":"Hi , \nfrom the cli mode , i see that name is a madatory value and the rest are optional.\nwhat is  the purpose of removing  name here ?\n\nWhy do not you  move from here : (services/volume/json/admin/...)\n def create_volume_type(self, name, **kwargs):\n\n\nCould you please explain ? \n\nBenny","commit_id":"785325c87ee61858f0b2dc384a34f73283a55ce7"},{"author":{"_account_id":19226,"name":"Jacky_lei_zhang","email":"shleiz@cn.ibm.com","username":"lzhang"},"change_message_id":"f8e3e132a7b1a43c948fc4048d92c044cbc601b0","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \"\"\"Create volume type."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":73,"context_line":"                              api-ref-blockstorage-v2.html#createVolumeType"},{"line_number":74,"context_line":"        \"\"\""},{"line_number":75,"context_line":"        post_body \u003d json.dumps({\u0027volume_type\u0027: kwargs})"},{"line_number":76,"context_line":"        resp, body \u003d self.post(\u0027types\u0027, post_body)"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a740942_f2cb8e51","line":73,"in_reply_to":"7a740942_615b4e2f","updated":"2015-12-07 08:44:31.000000000","message":"Hi Benny,\n\nI think in this function，\"name\"is included in post_body dictionary ,and we should remove it from parameter list because of we using **Kwargs. and if a parameter using for create a URL，we should keep it.Just like:\n\ndef create_volume_type_extra_specs(self, vol_type_id,extra_specs)\n\nThanks","commit_id":"785325c87ee61858f0b2dc384a34f73283a55ce7"}],"tempest/services/volume/json/admin/volume_types_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ec07b5f07c5427d34f6f73d25a41940d72f02e68","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def create_volume_type(self, **kwargs):"},{"line_number":70,"context_line":"        \"\"\"create_volume_type"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        Available params: see http://developer.openstack.org/"},{"line_number":73,"context_line":"                              api-ref-blockstorage-v2.html"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a8ffd7b_13b81129","line":70,"updated":"2015-11-30 12:52:58.000000000","message":"s/create_volume_type/Create volume type./","commit_id":"f5c567c448bda55da0c1a0724c2f08baffd3f7aa"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ba72d34bb54b248fde45bcc6395eb2ee865dbcd3","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":105,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def create_volume_type_extra_specs(self, vol_type_id, **kwargs):"},{"line_number":108,"context_line":"        \"\"\"Creates a new Volume_type extra spec."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        vol_type_id: Id of volume_type."}],"source_content_type":"text/x-python","patch_set":14,"id":"9a8ffd7b_952f963d","line":107,"updated":"2015-12-02 05:06:47.000000000","message":"I am fine to keep original code here for passing the existing tests because this extra_spec is metadata and different from the other APIs which are needed to be changed like this.\n\nI was surprised cinder doesn\u0027t return HTTP400 response when sending empty dict from clients. but that is current API behavior and we need to keep the existing tests.","commit_id":"0112b13258dd57077b9511daac8bd5de429f6fda"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ba72d34bb54b248fde45bcc6395eb2ee865dbcd3","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def update_volume_type_extra_specs(self, vol_type_id, extra_spec_name,"},{"line_number":128,"context_line":"                                       **extra_spec):"},{"line_number":129,"context_line":"        \"\"\"Update a volume_type extra spec."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        vol_type_id: Id of volume_type."}],"source_content_type":"text/x-python","patch_set":14,"id":"9a8ffd7b_55292e36","line":128,"updated":"2015-12-02 05:06:47.000000000","message":"Here also is not necessary to be changed as the above.","commit_id":"0112b13258dd57077b9511daac8bd5de429f6fda"}]}
