)]}'
{"tempest/api/compute/v3/admin/test_hosts.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b7170abada2c6e8fa4516a8b972f45a4475a96d5","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def setUpClass(cls):"},{"line_number":32,"context_line":"        super(HostsAdminV3TestJSON, cls).setUpClass()"},{"line_number":33,"context_line":"        cls.client \u003d cls.hosts_admin_client"},{"line_number":34,"context_line":"        cls.non_admin_client \u003d cls.hosts_client"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _get_host_name(self):"},{"line_number":37,"context_line":"        resp, hosts \u003d self.client.list_hosts()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FKfg%3D","line":34,"updated":"2013-11-13 14:33:15.000000000","message":"cls.non_admin_client is not used in this positive tests.","commit_id":"438e90163178e63afffc86d33cecaa67be840e1a"}],"tempest/services/compute/v3/xml/hosts_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7e7e8ee3eeb1fb4423f327db2ec47bfc0d96bb1d","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        resp, body \u003d self.get(\"os-hosts/%s\" % str(hostname), self.headers)"},{"line_number":49,"context_line":"        node \u003d etree.fromstring(body)"},{"line_number":50,"context_line":"        body \u003d [xml_to_json(node)]"},{"line_number":51,"context_line":"        return resp, body"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def update_host(self, hostname, status\u003dNone, maintenance_mode\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F97Ps%3D","line":50,"updated":"2013-12-04 12:07:07.000000000","message":"Could you explain the reason of this change?\n\nI checked nova code, but I could not find the difference between v2 and v3 related to show() method in hosts.py.\n\n * ./nova/api/openstack/compute/contrib/hosts.py\n * ./nova/api/openstack/compute/plugins/v3/hosts.py","commit_id":"ef95bd09649c48b4a2d35d97773844087814501b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d8dad0db112d9fc6405796c2c99e90612a24514f","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        resp, body \u003d self.get(\"os-hosts/%s\" % str(hostname), self.headers)"},{"line_number":49,"context_line":"        node \u003d etree.fromstring(body)"},{"line_number":50,"context_line":"        body \u003d [xml_to_json(node)]"},{"line_number":51,"context_line":"        return resp, body"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def update_host(self, hostname, status\u003dNone, maintenance_mode\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F9xnQ%3D","line":50,"in_reply_to":"AAAATn%2F93X0%3D","updated":"2013-12-06 03:06:48.000000000","message":"Hi Ivan,\n\nThanks for the explanation.\nI have read the commit log about this, but I can not find the reason.\nnow I am proposing the patch(Ib136661107a94f3e2c1607dad644dce0a3b42502) for distinguishing whether this change is necessary for v2.\n\nso please wait for Jenkins job.","commit_id":"ef95bd09649c48b4a2d35d97773844087814501b"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"b4d8aeb487e47355d3f5eae76a0f79b6517ed82d","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        resp, body \u003d self.get(\"os-hosts/%s\" % str(hostname), self.headers)"},{"line_number":49,"context_line":"        node \u003d etree.fromstring(body)"},{"line_number":50,"context_line":"        body \u003d [xml_to_json(node)]"},{"line_number":51,"context_line":"        return resp, body"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def update_host(self, hostname, status\u003dNone, maintenance_mode\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F9yNA%3D","line":50,"in_reply_to":"AAAATn%2F93X0%3D","updated":"2013-12-05 22:51:16.000000000","message":"Perhaps this is fine but this test passes in v2 with or without this change, and fails in v3 unless you make this change. You say that nothing has changed in nova between v2 and v3 but something must have. I\u0027d like to see an explanation before giving a +2.","commit_id":"ef95bd09649c48b4a2d35d97773844087814501b"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"9be059c51b06e3c8bf8a29b7eb6c9993610d4689","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        resp, body \u003d self.get(\"os-hosts/%s\" % str(hostname), self.headers)"},{"line_number":49,"context_line":"        node \u003d etree.fromstring(body)"},{"line_number":50,"context_line":"        body \u003d [xml_to_json(node)]"},{"line_number":51,"context_line":"        return resp, body"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def update_host(self, hostname, status\u003dNone, maintenance_mode\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F93X0%3D","line":50,"in_reply_to":"AAAATn%2F97Ps%3D","updated":"2013-12-05 03:47:40.000000000","message":"hi. Ken\u0027ichi Ohmichi\n\nyes. there is no difference  between v2 and v3 related to show() method in hosts.py\nthis change just want to reserves the root element in the transformation from xml to json.\n\nthe xml repsponding is the following:\n\u003chost\u003e\u003cresource\u003e\u003cproject\u003e(total)\u003c/project\u003e\u003cmemory_mb\u003e7712\u003c/memory_mb\u003e\u003chost\u003ezhubo\u003c/host\u003e\u003ccpu\u003e4\u003c/cpu\u003e\u003cdisk_gb\u003e91\u003c/disk_gb\u003e\u003c/resource\u003e\u003cresource\u003e\u003cproject\u003e(used_now)\u003c/project\u003e\u003cmemory_mb\u003e512\u003c/memory_mb\u003e\u003chost\u003ezhubo\u003c/host\u003e\u003ccpu\u003e0\u003c/cpu\u003e\u003cdisk_gb\u003e0\u003c/disk_gb\u003e\u003c/resource\u003e\u003cresource\u003e\u003cproject\u003e(used_max)\u003c/project\u003e\u003cmemory_mb\u003e0\u003c/memory_mb\u003e\u003chost\u003ezhubo\u003c/host\u003e\u003ccpu\u003e0\u003c/cpu\u003e\u003cdisk_gb\u003e0\u003c/disk_gb\u003e\u003c/resource\u003e\u003c/host\u003e\n\nIf we don\u0027t make this change the element resource will be ignored. (the root element host ignored in xml_to_json).\n\nWhy can this work in v2 tests? Because we don\u0027t use the xml client in v2 tests.\nI\u0027m not sure if there is a special reason in v2 tests. so just make the change in v3 client. \nhttps://github.com/openstack/tempest/blob/master/tempest/clients.py#L299","commit_id":"ef95bd09649c48b4a2d35d97773844087814501b"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"20f015e90248ba248908b81632442b00802b1b2b","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        resp, body \u003d self.get(\"os-hosts/%s\" % str(hostname), self.headers)"},{"line_number":49,"context_line":"        node \u003d etree.fromstring(body)"},{"line_number":50,"context_line":"        body \u003d [xml_to_json(node)]"},{"line_number":51,"context_line":"        return resp, body"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def update_host(self, hostname, status\u003dNone, maintenance_mode\u003dNone,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F9xJc%3D","line":50,"updated":"2013-12-06 06:32:26.000000000","message":"This change seems necessary.\n\nThe reason of v2 xml test skip would be that v2 update-host API does not support xml request.\n\nThe detail is on Ib136661107a94f3e2c1607dad644dce0a3b42502 .","commit_id":"deed32132ccb35c699afa8ac2d2dd921bf6054af"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"20f015e90248ba248908b81632442b00802b1b2b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \"\"\"Update a host.\"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        request_body \u003d Element(status\u003dstatus,"},{"line_number":58,"context_line":"                               maintenance_mode\u003dmaintenance_mode)"},{"line_number":59,"context_line":"        if kwargs:"},{"line_number":60,"context_line":"            for k, v in kwargs.iteritem():"},{"line_number":61,"context_line":"                request_body.add_attr(k, v)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F9xIs%3D","line":58,"updated":"2013-12-06 06:32:26.000000000","message":"This Element does not fit Nova v3 update-host API.\n\nInside Nova, the body is deserialized to:\n\n {\u0027host\u0027:\n    {\u0027status\u0027: \u0027enable\u0027,\n     \u0027maintenance_mode\u0027: \u0027enable\u0027\n    }\n }\n\nSo here would be\n\n request_body \u003d Element(\u0027host\u0027,\n                  status\u003dstatus,\n                  maintenance_mode\u003dmaintenance_mode)","commit_id":"deed32132ccb35c699afa8ac2d2dd921bf6054af"},{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"d2da95ed61918b5a884925c89378300fc2550459","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \"\"\"Update a host.\"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        request_body \u003d Element(status\u003dstatus,"},{"line_number":58,"context_line":"                               maintenance_mode\u003dmaintenance_mode)"},{"line_number":59,"context_line":"        if kwargs:"},{"line_number":60,"context_line":"            for k, v in kwargs.iteritem():"},{"line_number":61,"context_line":"                request_body.add_attr(k, v)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F9wqY%3D","line":58,"in_reply_to":"AAAATn%2F9xIs%3D","updated":"2013-12-06 09:15:27.000000000","message":"hi, thanks for your help. I find why this patch can pass. Because in test_hosts_negative, I use the v2 client by mistake. I will wait your patch merged, then update this one.","commit_id":"deed32132ccb35c699afa8ac2d2dd921bf6054af"}]}
