)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"be1537060fdbdaa95a3ee0345a1ca869dccdce69","unresolved":false,"context_lines":[{"line_number":5136,"context_line":"        else:"},{"line_number":5137,"context_line":"            cpu \u003d self._vcpu_model_to_cpu_config(guest_cpu)"},{"line_number":5138,"context_line":""},{"line_number":5139,"context_line":"        u \u003d (\"http://libvirt.org/html/libvirt-libvirt-host.html\""},{"line_number":5140,"context_line":"             \"#virCPUCompareResult\")"},{"line_number":5141,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(u)s\")"},{"line_number":5142,"context_line":"        # unknown character exists in xml, then libvirt complains"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_6ff94f80","line":5139,"updated":"2015-03-27 15:30:40.000000000","message":"Do we really want to provide an url as error? Can we provide an useful log by giving some information about the return from libvirt and what that means?","commit_id":"0576bdd6e53cba6f3eee046db752f717a439fcbb"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"3b8dcdaa65226de0f4a708a21a3d088009a20666","unresolved":false,"context_lines":[{"line_number":5136,"context_line":"        else:"},{"line_number":5137,"context_line":"            cpu \u003d self._vcpu_model_to_cpu_config(guest_cpu)"},{"line_number":5138,"context_line":""},{"line_number":5139,"context_line":"        u \u003d (\"http://libvirt.org/html/libvirt-libvirt-host.html\""},{"line_number":5140,"context_line":"             \"#virCPUCompareResult\")"},{"line_number":5141,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(u)s\")"},{"line_number":5142,"context_line":"        # unknown character exists in xml, then libvirt complains"}],"source_content_type":"text/x-python","patch_set":1,"id":"da9b358b_1b2b53ed","line":5139,"in_reply_to":"fa963961_6ff94f80","updated":"2015-03-28 04:59:49.000000000","message":"Okay let me see if we ca put something useful information, thanks","commit_id":"0576bdd6e53cba6f3eee046db752f717a439fcbb"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8729fceb188e549ec89d08f155b1b48b717d21b7","unresolved":false,"context_lines":[{"line_number":5139,"context_line":"        u \u003d \"http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult\""},{"line_number":5140,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(u)s\")"},{"line_number":5141,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5142,"context_line":"        try:"},{"line_number":5143,"context_line":"            ret \u003d self._conn.compareCPU(cpu.to_xml(), 0)"},{"line_number":5144,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":5145,"context_line":"            LOG.error(m, {\u0027ret\u0027: e, \u0027u\u0027: u})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da9b358b_f1c43d93","side":"PARENT","line":5142,"updated":"2015-03-30 06:58:33.000000000","message":"All of this algorithm seems to be difficult to maintain. Can we try to make it better ?\n\n  LOG.debug(\"Starting cpu compare for guest %s...\", instance.id)\n  result \u003d None\n  try:\n    result \u003d self._conn.compareCPU(cpu.to_xml(), 0)\n  except libvirt.libvirtError as e:\n    pass\n  finally:\n    LOG.debug(\"Cpu compare result for guest %s, %s\", instance.id, r.get(result))\n    if result is None:\n       LOG.debug(\"Libvirt was not able to compare guest %s cpu, see xml\u003d%s\", instance.id, dom.xml())\n       raise exception.MigrationPreCheckError(...)\n    elif result \u003c\u003d 0:\n      raise exception.InvalidCPUInfo(...)","commit_id":"357254ac105a097854cd0767f9a10e6dbdc2bf30"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"e967c001b04c936de5fcdd94b8a7bccf7351ca42","unresolved":false,"context_lines":[{"line_number":5139,"context_line":"        u \u003d \"http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult\""},{"line_number":5140,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(u)s\")"},{"line_number":5141,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5142,"context_line":"        try:"},{"line_number":5143,"context_line":"            ret \u003d self._conn.compareCPU(cpu.to_xml(), 0)"},{"line_number":5144,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":5145,"context_line":"            LOG.error(m, {\u0027ret\u0027: e, \u0027u\u0027: u})"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_837919ff","side":"PARENT","line":5142,"in_reply_to":"baa041b7_85d80455","updated":"2015-04-02 11:26:51.000000000","message":"hi sahid, thanks for your review. updated","commit_id":"357254ac105a097854cd0767f9a10e6dbdc2bf30"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"11c9163defe468cc3cbb6df4551d0d7da2993f9b","unresolved":false,"context_lines":[{"line_number":5139,"context_line":"        u \u003d \"http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult\""},{"line_number":5140,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(u)s\")"},{"line_number":5141,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5142,"context_line":"        try:"},{"line_number":5143,"context_line":"            ret \u003d self._conn.compareCPU(cpu.to_xml(), 0)"},{"line_number":5144,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":5145,"context_line":"            LOG.error(m, {\u0027ret\u0027: e, \u0027u\u0027: u})"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_85d80455","side":"PARENT","line":5142,"in_reply_to":"baa041b7_b2e593a9","updated":"2015-04-02 09:08:19.000000000","message":"Yes... I wanted to make the algorithm better but it is pain for nothing more...\n\n  result, error \u003d None, None\n  try:\n    result \u003d self._conn.compareCPU(cpu.to_xml(), 0)\n  except libvirt.libvirtError as error:\n    pass  # An exception can be raised for a bad xml formatting\n  finally:\n    if error:\n      raise exception.MigrationPreCheckError(...)\n    elif result \u003c\u003d 0:\n      raise exception.InvalidCPUInfo(...)\n\nAnyway your change seems good for me. Thanks","commit_id":"357254ac105a097854cd0767f9a10e6dbdc2bf30"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"7818d15f83a4dec41127ddec0443d0efe2a90e23","unresolved":false,"context_lines":[{"line_number":5139,"context_line":"        u \u003d \"http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult\""},{"line_number":5140,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(u)s\")"},{"line_number":5141,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5142,"context_line":"        try:"},{"line_number":5143,"context_line":"            ret \u003d self._conn.compareCPU(cpu.to_xml(), 0)"},{"line_number":5144,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":5145,"context_line":"            LOG.error(m, {\u0027ret\u0027: e, \u0027u\u0027: u})"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_b2e593a9","side":"PARENT","line":5142,"in_reply_to":"baa041b7_c0573ec9","updated":"2015-04-02 03:33:46.000000000","message":"if we\ntry\n   ...\nfinally:\n   ...\n\nthen we don\u0027t care about the exception libvirtd raised in 5150?","commit_id":"357254ac105a097854cd0767f9a10e6dbdc2bf30"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"de6c3bafc34ca5541c006b5ab06f5bb4c4b01ab1","unresolved":false,"context_lines":[{"line_number":5139,"context_line":"        u \u003d \"http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult\""},{"line_number":5140,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(u)s\")"},{"line_number":5141,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5142,"context_line":"        try:"},{"line_number":5143,"context_line":"            ret \u003d self._conn.compareCPU(cpu.to_xml(), 0)"},{"line_number":5144,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":5145,"context_line":"            LOG.error(m, {\u0027ret\u0027: e, \u0027u\u0027: u})"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_c0573ec9","side":"PARENT","line":5142,"in_reply_to":"da9b358b_d74c3272","updated":"2015-04-01 13:30:33.000000000","message":"Hum yes i made mistake about the instance_id, then i wanted to speak about cpu.xml() sure :)\n\n\n\"finally\" will be executed in all cases (even if exception is raised) actually you could do\n\n  try\n    ..\n  finally:\n    ...","commit_id":"357254ac105a097854cd0767f9a10e6dbdc2bf30"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"fb957ba13e3e2865b32887e64d6e4d51c6b96fc5","unresolved":false,"context_lines":[{"line_number":5139,"context_line":"        u \u003d \"http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult\""},{"line_number":5140,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(u)s\")"},{"line_number":5141,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5142,"context_line":"        try:"},{"line_number":5143,"context_line":"            ret \u003d self._conn.compareCPU(cpu.to_xml(), 0)"},{"line_number":5144,"context_line":"        except libvirt.libvirtError as e:"},{"line_number":5145,"context_line":"            LOG.error(m, {\u0027ret\u0027: e, \u0027u\u0027: u})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da9b358b_d74c3272","side":"PARENT","line":5142,"in_reply_to":"da9b358b_f1c43d93","updated":"2015-04-01 02:09:26.000000000","message":"hi sahid,\nin this function , there is no instance, so we can\u0027t know what is the instance id is.\nand neither for guest\u0027s dom xml.\n\nif you\u0027d like to know what is the guest vcpu is cpu.to_xml() will LOG a debug message.\n\nand besides,  if just simple pass the libvirtError(e), only check the result, then we will miss something ...( I mean except compare failed, we may get other libvirt error , this will be helpful for debugging)\n\nyour thought ?","commit_id":"357254ac105a097854cd0767f9a10e6dbdc2bf30"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"4082d7e4abbec673404fc9590f5eb24075f6f0d8","unresolved":false,"context_lines":[{"line_number":5157,"context_line":"            raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5158,"context_line":"                                                       \u0027r\u0027: r})"},{"line_number":5159,"context_line":""},{"line_number":5160,"context_line":"        LOG.debug(\"Cpu compare result is %s.\" % r.get(ret))"},{"line_number":5161,"context_line":""},{"line_number":5162,"context_line":"    def _create_shared_storage_test_file(self):"},{"line_number":5163,"context_line":"        \"\"\"Makes tmpfile under CONF.instances_path.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_09d3113a","line":5160,"updated":"2015-04-01 14:39:58.000000000","message":"in this case, I think give more info about what\u0027s been compared \nduring multi thread will be helpful","commit_id":"63557ae9609ee79d9b5914f209c5740c32798338"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"7818d15f83a4dec41127ddec0443d0efe2a90e23","unresolved":false,"context_lines":[{"line_number":5157,"context_line":"            raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5158,"context_line":"                                                       \u0027r\u0027: r})"},{"line_number":5159,"context_line":""},{"line_number":5160,"context_line":"        LOG.debug(\"Cpu compare result is %s.\" % r.get(ret))"},{"line_number":5161,"context_line":""},{"line_number":5162,"context_line":"    def _create_shared_storage_test_file(self):"},{"line_number":5163,"context_line":"        \"\"\"Makes tmpfile under CONF.instances_path.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_f2543b55","line":5160,"in_reply_to":"baa041b7_09d3113a","updated":"2015-04-02 03:33:46.000000000","message":"hi jichenjc, sorry, I can\u0027t understand you.\ncan you be more detail?\n\nwhat\u0027s kind information you require?\nany effection if in multiple thread.","commit_id":"63557ae9609ee79d9b5914f209c5740c32798338"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"a2b47d8ebe85ef94a0ab0fecd4671afe065343f8","unresolved":false,"context_lines":[{"line_number":5157,"context_line":"            raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5158,"context_line":"                                                       \u0027r\u0027: r})"},{"line_number":5159,"context_line":""},{"line_number":5160,"context_line":"        LOG.debug(\"Cpu compare result is %s.\" % r.get(ret))"},{"line_number":5161,"context_line":""},{"line_number":5162,"context_line":"    def _create_shared_storage_test_file(self):"},{"line_number":5163,"context_line":"        \"\"\"Makes tmpfile under CONF.instances_path.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_9c186186","line":5160,"in_reply_to":"baa041b7_7cc11de4","updated":"2015-04-02 07:39:15.000000000","message":"hi jichenjc,\n1. this log is not only show 0/1, it will show the message from 5144.\n2. cpu info will be log from 5149, check the defination of cpu.xml(), there are log information.\nEli.","commit_id":"63557ae9609ee79d9b5914f209c5740c32798338"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"11c9163defe468cc3cbb6df4551d0d7da2993f9b","unresolved":false,"context_lines":[{"line_number":5157,"context_line":"            raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5158,"context_line":"                                                       \u0027r\u0027: r})"},{"line_number":5159,"context_line":""},{"line_number":5160,"context_line":"        LOG.debug(\"Cpu compare result is %s.\" % r.get(ret))"},{"line_number":5161,"context_line":""},{"line_number":5162,"context_line":"    def _create_shared_storage_test_file(self):"},{"line_number":5163,"context_line":"        \"\"\"Makes tmpfile under CONF.instances_path.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_c5c5ec5b","line":5160,"in_reply_to":"baa041b7_9c186186","updated":"2015-04-02 09:08:19.000000000","message":"This log will be printed only for \u003e0 - I think you should use a comma instead of \u0027%\u0027\n\n  LOG.debug(\"Cpu compare result is %s.\", r.get(ret))","commit_id":"63557ae9609ee79d9b5914f209c5740c32798338"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"e967c001b04c936de5fcdd94b8a7bccf7351ca42","unresolved":false,"context_lines":[{"line_number":5157,"context_line":"            raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5158,"context_line":"                                                       \u0027r\u0027: r})"},{"line_number":5159,"context_line":""},{"line_number":5160,"context_line":"        LOG.debug(\"Cpu compare result is %s.\" % r.get(ret))"},{"line_number":5161,"context_line":""},{"line_number":5162,"context_line":"    def _create_shared_storage_test_file(self):"},{"line_number":5163,"context_line":"        \"\"\"Makes tmpfile under CONF.instances_path.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_637e15e6","line":5160,"in_reply_to":"baa041b7_c5c5ec5b","updated":"2015-04-02 11:26:51.000000000","message":"Done","commit_id":"63557ae9609ee79d9b5914f209c5740c32798338"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"5c78dd183e35e6a0e7d8ef33d58cd2000766fa82","unresolved":false,"context_lines":[{"line_number":5157,"context_line":"            raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5158,"context_line":"                                                       \u0027r\u0027: r})"},{"line_number":5159,"context_line":""},{"line_number":5160,"context_line":"        LOG.debug(\"Cpu compare result is %s.\" % r.get(ret))"},{"line_number":5161,"context_line":""},{"line_number":5162,"context_line":"    def _create_shared_storage_test_file(self):"},{"line_number":5163,"context_line":"        \"\"\"Makes tmpfile under CONF.instances_path.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_7cc11de4","line":5160,"in_reply_to":"baa041b7_f2543b55","updated":"2015-04-02 07:34:33.000000000","message":"this new log will be \nCpu compare result is 0 or 1 \ncan we also input cpu info here to make it more helpful?","commit_id":"63557ae9609ee79d9b5914f209c5740c32798338"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3f27aa08ea0b3191c0996739c279702a7298525c","unresolved":false,"context_lines":[{"line_number":5142,"context_line":"             0: \u0027VIR_CPU_COMPARE_INCOMPATIBLE\u0027,"},{"line_number":5143,"context_line":"             1: \u0027VIR_CPU_COMPARE_IDENTICAL\u0027,"},{"line_number":5144,"context_line":"             2: \u0027VIR_CPU_COMPARE_SUPERSET\u0027,"},{"line_number":5145,"context_line":"             3: \u0027VIR_CPU_COMPARE_LAST\u0027}"},{"line_number":5146,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(r)s\")"},{"line_number":5147,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5148,"context_line":"        result, error \u003d None, None"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_d2900598","line":5145,"updated":"2015-04-02 13:28:45.000000000","message":"Maybe we can provide more human readable string at here.","commit_id":"785e61219d16354453165912b2bfc20a504ec1cd"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3f27aa08ea0b3191c0996739c279702a7298525c","unresolved":false,"context_lines":[{"line_number":5154,"context_line":"            if error:"},{"line_number":5155,"context_line":"                LOG.error(m, {\u0027ret\u0027: error, \u0027r\u0027: r})"},{"line_number":5156,"context_line":"                raise exception.MigrationPreCheckError("},{"line_number":5157,"context_line":"                    reason\u003dm % {\u0027ret\u0027: error, \u0027r\u0027: r})"},{"line_number":5158,"context_line":"            elif result \u003c\u003d 0:"},{"line_number":5159,"context_line":"                raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5160,"context_line":"                                                           \u0027r\u0027: r})"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_92827d51","line":5157,"updated":"2015-04-02 13:28:45.000000000","message":"I prefer move this back to line 5152. This is the process for exception raised, so it still should be at line 5152","commit_id":"785e61219d16354453165912b2bfc20a504ec1cd"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"e19e1d6f3bb3f564e93a6c0b825bd0adc80ba089","unresolved":false,"context_lines":[{"line_number":5154,"context_line":"            if error:"},{"line_number":5155,"context_line":"                LOG.error(m, {\u0027ret\u0027: error, \u0027r\u0027: r})"},{"line_number":5156,"context_line":"                raise exception.MigrationPreCheckError("},{"line_number":5157,"context_line":"                    reason\u003dm % {\u0027ret\u0027: error, \u0027r\u0027: r})"},{"line_number":5158,"context_line":"            elif result \u003c\u003d 0:"},{"line_number":5159,"context_line":"                raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5160,"context_line":"                                                           \u0027r\u0027: r})"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_8957e801","line":5157,"in_reply_to":"baa041b7_6e6955be","updated":"2015-04-02 19:14:34.000000000","message":"Yes it is my fault i have proposed to Eli this algorithm - Since we can have error or result initialized i wanted to make them in a same block but i can understand the complain from Alex.","commit_id":"785e61219d16354453165912b2bfc20a504ec1cd"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"1b758e73a7e6eaa0bdaee4b8f454fe2ae834af8c","unresolved":false,"context_lines":[{"line_number":5154,"context_line":"            if error:"},{"line_number":5155,"context_line":"                LOG.error(m, {\u0027ret\u0027: error, \u0027r\u0027: r})"},{"line_number":5156,"context_line":"                raise exception.MigrationPreCheckError("},{"line_number":5157,"context_line":"                    reason\u003dm % {\u0027ret\u0027: error, \u0027r\u0027: r})"},{"line_number":5158,"context_line":"            elif result \u003c\u003d 0:"},{"line_number":5159,"context_line":"                raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5160,"context_line":"                                                           \u0027r\u0027: r})"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_6e6955be","line":5157,"in_reply_to":"baa041b7_92827d51","updated":"2015-04-02 14:36:46.000000000","message":"Have you check ps2?","commit_id":"785e61219d16354453165912b2bfc20a504ec1cd"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"065fe57fcd13f96931ac8522f5c9faf2b76e54e6","unresolved":false,"context_lines":[{"line_number":5154,"context_line":"            if error:"},{"line_number":5155,"context_line":"                LOG.error(m, {\u0027ret\u0027: error, \u0027r\u0027: r})"},{"line_number":5156,"context_line":"                raise exception.MigrationPreCheckError("},{"line_number":5157,"context_line":"                    reason\u003dm % {\u0027ret\u0027: error, \u0027r\u0027: r})"},{"line_number":5158,"context_line":"            elif result \u003c\u003d 0:"},{"line_number":5159,"context_line":"                raise exception.InvalidCPUInfo(reason\u003dm % {\u0027ret\u0027: r.get(ret),"},{"line_number":5160,"context_line":"                                                           \u0027r\u0027: r})"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_f2153049","line":5157,"in_reply_to":"baa041b7_92827d51","updated":"2015-04-03 02:43:09.000000000","message":"hi alex, thanks for your reviewing.\nmy understanding is this:\n\nfor compareCPU, there are 2 kinds of exception will be hanppened.\n1) libvirt error (which mean, something wrong hanppened in libvirt side, compare failed, we need to pass this exception over to compute service)\nwill raise exception.MigrationPreCheckError\n\n2) libvirt compute no error, but cpu compare failed, we need to translate the error message by get the ret value of compareCPU returned.\nthis will raise exception.InvalidCPUInfo\n\nwe raise  all the 2 cases in finally block. it will be clear since we have 1 exception handler..\n\nthat is what I am thinking..\n\nbut I am still open for reviewing ...\n\nEli.","commit_id":"785e61219d16354453165912b2bfc20a504ec1cd"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"3601b219aa71821546ed3b35dd80eeaaf6f8ef47","unresolved":false,"context_lines":[{"line_number":5142,"context_line":"             0: \u0027VIR_CPU_COMPARE_INCOMPATIBLE\u0027,"},{"line_number":5143,"context_line":"             1: \u0027VIR_CPU_COMPARE_IDENTICAL\u0027,"},{"line_number":5144,"context_line":"             2: \u0027VIR_CPU_COMPARE_SUPERSET\u0027,"},{"line_number":5145,"context_line":"             3: \u0027VIR_CPU_COMPARE_LAST\u0027}"},{"line_number":5146,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(r)s\")"},{"line_number":5147,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5148,"context_line":"        ret, error \u003d None, None"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa53dc9_ca38e4f1","line":5145,"updated":"2015-04-09 14:44:14.000000000","message":"I would suggest to put this map at the class level or outside of it. Since those are constants, there is no reason why this map should be recreated every time this method is called.","commit_id":"bfc511eaaf9d0ceadb794e03ba970640b0b9b8a9"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"e2d44e0201147ac456da255fee64f69e0b022cda","unresolved":false,"context_lines":[{"line_number":5142,"context_line":"             0: \u0027VIR_CPU_COMPARE_INCOMPATIBLE\u0027,"},{"line_number":5143,"context_line":"             1: \u0027VIR_CPU_COMPARE_IDENTICAL\u0027,"},{"line_number":5144,"context_line":"             2: \u0027VIR_CPU_COMPARE_SUPERSET\u0027,"},{"line_number":5145,"context_line":"             3: \u0027VIR_CPU_COMPARE_LAST\u0027}"},{"line_number":5146,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(r)s\")"},{"line_number":5147,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5148,"context_line":"        ret, error \u003d None, None"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa53dc9_03d2255c","line":5145,"in_reply_to":"9aa53dc9_ca38e4f1","updated":"2015-04-10 00:47:57.000000000","message":"thanks Claudiu. will update it as your suggestion.\n-Eli.","commit_id":"bfc511eaaf9d0ceadb794e03ba970640b0b9b8a9"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"7c823331d033f921cabb0c80e8206c9d969cbeaa","unresolved":false,"context_lines":[{"line_number":5195,"context_line":"        try:"},{"line_number":5196,"context_line":"            ret \u003d self._host.compare_cpu(cpu.to_xml())"},{"line_number":5197,"context_line":"        except libvirt.libvirtError as error:"},{"line_number":5198,"context_line":"            pass"},{"line_number":5199,"context_line":"        finally:"},{"line_number":5200,"context_line":"            if error:"},{"line_number":5201,"context_line":"                error_code \u003d error.get_error_code()"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a016987_ba1cb266","line":5198,"updated":"2015-05-29 15:24:33.000000000","message":"I\u0027m not a fan of this change. it seems to me that however it was before, it was just fine, you only needed to update the LOG messages:\n\n    except libvirt.libvirtError as e:\n        error_code \u003d e.get_error_code()\n        if error_code \u003d\u003d libvirt.VIR_ERR_NO_SUPPORT:\n            LOG.debug(\"URI %(uri)s does not support cpu comparison. \"\n                      \"It will be proceeded though. Error: %(error)s\",\n                      {\u0027uri\u0027: self._uri(), \u0027error\u0027: e})\n            return\n        else:\n            LOG.error(m, {\u0027ret\u0027: e, \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})\n            raise exception.MigrationPreCheckError(\n                reason\u003dm % {\u0027ret\u0027: e, \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})\n\n    if ret \u003c\u003d 0:\n        LOG.error(m, {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret), \n                      \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})\n        raise exception.InvalidCPUInfo(\n            reason\u003dm % {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret),\n                        \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})\n    LOG.debug(\"Cpu compare result is %s.\", VIR_CPUCOMPARE_RESULTS.get(ret))","commit_id":"0f83d8407f28ef19590b7a1d4eefbaee3f02e832"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"7c823331d033f921cabb0c80e8206c9d969cbeaa","unresolved":false,"context_lines":[{"line_number":5208,"context_line":"                    LOG.error(m, {\u0027ret\u0027: error, \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"},{"line_number":5209,"context_line":"                    raise exception.MigrationPreCheckError("},{"line_number":5210,"context_line":"                        reason\u003dm % {\u0027ret\u0027: error, \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"},{"line_number":5211,"context_line":"            elif ret \u003c\u003d 0:"},{"line_number":5212,"context_line":"                raise exception.InvalidCPUInfo("},{"line_number":5213,"context_line":"                    reason\u003dm % {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret),"},{"line_number":5214,"context_line":"                                \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a016987_97d2efcf","line":5211,"updated":"2015-05-29 15:24:33.000000000","message":"there was a LOG.error that was removed from here. I don\u0027t really see why.","commit_id":"0f83d8407f28ef19590b7a1d4eefbaee3f02e832"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"7464310b70253a61c76440cbe58fdddbe3ebc623","unresolved":false,"context_lines":[{"line_number":5216,"context_line":"        else:"},{"line_number":5217,"context_line":"            cpu \u003d self._vcpu_model_to_cpu_config(guest_cpu)"},{"line_number":5218,"context_line":""},{"line_number":5219,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(r)s\")"},{"line_number":5220,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5221,"context_line":"        try:"},{"line_number":5222,"context_line":"            ret \u003d self._host.compare_cpu(cpu.to_xml())"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_250c893a","line":5219,"updated":"2015-07-26 07:48:34.000000000","message":"we should use \u0027_LE\u0027 ?","commit_id":"67fa4a0db07d58cd550c687822b9054afce9e96e"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"487019082c7b97506950779d685af724e3d2e155","unresolved":false,"context_lines":[{"line_number":5216,"context_line":"        else:"},{"line_number":5217,"context_line":"            cpu \u003d self._vcpu_model_to_cpu_config(guest_cpu)"},{"line_number":5218,"context_line":""},{"line_number":5219,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(r)s\")"},{"line_number":5220,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5221,"context_line":"        try:"},{"line_number":5222,"context_line":"            ret \u003d self._host.compare_cpu(cpu.to_xml())"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_b559a037","line":5219,"in_reply_to":"3a50d1a3_250c893a","updated":"2015-07-27 00:43:42.000000000","message":"hi Alex, I don\u0027t think you are right according to http://docs.openstack.org/developer/oslo.i18n/guidelines.html\n\nAre you sure about this?","commit_id":"67fa4a0db07d58cd550c687822b9054afce9e96e"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"dc0d670d80c4b2f7e0089474d97858d3dab00b47","unresolved":false,"context_lines":[{"line_number":5216,"context_line":"        else:"},{"line_number":5217,"context_line":"            cpu \u003d self._vcpu_model_to_cpu_config(guest_cpu)"},{"line_number":5218,"context_line":""},{"line_number":5219,"context_line":"        m \u003d _(\"CPU doesn\u0027t have compatibility.\\n\\n%(ret)s\\n\\nRefer to %(r)s\")"},{"line_number":5220,"context_line":"        # unknown character exists in xml, then libvirt complains"},{"line_number":5221,"context_line":"        try:"},{"line_number":5222,"context_line":"            ret \u003d self._host.compare_cpu(cpu.to_xml())"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_70240d5f","line":5219,"in_reply_to":"3a50d1a3_b559a037","updated":"2015-07-29 05:27:39.000000000","message":"yes, I think you are right. This is used for exception also. Sorry for that.","commit_id":"67fa4a0db07d58cd550c687822b9054afce9e96e"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"d380350f40741bbacd07cd20dcf9364d0767c49e","unresolved":false,"context_lines":[{"line_number":5234,"context_line":""},{"line_number":5235,"context_line":"        if ret \u003c\u003d 0:"},{"line_number":5236,"context_line":"            LOG.error(m, {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret),"},{"line_number":5237,"context_line":"                          \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"},{"line_number":5238,"context_line":"            raise exception.InvalidCPUInfo("},{"line_number":5239,"context_line":"                reason\u003dm % {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret),"},{"line_number":5240,"context_line":"                            \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_513810ef","line":5237,"updated":"2015-07-22 17:41:57.000000000","message":"I don\u0027t understand this message: unlike the one above, ret will be a description of the error (e.g., VIR_CPU_COMPARE_INCOMPATIBLE) *and* the table will also be printed. It seems like the table is unnecessary if the description is also being provided instead of the error code.","commit_id":"67fa4a0db07d58cd550c687822b9054afce9e96e"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"9433829cc02985a067b1c0353a150d80f1c2c577","unresolved":false,"context_lines":[{"line_number":5234,"context_line":""},{"line_number":5235,"context_line":"        if ret \u003c\u003d 0:"},{"line_number":5236,"context_line":"            LOG.error(m, {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret),"},{"line_number":5237,"context_line":"                          \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"},{"line_number":5238,"context_line":"            raise exception.InvalidCPUInfo("},{"line_number":5239,"context_line":"                reason\u003dm % {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret),"},{"line_number":5240,"context_line":"                            \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_7e8da2d1","line":5237,"in_reply_to":"3a50d1a3_513810ef","updated":"2015-07-23 14:26:02.000000000","message":"hi Joel, the origin log error message is a http link(it\u0027s a wrong url) and I correct it in previous patch (http://libvirt.org/html/libvirt-libvirt-host.html#virCPUCompareResult).\nbut some one give comments that url may not good because they may not have assess to internet.In this link, it provides all cpu compare reault messages which can be reference by admin/operator to provide enough information.\nso I copied that from that link and put them in a table. \n\ncan you please tell if it makes sense to you?","commit_id":"67fa4a0db07d58cd550c687822b9054afce9e96e"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"38a03c39f1279bc9a6f428b5599a5d28f4e0c520","unresolved":false,"context_lines":[{"line_number":5234,"context_line":""},{"line_number":5235,"context_line":"        if ret \u003c\u003d 0:"},{"line_number":5236,"context_line":"            LOG.error(m, {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret),"},{"line_number":5237,"context_line":"                          \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"},{"line_number":5238,"context_line":"            raise exception.InvalidCPUInfo("},{"line_number":5239,"context_line":"                reason\u003dm % {\u0027ret\u0027: VIR_CPUCOMPARE_RESULTS.get(ret),"},{"line_number":5240,"context_line":"                            \u0027r\u0027: VIR_CPUCOMPARE_RESULTS})"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_a22b9332","line":5237,"in_reply_to":"3a50d1a3_7e8da2d1","updated":"2015-07-31 20:11:24.000000000","message":"No, it looks like the entire table will always be printed. It doesn\u0027t need to be if the error code (e.g., \u00270\u0027) is going to be converted (e.g., \u0027VIR_CPU_COMPARE_INCOMPATIBLE\u0027) in the log message.\n\nOne or the other should suffice (and I favor conversion rather than including the entire table).","commit_id":"67fa4a0db07d58cd550c687822b9054afce9e96e"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bc7b1453aaa26c773bac154ee803c1ed60a1e5ad","unresolved":false,"context_lines":[{"line_number":391,"context_line":"# Note: virCpuCompareResult is from follow link:"},{"line_number":392,"context_line":"# http://libvirt.org/html/libvirt-libvirt-host.html#virCPUCompareResult"},{"line_number":393,"context_line":"VIR_CPUCOMPARE_RESULTS \u003d {"},{"line_number":394,"context_line":"    -1: \u0027VIR_CPU_COMPARE_ERROR\u0027,"},{"line_number":395,"context_line":"     0: \u0027VIR_CPU_COMPARE_INCOMPATIBLE\u0027,"},{"line_number":396,"context_line":"     1: \u0027VIR_CPU_COMPARE_IDENTICAL\u0027,"},{"line_number":397,"context_line":"     2: \u0027VIR_CPU_COMPARE_SUPERSET\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_83bd306a","line":394,"updated":"2015-08-05 10:46:09.000000000","message":"You don\u0027t ever see this, because libvirt-python will raise an exception in that scenario.","commit_id":"683429bbf68613316d044c3e87459e56f76d1e8c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bc7b1453aaa26c773bac154ee803c1ed60a1e5ad","unresolved":false,"context_lines":[{"line_number":393,"context_line":"VIR_CPUCOMPARE_RESULTS \u003d {"},{"line_number":394,"context_line":"    -1: \u0027VIR_CPU_COMPARE_ERROR\u0027,"},{"line_number":395,"context_line":"     0: \u0027VIR_CPU_COMPARE_INCOMPATIBLE\u0027,"},{"line_number":396,"context_line":"     1: \u0027VIR_CPU_COMPARE_IDENTICAL\u0027,"},{"line_number":397,"context_line":"     2: \u0027VIR_CPU_COMPARE_SUPERSET\u0027,"},{"line_number":398,"context_line":"     3: \u0027VIR_CPU_COMPARE_LAST\u0027"},{"line_number":399,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_c3ab381c","line":396,"updated":"2015-08-05 10:46:09.000000000","message":"This indicates success","commit_id":"683429bbf68613316d044c3e87459e56f76d1e8c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bc7b1453aaa26c773bac154ee803c1ed60a1e5ad","unresolved":false,"context_lines":[{"line_number":394,"context_line":"    -1: \u0027VIR_CPU_COMPARE_ERROR\u0027,"},{"line_number":395,"context_line":"     0: \u0027VIR_CPU_COMPARE_INCOMPATIBLE\u0027,"},{"line_number":396,"context_line":"     1: \u0027VIR_CPU_COMPARE_IDENTICAL\u0027,"},{"line_number":397,"context_line":"     2: \u0027VIR_CPU_COMPARE_SUPERSET\u0027,"},{"line_number":398,"context_line":"     3: \u0027VIR_CPU_COMPARE_LAST\u0027"},{"line_number":399,"context_line":"}"},{"line_number":400,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_e3a67452","line":397,"updated":"2015-08-05 10:46:09.000000000","message":"This indicates success too","commit_id":"683429bbf68613316d044c3e87459e56f76d1e8c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bc7b1453aaa26c773bac154ee803c1ed60a1e5ad","unresolved":false,"context_lines":[{"line_number":395,"context_line":"     0: \u0027VIR_CPU_COMPARE_INCOMPATIBLE\u0027,"},{"line_number":396,"context_line":"     1: \u0027VIR_CPU_COMPARE_IDENTICAL\u0027,"},{"line_number":397,"context_line":"     2: \u0027VIR_CPU_COMPARE_SUPERSET\u0027,"},{"line_number":398,"context_line":"     3: \u0027VIR_CPU_COMPARE_LAST\u0027"},{"line_number":399,"context_line":"}"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_43b72886","line":398,"updated":"2015-08-05 10:46:09.000000000","message":"This is just an enum sentinel in the C header.","commit_id":"683429bbf68613316d044c3e87459e56f76d1e8c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bc7b1453aaa26c773bac154ee803c1ed60a1e5ad","unresolved":false,"context_lines":[{"line_number":396,"context_line":"     1: \u0027VIR_CPU_COMPARE_IDENTICAL\u0027,"},{"line_number":397,"context_line":"     2: \u0027VIR_CPU_COMPARE_SUPERSET\u0027,"},{"line_number":398,"context_line":"     3: \u0027VIR_CPU_COMPARE_LAST\u0027"},{"line_number":399,"context_line":"}"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"class LibvirtDriver(driver.ComputeDriver):"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_037920c8","line":399,"updated":"2015-08-05 10:46:09.000000000","message":"So IMHO this table is pointless - the only time this table lookup is going to be used to generate a error message is for case 0. So you\u0027ve not really improve things over what we already have.","commit_id":"683429bbf68613316d044c3e87459e56f76d1e8c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bc7b1453aaa26c773bac154ee803c1ed60a1e5ad","unresolved":false,"context_lines":[{"line_number":5234,"context_line":"                raise exception.MigrationPreCheckError(error_msg)"},{"line_number":5235,"context_line":""},{"line_number":5236,"context_line":"        if ret \u003c\u003d 0:"},{"line_number":5237,"context_line":"            LOG.error(m, {\u0027ret\u0027: ret, \u0027r\u0027: VIR_CPUCOMPARE_RESULTS.get(ret)})"},{"line_number":5238,"context_line":"            raise exception.InvalidCPUInfo("},{"line_number":5239,"context_line":"                reason\u003dm % {\u0027ret\u0027: ret, \u0027r\u0027: VIR_CPUCOMPARE_RESULTS.get(ret)})"},{"line_number":5240,"context_line":"        LOG.debug(\"Cpu compare result is %s.\", VIR_CPUCOMPARE_RESULTS.get(ret))"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_c3301804","line":5237,"updated":"2015-08-05 10:46:09.000000000","message":"Effectively ret will always be 0 in this scenario, since the -1 case will have been turned into a libvirtError exception which is dealt with earlier.","commit_id":"683429bbf68613316d044c3e87459e56f76d1e8c"}]}
