)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8215221cdd49566f6dbe8013b5a098da46d3b006","unresolved":false,"context_lines":[{"line_number":10,"context_line":"   so we should check limits fields according to microversion."},{"line_number":11,"context_line":"2. In test_max_metadata_exceed_limit, maxImageMeta is deprecated from"},{"line_number":12,"context_line":"   Microversion 2.38, so maxServerMeta is used instead, btw, maxServerMeta"},{"line_number":13,"context_line":"   seems to be more suitable for this testcase."},{"line_number":14,"context_line":"   Besides, test_max_metadata_exceed_limit is not used in interop, so we"},{"line_number":15,"context_line":"   can safely change its name."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bf659307_10d1f8cd","line":13,"updated":"2018-04-10 02:03:21.000000000","message":"Why?","commit_id":"d6cb4f684f1d321fbb04df2f121838870999649e"}],"doc/source/microversion_testing.rst":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"15a245fb056da8f76a1cebdf3057f7ffc7623fb9","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"  * `2.36`_"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"  .. _2.36: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#microversion"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"  * `2.37`_"},{"line_number":346,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5f7c97a3_46e697b1","line":343,"range":{"start_line":343,"start_character":91,"end_line":343,"end_character":103},"updated":"2018-07-30 14:41:05.000000000","message":"This is a strange ID but works. I wonder why it\u0027s like this.","commit_id":"8013413d8c5ee00469197dd0d018c4a6225974ea"}],"releasenotes/notes/add-limits-schema-v236-v239-v257-x7a3d5x1f5ca938d.yaml":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8215221cdd49566f6dbe8013b5a098da46d3b006","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add compute limits schema for API v236, v239, v257."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    v236 removes attributes \u0027maxSecurityGroupRules\u0027, "},{"line_number":7,"context_line":"    \u0027maxSecurityGroups\u0027, \u0027maxTotalFloatingIps\u0027, \u0027totalFloatingIpsUsed\u0027,"},{"line_number":8,"context_line":"    \u0027totalSecurityGroupsUsed\u0027,"},{"line_number":9,"context_line":"    v239 removes attributes maxImageMeta,"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bf659307_70cab41a","line":6,"updated":"2018-04-10 02:03:21.000000000","message":"There\u0027s a trailing space","commit_id":"d6cb4f684f1d321fbb04df2f121838870999649e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"c2c43797d6e2d32c53ce78d0556b5fd221358c16","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add compute limits schema for API v236, v239, v257."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    v236 removes attributes \u0027maxSecurityGroupRules\u0027, "},{"line_number":7,"context_line":"    \u0027maxSecurityGroups\u0027, \u0027maxTotalFloatingIps\u0027, \u0027totalFloatingIpsUsed\u0027,"},{"line_number":8,"context_line":"    \u0027totalSecurityGroupsUsed\u0027,"},{"line_number":9,"context_line":"    v239 removes attributes maxImageMeta,"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bf659307_4b2ee543","line":6,"in_reply_to":"bf659307_70cab41a","updated":"2018-04-10 02:39:40.000000000","message":"o, done","commit_id":"d6cb4f684f1d321fbb04df2f121838870999649e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"bf1b302cd2b522d55f741c9eac83dee6a0a326fe","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    v236 removes attributes \u0027maxSecurityGroupRules\u0027,"},{"line_number":7,"context_line":"    \u0027maxSecurityGroups\u0027, \u0027maxTotalFloatingIps\u0027, \u0027totalFloatingIpsUsed\u0027,"},{"line_number":8,"context_line":"    \u0027totalSecurityGroupsUsed\u0027,"},{"line_number":9,"context_line":"    v239 removes attribute maxImageMeta,"},{"line_number":10,"context_line":"    v257 removes attributes \u0027maxPersonality\u0027, \u0027maxPersonalitySize\u0027."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5f7c97a3_c0c43810","line":9,"range":{"start_line":9,"start_character":27,"end_line":9,"end_character":40},"updated":"2018-07-24 23:27:43.000000000","message":"nit: \u0027maxImageMeta\u0027 but this is a nit and doesn\u0027t require a respin","commit_id":"e505c7d552ae55162f373f206f871be80754ad54"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"71dc40c685de419454f18c2708e01572dc64e8d6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add compute limits schema for API v236, v239, v257."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    v236 removes attributes \u0027maxSecurityGroupRules\u0027,"},{"line_number":7,"context_line":"    \u0027maxSecurityGroups\u0027, \u0027maxTotalFloatingIps\u0027, \u0027totalFloatingIpsUsed\u0027,"},{"line_number":8,"context_line":"    \u0027totalSecurityGroupsUsed\u0027,"},{"line_number":9,"context_line":"    v239 removes attribute maxImageMeta,"},{"line_number":10,"context_line":"    v257 removes attributes \u0027maxPersonality\u0027, \u0027maxPersonalitySize\u0027."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5f7c97a3_e9ac6137","line":10,"range":{"start_line":2,"start_character":0,"end_line":10,"end_character":67},"updated":"2018-07-30 01:56:55.000000000","message":"we do not usually need reno for schema change. One reason is schema are not stable interface and we add/modify them as internal usage. \n\nFor consistency with other schema addition in fast where we did not add any reno, let\u0027s remove this reno.","commit_id":"e505c7d552ae55162f373f206f871be80754ad54"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e8719de819da315361e89c7fbe757f83528b06e9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add compute limits schema for API v236, v239, v257."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    v236 removes attributes \u0027maxSecurityGroupRules\u0027,"},{"line_number":7,"context_line":"    \u0027maxSecurityGroups\u0027, \u0027maxTotalFloatingIps\u0027, \u0027totalFloatingIpsUsed\u0027,"},{"line_number":8,"context_line":"    \u0027totalSecurityGroupsUsed\u0027,"},{"line_number":9,"context_line":"    v239 removes attribute maxImageMeta,"},{"line_number":10,"context_line":"    v257 removes attributes \u0027maxPersonality\u0027, \u0027maxPersonalitySize\u0027."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5f7c97a3_2c7b472b","line":10,"range":{"start_line":2,"start_character":0,"end_line":10,"end_character":67},"in_reply_to":"5f7c97a3_e9ac6137","updated":"2018-07-30 02:29:15.000000000","message":"oh i see. done","commit_id":"e505c7d552ae55162f373f206f871be80754ad54"}],"tempest/api/compute/limits/test_absolute_limits.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4a7e0dfcaf4a5abe185096ee66670c8f279269f4","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                             \u0027maxServerGroups\u0027, \u0027maxServerGroupMembers\u0027,"},{"line_number":38,"context_line":"                             \u0027totalCoresUsed\u0027, \u0027totalInstancesUsed\u0027,"},{"line_number":39,"context_line":"                             \u0027totalRAMUsed\u0027, \u0027totalServerGroupsUsed\u0027]"},{"line_number":40,"context_line":"        request_version \u003d api_version_request.APIVersionRequest("},{"line_number":41,"context_line":"            self.request_microversion)"},{"line_number":42,"context_line":"        v2_35_version \u003d api_version_request.APIVersionRequest(\u00272.35\u0027)"},{"line_number":43,"context_line":"        v2_38_version \u003d api_version_request.APIVersionRequest(\u00272.38\u0027)"},{"line_number":44,"context_line":"        v2_56_version \u003d api_version_request.APIVersionRequest(\u00272.56\u0027)"},{"line_number":45,"context_line":"        if request_version \u003c\u003d v2_35_version:"},{"line_number":46,"context_line":"            expected_elements.extend([\u0027maxSecurityGroupRules\u0027,"},{"line_number":47,"context_line":"                                      \u0027maxSecurityGroups\u0027,"},{"line_number":48,"context_line":"                                      \u0027maxTotalFloatingIps\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_a4e0cb27","line":45,"range":{"start_line":40,"start_character":0,"end_line":45,"end_character":44},"updated":"2018-03-30 08:30:42.000000000","message":"ditto - https://review.openstack.org/#/c/557280/2/tempest/api/compute/admin/test_quotas.py","commit_id":"beaef658d3deebec6f6a451a30f77d55779776d1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8d692c7df44926c4a121256a434da754f919ebab","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        if self.is_requested_microversion_compatible(\u00272.38\u0027):"},{"line_number":46,"context_line":"            expected_elements.extend([\u0027maxImageMeta\u0027])"},{"line_number":47,"context_line":"        if self.is_requested_microversion_compatible(\u00272.56\u0027):"},{"line_number":48,"context_line":"            expected_elements.extend([\u0027maxPersonality\u0027, \u0027maxPersonalitySize\u0027])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # check whether all expected elements exist"},{"line_number":51,"context_line":"        missing_elements \u003d\\"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_65d6bfc6","line":48,"updated":"2018-04-05 17:18:47.000000000","message":"I am not sure why we need to implement this response check on the test side.\nThis should be implement on the service client side at first.\nIn this case, that is tempest/lib/services/compute/limits_client.py\n\neg:\n\ntempest/lib/services/compute/servers_client.py\n 38 class ServersClient(base_compute_client.BaseComputeClient):\n 39     \"\"\"Service client for the resource /servers\"\"\"\n 40\n 41     schema_versions_info \u003d [\n 42         {\u0027min\u0027: None, \u0027max\u0027: \u00272.2\u0027, \u0027schema\u0027: schema},\n 43         {\u0027min\u0027: \u00272.3\u0027, \u0027max\u0027: \u00272.5\u0027, \u0027schema\u0027: schemav23},\n 44         {\u0027min\u0027: \u00272.6\u0027, \u0027max\u0027: \u00272.8\u0027, \u0027schema\u0027: schemav26},\n 45         {\u0027min\u0027: \u00272.9\u0027, \u0027max\u0027: \u00272.15\u0027, \u0027schema\u0027: schemav29},\n 46         {\u0027min\u0027: \u00272.16\u0027, \u0027max\u0027: \u00272.18\u0027, \u0027schema\u0027: schemav216},\n 47         {\u0027min\u0027: \u00272.19\u0027, \u0027max\u0027: \u00272.25\u0027, \u0027schema\u0027: schemav219},\n 48         {\u0027min\u0027: \u00272.26\u0027, \u0027max\u0027: \u00272.46\u0027, \u0027schema\u0027: schemav226},\n 49         {\u0027min\u0027: \u00272.47\u0027, \u0027max\u0027: \u00272.47\u0027, \u0027schema\u0027: schemav247},\n 50         {\u0027min\u0027: \u00272.48\u0027, \u0027max\u0027: None, \u0027schema\u0027: schemav248}]","commit_id":"cf89440e5eb86edf2a78e3f16b0ebe57b08e9bc0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"ae4ee7bc45a005d8ca9eb11e3d5b8588718c33bb","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        if self.is_requested_microversion_compatible(\u00272.38\u0027):"},{"line_number":46,"context_line":"            expected_elements.extend([\u0027maxImageMeta\u0027])"},{"line_number":47,"context_line":"        if self.is_requested_microversion_compatible(\u00272.56\u0027):"},{"line_number":48,"context_line":"            expected_elements.extend([\u0027maxPersonality\u0027, \u0027maxPersonalitySize\u0027])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # check whether all expected elements exist"},{"line_number":51,"context_line":"        missing_elements \u003d\\"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_401ca612","line":48,"in_reply_to":"bf659307_65d6bfc6","updated":"2018-04-08 05:28:58.000000000","message":"Yes we should check it by schema. I have been simply extending the original testcase, but in fact we should replace the check on\ntestcase side by schema check. Done.","commit_id":"cf89440e5eb86edf2a78e3f16b0ebe57b08e9bc0"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f790190147be783be7652ad46d35dee33ec66338","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @decorators.idempotent_id(\u0027b54c66af-6ab6-4cf0-a9e5-a0cb58d75e0b\u0027)"},{"line_number":28,"context_line":"    def test_absLimits_get(self):"},{"line_number":29,"context_line":"        # To check if all limits are present in the response(will be checked"},{"line_number":30,"context_line":"        # by schema)"},{"line_number":31,"context_line":"        self.client.show_limits()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_35d0caf7","line":29,"range":{"start_line":29,"start_character":60,"end_line":29,"end_character":61},"updated":"2018-04-09 03:42:46.000000000","message":"missing space","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"98e43559e8fe1bf1d08aa003a8ee2123d9fde7e0","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @decorators.idempotent_id(\u0027b54c66af-6ab6-4cf0-a9e5-a0cb58d75e0b\u0027)"},{"line_number":28,"context_line":"    def test_absLimits_get(self):"},{"line_number":29,"context_line":"        # To check if all limits are present in the response(will be checked"},{"line_number":30,"context_line":"        # by schema)"},{"line_number":31,"context_line":"        self.client.show_limits()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_aa80f847","line":29,"range":{"start_line":29,"start_character":60,"end_line":29,"end_character":61},"in_reply_to":"bf659307_35d0caf7","updated":"2018-04-09 06:07:26.000000000","message":"Done","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1e88f950f1db426e2177b81cab2d17000909154f","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @decorators.idempotent_id(\u0027b54c66af-6ab6-4cf0-a9e5-a0cb58d75e0b\u0027)"},{"line_number":28,"context_line":"    def test_absLimits_get(self):"},{"line_number":29,"context_line":"        # To check if all limits are present in the response (will be checked"},{"line_number":30,"context_line":"        # by schema)"},{"line_number":31,"context_line":"        self.client.show_limits()"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f6a8fd7_8e4906b8","line":30,"range":{"start_line":29,"start_character":8,"end_line":30,"end_character":20},"updated":"2018-04-24 10:13:41.000000000","message":"this will check only base schema not all schema you added, 2.36, 2.39, 2.57.\n\nYou need to add a single tests running with 2.57 schema to test all those schema files.","commit_id":"74290f23a18e30dd4f2712e2ac8de00d6f536f58"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"74375134687415d384fa69cc21c5fbcda2efee00","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @decorators.idempotent_id(\u0027b54c66af-6ab6-4cf0-a9e5-a0cb58d75e0b\u0027)"},{"line_number":28,"context_line":"    def test_absLimits_get(self):"},{"line_number":29,"context_line":"        # To check if all limits are present in the response (will be checked"},{"line_number":30,"context_line":"        # by schema)"},{"line_number":31,"context_line":"        self.client.show_limits()"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_79431ab1","line":30,"range":{"start_line":29,"start_character":8,"end_line":30,"end_character":20},"in_reply_to":"9f6a8fd7_8e4906b8","updated":"2018-07-07 22:20:25.000000000","message":"Done","commit_id":"74290f23a18e30dd4f2712e2ac8de00d6f536f58"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"889d9ceae64a6f97f3b4a75e42ef3861f062c5b3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    min_microversion \u003d \u00272.57\u0027"},{"line_number":37,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    # NOTE(felipemonteiro): This class tests the services APIs response schema"},{"line_number":40,"context_line":"    # for the 2.57 microversion."}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_2dfe6104","line":39,"range":{"start_line":39,"start_character":49,"end_line":39,"end_character":62},"updated":"2018-07-24 01:15:54.000000000","message":"Absolute Limits APIs","commit_id":"b0ef2600ff8985a4dac4386819dc790cc9d2d9c0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f9ac3674ea5ca8b34518b632f2b0bb9f134e7463","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    min_microversion \u003d \u00272.57\u0027"},{"line_number":37,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    # NOTE(felipemonteiro): This class tests the services APIs response schema"},{"line_number":40,"context_line":"    # for the 2.57 microversion."}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_68d1a7f8","line":39,"range":{"start_line":39,"start_character":49,"end_line":39,"end_character":62},"in_reply_to":"5f7c97a3_2dfe6104","updated":"2018-07-24 02:53:29.000000000","message":"Done","commit_id":"b0ef2600ff8985a4dac4386819dc790cc9d2d9c0"}],"tempest/api/compute/limits/test_absolute_limits_negative.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8215221cdd49566f6dbe8013b5a098da46d3b006","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            raise self.skipException(\u0027no limit for maxServerMeta\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        # Create server should fail, since we are passing \u003e metadata Limit!"},{"line_number":47,"context_line":"        max_meta_data \u003d max_meta + 1"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        meta_data \u003d {}"},{"line_number":50,"context_line":"        for xx in range(max_meta_data):"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf659307_30d43cbd","line":47,"updated":"2018-04-10 02:03:21.000000000","message":"ah, I got it. It looks like maxServerMeta is more suitable in this test case.","commit_id":"d6cb4f684f1d321fbb04df2f121838870999649e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1e88f950f1db426e2177b81cab2d17000909154f","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":35,"context_line":"    @decorators.idempotent_id(\u0027215cd465-d8ae-49c9-bf33-9c911913a5c8\u0027)"},{"line_number":36,"context_line":"    def test_max_metadata_exceed_limit(self):"},{"line_number":37,"context_line":"        # We should not create vm with metadata over maxServerMeta limit"},{"line_number":38,"context_line":"        # Get max limit value"},{"line_number":39,"context_line":"        limits \u003d self.client.show_limits()[\u0027limits\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f6a8fd7_4e1a0ecc","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":38},"updated":"2018-04-24 10:13:41.000000000","message":"name change is ok as this test is not used in interop or outside the tempest.","commit_id":"74290f23a18e30dd4f2712e2ac8de00d6f536f58"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"71dc40c685de419454f18c2708e01572dc64e8d6","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":35,"context_line":"    @decorators.idempotent_id(\u0027215cd465-d8ae-49c9-bf33-9c911913a5c8\u0027)"},{"line_number":36,"context_line":"    def test_max_image_meta_exceed_limit(self):"},{"line_number":37,"context_line":"        # We should not create vm with image meta over maxImageMeta limit"},{"line_number":38,"context_line":"        # Get max limit value"},{"line_number":39,"context_line":"        limits \u003d self.client.show_limits()[\u0027limits\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_293d79e5","side":"PARENT","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":40},"updated":"2018-07-30 01:56:55.000000000","message":"looking it again. i found 1 usage of this test name[1]. let\u0027s push a patch to correct them in case any where that is being used by trio2o CI.  \n\n[1] http://git.openstack.org/cgit/openstack/trio2o/tree/trio2o/tempestplugin/tempest_compute.sh#n347","commit_id":"f5b034da57b1fc531269e07ea7bc11247f624de4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f0c86b2dfab7d45c6e9a0142b4406451b8e41217","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":35,"context_line":"    @decorators.idempotent_id(\u0027215cd465-d8ae-49c9-bf33-9c911913a5c8\u0027)"},{"line_number":36,"context_line":"    def test_max_image_meta_exceed_limit(self):"},{"line_number":37,"context_line":"        # We should not create vm with image meta over maxImageMeta limit"},{"line_number":38,"context_line":"        # Get max limit value"},{"line_number":39,"context_line":"        limits \u003d self.client.show_limits()[\u0027limits\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_ecc0ef7f","side":"PARENT","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":40},"in_reply_to":"5f7c97a3_293d79e5","updated":"2018-07-30 02:04:56.000000000","message":"done- https://review.openstack.org/#/c/586922/","commit_id":"f5b034da57b1fc531269e07ea7bc11247f624de4"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e8719de819da315361e89c7fbe757f83528b06e9","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @decorators.attr(type\u003d[\u0027negative\u0027])"},{"line_number":35,"context_line":"    @decorators.idempotent_id(\u0027215cd465-d8ae-49c9-bf33-9c911913a5c8\u0027)"},{"line_number":36,"context_line":"    def test_max_image_meta_exceed_limit(self):"},{"line_number":37,"context_line":"        # We should not create vm with image meta over maxImageMeta limit"},{"line_number":38,"context_line":"        # Get max limit value"},{"line_number":39,"context_line":"        limits \u003d self.client.show_limits()[\u0027limits\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_cc6bb351","side":"PARENT","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":40},"in_reply_to":"5f7c97a3_ecc0ef7f","updated":"2018-07-30 02:29:15.000000000","message":"Thanks for the updating:)","commit_id":"f5b034da57b1fc531269e07ea7bc11247f624de4"}],"tempest/lib/api_schema/response/compute/v2_36/limits.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f790190147be783be7652ad46d35dee33ec66338","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 NEC Corporation.  All rights reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_95e996b8","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"updated":"2018-04-09 03:42:46.000000000","message":"All these copyright years should be 2018","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"98e43559e8fe1bf1d08aa003a8ee2123d9fde7e0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 NEC Corporation.  All rights reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_4a97dc91","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"in_reply_to":"bf659307_95e996b8","updated":"2018-04-09 06:07:26.000000000","message":"Done","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"}],"tempest/lib/api_schema/response/compute/v2_39/limits.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f790190147be783be7652ad46d35dee33ec66338","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"get_limit \u003d copy.deepcopy(limitv236.get_limit)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"get_limit[\u0027response_body\u0027][\u0027properties\u0027][\u0027limits\u0027][\u0027properties\u0027][\u0027absolute\u0027]["},{"line_number":26,"context_line":"    \u0027properties\u0027] \u003d {\u0027maxTotalRAMSize\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":27,"context_line":"                     \u0027totalCoresUsed\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":28,"context_line":"                     \u0027maxTotalInstances\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_151ca6bf","line":25,"updated":"2018-04-09 03:42:46.000000000","message":"Is there a need to re-include all values again from https://review.openstack.org/#/c/557574/3/tempest/lib/api_schema/response/compute/v2_36/limits.py? Why not just do:\n\n    get_limit[\u0027response_body\u0027][\u0027properties\u0027][\u0027limits\u0027][\u0027properties\u0027][\u0027absolute\u0027][\u0027properties\u0027].pop(\u0027maxImageMeta\u0027)","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"98e43559e8fe1bf1d08aa003a8ee2123d9fde7e0","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"get_limit \u003d copy.deepcopy(limitv236.get_limit)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"get_limit[\u0027response_body\u0027][\u0027properties\u0027][\u0027limits\u0027][\u0027properties\u0027][\u0027absolute\u0027]["},{"line_number":26,"context_line":"    \u0027properties\u0027] \u003d {\u0027maxTotalRAMSize\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":27,"context_line":"                     \u0027totalCoresUsed\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":28,"context_line":"                     \u0027maxTotalInstances\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_6a450015","line":25,"in_reply_to":"bf659307_151ca6bf","updated":"2018-04-09 06:07:26.000000000","message":"Yes I ever hesitated whether to just pop deprecated items. I fact I myself like the pop way, \nbut I was just not sure whether other people will like a straight complete one. Done.","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"6ab4349eac598c917e0e24245baa7ac2e54414e7","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"get_limit \u003d copy.deepcopy(limitv236.get_limit)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"get_limit[\u0027response_body\u0027][\u0027properties\u0027][\u0027limits\u0027][\u0027properties\u0027][\u0027absolute\u0027]["},{"line_number":26,"context_line":"    \u0027properties\u0027] \u003d {\u0027maxTotalRAMSize\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":27,"context_line":"                     \u0027totalCoresUsed\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":28,"context_line":"                     \u0027maxTotalInstances\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_90f0a8cb","line":25,"in_reply_to":"bf659307_6a450015","updated":"2018-04-10 01:46:39.000000000","message":"Here is an example with pop: https://github.com/openstack/tempest/blob/e8192e4b5d22a57edb177279f52e5cd58ddf4999/tempest/lib/api_schema/response/compute/v2_1/versions.py#L73\n\nI think that if there is precedence for using pop (and append, etc.) for this then it should be OK?\n\nI also think that in this case it makes the code easier to read since if you read documentation it just says: \"This arg isn\u0027t supported in XX microversion\" and so you think in terms of subtraction not all the things supported in that microversion.","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"c2c43797d6e2d32c53ce78d0556b5fd221358c16","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"get_limit \u003d copy.deepcopy(limitv236.get_limit)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"get_limit[\u0027response_body\u0027][\u0027properties\u0027][\u0027limits\u0027][\u0027properties\u0027][\u0027absolute\u0027]["},{"line_number":26,"context_line":"    \u0027properties\u0027] \u003d {\u0027maxTotalRAMSize\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":27,"context_line":"                     \u0027totalCoresUsed\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":28,"context_line":"                     \u0027maxTotalInstances\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_8b02bdb3","line":25,"in_reply_to":"bf659307_90f0a8cb","updated":"2018-04-10 02:39:40.000000000","message":"absolutely agree with it:)","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"f790190147be783be7652ad46d35dee33ec66338","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                     \u0027maxServerGroups\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":38,"context_line":"                     \u0027totalServerGroupsUsed\u0027: {\u0027type\u0027: \u0027integer\u0027}}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"get_limit[\u0027response_body\u0027][\u0027properties\u0027][\u0027limits\u0027][\u0027properties\u0027][\u0027absolute\u0027]["},{"line_number":41,"context_line":"    \u0027required\u0027] \u003d [\u0027maxPersonality\u0027,"},{"line_number":42,"context_line":"                   \u0027maxPersonalitySize\u0027,"},{"line_number":43,"context_line":"                   \u0027maxServerMeta\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_b5785af8","line":40,"updated":"2018-04-09 03:42:46.000000000","message":"Same.","commit_id":"26cc24fe3a020eaadbe76bf610fe5727cc9cf33b"}]}
