)]}'
{"tempest/test.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d79cde3b94e7623dd66060a60108dff8b1fd9ec2","unresolved":false,"context_lines":[{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    @classmethod"},{"line_number":373,"context_line":"    def setup_clients(cls):"},{"line_number":374,"context_line":"        \"\"\"Create links to the clients into the test class."},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        `setup_clients` is invoked after the credential provisioning step."},{"line_number":377,"context_line":"        Client manager objects are available to tests already. The purpose"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_14a8d18a","line":374,"updated":"2017-08-27 22:28:15.000000000","message":"This first sentence is unclear to me.\n\nPerhaps something more like:\n\nCreate useful aliases to clients defined in client managers.","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fa566ddb84995ae8f503ba61e4f2ef5c781bcf51","unresolved":false,"context_lines":[{"line_number":371,"context_line":""},{"line_number":372,"context_line":"    @classmethod"},{"line_number":373,"context_line":"    def setup_clients(cls):"},{"line_number":374,"context_line":"        \"\"\"Create links to the clients into the test class."},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        `setup_clients` is invoked after the credential provisioning step."},{"line_number":377,"context_line":"        Client manager objects are available to tests already. The purpose"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_2a48dd59","line":374,"in_reply_to":"7f287b81_14a8d18a","updated":"2017-08-29 10:07:33.000000000","message":"Done","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d79cde3b94e7623dd66060a60108dff8b1fd9ec2","unresolved":false,"context_lines":[{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        `setup_clients` is invoked after the credential provisioning step."},{"line_number":377,"context_line":"        Client manager objects are available to tests already. The purpose"},{"line_number":378,"context_line":"        of this helper is to setup shortcuts into specific clients that are"},{"line_number":379,"context_line":"        useful for the tests implemented in the test class."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        It\u0027s purpose is mostly for code readability, how it should be used"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_b4d1fd25","line":378,"range":{"start_line":378,"start_character":45,"end_line":378,"end_character":49},"updated":"2017-08-27 22:28:15.000000000","message":"to","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fa566ddb84995ae8f503ba61e4f2ef5c781bcf51","unresolved":false,"context_lines":[{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        `setup_clients` is invoked after the credential provisioning step."},{"line_number":377,"context_line":"        Client manager objects are available to tests already. The purpose"},{"line_number":378,"context_line":"        of this helper is to setup shortcuts into specific clients that are"},{"line_number":379,"context_line":"        useful for the tests implemented in the test class."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        It\u0027s purpose is mostly for code readability, how it should be used"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_0a452143","line":378,"range":{"start_line":378,"start_character":45,"end_line":378,"end_character":49},"in_reply_to":"7f287b81_b4d1fd25","updated":"2017-08-29 10:07:33.000000000","message":"Done","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d79cde3b94e7623dd66060a60108dff8b1fd9ec2","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        of this helper is to setup shortcuts into specific clients that are"},{"line_number":379,"context_line":"        useful for the tests implemented in the test class."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        It\u0027s purpose is mostly for code readability, how it should be used"},{"line_number":382,"context_line":"        carefully to avoid doing exactly the opposite i.e. making the code"},{"line_number":383,"context_line":"        unreadable and hard to debug. If aliases are defined in a super class"},{"line_number":384,"context_line":"        it won\u0027t be obvious what they refer to, so it\u0027s good practice to define"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_74c71566","line":381,"range":{"start_line":381,"start_character":8,"end_line":381,"end_character":12},"updated":"2017-08-27 22:28:15.000000000","message":"s/It\u0027s/Its","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d79cde3b94e7623dd66060a60108dff8b1fd9ec2","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        of this helper is to setup shortcuts into specific clients that are"},{"line_number":379,"context_line":"        useful for the tests implemented in the test class."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        It\u0027s purpose is mostly for code readability, how it should be used"},{"line_number":382,"context_line":"        carefully to avoid doing exactly the opposite i.e. making the code"},{"line_number":383,"context_line":"        unreadable and hard to debug. If aliases are defined in a super class"},{"line_number":384,"context_line":"        it won\u0027t be obvious what they refer to, so it\u0027s good practice to define"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_54c4195f","line":381,"range":{"start_line":381,"start_character":53,"end_line":381,"end_character":56},"updated":"2017-08-27 22:28:15.000000000","message":"s/how//","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fa566ddb84995ae8f503ba61e4f2ef5c781bcf51","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        of this helper is to setup shortcuts into specific clients that are"},{"line_number":379,"context_line":"        useful for the tests implemented in the test class."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        It\u0027s purpose is mostly for code readability, how it should be used"},{"line_number":382,"context_line":"        carefully to avoid doing exactly the opposite i.e. making the code"},{"line_number":383,"context_line":"        unreadable and hard to debug. If aliases are defined in a super class"},{"line_number":384,"context_line":"        it won\u0027t be obvious what they refer to, so it\u0027s good practice to define"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_ca7cb984","line":381,"range":{"start_line":381,"start_character":53,"end_line":381,"end_character":56},"in_reply_to":"7f287b81_54c4195f","updated":"2017-08-29 10:07:33.000000000","message":"Done","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fa566ddb84995ae8f503ba61e4f2ef5c781bcf51","unresolved":false,"context_lines":[{"line_number":378,"context_line":"        of this helper is to setup shortcuts into specific clients that are"},{"line_number":379,"context_line":"        useful for the tests implemented in the test class."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        It\u0027s purpose is mostly for code readability, how it should be used"},{"line_number":382,"context_line":"        carefully to avoid doing exactly the opposite i.e. making the code"},{"line_number":383,"context_line":"        unreadable and hard to debug. If aliases are defined in a super class"},{"line_number":384,"context_line":"        it won\u0027t be obvious what they refer to, so it\u0027s good practice to define"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_ea77759f","line":381,"range":{"start_line":381,"start_character":8,"end_line":381,"end_character":12},"in_reply_to":"7f287b81_74c71566","updated":"2017-08-29 10:07:33.000000000","message":"Done","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d79cde3b94e7623dd66060a60108dff8b1fd9ec2","unresolved":false,"context_lines":[{"line_number":379,"context_line":"        useful for the tests implemented in the test class."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        It\u0027s purpose is mostly for code readability, how it should be used"},{"line_number":382,"context_line":"        carefully to avoid doing exactly the opposite i.e. making the code"},{"line_number":383,"context_line":"        unreadable and hard to debug. If aliases are defined in a super class"},{"line_number":384,"context_line":"        it won\u0027t be obvious what they refer to, so it\u0027s good practice to define"},{"line_number":385,"context_line":"        all aliases used in the class. Aliases are meant to be shortcuts to"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_34a3cdb4","line":382,"updated":"2017-08-27 22:28:15.000000000","message":"nit: No comma between opposite and i.e.","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fa566ddb84995ae8f503ba61e4f2ef5c781bcf51","unresolved":false,"context_lines":[{"line_number":379,"context_line":"        useful for the tests implemented in the test class."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"        It\u0027s purpose is mostly for code readability, how it should be used"},{"line_number":382,"context_line":"        carefully to avoid doing exactly the opposite i.e. making the code"},{"line_number":383,"context_line":"        unreadable and hard to debug. If aliases are defined in a super class"},{"line_number":384,"context_line":"        it won\u0027t be obvious what they refer to, so it\u0027s good practice to define"},{"line_number":385,"context_line":"        all aliases used in the class. Aliases are meant to be shortcuts to"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_aa6dedcc","line":382,"in_reply_to":"7f287b81_34a3cdb4","updated":"2017-08-29 10:07:33.000000000","message":"Done","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d79cde3b94e7623dd66060a60108dff8b1fd9ec2","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"                    def delete_server():"},{"line_number":411,"context_line":"                        test_utils.call_and_ignore_notfound_exc("},{"line_number":412,"context_line":"                            servers.delete_client, vm[\u0027id\u0027])"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"                    self.addCleanup(self.delete_server)"},{"line_number":415,"context_line":"                    return vm"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_d4ada99b","line":412,"updated":"2017-08-27 22:28:15.000000000","message":"nit:\n    \n    servers.delete_server","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fa566ddb84995ae8f503ba61e4f2ef5c781bcf51","unresolved":false,"context_lines":[{"line_number":409,"context_line":""},{"line_number":410,"context_line":"                    def delete_server():"},{"line_number":411,"context_line":"                        test_utils.call_and_ignore_notfound_exc("},{"line_number":412,"context_line":"                            servers.delete_client, vm[\u0027id\u0027])"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"                    self.addCleanup(self.delete_server)"},{"line_number":415,"context_line":"                    return vm"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_2ab69d3f","line":412,"in_reply_to":"7f287b81_d4ada99b","updated":"2017-08-29 10:07:33.000000000","message":"Done","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d79cde3b94e7623dd66060a60108dff8b1fd9ec2","unresolved":false,"context_lines":[{"line_number":415,"context_line":"                    return vm"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"                def test_with_servers(self):"},{"line_number":418,"context_line":"                    vm \u003d _a_good_helper(os.primary)"},{"line_number":419,"context_line":"                    vm_alt \u003d _a_good_helper(os.alt)"},{"line_number":420,"context_line":"                    cls.servers.show_server(vm[\u0027id\u0027])"},{"line_number":421,"context_line":"                    cls.servers_alt.show_server(vm_alt[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_9493a15b","line":418,"updated":"2017-08-27 22:28:15.000000000","message":"nit: self._a_good_helper(os.primary)","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fa566ddb84995ae8f503ba61e4f2ef5c781bcf51","unresolved":false,"context_lines":[{"line_number":415,"context_line":"                    return vm"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"                def test_with_servers(self):"},{"line_number":418,"context_line":"                    vm \u003d _a_good_helper(os.primary)"},{"line_number":419,"context_line":"                    vm_alt \u003d _a_good_helper(os.alt)"},{"line_number":420,"context_line":"                    cls.servers.show_server(vm[\u0027id\u0027])"},{"line_number":421,"context_line":"                    cls.servers_alt.show_server(vm_alt[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_0ab3e14e","line":418,"in_reply_to":"7f287b81_9493a15b","updated":"2017-08-29 10:07:33.000000000","message":"Done","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d79cde3b94e7623dd66060a60108dff8b1fd9ec2","unresolved":false,"context_lines":[{"line_number":437,"context_line":"        System wide resources shared by all tests could instead be provisioned"},{"line_number":438,"context_line":"        only once, before the test run."},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        Resources provisioned here must be cleaned-up during"},{"line_number":441,"context_line":"        `resource_cleanup`."},{"line_number":442,"context_line":"        \"\"\""},{"line_number":443,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_749cb569","line":440,"updated":"2017-08-27 22:28:15.000000000","message":"nit: No dash needed between cleaned-up.","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"fa566ddb84995ae8f503ba61e4f2ef5c781bcf51","unresolved":false,"context_lines":[{"line_number":437,"context_line":"        System wide resources shared by all tests could instead be provisioned"},{"line_number":438,"context_line":"        only once, before the test run."},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        Resources provisioned here must be cleaned-up during"},{"line_number":441,"context_line":"        `resource_cleanup`."},{"line_number":442,"context_line":"        \"\"\""},{"line_number":443,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_ea85355b","line":440,"in_reply_to":"7f287b81_749cb569","updated":"2017-08-29 10:07:33.000000000","message":"Done","commit_id":"aa276ee1676baea207f152ff075c48f9a3ba3b21"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"cacf537e2bb1fc537a248c27be8f608bb74fd3b6","unresolved":false,"context_lines":[{"line_number":422,"context_line":"                def test_with_servers(self):"},{"line_number":423,"context_line":"                    vm \u003d self._a_good_helper(os.primary)"},{"line_number":424,"context_line":"                    vm_alt \u003d self._a_good_helper(os.alt)"},{"line_number":425,"context_line":"                    cls.servers.sself.how_server(vm[\u0027id\u0027])"},{"line_number":426,"context_line":"                    cls.servers_alt.show_server(vm_alt[\u0027id\u0027])"},{"line_number":427,"context_line":"        \"\"\""},{"line_number":428,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_a70aaa1c","line":425,"range":{"start_line":425,"start_character":32,"end_line":425,"end_character":48},"updated":"2017-08-30 04:54:11.000000000","message":"It should be show_server, right? :)","commit_id":"d3dff0d41792c20ce4ead52f69754610ce5762cf"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cb68aedab4e6162462eabd343be79d1c0790cc0e","unresolved":false,"context_lines":[{"line_number":422,"context_line":"                def test_with_servers(self):"},{"line_number":423,"context_line":"                    vm \u003d self._a_good_helper(os.primary)"},{"line_number":424,"context_line":"                    vm_alt \u003d self._a_good_helper(os.alt)"},{"line_number":425,"context_line":"                    cls.servers.sself.how_server(vm[\u0027id\u0027])"},{"line_number":426,"context_line":"                    cls.servers_alt.show_server(vm_alt[\u0027id\u0027])"},{"line_number":427,"context_line":"        \"\"\""},{"line_number":428,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_a5c3d088","line":425,"range":{"start_line":425,"start_character":32,"end_line":425,"end_character":37},"updated":"2017-08-29 19:35:51.000000000","message":"s/sself/self","commit_id":"d3dff0d41792c20ce4ead52f69754610ce5762cf"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"47919d6ce6fcd12ab4b7e0da3df3cb3df039803f","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                    super(TestDoneItRight, cls).setup_clients()"},{"line_number":430,"context_line":"                    cls.servers \u003d cls.os_primary.ServersClient()"},{"line_number":431,"context_line":"                    cls.servers_alt \u003d cls.os_alt.ServersClient()"},{"line_number":432,"context_line":"                    cls.volume \u003d cls.os_primary.volume_v3.VolumesClient()"},{"line_number":433,"context_line":"                    cls.volume_hosts \u003d cls.os_primary.volume_v3.HostsClient()"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"                def _a_good_helper(self, clients):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f2577a7_930d6992","line":432,"range":{"start_line":432,"start_character":20,"end_line":432,"end_character":30},"updated":"2017-09-11 03:50:23.000000000","message":"I wonder why don\u0027t name volumes_client here?\nIt could easily be mistaken for a volume object that is returned by client.create_volume. cls.servers is the same.","commit_id":"6bc590ecfdd95c5bf6d27a8e94bb122c223a5070"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"38884424bf307238cf3a2d9c4869e7acf2d1fdda","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                    super(TestDoneItRight, cls).setup_clients()"},{"line_number":430,"context_line":"                    cls.servers \u003d cls.os_primary.ServersClient()"},{"line_number":431,"context_line":"                    cls.servers_alt \u003d cls.os_alt.ServersClient()"},{"line_number":432,"context_line":"                    cls.volume \u003d cls.os_primary.volume_v3.VolumesClient()"},{"line_number":433,"context_line":"                    cls.volume_hosts \u003d cls.os_primary.volume_v3.HostsClient()"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"                def _a_good_helper(self, clients):"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f2577a7_4246db23","line":432,"range":{"start_line":432,"start_character":20,"end_line":432,"end_character":30},"in_reply_to":"5f2577a7_930d6992","updated":"2017-09-12 20:59:11.000000000","message":"Actually this is not needed anymore so I will remove it.","commit_id":"6bc590ecfdd95c5bf6d27a8e94bb122c223a5070"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"47919d6ce6fcd12ab4b7e0da3df3cb3df039803f","unresolved":false,"context_lines":[{"line_number":447,"context_line":"                def test_with_servers(self):"},{"line_number":448,"context_line":"                    vm \u003d self._a_good_helper(os.primary)"},{"line_number":449,"context_line":"                    vm_alt \u003d self._a_good_helper(os.alt)"},{"line_number":450,"context_line":"                    cls.servers.self.show_server(vm[\u0027id\u0027])"},{"line_number":451,"context_line":"                    cls.servers_alt.show_server(vm_alt[\u0027id\u0027])"},{"line_number":452,"context_line":"        \"\"\""},{"line_number":453,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f2577a7_134859ca","line":450,"range":{"start_line":450,"start_character":32,"end_line":450,"end_character":37},"updated":"2017-09-11 03:50:23.000000000","message":"should be removed","commit_id":"6bc590ecfdd95c5bf6d27a8e94bb122c223a5070"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"38884424bf307238cf3a2d9c4869e7acf2d1fdda","unresolved":false,"context_lines":[{"line_number":447,"context_line":"                def test_with_servers(self):"},{"line_number":448,"context_line":"                    vm \u003d self._a_good_helper(os.primary)"},{"line_number":449,"context_line":"                    vm_alt \u003d self._a_good_helper(os.alt)"},{"line_number":450,"context_line":"                    cls.servers.self.show_server(vm[\u0027id\u0027])"},{"line_number":451,"context_line":"                    cls.servers_alt.show_server(vm_alt[\u0027id\u0027])"},{"line_number":452,"context_line":"        \"\"\""},{"line_number":453,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f2577a7_0250d3d3","line":450,"range":{"start_line":450,"start_character":32,"end_line":450,"end_character":37},"in_reply_to":"5f2577a7_134859ca","updated":"2017-09-12 20:59:11.000000000","message":"nice catch thanks","commit_id":"6bc590ecfdd95c5bf6d27a8e94bb122c223a5070"}]}
