)]}'
{"tempest/api/compute/servers/test_attach_interfaces.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"8ff678d5677bea0ceb16a359fd5692ae27de6cff","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":302,"context_line":"    @decorators.idempotent_id(\u0027c7e0e60b-ee45-43d0-abeb-8596fd42a2f9\u0027)"},{"line_number":303,"context_line":"    @utils.services(\u0027network\u0027)"},{"line_number":304,"context_line":"    def test_add_remove_fixed_ip(self):"},{"line_number":305,"context_line":"        # Add and Remove the fixed IP to server."},{"line_number":306,"context_line":"        server, ifs \u003d self._create_server_get_interfaces()"},{"line_number":307,"context_line":"        interface_count \u003d len(ifs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_f3095e31","line":304,"updated":"2018-08-02 03:21:49.000000000","message":"This test cse is mentioned here in a comment, so it won\u0027t break anything to move this, but should we update the file below? \n\nhttp://git.openstack.org/cgit/openstack/trio2o/tree/trio2o/tempestplugin/tempest_compute.sh#n376","commit_id":"b5800d30166933d075bf0c8e61bfc26fdda22477"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"3f240031be7df9c4844ed1f98dfbb58198d6cef0","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":302,"context_line":"    @decorators.idempotent_id(\u0027c7e0e60b-ee45-43d0-abeb-8596fd42a2f9\u0027)"},{"line_number":303,"context_line":"    @utils.services(\u0027network\u0027)"},{"line_number":304,"context_line":"    def test_add_remove_fixed_ip(self):"},{"line_number":305,"context_line":"        # Add and Remove the fixed IP to server."},{"line_number":306,"context_line":"        server, ifs \u003d self._create_server_get_interfaces()"},{"line_number":307,"context_line":"        interface_count \u003d len(ifs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_39aa556c","line":304,"in_reply_to":"5f7c97a3_8ee8fd14","updated":"2018-08-02 05:50:04.000000000","message":"trio2o patch is I350f51cd7ba0833c98d817ef761987e7bcfe4d60","commit_id":"b5800d30166933d075bf0c8e61bfc26fdda22477"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e6c7923d7e494e348a3448191850d07952dfb288","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":302,"context_line":"    @decorators.idempotent_id(\u0027c7e0e60b-ee45-43d0-abeb-8596fd42a2f9\u0027)"},{"line_number":303,"context_line":"    @utils.services(\u0027network\u0027)"},{"line_number":304,"context_line":"    def test_add_remove_fixed_ip(self):"},{"line_number":305,"context_line":"        # Add and Remove the fixed IP to server."},{"line_number":306,"context_line":"        server, ifs \u003d self._create_server_get_interfaces()"},{"line_number":307,"context_line":"        interface_count \u003d len(ifs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_8ee8fd14","line":304,"in_reply_to":"5f7c97a3_f3095e31","updated":"2018-08-02 03:39:57.000000000","message":"yeah, will fix it","commit_id":"b5800d30166933d075bf0c8e61bfc26fdda22477"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5a324f65f12f0901a965ade712145048147858bb","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesTestV243(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":302,"context_line":"    @decorators.idempotent_id(\u0027c7e0e60b-ee45-43d0-abeb-8596fd42a2f9\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_4149dacd","line":299,"range":{"start_line":298,"start_character":0,"end_line":299,"end_character":29},"updated":"2018-08-09 18:16:35.000000000","message":"This test class naming way is different from the existing ones, and this makes inconsistency.\nBasically the versions in each test class show min_microvresion in general like:\n\ntempest/api/compute/servers/test_servers.py\n 183 class ServerShowV247Test(base.BaseV2ComputeTest):\n 184     min_microversion \u003d \u00272.47\u0027\n 185     max_microversion \u003d \u0027latest\u0027\n\nSo to cap the microversion, it is enough to keep the original test_add_remove_fixed_ip in AttachInterfacesTestJSON and put\n\n max_microversion \u003d \u00272.46\u0027\n\nin AttachInterfacesTestJSON.","commit_id":"5e3c5d3dfc96c51bb977b8a47bc3b825ac3f7089"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e94c44e3d9677a2376d5c87dea665cee25084ef2","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesTestV243(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":302,"context_line":"    @decorators.idempotent_id(\u0027c7e0e60b-ee45-43d0-abeb-8596fd42a2f9\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_eb019c07","line":299,"range":{"start_line":298,"start_character":0,"end_line":299,"end_character":29},"in_reply_to":"3f79a3b5_4149dacd","updated":"2018-08-14 02:29:57.000000000","message":"o, then I\u0027ll name it as \u0027AttachInterfacesFixedIpTest\u0027, because we can\u0027t set max_microversion for other testcases.","commit_id":"5e3c5d3dfc96c51bb977b8a47bc3b825ac3f7089"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5c7bdc46849f43c25683102212736eb969d84f33","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesTestV243(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":302,"context_line":"    @decorators.idempotent_id(\u0027c7e0e60b-ee45-43d0-abeb-8596fd42a2f9\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_c674d538","line":299,"range":{"start_line":298,"start_character":0,"end_line":299,"end_character":29},"in_reply_to":"3f79a3b5_4149dacd","updated":"2018-08-14 03:04:46.000000000","message":"yea, test_add_remove_fixed_ip test is only need capping not other. AttachInterfacesTestJSON should be without microversion cap","commit_id":"5e3c5d3dfc96c51bb977b8a47bc3b825ac3f7089"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"ff80c61234e773ea83a5fe28a5295f7d58c7fd69","unresolved":false,"context_lines":[{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesTestV243(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":302,"context_line":"    @decorators.idempotent_id(\u0027c7e0e60b-ee45-43d0-abeb-8596fd42a2f9\u0027)"},{"line_number":303,"context_line":"    @utils.services(\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_cc2201a5","line":300,"updated":"2018-08-09 18:27:55.000000000","message":"We also should include a comment like this:\n\n    # NOTE(gmann): This test tests the Aggregate APIs response schema\n    # for 2.41 microversion. No specific assert or behaviour verification\n    # is needed.\n\n.. https://review.openstack.org/#/c/589023/10/tempest/api/compute/admin/test_aggregates.py","commit_id":"5e3c5d3dfc96c51bb977b8a47bc3b825ac3f7089"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e94c44e3d9677a2376d5c87dea665cee25084ef2","unresolved":false,"context_lines":[{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesTestV243(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":302,"context_line":"    @decorators.idempotent_id(\u0027c7e0e60b-ee45-43d0-abeb-8596fd42a2f9\u0027)"},{"line_number":303,"context_line":"    @utils.services(\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_4b11b05c","line":300,"in_reply_to":"3f79a3b5_cc2201a5","updated":"2018-08-14 02:29:57.000000000","message":"Sorry I don\u0027t catch it, test_add_remove_fixed_ip is a complete testcase(with all necessary asserts and behaviour verification), only that it\u0027s deprecated in 2.44.","commit_id":"5e3c5d3dfc96c51bb977b8a47bc3b825ac3f7089"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6a9694b516f00ebcc4c0a83396e2cd280c0e0494","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesFixedIpTest(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_669b8165","line":298,"range":{"start_line":298,"start_character":6,"end_line":298,"end_character":33},"updated":"2018-08-14 03:06:32.000000000","message":"original name \u0027AttachInterfacesTestV243\u0027 convey it clear that this is for microversion 2.43","commit_id":"feb9359871fa4a432dd444f8b30a4b438c735b6f"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e93f01280371c8c10861c7a3ef83dc60de7e393b","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesFixedIpTest(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_e670f10a","line":298,"range":{"start_line":298,"start_character":6,"end_line":298,"end_character":33},"in_reply_to":"3f79a3b5_669b8165","updated":"2018-08-14 03:19:14.000000000","message":"o, oomichi says \"Basically the versions in each test class show min_microvresion\", and I do not have strong point for the naming, either can do.","commit_id":"feb9359871fa4a432dd444f8b30a4b438c735b6f"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8e060db5c98dbd0253e091773464efaaf408e3a9","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesFixedIpTest(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_ccb6378b","line":298,"range":{"start_line":298,"start_character":6,"end_line":298,"end_character":33},"in_reply_to":"3f79a3b5_e670f10a","updated":"2018-08-14 05:58:56.000000000","message":"How about \u0027AttachInterfacesUnderV243Test\u0027, which follows the style of \u0027HypervisorAdminUnderV252Test\u0027","commit_id":"feb9359871fa4a432dd444f8b30a4b438c735b6f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"69f500adb0a05b60007694b3ed7799f51003c16e","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesFixedIpTest(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_2c69ebf7","line":298,"range":{"start_line":298,"start_character":6,"end_line":298,"end_character":33},"in_reply_to":"3f79a3b5_e670f10a","updated":"2018-08-14 06:00:22.000000000","message":"humm, i am not sure that true. we just name the class with version to convey this tests class is for microversion xyz which can be work with min or max version as per test you are testing in that class.","commit_id":"feb9359871fa4a432dd444f8b30a4b438c735b6f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"85042f4b1f72077ede08a50450cc59c83c6080ea","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesUnderV243Test(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_cea3fd9a","line":298,"updated":"2018-09-26 16:01:15.000000000","message":"I\u0027m not sure why but ever since this merged we\u0027re getting a lot of traceback in the n-cpu logs:\n\nhttp://logs.openstack.org/98/604898/2/check/nova-next/df58e8a/logs/screen-n-cpu.txt.gz?level\u003dTRACE#_Sep_26_00_20_14_150429","commit_id":"615e63b77c35389532a0a1e4706861561f6dee85"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a38d33df548dc0e1d1c0a909cb31397b5c9b4da8","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesUnderV243Test(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_0e1c9579","line":298,"in_reply_to":"3f79a3b5_4e828dc9","updated":"2018-09-26 16:23:21.000000000","message":"I see the problem now, triage is in bug 1794558. The problem is that since removeFixedIp is async, this isn\u0027t waiting for that to complete and then the test class starts tearing down which deletes the server, which then deletes the port, so by the time the removeFixedIp request is processed on nova-compute, the port/fixed IP is no longer attached to the server and it fails. This test should wait for the fixed IP to be removed from the server\u0027s addresses list after calling the removeFixedIp API. This was a latent bug in the test, it was just teased out by moving this into it\u0027s own test class.","commit_id":"615e63b77c35389532a0a1e4706861561f6dee85"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"680cf6290c16a6b1ebea3dd56262c7c549108da7","unresolved":false,"context_lines":[{"line_number":295,"context_line":"            self.wait_for_port_detach(port_id)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"class AttachInterfacesUnderV243Test(AttachInterfacesTestBase):"},{"line_number":299,"context_line":"    max_microversion \u003d \u00272.43\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_4e828dc9","line":298,"in_reply_to":"3f79a3b5_cea3fd9a","updated":"2018-09-26 16:09:16.000000000","message":"It looks like the port for the fixed IP is being deleted before the call to the removeFixedIp server action in the compute API. I\u0027m not sure what would be deleting the port though.","commit_id":"615e63b77c35389532a0a1e4706861561f6dee85"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"680cf6290c16a6b1ebea3dd56262c7c549108da7","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                    break"},{"line_number":321,"context_line":"            if fixed_ip is not None:"},{"line_number":322,"context_line":"                break"},{"line_number":323,"context_line":"        self.servers_client.remove_fixed_ip(server[\u0027id\u0027], address\u003dfixed_ip)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_6e750900","line":323,"updated":"2018-09-26 16:09:16.000000000","message":"This doesn\u0027t actually assert that the fixed IP is removed from the server. This is an asynchronous RPC cast from nova-api to nova-compute, so the caller doesn\u0027t know if this actually worked on the compute service.","commit_id":"615e63b77c35389532a0a1e4706861561f6dee85"}]}
