)]}'
{"tempest_lib/common/rest_client.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f08611737bb3ae09514f8bc7b7ab12d58bc070b8","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    @property"},{"line_number":147,"context_line":"    def tenant_name(self):"},{"line_number":148,"context_line":"        \"\"\"The tenant/project being used for requests"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        :rtype: string"},{"line_number":151,"context_line":"        :return: The tenant/project name being used for requests"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_c8ee22b4","line":148,"updated":"2015-03-05 23:20:24.000000000","message":"We should unified the name, though.. :-P","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"252990f2fd4ebfa70a3e0b32f48168c54296ce12","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    @property"},{"line_number":147,"context_line":"    def tenant_name(self):"},{"line_number":148,"context_line":"        \"\"\"The tenant/project being used for requests"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        :rtype: string"},{"line_number":151,"context_line":"        :return: The tenant/project name being used for requests"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_32556050","line":148,"in_reply_to":"9a80dd14_c8ee22b4","updated":"2015-03-06 05:27:36.000000000","message":"Heh, well it\u0027ll always be tenant to me :)","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f08611737bb3ae09514f8bc7b7ab12d58bc070b8","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        \"\"\"Send a HTTP GET request using keystone service catalog and auth"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        :param str url: the relative url to send the post request to"},{"line_number":257,"context_line":"        :param dict body: the request body"},{"line_number":258,"context_line":"        :param dict headers: The headers to use for the request"},{"line_number":259,"context_line":"        :param dict extra_headers: If the headers returned by the get_headers()"},{"line_number":260,"context_line":"                                   method are to be used but additional headers"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_08367a03","line":257,"updated":"2015-03-05 23:20:24.000000000","message":"There is no \u0027body\u0027 parameter at this method :)","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"252990f2fd4ebfa70a3e0b32f48168c54296ce12","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        \"\"\"Send a HTTP GET request using keystone service catalog and auth"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        :param str url: the relative url to send the post request to"},{"line_number":257,"context_line":"        :param dict body: the request body"},{"line_number":258,"context_line":"        :param dict headers: The headers to use for the request"},{"line_number":259,"context_line":"        :param dict extra_headers: If the headers returned by the get_headers()"},{"line_number":260,"context_line":"                                   method are to be used but additional headers"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_f25bc884","line":257,"in_reply_to":"9a80dd14_08367a03","updated":"2015-03-06 05:27:36.000000000","message":"Done","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f08611737bb3ae09514f8bc7b7ab12d58bc070b8","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        \"\"\"Send a HTTP HEAD request using keystone service catalog and auth"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        :param str url: the relative url to send the post request to"},{"line_number":317,"context_line":"        :param dict body: the request body"},{"line_number":318,"context_line":"        :param dict headers: The headers to use for the request"},{"line_number":319,"context_line":"        :param dict extra_headers: If the headers returned by the get_headers()"},{"line_number":320,"context_line":"                                   method are to be used but additional headers"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_e3006903","line":317,"updated":"2015-03-05 23:20:24.000000000","message":"ditto","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"252990f2fd4ebfa70a3e0b32f48168c54296ce12","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        \"\"\"Send a HTTP HEAD request using keystone service catalog and auth"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        :param str url: the relative url to send the post request to"},{"line_number":317,"context_line":"        :param dict body: the request body"},{"line_number":318,"context_line":"        :param dict headers: The headers to use for the request"},{"line_number":319,"context_line":"        :param dict extra_headers: If the headers returned by the get_headers()"},{"line_number":320,"context_line":"                                   method are to be used but additional headers"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_92736c14","line":317,"in_reply_to":"9a80dd14_e3006903","updated":"2015-03-06 05:27:36.000000000","message":"Done","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f08611737bb3ae09514f8bc7b7ab12d58bc070b8","unresolved":false,"context_lines":[{"line_number":329,"context_line":"        \"\"\"Send a HTTP COPY request using keystone service catalog and auth"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        :param str url: the relative url to send the post request to"},{"line_number":332,"context_line":"        :param dict body: the request body"},{"line_number":333,"context_line":"        :param dict headers: The headers to use for the request"},{"line_number":334,"context_line":"        :param dict extra_headers: If the headers returned by the get_headers()"},{"line_number":335,"context_line":"                                   method are to be used but additional headers"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_230b6126","line":332,"updated":"2015-03-05 23:20:24.000000000","message":"ditto","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"252990f2fd4ebfa70a3e0b32f48168c54296ce12","unresolved":false,"context_lines":[{"line_number":329,"context_line":"        \"\"\"Send a HTTP COPY request using keystone service catalog and auth"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        :param str url: the relative url to send the post request to"},{"line_number":332,"context_line":"        :param dict body: the request body"},{"line_number":333,"context_line":"        :param dict headers: The headers to use for the request"},{"line_number":334,"context_line":"        :param dict extra_headers: If the headers returned by the get_headers()"},{"line_number":335,"context_line":"                                   method are to be used but additional headers"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_7278b8f2","line":332,"in_reply_to":"9a80dd14_230b6126","updated":"2015-03-06 05:27:36.000000000","message":"Done","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f08611737bb3ae09514f8bc7b7ab12d58bc070b8","unresolved":false,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        This method does a sanity check on whether the response from an HTTP"},{"line_number":470,"context_line":"        request conforms the HTTP RFC."},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        :raises ResponseWithNonEmptyBody: If the response with the status code"},{"line_number":473,"context_line":"                                          is not supposed to have a body"},{"line_number":474,"context_line":"        :raises ResponseWithEntity: If the response code is 205 but has an"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_a33591db","line":471,"updated":"2015-03-05 23:20:24.000000000","message":"Why don\u0027t you add params document here?","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"252990f2fd4ebfa70a3e0b32f48168c54296ce12","unresolved":false,"context_lines":[{"line_number":468,"context_line":""},{"line_number":469,"context_line":"        This method does a sanity check on whether the response from an HTTP"},{"line_number":470,"context_line":"        request conforms the HTTP RFC."},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        :raises ResponseWithNonEmptyBody: If the response with the status code"},{"line_number":473,"context_line":"                                          is not supposed to have a body"},{"line_number":474,"context_line":"        :raises ResponseWithEntity: If the response code is 205 but has an"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_5269f423","line":471,"in_reply_to":"9a80dd14_a33591db","updated":"2015-03-06 05:27:36.000000000","message":"Done","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f08611737bb3ae09514f8bc7b7ab12d58bc070b8","unresolved":false,"context_lines":[{"line_number":564,"context_line":"        :param str method: The HTTP verb to use for the request"},{"line_number":565,"context_line":"        :param str headers: Headers to use for the request if none are specifed"},{"line_number":566,"context_line":"                            the headers"},{"line_number":567,"context_line":"        :param str body: Body to to send with the request"},{"line_number":568,"context_line":"        :rtype: tuple"},{"line_number":569,"context_line":"        :return: a tuple with the first entry containing the response headers"},{"line_number":570,"context_line":"                 and the second the response body"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_c3ffe5a8","line":567,"updated":"2015-03-05 23:20:24.000000000","message":"I think extra_headers parameter is needed.","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"252990f2fd4ebfa70a3e0b32f48168c54296ce12","unresolved":false,"context_lines":[{"line_number":564,"context_line":"        :param str method: The HTTP verb to use for the request"},{"line_number":565,"context_line":"        :param str headers: Headers to use for the request if none are specifed"},{"line_number":566,"context_line":"                            the headers"},{"line_number":567,"context_line":"        :param str body: Body to to send with the request"},{"line_number":568,"context_line":"        :rtype: tuple"},{"line_number":569,"context_line":"        :return: a tuple with the first entry containing the response headers"},{"line_number":570,"context_line":"                 and the second the response body"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_326e4030","line":567,"in_reply_to":"9a80dd14_c3ffe5a8","updated":"2015-03-06 05:27:36.000000000","message":"Done","commit_id":"35ea61998300cf5626ce08211f168e1406887d3a"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"343cbf5a371ceb02417467518e8baf3db1789420","unresolved":false,"context_lines":[{"line_number":476,"context_line":"        :param str method: The HTTP verb of the request associated with the"},{"line_number":477,"context_line":"                           response being passed in."},{"line_number":478,"context_line":"        :param resp: The response headers"},{"line_number":479,"context_line":"        :param resp_body: The body of the response "},{"line_number":480,"context_line":"        :raises ResponseWithNonEmptyBody: If the response with the status code"},{"line_number":481,"context_line":"                                          is not supposed to have a body"},{"line_number":482,"context_line":"        :raises ResponseWithEntity: If the response code is 205 but has an"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_85b79139","line":479,"updated":"2015-03-06 15:22:34.000000000","message":"Done","commit_id":"f1c97759ae648061f95e1dbbfe582919f9fad5d5"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"9a24cc0bef1b8dc6a34b18134c6637885a63cd28","unresolved":false,"context_lines":[{"line_number":753,"context_line":""},{"line_number":754,"context_line":"    def wait_for_resource_deletion(self, id):"},{"line_number":755,"context_line":"        \"\"\"Waits for a resource to be deleted"},{"line_number":756,"context_line":"        "},{"line_number":757,"context_line":"        This method will loop over is_resource_deleted until either"},{"line_number":758,"context_line":"        is_resource_deleted returns True or the build timeout is reached. This"},{"line_number":759,"context_line":"        depends on is_resource_deleted being implemented"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_63253d08","line":756,"updated":"2015-03-06 13:28:12.000000000","message":"my editor does this too, meh","commit_id":"f1c97759ae648061f95e1dbbfe582919f9fad5d5"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"343cbf5a371ceb02417467518e8baf3db1789420","unresolved":false,"context_lines":[{"line_number":753,"context_line":""},{"line_number":754,"context_line":"    def wait_for_resource_deletion(self, id):"},{"line_number":755,"context_line":"        \"\"\"Waits for a resource to be deleted"},{"line_number":756,"context_line":"        "},{"line_number":757,"context_line":"        This method will loop over is_resource_deleted until either"},{"line_number":758,"context_line":"        is_resource_deleted returns True or the build timeout is reached. This"},{"line_number":759,"context_line":"        depends on is_resource_deleted being implemented"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_25a985df","line":756,"in_reply_to":"9a80dd14_63253d08","updated":"2015-03-06 15:22:34.000000000","message":"Done","commit_id":"f1c97759ae648061f95e1dbbfe582919f9fad5d5"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"9a24cc0bef1b8dc6a34b18134c6637885a63cd28","unresolved":false,"context_lines":[{"line_number":757,"context_line":"        This method will loop over is_resource_deleted until either"},{"line_number":758,"context_line":"        is_resource_deleted returns True or the build timeout is reached. This"},{"line_number":759,"context_line":"        depends on is_resource_deleted being implemented"},{"line_number":760,"context_line":"        "},{"line_number":761,"context_line":"        :param str id: The id of the resource to check"},{"line_number":762,"context_line":"        :raises TimeoutException: If the build_timeout has elapsed and the"},{"line_number":763,"context_line":"                                  resource still hasn\u0027t been deleted"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_a31bb5c8","line":760,"updated":"2015-03-06 13:28:12.000000000","message":"ditto","commit_id":"f1c97759ae648061f95e1dbbfe582919f9fad5d5"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"343cbf5a371ceb02417467518e8baf3db1789420","unresolved":false,"context_lines":[{"line_number":757,"context_line":"        This method will loop over is_resource_deleted until either"},{"line_number":758,"context_line":"        is_resource_deleted returns True or the build timeout is reached. This"},{"line_number":759,"context_line":"        depends on is_resource_deleted being implemented"},{"line_number":760,"context_line":"        "},{"line_number":761,"context_line":"        :param str id: The id of the resource to check"},{"line_number":762,"context_line":"        :raises TimeoutException: If the build_timeout has elapsed and the"},{"line_number":763,"context_line":"                                  resource still hasn\u0027t been deleted"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_45b11946","line":760,"in_reply_to":"9a80dd14_a31bb5c8","updated":"2015-03-06 15:22:34.000000000","message":"Done","commit_id":"f1c97759ae648061f95e1dbbfe582919f9fad5d5"}]}
