)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"731a7dff18fdc78415db91ad45aab0f0e35976f0","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-03-08 16:57:05 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix API Error on hypervisor-uptime API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I84bfde4e494daf1c87ef79a758612b5f2fd15e5e"},{"line_number":10,"context_line":"Closes-Bug: #1514320"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1af94dfe_aadf53d4","line":8,"updated":"2016-03-18 22:19:25.000000000","message":"Please write the reason of this patch as the content also.","commit_id":"3fae530fe5dec24e8e18c3c3cd88c23c89af6b2d"}],"nova/api/openstack/compute/hypervisors.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"51d8e278ed7cc9141656652b586f827e927cef28","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            context, hyp.host)"},{"line_number":115,"context_line":"        return dict(hypervisor\u003dself._view_hypervisor(hyp, service, True))"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    @extensions.expected_errors((404, 501, 400))"},{"line_number":118,"context_line":"    def uptime(self, req, id):"},{"line_number":119,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":120,"context_line":"        authorize(context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa0719c6_cf70ef42","line":117,"range":{"start_line":117,"start_character":33,"end_line":117,"end_character":46},"updated":"2016-03-24 11:55:38.000000000","message":"We better to order this list, 400, 404, 501","commit_id":"7aa9f24b221db8c00d09aa62554ccbd2edaa83a7"}],"nova/api/openstack/compute/legacy_v2/contrib/hypervisors.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"dc19d39d5ad051fb17a51dc640d0b336c1dac328","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            raise webob.exc.HTTPNotImplemented(explanation\u003dmsg)"},{"line_number":152,"context_line":"        except exception.ComputeServiceUnavailable:"},{"line_number":153,"context_line":"            msg \u003d _(\"Hypervisor with ID \u0027%s\u0027 is down.\") % id"},{"line_number":154,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        service \u003d self.host_api.service_get_by_compute_host(context, host)"},{"line_number":157,"context_line":"        return dict(hypervisor\u003dself._view_hypervisor(hyp, service, False,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afc51ec_ccedffb8","line":154,"range":{"start_line":154,"start_character":43,"end_line":154,"end_character":58},"updated":"2016-03-15 04:48:58.000000000","message":"we can just use the message from exception. Something like: ex.format_message()","commit_id":"3fae530fe5dec24e8e18c3c3cd88c23c89af6b2d"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"681dd8f34fea16a31ef0a8c861d66cf7089793b0","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            raise webob.exc.HTTPNotImplemented(explanation\u003dmsg)"},{"line_number":152,"context_line":"        except exception.ComputeServiceUnavailable:"},{"line_number":153,"context_line":"            msg \u003d _(\"Hypervisor with ID \u0027%s\u0027 is down.\") % id"},{"line_number":154,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        service \u003d self.host_api.service_get_by_compute_host(context, host)"},{"line_number":157,"context_line":"        return dict(hypervisor\u003dself._view_hypervisor(hyp, service, False,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_ca761f05","line":154,"range":{"start_line":154,"start_character":43,"end_line":154,"end_character":58},"in_reply_to":"3afc51ec_ccedffb8","updated":"2016-03-18 22:18:41.000000000","message":"Yeah, nice point. The original exception msg is\n\n \"Compute service of %(host)s is unavailable at this time.\"\n\nSo it is nice to pass the original one as Alex said.","commit_id":"3fae530fe5dec24e8e18c3c3cd88c23c89af6b2d"}],"nova/tests/functional/api_sample_tests/test_hypervisors.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"51d8e278ed7cc9141656652b586f827e927cef28","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        }"},{"line_number":110,"context_line":"        self._verify_response(\u0027hypervisors-uptime-resp\u0027, subs, response, 200)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def test_hypervisors_down_uptime(self):"},{"line_number":113,"context_line":"        def fake_get_host_uptime(self, context, hyp):"},{"line_number":114,"context_line":"            raise exception.ComputeServiceUnavailable(host\u003d\u0027dummy\u0027)"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa0719c6_4f37bf4c","line":112,"updated":"2016-03-24 11:55:38.000000000","message":"I think it is ok without sample test for this case. The API sample test is for testing the input and output, and generate sample file.","commit_id":"7aa9f24b221db8c00d09aa62554ccbd2edaa83a7"}]}
