)]}'
{"tempest/api/compute/servers/test_server_actions.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"05e86b110bb1b9faaf6dc048c8efbcaf6de28214","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":321,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        validation_resources \u003d self.get_class_validation_resources("}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_d4173da3","line":322,"updated":"2017-10-30 17:15:52.000000000","message":"This might not actually show the failure, so what we\u0027d probably need to do is get console output from the instance once we\u0027re done resizing since that\u0027s an RPC call to the compute to get the console output from the guest, which would be gone by now and should result in a failure.","commit_id":"2f44b488e65d04251d556e96bfbdc4620b2d0304"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d19997677e649a9a76f499eeb3186b8ad5b42fbd","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":321,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        validation_resources \u003d self.get_class_validation_resources("}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_cf68c3bb","line":322,"in_reply_to":"3f4b6375_d4173da3","updated":"2017-10-30 21:52:15.000000000","message":"Yeah passed in the NFS job here:\n\nhttp://logs.openstack.org/95/516395/1/experimental/legacy-tempest-dsvm-full-devstack-plugin-nfs/8374333/job-output.txt.gz#_2017-10-30_18_22_50_030855\n\nSo probably need to do something that interacts with the guest.","commit_id":"2f44b488e65d04251d556e96bfbdc4620b2d0304"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6017f7fddd3503c5221833c3ea63cfe36ad0a8f6","unresolved":false,"context_lines":[{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        validation_resources \u003d self.get_class_validation_resources("},{"line_number":326,"context_line":"            self.os_primary)"},{"line_number":327,"context_line":"        server \u003d self.create_test_server("},{"line_number":328,"context_line":"            validatable\u003dTrue,"},{"line_number":329,"context_line":"            volume_backed\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_54c10d80","line":326,"range":{"start_line":325,"start_character":8,"end_line":326,"end_character":28},"updated":"2017-10-30 16:57:39.000000000","message":"Probably don\u0027t actually need this to be validatable since we don\u0027t ssh into the guest during the resize test.","commit_id":"2f44b488e65d04251d556e96bfbdc4620b2d0304"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"478e4dfbe60944e00542c5abb502bebbff94dc7b","unresolved":false,"context_lines":[{"line_number":329,"context_line":"            volume_backed\u003dTrue,"},{"line_number":330,"context_line":"            validation_resources\u003dvalidation_resources,"},{"line_number":331,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":332,"context_line":"        self.server_id \u003d server[\u0027id\u0027]   # The class variable is unfortunate..."},{"line_number":333,"context_line":"        self._test_resize_server_confirm(stop\u003dFalse)"},{"line_number":334,"context_line":"        # Now do something interactive with the guest like get it\u0027s console"},{"line_number":335,"context_line":"        # output; we don\u0027t actually care about the output, just that it doesn\u0027t"},{"line_number":336,"context_line":"        # raise an error."}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_5f0573c1","line":333,"range":{"start_line":332,"start_character":0,"end_line":333,"end_character":52},"updated":"2017-11-01 08:40:42.000000000","message":"it\u0027s not suitable to change self.server_id, maybe you can either:\n1. modify self._test_resize_server_confirm(stop\u003dFalse) to let it accept server_id as parameter\n2. expand the lines in _test_resize_server_confirm directly here, i.e.,\n        self.client.resize_server(self.server_id, self.flavor_ref_alt)\n        waiters.wait_for_server_status(self.client, self.server_id,\n                                       \u0027VERIFY_RESIZE\u0027)\n\n        self.client.confirm_resize_server(self.server_id)\n        waiters.wait_for_server_status(self.client, self.server_id,\n                                       \u0027ACTIVE\u0027)\n\n        server \u003d self.client.show_server(self.server_id)[\u0027server\u0027]\n        self.assertEqual(self.flavor_ref_alt, server[\u0027flavor\u0027][\u0027id\u0027])","commit_id":"6318e71c944e0cb49857cf6475e83b71a1842362"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"51afae469ad585de5fd3e70e2e399fd2acb79b92","unresolved":false,"context_lines":[{"line_number":329,"context_line":"            volume_backed\u003dTrue,"},{"line_number":330,"context_line":"            validation_resources\u003dvalidation_resources,"},{"line_number":331,"context_line":"            wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":332,"context_line":"        self.server_id \u003d server[\u0027id\u0027]   # The class variable is unfortunate..."},{"line_number":333,"context_line":"        self._test_resize_server_confirm(stop\u003dFalse)"},{"line_number":334,"context_line":"        # Now do something interactive with the guest like get it\u0027s console"},{"line_number":335,"context_line":"        # output; we don\u0027t actually care about the output, just that it doesn\u0027t"},{"line_number":336,"context_line":"        # raise an error."}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_6263ecdd","line":333,"range":{"start_line":332,"start_character":0,"end_line":333,"end_character":52},"in_reply_to":"3f4b6375_5f0573c1","updated":"2017-11-01 15:36:11.000000000","message":"I\u0027ll update the test to pass in the server_id, and refactor that into a separate change before this one.","commit_id":"6318e71c944e0cb49857cf6475e83b71a1842362"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d8b5341acf24569108fafbb9b50648893873eacf","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":315,"context_line":"    def test_resize_server_confirm(self):"},{"line_number":316,"context_line":"        self._test_resize_server_confirm(self.server_id, stop\u003dFalse)"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    @decorators.idempotent_id(\u002704d613fe-74a5-425f-a69e-e444f9e767d8\u0027)"},{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_7321714d","line":317,"updated":"2017-11-02 01:24:43.000000000","message":"It would be nice to add\n\n @decorators.related_bug(\u00271728603\u0027)\n\nto backport the corresponding patch on productions.","commit_id":"a3301e1f091ee4d070f59df1b6ba2e53d896eaf5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1a506b6903ecd9677f898633349a84d3cdfcb463","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":321,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        server \u003d self.create_test_server("}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_7a736f17","line":322,"updated":"2017-11-02 15:51:39.000000000","message":"I just realized that this test basically already exists as a scenario test:\n\nhttp://git.openstack.org/cgit/openstack/tempest/tree/tempest/scenario/test_server_advanced_ops.py#n49\n\nThe only difference is the scenario test doesn\u0027t try to get the guest console log after the resize is confirmed.\n\nSo I could move the console part to the scenario test, but I wonder if the NFS/Ceph jobs are actually running scenario tests, because if they aren\u0027t, we wouldn\u0027t have caught this with the scenario test change. I\u0027ll look.","commit_id":"a3301e1f091ee4d070f59df1b6ba2e53d896eaf5"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"a4eb7f1db3c8f77696a023166a659ff40eb63c85","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":321,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        server \u003d self.create_test_server("}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_fc46d820","line":322,"in_reply_to":"3f4b6375_37b037dd","updated":"2017-11-07 23:39:16.000000000","message":"Yeah, I agree with zhufl let\u0027s just make it an api test.","commit_id":"a3301e1f091ee4d070f59df1b6ba2e53d896eaf5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"322d28f3eeeb740a4afb8415e948e799df0e7772","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":321,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        server \u003d self.create_test_server("}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_5a8c33d6","line":322,"in_reply_to":"3f4b6375_3a9617f2","updated":"2017-11-02 15:56:43.000000000","message":"As a data point, the scenario test takes 48 seconds with the LVM backend in Cinder:\n\nhttp://logs.openstack.org/96/516396/5/check/legacy-tempest-dsvm-neutron-scenario-multinode-lvm-multibackend/e2755d5/job-output.txt.gz#_2017-11-01_16_45_59_827917\n\nThis API test takes 43 seconds with the Ceph backend in Cinder:\n\nhttp://logs.openstack.org/96/516396/5/check/legacy-tempest-dsvm-full-devstack-plugin-ceph/20aca47/job-output.txt.gz#_2017-11-01_16_39_09_788014","commit_id":"a3301e1f091ee4d070f59df1b6ba2e53d896eaf5"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"0800b0d2a0212a571d92802574352fe776f2833b","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":321,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        server \u003d self.create_test_server("}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_37b037dd","line":322,"in_reply_to":"3f4b6375_5a8c33d6","updated":"2017-11-06 05:18:43.000000000","message":"I\u0027d prefer \"2. Drop the scenario test and run it here in the API test\", because\n1. The run time of this testcase is not very long.\n2. It is a basic and not very complex testcase(more like an api test than a scenario test).","commit_id":"a3301e1f091ee4d070f59df1b6ba2e53d896eaf5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"56a3bc1f3c0108f1bf34d24703a95d0f0b9f5b23","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":321,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        server \u003d self.create_test_server("}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_3a9617f2","line":322,"in_reply_to":"3f4b6375_7a736f17","updated":"2017-11-02 15:54:51.000000000","message":"The ceph plugin job runs scenario tests:\n\nhttp://logs.openstack.org/96/516396/5/check/legacy-tempest-dsvm-full-devstack-plugin-ceph/20aca47/job-output.txt.gz#_2017-11-01_16_20_04_566699\n\nBut it doesn\u0027t run slow tests, and the scenario test is marked as a slow test, so it wouldn\u0027t be run through the ceph job, and we wouldn\u0027t have caught the bug.\n\nSo what do we want to do?\n\n1. Drop this API test and add the console check to the scenario test?\n2. Drop the scenario test and run it here in the API test?\n3. Do #1 but also drop the \u0027slow\u0027 tag from the scenario test?\n4. Do #1 but change the ceph job to also run slow tests?","commit_id":"a3301e1f091ee4d070f59df1b6ba2e53d896eaf5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4633b6a39fc032f6e2d97caf6eca27246092df42","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    @testtools.skipUnless(CONF.compute_feature_enabled.resize,"},{"line_number":320,"context_line":"                          \u0027Resize not available.\u0027)"},{"line_number":321,"context_line":"    @utils.services(\u0027volume\u0027)"},{"line_number":322,"context_line":"    def test_resize_volume_backed_server_confirm(self):"},{"line_number":323,"context_line":"        # We have to create a new server that is volume-backed since the one"},{"line_number":324,"context_line":"        # from setUp is not volume-backed."},{"line_number":325,"context_line":"        server \u003d self.create_test_server("}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_9c6124ac","line":322,"in_reply_to":"3f4b6375_fc46d820","updated":"2017-11-07 23:39:46.000000000","message":"Will do, thanks everyone.","commit_id":"a3301e1f091ee4d070f59df1b6ba2e53d896eaf5"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"534962b0a03d16737eebab82440b09ca84a157b7","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        server \u003d self.create_test_server("},{"line_number":327,"context_line":"            volume_backed\u003dTrue, wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":328,"context_line":"        self._test_resize_server_confirm(server[\u0027id\u0027])"},{"line_number":329,"context_line":"        # Now do something interactive with the guest like get it\u0027s console"},{"line_number":330,"context_line":"        # output; we don\u0027t actually care about the output, just that it doesn\u0027t"},{"line_number":331,"context_line":"        # raise an error."},{"line_number":332,"context_line":"        self.client.get_console_output(server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_f6601ed2","line":329,"range":{"start_line":329,"start_character":59,"end_line":329,"end_character":62},"updated":"2017-11-09 02:30:42.000000000","message":"getting","commit_id":"a689a95f6f9d173ae5a9539fe07d6961b9a2d4e4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3ba5f1a2994fd1c08f27f67d7434233386ef716f","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        server \u003d self.create_test_server("},{"line_number":327,"context_line":"            volume_backed\u003dTrue, wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":328,"context_line":"        self._test_resize_server_confirm(server[\u0027id\u0027])"},{"line_number":329,"context_line":"        # Now do something interactive with the guest like get it\u0027s console"},{"line_number":330,"context_line":"        # output; we don\u0027t actually care about the output, just that it doesn\u0027t"},{"line_number":331,"context_line":"        # raise an error."},{"line_number":332,"context_line":"        self.client.get_console_output(server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f485f77_2a276515","line":329,"range":{"start_line":329,"start_character":59,"end_line":329,"end_character":62},"in_reply_to":"1f485f77_ace5c73a","updated":"2017-11-10 11:04:50.000000000","message":"Actually, \"get\" is used correctly in this context.\n\nHowever, next word is incorrect:\n\n/s/it\u0027s/its","commit_id":"a689a95f6f9d173ae5a9539fe07d6961b9a2d4e4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4c8af3a1a4ad505b504e871baaac590d1b8177c5","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        server \u003d self.create_test_server("},{"line_number":327,"context_line":"            volume_backed\u003dTrue, wait_until\u003d\u0027ACTIVE\u0027)"},{"line_number":328,"context_line":"        self._test_resize_server_confirm(server[\u0027id\u0027])"},{"line_number":329,"context_line":"        # Now do something interactive with the guest like get it\u0027s console"},{"line_number":330,"context_line":"        # output; we don\u0027t actually care about the output, just that it doesn\u0027t"},{"line_number":331,"context_line":"        # raise an error."},{"line_number":332,"context_line":"        self.client.get_console_output(server[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f485f77_ace5c73a","line":329,"range":{"start_line":329,"start_character":59,"end_line":329,"end_character":62},"in_reply_to":"3f4b6375_f6601ed2","updated":"2017-11-09 09:37:29.000000000","message":"\u0027get\u0027 is what I meant, like the actual GET API call.","commit_id":"a689a95f6f9d173ae5a9539fe07d6961b9a2d4e4"}]}
