)]}'
{"tempest/api/compute/servers/test_device_tagging.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"2c912bac945a5ead11a51a384a28a88de7ec6a4f","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def verify_device_metadata(self, md_json):"},{"line_number":115,"context_line":"        try:"},{"line_number":116,"context_line":"            md_dict \u003d json.loads(md_json)"},{"line_number":117,"context_line":"        except (json_decoder.JSONDecodeError, TypeError):"},{"line_number":118,"context_line":"            return False"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_c688ecc7","line":116,"range":{"start_line":116,"start_character":12,"end_line":116,"end_character":41},"updated":"2020-04-16 06:59:48.000000000","message":"If md_json should not be empty, how about adding\nself.assertNotEmpty(md_json) after L116? So we can see that the testcase fails because of empty md_json","commit_id":"62975d1f17e3abafea24501a4f52891c3076828e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ad22de3849a72f4932bfaeea85de078cdb55d5c2","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def verify_device_metadata(self, md_json):"},{"line_number":115,"context_line":"        try:"},{"line_number":116,"context_line":"            md_dict \u003d json.loads(md_json)"},{"line_number":117,"context_line":"        except (json_decoder.JSONDecodeError, TypeError):"},{"line_number":118,"context_line":"            return False"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_badccf74","line":116,"range":{"start_line":116,"start_character":12,"end_line":116,"end_character":41},"in_reply_to":"3f4c43b2_0f2f87a1","updated":"2020-04-16 10:21:00.000000000","message":"Actually no, we should not raise an exception if the data is empty. Instead of this, we just return False and let the active wait (\"call_until_true\") continue sending the SSH command and checking the response.","commit_id":"62975d1f17e3abafea24501a4f52891c3076828e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2bb2db0f2fb504abe04cc796e940ec426751e255","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def verify_device_metadata(self, md_json):"},{"line_number":115,"context_line":"        try:"},{"line_number":116,"context_line":"            md_dict \u003d json.loads(md_json)"},{"line_number":117,"context_line":"        except (json_decoder.JSONDecodeError, TypeError):"},{"line_number":118,"context_line":"            return False"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_0f2f87a1","line":116,"range":{"start_line":116,"start_character":12,"end_line":116,"end_character":41},"in_reply_to":"3f4c43b2_c688ecc7","updated":"2020-04-16 10:04:14.000000000","message":"That\u0027s a good check to add.","commit_id":"62975d1f17e3abafea24501a4f52891c3076828e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"2c912bac945a5ead11a51a384a28a88de7ec6a4f","unresolved":false,"context_lines":[{"line_number":316,"context_line":"            raise cls.skipException(\u0027Metadata API must be enabled\u0027)"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    def verify_device_metadata(self, md_json):"},{"line_number":319,"context_line":"        md_dict \u003d json.loads(md_json)"},{"line_number":320,"context_line":"        found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]"},{"line_number":321,"context_line":"                         if d.get(\u0027tags\u0027)]"},{"line_number":322,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_c6b10c92","line":319,"range":{"start_line":319,"start_character":8,"end_line":319,"end_character":37},"updated":"2020-04-16 06:59:48.000000000","message":"Does this have the same issue?","commit_id":"62975d1f17e3abafea24501a4f52891c3076828e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2bb2db0f2fb504abe04cc796e940ec426751e255","unresolved":false,"context_lines":[{"line_number":316,"context_line":"            raise cls.skipException(\u0027Metadata API must be enabled\u0027)"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"    def verify_device_metadata(self, md_json):"},{"line_number":319,"context_line":"        md_dict \u003d json.loads(md_json)"},{"line_number":320,"context_line":"        found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]"},{"line_number":321,"context_line":"                         if d.get(\u0027tags\u0027)]"},{"line_number":322,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4c43b2_4f1a2f7d","line":319,"range":{"start_line":319,"start_character":8,"end_line":319,"end_character":37},"in_reply_to":"3f4c43b2_c6b10c92","updated":"2020-04-16 10:04:14.000000000","message":"I didn\u0027t see that in the tests, but is the same casuistry. Makes sense to modify this too.","commit_id":"62975d1f17e3abafea24501a4f52891c3076828e"}]}
