)]}'
{"tempest/api/compute/admin/test_live_migration.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"93c19f571aee52bd710ed25c575f6d4fb0bb4ad3","unresolved":false,"context_lines":[{"line_number":222,"context_line":"            # long timeout value."},{"line_number":223,"context_line":"            while data not in console_output and t \u003c\u003d 120.0:"},{"line_number":224,"context_line":"                try:"},{"line_number":225,"context_line":"                    ws.send(\"\u0027%s\u0027\" % data)"},{"line_number":226,"context_line":"                    recieved \u003d ws.recv()"},{"line_number":227,"context_line":"                    console_output +\u003d recieved"},{"line_number":228,"context_line":"                except Exception:"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a461143_b25a8d28","line":225,"updated":"2017-01-28 15:24:23.000000000","message":"Given that you only do a \"simple\" test in here, I think you should open the connection and upgrade to websocket using the \"old\" way, without relying on a 3rd party library.\n\nTake a look at https://review.openstack.org/#/c/343078/8/tempest/api/compute/servers/test_novnc.py, this doesn\u0027t seem to much work, although it\u0027s not trivial. My point is, I don\"t want to introduce yet another dependency to Tempest, for a single test, that is barely going to be run.","commit_id":"e24f8cccacae58dbdbec9dfde7f246c14b5844da"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"922ce47fcf09de32ff16d1369db80e0a4690362c","unresolved":false,"context_lines":[{"line_number":222,"context_line":"            # long timeout value."},{"line_number":223,"context_line":"            while data not in console_output and t \u003c\u003d 120.0:"},{"line_number":224,"context_line":"                try:"},{"line_number":225,"context_line":"                    ws.send(\"\u0027%s\u0027\" % data)"},{"line_number":226,"context_line":"                    recieved \u003d ws.recv()"},{"line_number":227,"context_line":"                    console_output +\u003d recieved"},{"line_number":228,"context_line":"                except Exception:"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a461143_2f8b5320","line":225,"in_reply_to":"3a461143_b25a8d28","updated":"2017-01-31 13:14:29.000000000","message":"@Jordan: I understand what you mean. If that new dependency is really an issue, then I\u0027ll update the change to the way you suggested. It takes a few days to find time to work on that again.","commit_id":"e24f8cccacae58dbdbec9dfde7f246c14b5844da"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"d9e429975d93239ec081d6ed48ed033f126e4784","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        consoles of the instances before and after the live migration."},{"line_number":190,"context_line":"        \"\"\""},{"line_number":191,"context_line":"        server01_id \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)[\u0027id\u0027]"},{"line_number":192,"context_line":"        hints \u003d {\u0027different_host\u0027: server01_id}"},{"line_number":193,"context_line":"        server02_id \u003d self.create_test_server(scheduler_hints\u003dhints,"},{"line_number":194,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027)[\u0027id\u0027]"},{"line_number":195,"context_line":"        host01_id \u003d self._get_host_for_server(server01_id)"}],"source_content_type":"text/x-python","patch_set":31,"id":"5ff73747_381f866d","line":192,"range":{"start_line":192,"start_character":8,"end_line":192,"end_character":47},"updated":"2017-04-25 07:38:42.000000000","message":"this need the check of test.is_scheduler_filter_enabled(\"DifferentHostFilter\")\nor maybe you can create servers like test_schedule_to_all_nodes does","commit_id":"0c63bff22b143b24772d2bbc283e6faa9d9a5c34"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"c3c340cd20b1af76ff3c1aef33dec0854e9e90fd","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        consoles of the instances before and after the live migration."},{"line_number":190,"context_line":"        \"\"\""},{"line_number":191,"context_line":"        server01_id \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)[\u0027id\u0027]"},{"line_number":192,"context_line":"        hints \u003d {\u0027different_host\u0027: server01_id}"},{"line_number":193,"context_line":"        server02_id \u003d self.create_test_server(scheduler_hints\u003dhints,"},{"line_number":194,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027)[\u0027id\u0027]"},{"line_number":195,"context_line":"        host01_id \u003d self._get_host_for_server(server01_id)"}],"source_content_type":"text/x-python","patch_set":31,"id":"5ff73747_8754f3cb","line":192,"range":{"start_line":192,"start_character":8,"end_line":192,"end_character":47},"in_reply_to":"5ff73747_381f866d","updated":"2017-04-25 09:39:56.000000000","message":"@zhufl: The availability-zone-magic done in \"test_schedule_to_all_nodes\" looks weird to me, to be honest. https://github.com/openstack/tempest/blob/3b46d27c90aa6289724f4c137a0838c89d116b62/tempest/scenario/test_server_multinode.py#L74-L82 I\u0027ll use the filter as you suggested.","commit_id":"0c63bff22b143b24772d2bbc283e6faa9d9a5c34"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e7af300fc1994944a2492e786dd4b0d0453c09c2","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        consoles of the instances before and after the live migration."},{"line_number":190,"context_line":"        \"\"\""},{"line_number":191,"context_line":"        server01_id \u003d self.create_test_server(wait_until\u003d\u0027ACTIVE\u0027)[\u0027id\u0027]"},{"line_number":192,"context_line":"        hints \u003d {\u0027different_host\u0027: server01_id}"},{"line_number":193,"context_line":"        server02_id \u003d self.create_test_server(scheduler_hints\u003dhints,"},{"line_number":194,"context_line":"                                              wait_until\u003d\u0027ACTIVE\u0027)[\u0027id\u0027]"},{"line_number":195,"context_line":"        host01_id \u003d self._get_host_for_server(server01_id)"}],"source_content_type":"text/x-python","patch_set":31,"id":"5ff73747_2490744e","line":192,"range":{"start_line":192,"start_character":8,"end_line":192,"end_character":47},"in_reply_to":"5ff73747_8754f3cb","updated":"2017-04-25 13:34:17.000000000","message":"That \"magic\" is  a way for admins to force a VM to a specific host. \nWith more than two hosts it\u0027s easier to do it that way :)","commit_id":"0c63bff22b143b24772d2bbc283e6faa9d9a5c34"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"d9e429975d93239ec081d6ed48ed033f126e4784","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        # At this point, both instances have a valid serial console"},{"line_number":213,"context_line":"        # connection, which means the ports got updated."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _verify_console_interaction(self, server_id):"},{"line_number":216,"context_line":"        body \u003d self.servers_client.get_remote_console(server_id,"},{"line_number":217,"context_line":"                                                      console_type\u003d\u0027serial\u0027,"},{"line_number":218,"context_line":"                                                      protocol\u003d\u0027serial\u0027)"}],"source_content_type":"text/x-python","patch_set":31,"id":"5ff73747_bb94b08c","line":215,"range":{"start_line":215,"start_character":8,"end_line":215,"end_character":35},"updated":"2017-04-25 07:38:42.000000000","message":"better to move this before #L182","commit_id":"0c63bff22b143b24772d2bbc283e6faa9d9a5c34"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"c3c340cd20b1af76ff3c1aef33dec0854e9e90fd","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        # At this point, both instances have a valid serial console"},{"line_number":213,"context_line":"        # connection, which means the ports got updated."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _verify_console_interaction(self, server_id):"},{"line_number":216,"context_line":"        body \u003d self.servers_client.get_remote_console(server_id,"},{"line_number":217,"context_line":"                                                      console_type\u003d\u0027serial\u0027,"},{"line_number":218,"context_line":"                                                      protocol\u003d\u0027serial\u0027)"}],"source_content_type":"text/x-python","patch_set":31,"id":"5ff73747_07a58304","line":215,"range":{"start_line":215,"start_character":8,"end_line":215,"end_character":35},"in_reply_to":"5ff73747_bb94b08c","updated":"2017-04-25 09:39:56.000000000","message":"@zhufl: I assume you\u0027re coming from the direction that private methods should be declared in a file/module before the methods which use them? The benefit is really small, I\u0027m going to not do that for ps32.","commit_id":"0c63bff22b143b24772d2bbc283e6faa9d9a5c34"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"e27bae51f79cf86ca0d47677a8b93cb01584cfe7","unresolved":false,"context_lines":[{"line_number":221,"context_line":"                                                      protocol\u003d\u0027serial\u0027)"},{"line_number":222,"context_line":"        console_url \u003d body[\u0027remote_console\u0027][\u0027url\u0027]"},{"line_number":223,"context_line":"        data \u003d \"test_live_migration_serial_console\""},{"line_number":224,"context_line":"        console_output \u003d \u0027\u0027"},{"line_number":225,"context_line":"        t \u003d 0.0"},{"line_number":226,"context_line":"        interval \u003d 0.1"},{"line_number":227,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"5ff73747_977e5769","line":224,"updated":"2017-04-25 15:32:01.000000000","message":"This is a string","commit_id":"69d58b8f34f75b0d718d18ea8f303e764720799e"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"c79921a985c5f98354a6af9b287373b61ca69475","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        data \u003d \"test_live_migration_serial_console\""},{"line_number":224,"context_line":"        console_output \u003d \u0027\u0027"},{"line_number":225,"context_line":"        t \u003d 0.0"},{"line_number":226,"context_line":"        interval \u003d 0.1"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"        ws \u003d compute.create_websocket(console_url)"},{"line_number":229,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":32,"id":"5ff73747_ef3025eb","line":226,"updated":"2017-04-25 13:52:45.000000000","message":"This will have to change. 0.1 sec is too short, that test will consume a good amount of CPU for up to 120sec: suboptimal.","commit_id":"69d58b8f34f75b0d718d18ea8f303e764720799e"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"e27bae51f79cf86ca0d47677a8b93cb01584cfe7","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            while data not in console_output and t \u003c\u003d 120.0:"},{"line_number":234,"context_line":"                try:"},{"line_number":235,"context_line":"                    ws.send_frame(data)"},{"line_number":236,"context_line":"                    recieved \u003d ws.receive_frame()"},{"line_number":237,"context_line":"                    console_output +\u003d recieved"},{"line_number":238,"context_line":"                except Exception:"},{"line_number":239,"context_line":"                    # In case we had an issue with send/receive on the"}],"source_content_type":"text/x-python","patch_set":32,"id":"5ff73747_d7e97f1a","line":236,"updated":"2017-04-25 15:32:01.000000000","message":"This is some bytes.","commit_id":"69d58b8f34f75b0d718d18ea8f303e764720799e"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"e27bae51f79cf86ca0d47677a8b93cb01584cfe7","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                try:"},{"line_number":235,"context_line":"                    ws.send_frame(data)"},{"line_number":236,"context_line":"                    recieved \u003d ws.receive_frame()"},{"line_number":237,"context_line":"                    console_output +\u003d recieved"},{"line_number":238,"context_line":"                except Exception:"},{"line_number":239,"context_line":"                    # In case we had an issue with send/receive on the"},{"line_number":240,"context_line":"                    # websocket connection, we create a new one."}],"source_content_type":"text/x-python","patch_set":32,"id":"5ff73747_b7ecb329","line":237,"updated":"2017-04-25 15:32:01.000000000","message":"This may not work on Py3","commit_id":"69d58b8f34f75b0d718d18ea8f303e764720799e"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"c79921a985c5f98354a6af9b287373b61ca69475","unresolved":false,"context_lines":[{"line_number":238,"context_line":"                except Exception:"},{"line_number":239,"context_line":"                    # In case we had an issue with send/receive on the"},{"line_number":240,"context_line":"                    # websocket connection, we create a new one."},{"line_number":241,"context_line":"                    ws \u003d compute.create_websocket(console_url)"},{"line_number":242,"context_line":"                time.sleep(interval)"},{"line_number":243,"context_line":"                t +\u003d interval"},{"line_number":244,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":32,"id":"5ff73747_6f73f5b2","line":241,"updated":"2017-04-25 13:52:45.000000000","message":"It would be useful, to avoid, resource leak, to attempt ws.close() here, wrapped in a nested try/except.","commit_id":"69d58b8f34f75b0d718d18ea8f303e764720799e"}],"tempest/config.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"9766f5927a846aff3d4f8f050d98964b7113b68c","unresolved":false,"context_lines":[{"line_number":380,"context_line":"                default\u003dFalse,"},{"line_number":381,"context_line":"                help\u003d\u0027Enable serial console. This configuration value \u0027"},{"line_number":382,"context_line":"                     \u0027should be the same as [nova.serial_console]-\u003eenabled \u0027"},{"line_number":383,"context_line":"                     \u0027in nova.conf\u0027),"},{"line_number":384,"context_line":"    cfg.BoolOpt(\u0027rescue\u0027,"},{"line_number":385,"context_line":"                default\u003dTrue,"},{"line_number":386,"context_line":"                help\u003d\u0027Does the test environment support instance rescue \u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"fa31d9ce_7d5db1eb","line":383,"updated":"2017-02-17 09:12:34.000000000","message":"I\u0027ll split that out of this change to make progress with the Nova change which depends on this: https://review.openstack.org/#/c/347471/","commit_id":"e24f8cccacae58dbdbec9dfde7f246c14b5844da"}],"tempest/lib/api_schema/response/compute/v2_1/servers.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc693d452f028eb4e6f8919fae27c226071bc8e9","unresolved":false,"context_lines":[{"line_number":505,"context_line":"    }"},{"line_number":506,"context_line":"}"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"set_server_metadata \u003d {"},{"line_number":510,"context_line":"    \u0027status_code\u0027: [200],"},{"line_number":511,"context_line":"    \u0027response_body\u0027: {"}],"source_content_type":"text/x-python","patch_set":17,"id":"5a74a57a_a1c0c2e1","line":508,"updated":"2016-11-24 16:49:07.000000000","message":"unrelated change, I\u0027ll remove that in ps18 after Jenkins gives me the results for the rest.","commit_id":"ed3db0fabeddd18001bc9c5d637382926a985de6"}],"tempest/lib/services/compute/servers_client.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc693d452f028eb4e6f8919fae27c226071bc8e9","unresolved":false,"context_lines":[{"line_number":606,"context_line":""},{"line_number":607,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":608,"context_line":"        API reference:"},{"line_number":609,"context_line":"        TODO (markus_z) The v2.26 api-ref isn\u0027t yet available, update this"},{"line_number":610,"context_line":"        here when the docs in Nova are updated. The old API is at"},{"line_number":611,"context_line":"        http://developer.openstack.org/api-ref/compute/#get-serial-console-os-getserialconsole-action"},{"line_number":612,"context_line":"        \"\"\""},{"line_number":613,"context_line":"        param \u003d {"}],"source_content_type":"text/x-python","patch_set":17,"id":"5a74a57a_617eaaaf","line":610,"range":{"start_line":609,"start_character":24,"end_line":610,"end_character":46},"updated":"2016-11-24 16:49:07.000000000","message":"This is done in https://review.openstack.org/#/c/338051/","commit_id":"ed3db0fabeddd18001bc9c5d637382926a985de6"}]}
