)]}'
{"tempest/api/volume/admin/test_volume_hosts.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"54e768622c3e69cb05d5572288467b3bc0f85db3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # Choose a random host for checking elements in host details"},{"line_number":40,"context_line":"        host_name \u003d random.choice(hosts)[\u0027host_name\u0027]"},{"line_number":41,"context_line":"        details \u003d self.admin_hosts_client.show_host(host_name)[\u0027host\u0027]"},{"line_number":42,"context_line":"        self.assertGreaterEqual(len(details), 1)"},{"line_number":43,"context_line":"        for detail in details:"},{"line_number":44,"context_line":"            self.assertIn(\u0027resource\u0027, detail)"},{"line_number":45,"context_line":"            for key in self.HOST_DETAIL_KEYS:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bff0334d_e6a67dc1","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":48},"updated":"2017-04-12 07:35:10.000000000","message":"self.assertNotEmpty(details)","commit_id":"b8594281fa0f2d49bed1e1af533b9e1fafdcbb20"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"e273b51a4b2b2db58283cd0fe9884f4da49e7a09","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        # Choose a random host for checking elements in host details"},{"line_number":40,"context_line":"        host_name \u003d random.choice(hosts)[\u0027host_name\u0027]"},{"line_number":41,"context_line":"        details \u003d self.admin_hosts_client.show_host(host_name)[\u0027host\u0027]"},{"line_number":42,"context_line":"        self.assertGreaterEqual(len(details), 1)"},{"line_number":43,"context_line":"        for detail in details:"},{"line_number":44,"context_line":"            self.assertIn(\u0027resource\u0027, detail)"},{"line_number":45,"context_line":"            for key in self.HOST_DETAIL_KEYS:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bff0334d_c6337961","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":48},"in_reply_to":"bff0334d_e6a67dc1","updated":"2017-04-12 07:42:19.000000000","message":"Done, thanks, :)","commit_id":"b8594281fa0f2d49bed1e1af533b9e1fafdcbb20"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"c895f31d6f8b608ab1c700bf241bfe738361412d","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class VolumeHostsAdminTestsJSON(base.BaseVolumeAdminTest):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    HOST_LIST_KEYS \u003d [\u0027service\u0027, \u0027host_name\u0027, \u0027last-update\u0027,"},{"line_number":25,"context_line":"                      \u0027zone\u0027, \u0027service-status\u0027, \u0027service-state\u0027]"},{"line_number":26,"context_line":"    HOST_DETAIL_KEYS \u003d [\u0027project\u0027, \u0027volume_count\u0027, \u0027snapshot_count\u0027,"},{"line_number":27,"context_line":"                        \u0027host\u0027, \u0027total_volume_gb\u0027, \u0027total_snapshot_gb\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_0ac84371","line":24,"updated":"2017-04-12 08:56:02.000000000","message":"Please don\u0027t make these class variables, there\u0027s no reason to. As it\u0027s not reused, inline these variables in the test itself.","commit_id":"557eb64ec49454d8689d854ef731d99a37783b48"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"ce160b5618818843ec203ca855a9af86db9bc220","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class VolumeHostsAdminTestsJSON(base.BaseVolumeAdminTest):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    HOST_LIST_KEYS \u003d [\u0027service\u0027, \u0027host_name\u0027, \u0027last-update\u0027,"},{"line_number":25,"context_line":"                      \u0027zone\u0027, \u0027service-status\u0027, \u0027service-state\u0027]"},{"line_number":26,"context_line":"    HOST_DETAIL_KEYS \u003d [\u0027project\u0027, \u0027volume_count\u0027, \u0027snapshot_count\u0027,"},{"line_number":27,"context_line":"                        \u0027host\u0027, \u0027total_volume_gb\u0027, \u0027total_snapshot_gb\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_36424210","line":24,"in_reply_to":"bff0334d_0ac84371","updated":"2017-04-12 14:32:25.000000000","message":"Done, thanks.","commit_id":"557eb64ec49454d8689d854ef731d99a37783b48"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"49dbb678996eeab02bc05f58b3b1aad03061205f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    @decorators.idempotent_id(\u0027d5f3efa2-6684-4190-9ced-1c2f526352ad\u0027)"},{"line_number":23,"context_line":"    def test_list_hosts(self):"},{"line_number":24,"context_line":"        hosts \u003d self.admin_hosts_client.list_hosts()[\u0027hosts\u0027]"},{"line_number":25,"context_line":"        self.assertGreaterEqual(len(hosts), 2, \"No. of hosts is \u003c 2, \""},{"line_number":26,"context_line":"                                \"response of list hosts is: % s\" % hosts)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        # Check elements in volume hosts list"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_34a21d9c","line":25,"range":{"start_line":25,"start_character":48,"end_line":25,"end_character":51},"updated":"2017-04-14 08:55:55.000000000","message":"\"count\" ?","commit_id":"fa23c9be4fc34d619f37351efe8c21cfc1069ad0"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"e47fa98832c6e3e738260764abdc9646252c1271","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    @decorators.idempotent_id(\u0027d5f3efa2-6684-4190-9ced-1c2f526352ad\u0027)"},{"line_number":23,"context_line":"    def test_list_hosts(self):"},{"line_number":24,"context_line":"        hosts \u003d self.admin_hosts_client.list_hosts()[\u0027hosts\u0027]"},{"line_number":25,"context_line":"        self.assertGreaterEqual(len(hosts), 2, \"No. of hosts is \u003c 2, \""},{"line_number":26,"context_line":"                                \"response of list hosts is: % s\" % hosts)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        # Check elements in volume hosts list"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_d575309a","line":25,"range":{"start_line":25,"start_character":48,"end_line":25,"end_character":51},"in_reply_to":"7ffa3b31_34a21d9c","updated":"2017-04-14 13:31:53.000000000","message":"Here will be changed to \u0027The count of ...\u0027","commit_id":"fa23c9be4fc34d619f37351efe8c21cfc1069ad0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"49dbb678996eeab02bc05f58b3b1aad03061205f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    @decorators.idempotent_id(\u002721168d57-b373-4b71-a3ac-f2c88f0c5d31\u0027)"},{"line_number":36,"context_line":"    def test_show_host(self):"},{"line_number":37,"context_line":"        hosts \u003d self.admin_hosts_client.list_hosts()[\u0027hosts\u0027]"},{"line_number":38,"context_line":"        self.assertGreaterEqual(len(hosts), 2, \"No. of hosts is \u003c 2, \""},{"line_number":39,"context_line":"                                \"response of list hosts is: % s\" % hosts)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Note(jeremyZ): Host in volume is always presented in two formats:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_94e1f1d3","line":38,"range":{"start_line":38,"start_character":48,"end_line":38,"end_character":51},"updated":"2017-04-14 08:55:55.000000000","message":"ditto","commit_id":"fa23c9be4fc34d619f37351efe8c21cfc1069ad0"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"e47fa98832c6e3e738260764abdc9646252c1271","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    @decorators.idempotent_id(\u002721168d57-b373-4b71-a3ac-f2c88f0c5d31\u0027)"},{"line_number":36,"context_line":"    def test_show_host(self):"},{"line_number":37,"context_line":"        hosts \u003d self.admin_hosts_client.list_hosts()[\u0027hosts\u0027]"},{"line_number":38,"context_line":"        self.assertGreaterEqual(len(hosts), 2, \"No. of hosts is \u003c 2, \""},{"line_number":39,"context_line":"                                \"response of list hosts is: % s\" % hosts)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Note(jeremyZ): Host in volume is always presented in two formats:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_75741c9a","line":38,"range":{"start_line":38,"start_character":48,"end_line":38,"end_character":51},"in_reply_to":"7ffa3b31_94e1f1d3","updated":"2017-04-14 13:31:53.000000000","message":"Done","commit_id":"fa23c9be4fc34d619f37351efe8c21cfc1069ad0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"49dbb678996eeab02bc05f58b3b1aad03061205f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        # not support show host details in format of \u003chost-name\u003e, it needs to"},{"line_number":44,"context_line":"        # choose a host in format \u003chost-name\u003e@\u003cdriver-name\u003e for testing."},{"line_number":45,"context_line":"        # When Mitaka is end of life, both formats can be chosen."},{"line_number":46,"context_line":"        chosen_host_name \u003d None"},{"line_number":47,"context_line":"        for host in hosts:"},{"line_number":48,"context_line":"            if \u0027@\u0027 in host[\u0027host_name\u0027]:"},{"line_number":49,"context_line":"                chosen_host_name \u003d host[\u0027host_name\u0027]"},{"line_number":50,"context_line":"                break"},{"line_number":51,"context_line":"        self.assertIsNotNone(chosen_host_name, \"No available host is found\")"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        # Get host details and check its elements"},{"line_number":54,"context_line":"        details \u003d self.admin_hosts_client.show_host(chosen_host_name)[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_f47f15a9","line":51,"range":{"start_line":46,"start_character":1,"end_line":51,"end_character":76},"updated":"2017-04-14 08:55:55.000000000","message":"how about:\n        host_names \u003d [host[\u0027host_name\u0027] for host in hosts\n                      if \u0027@\u0027 in host[\u0027host_name\u0027]]\n        self.assertNotEmpty(host_names, \"No available host is found\")","commit_id":"fa23c9be4fc34d619f37351efe8c21cfc1069ad0"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"e47fa98832c6e3e738260764abdc9646252c1271","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        # not support show host details in format of \u003chost-name\u003e, it needs to"},{"line_number":44,"context_line":"        # choose a host in format \u003chost-name\u003e@\u003cdriver-name\u003e for testing."},{"line_number":45,"context_line":"        # When Mitaka is end of life, both formats can be chosen."},{"line_number":46,"context_line":"        chosen_host_name \u003d None"},{"line_number":47,"context_line":"        for host in hosts:"},{"line_number":48,"context_line":"            if \u0027@\u0027 in host[\u0027host_name\u0027]:"},{"line_number":49,"context_line":"                chosen_host_name \u003d host[\u0027host_name\u0027]"},{"line_number":50,"context_line":"                break"},{"line_number":51,"context_line":"        self.assertIsNotNone(chosen_host_name, \"No available host is found\")"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        # Get host details and check its elements"},{"line_number":54,"context_line":"        details \u003d self.admin_hosts_client.show_host(chosen_host_name)[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ffa3b31_b5518411","line":51,"range":{"start_line":46,"start_character":1,"end_line":51,"end_character":76},"in_reply_to":"7ffa3b31_f47f15a9","updated":"2017-04-14 13:31:53.000000000","message":"Looks much better, :), thanks!","commit_id":"fa23c9be4fc34d619f37351efe8c21cfc1069ad0"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"26ac52945870bd2276fce9c5947f2af9b63c357e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        # \u003chost-name\u003e or \u003chost-name\u003e@\u003cdriver-name\u003e. As Mitaka (or prior) does"},{"line_number":47,"context_line":"        # not support show host details in format of \u003chost-name\u003e, it needs to"},{"line_number":48,"context_line":"        # choose a host in format \u003chost-name\u003e@\u003cdriver-name\u003e for testing."},{"line_number":49,"context_line":"        # When Mitaka is end of life, both formats can be chosen."},{"line_number":50,"context_line":"        host_names \u003d [host[\u0027host_name\u0027] for host in hosts"},{"line_number":51,"context_line":"                      if \u0027@\u0027 in host[\u0027host_name\u0027]]"},{"line_number":52,"context_line":"        self.assertNotEmpty(host_names, \"No available volume host is found\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"7ffa3b31_08948f36","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":65},"updated":"2017-04-15 20:59:28.000000000","message":"Mitaka is EOL.","commit_id":"4fb49183278b298a01556867807e5a11ef98027f"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"3b70b54272d556754130a4ae0ead77ab34ad89fd","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        # Since Mitaka is EOL, both formats can be chosen."},{"line_number":50,"context_line":"        host_names \u003d [host[\u0027host_name\u0027] for host in hosts"},{"line_number":51,"context_line":"                      if \u0027@\u0027 in host[\u0027host_name\u0027]]"},{"line_number":52,"context_line":"        self.assertNotEmpty(host_names, \"No available volume host is found\")"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        # Choose a random host to get and check its elements"},{"line_number":55,"context_line":"        host_details \u003d self.admin_hosts_client.show_host("}],"source_content_type":"text/x-python","patch_set":7,"id":"5ff73747_fa2db7a8","line":52,"range":{"start_line":52,"start_character":8,"end_line":52,"end_character":76},"updated":"2017-04-24 09:23:03.000000000","message":"will it better to show hosts in error message? just as line #43 does","commit_id":"05b8d2ead324ef725700ad408971f9ba382e423b"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"10a208c7ab44bb6015b601a193042e43921abb23","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        # Since Mitaka is EOL, both formats can be chosen."},{"line_number":50,"context_line":"        host_names \u003d [host[\u0027host_name\u0027] for host in hosts"},{"line_number":51,"context_line":"                      if \u0027@\u0027 in host[\u0027host_name\u0027]]"},{"line_number":52,"context_line":"        self.assertNotEmpty(host_names, \"No available volume host is found\")"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        # Choose a random host to get and check its elements"},{"line_number":55,"context_line":"        host_details \u003d self.admin_hosts_client.show_host("}],"source_content_type":"text/x-python","patch_set":7,"id":"5ff73747_6588e81e","line":52,"range":{"start_line":52,"start_character":8,"end_line":52,"end_character":76},"in_reply_to":"5ff73747_fa2db7a8","updated":"2017-04-24 09:32:19.000000000","message":"yes, it will be better, thanks!\nI\u0027ll update it in the next patch.","commit_id":"05b8d2ead324ef725700ad408971f9ba382e423b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"ccff48fb80410a37c51d35b5319bdf40a4e6fff0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                                \"response of list hosts is: %s\" % hosts)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Note(jeremyZ): Host in volume is always presented in two formats:"},{"line_number":46,"context_line":"        # \u003chost-name\u003e or \u003chost-name\u003e@\u003cdriver-name\u003e. As Mitaka (or prior) does"},{"line_number":47,"context_line":"        # not support show host details in format of \u003chost-name\u003e, it needs to"},{"line_number":48,"context_line":"        # choose a host in format \u003chost-name\u003e@\u003cdriver-name\u003e for testing."},{"line_number":49,"context_line":"        # Since Mitaka is EOL, both formats can be chosen."},{"line_number":50,"context_line":"        host_names \u003d [host[\u0027host_name\u0027] for host in hosts"},{"line_number":51,"context_line":"                      if \u0027@\u0027 in host[\u0027host_name\u0027]]"}],"source_content_type":"text/x-python","patch_set":9,"id":"5ff73747_c5e76912","line":48,"range":{"start_line":46,"start_character":51,"end_line":48,"end_character":72},"updated":"2017-04-26 10:33:59.000000000","message":"This comment is not valid anymore","commit_id":"a6ff2fe342b2467894b9f6200963d97f7cfab5c0"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"58047fc0f6fcdde4afa77a2ae2d9c1795da63467","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                                \"response of list hosts is: %s\" % hosts)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Note(jeremyZ): Host in volume is always presented in two formats:"},{"line_number":46,"context_line":"        # \u003chost-name\u003e or \u003chost-name\u003e@\u003cdriver-name\u003e. As Mitaka (or prior) does"},{"line_number":47,"context_line":"        # not support show host details in format of \u003chost-name\u003e, it needs to"},{"line_number":48,"context_line":"        # choose a host in format \u003chost-name\u003e@\u003cdriver-name\u003e for testing."},{"line_number":49,"context_line":"        # Since Mitaka is EOL, both formats can be chosen."},{"line_number":50,"context_line":"        host_names \u003d [host[\u0027host_name\u0027] for host in hosts"},{"line_number":51,"context_line":"                      if \u0027@\u0027 in host[\u0027host_name\u0027]]"}],"source_content_type":"text/x-python","patch_set":9,"id":"5ff73747_512f9b3e","line":48,"range":{"start_line":46,"start_character":51,"end_line":48,"end_character":72},"in_reply_to":"5ff73747_c5e76912","updated":"2017-04-26 12:38:45.000000000","message":"It will be removed, thanks!","commit_id":"a6ff2fe342b2467894b9f6200963d97f7cfab5c0"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"ccff48fb80410a37c51d35b5319bdf40a4e6fff0","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # choose a host in format \u003chost-name\u003e@\u003cdriver-name\u003e for testing."},{"line_number":49,"context_line":"        # Since Mitaka is EOL, both formats can be chosen."},{"line_number":50,"context_line":"        host_names \u003d [host[\u0027host_name\u0027] for host in hosts"},{"line_number":51,"context_line":"                      if \u0027@\u0027 in host[\u0027host_name\u0027]]"},{"line_number":52,"context_line":"        self.assertNotEmpty(host_names, \"No available volume host is found, \""},{"line_number":53,"context_line":"                                        \"all hosts that found are: %s\" % hosts)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5ff73747_a5e21d00","line":51,"range":{"start_line":51,"start_character":21,"end_line":51,"end_character":49},"updated":"2017-04-26 10:33:59.000000000","message":"This check is not needed anymore.","commit_id":"a6ff2fe342b2467894b9f6200963d97f7cfab5c0"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"58047fc0f6fcdde4afa77a2ae2d9c1795da63467","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # choose a host in format \u003chost-name\u003e@\u003cdriver-name\u003e for testing."},{"line_number":49,"context_line":"        # Since Mitaka is EOL, both formats can be chosen."},{"line_number":50,"context_line":"        host_names \u003d [host[\u0027host_name\u0027] for host in hosts"},{"line_number":51,"context_line":"                      if \u0027@\u0027 in host[\u0027host_name\u0027]]"},{"line_number":52,"context_line":"        self.assertNotEmpty(host_names, \"No available volume host is found, \""},{"line_number":53,"context_line":"                                        \"all hosts that found are: %s\" % hosts)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5ff73747_711737ef","line":51,"range":{"start_line":51,"start_character":21,"end_line":51,"end_character":49},"in_reply_to":"5ff73747_a5e21d00","updated":"2017-04-26 12:38:45.000000000","message":"Yes, these codes will be modified.","commit_id":"a6ff2fe342b2467894b9f6200963d97f7cfab5c0"}],"tempest/lib/services/volume/v2/hosts_client.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"c895f31d6f8b608ab1c700bf241bfe738361412d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":36,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def show_host(self, host_name):"},{"line_number":39,"context_line":"        \"\"\"Show host details.\"\"\""},{"line_number":40,"context_line":"        url \u003d \u0027os-hosts/%s\u0027 % host_name"},{"line_number":41,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_aaa6f7bf","line":38,"updated":"2017-04-12 08:56:02.000000000","message":"This needs a unit test.","commit_id":"557eb64ec49454d8689d854ef731d99a37783b48"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"ce160b5618818843ec203ca855a9af86db9bc220","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":36,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def show_host(self, host_name):"},{"line_number":39,"context_line":"        \"\"\"Show host details.\"\"\""},{"line_number":40,"context_line":"        url \u003d \u0027os-hosts/%s\u0027 % host_name"},{"line_number":41,"context_line":"        resp, body \u003d self.get(url)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_365b62f6","line":38,"in_reply_to":"bff0334d_aaa6f7bf","updated":"2017-04-12 14:32:25.000000000","message":"Done","commit_id":"557eb64ec49454d8689d854ef731d99a37783b48"}]}
