)]}'
{"nova/virt/libvirt/utils.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"27ae91622eca9a8bc63f1614614dcb9a4f5a0bbd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import os"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import pprint"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from lxml import etree"},{"line_number":28,"context_line":"from oslo.config import cfg"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2Fqw4%3D","line":26,"updated":"2013-04-29 20:58:58.000000000","message":"not used","commit_id":"435dc6731a453158b5b6d650c4f81a7f81c29cda"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"12fa2d4d3352de8fa83352c6b3bcfa773140c6da","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":69,"context_line":"        return []"},{"line_number":70,"context_line":"    except OSError as exc:"},{"line_number":71,"context_line":"        if exc.errno \u003d\u003d 2:"},{"line_number":72,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":73,"context_line":"        return []"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fqrg%3D","line":71,"updated":"2013-04-29 21:29:07.000000000","message":"And how do you know that the errno will be 2?  This isn\u0027t as standardized as it could be.  I highly recommend importing errno and using the appropriate constant…","commit_id":"447230c2ea54aad5ea8c12f3e92dcddc48f9afc1"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"f733407a4ce5076f66b13841c3cb04e407eec9ba","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":69,"context_line":"        return []"},{"line_number":70,"context_line":"    except OSError as exc:"},{"line_number":71,"context_line":"        if exc.errno \u003d\u003d 2:"},{"line_number":72,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":73,"context_line":"        return []"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fqmk%3D","line":71,"in_reply_to":"AAAAOn%2F%2Fqrg%3D","updated":"2013-04-29 22:07:53.000000000","message":"Done","commit_id":"447230c2ea54aad5ea8c12f3e92dcddc48f9afc1"},{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"02db34f4ffdaba455b7cf9930499fe27b3fc46dc","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"def get_fc_hbas():"},{"line_number":62,"context_line":"    \"\"\"Get the Fibre Channel HBA information.\"\"\""},{"line_number":63,"context_line":"    out \u003d None"},{"line_number":64,"context_line":"    try:"},{"line_number":65,"context_line":"        out, err \u003d execute(\u0027systool\u0027, \u0027-c\u0027, \u0027fc_host\u0027, \u0027-v\u0027,"},{"line_number":66,"context_line":"                           run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2FqqY%3D","line":63,"updated":"2013-04-29 22:31:31.000000000","message":"Why is this now required when it wasn\u0027t previously?","commit_id":"52327669a3cc68c5f7d12c737b992385b70c40fb"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"69f582e61b0f9ba468e0f18898300bdbef94403d","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"def get_fc_hbas():"},{"line_number":62,"context_line":"    \"\"\"Get the Fibre Channel HBA information.\"\"\""},{"line_number":63,"context_line":"    out \u003d None"},{"line_number":64,"context_line":"    try:"},{"line_number":65,"context_line":"        out, err \u003d execute(\u0027systool\u0027, \u0027-c\u0027, \u0027fc_host\u0027, \u0027-v\u0027,"},{"line_number":66,"context_line":"                           run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Fqh8%3D","line":63,"in_reply_to":"AAAAOn%2F%2FqqY%3D","updated":"2013-04-29 22:46:43.000000000","message":"This code was put in with Grizzly for Fibre Channel Support.   systool is required for those that want Fibre Channel.  This code detects active FC HBAs.   systool is not required for those that don\u0027t want Fibre Channel and the exception catching is in place to detect when systool is not installed and to gracefully return an empty list.","commit_id":"52327669a3cc68c5f7d12c737b992385b70c40fb"},{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"02db34f4ffdaba455b7cf9930499fe27b3fc46dc","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        out, err \u003d execute(\u0027systool\u0027, \u0027-c\u0027, \u0027fc_host\u0027, \u0027-v\u0027,"},{"line_number":66,"context_line":"                           run_as_root\u003dTrue)"},{"line_number":67,"context_line":"    except exception.ProcessExecutionError as exc:"},{"line_number":68,"context_line":"        if exc.exit_code \u003d\u003d 96:"},{"line_number":69,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":70,"context_line":"        return []"},{"line_number":71,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Fqjk%3D","line":68,"updated":"2013-04-29 22:31:31.000000000","message":"This is all very confusing. rootwrap since grizzly does distinguish command not found errors as error code 96. So I\u0027d change 96 to nova.cmd.rootwrap.RC_NOEXECFOUND or at least comment that this is the rootwrap case.","commit_id":"52327669a3cc68c5f7d12c737b992385b70c40fb"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"69f582e61b0f9ba468e0f18898300bdbef94403d","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        out, err \u003d execute(\u0027systool\u0027, \u0027-c\u0027, \u0027fc_host\u0027, \u0027-v\u0027,"},{"line_number":66,"context_line":"                           run_as_root\u003dTrue)"},{"line_number":67,"context_line":"    except exception.ProcessExecutionError as exc:"},{"line_number":68,"context_line":"        if exc.exit_code \u003d\u003d 96:"},{"line_number":69,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":70,"context_line":"        return []"},{"line_number":71,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Fqh0%3D","line":68,"in_reply_to":"AAAAOn%2F%2Fqjk%3D","updated":"2013-04-29 22:46:43.000000000","message":"Done","commit_id":"52327669a3cc68c5f7d12c737b992385b70c40fb"},{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"02db34f4ffdaba455b7cf9930499fe27b3fc46dc","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        if exc.exit_code \u003d\u003d 96:"},{"line_number":69,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":70,"context_line":"        return []"},{"line_number":71,"context_line":"    except OSError as exc:"},{"line_number":72,"context_line":"        if exc.errno \u003d\u003d errno.ENOENT:"},{"line_number":73,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":74,"context_line":"        return []"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Fqi8%3D","line":71,"updated":"2013-04-29 22:31:31.000000000","message":"Please comment that this is the case when the nova process is running as root (i.e. rootwrap is not used)","commit_id":"52327669a3cc68c5f7d12c737b992385b70c40fb"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"69f582e61b0f9ba468e0f18898300bdbef94403d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        if exc.exit_code \u003d\u003d 96:"},{"line_number":69,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":70,"context_line":"        return []"},{"line_number":71,"context_line":"    except OSError as exc:"},{"line_number":72,"context_line":"        if exc.errno \u003d\u003d errno.ENOENT:"},{"line_number":73,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":74,"context_line":"        return []"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2Fqhw%3D","line":71,"in_reply_to":"AAAAOn%2F%2Fqi8%3D","updated":"2013-04-29 22:46:43.000000000","message":"Done","commit_id":"52327669a3cc68c5f7d12c737b992385b70c40fb"},{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"6651add5b56c2e8f4141b3156b6a693a7ea3c279","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    except exception.ProcessExecutionError as exc:"},{"line_number":68,"context_line":"        # This handles the case where rootwrap is used"},{"line_number":69,"context_line":"        # and systool is not installed"},{"line_number":70,"context_line":"        if exc.exit_code \u003d\u003d nova.cmd.rootwrap.RC_NOEXECFOUND:"},{"line_number":71,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":72,"context_line":"        return []"},{"line_number":73,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FqgA%3D","line":70,"updated":"2013-04-29 23:08:24.000000000","message":"Actually you\u0027ll need to first:\n\n  from nova.cmd import rootwrap\n\nbefore accessing:\n\n  rootwrap.RC_NOEXECFOUND\n\nI noticed a caveat though with importing rootwrap,\nwhere it must be done before eventlet is imported.\nSo you might have to just comment that 96 \u003d rootwrap.RC_NOEXECFOUND","commit_id":"ac435e853b9070d6250235a4c343c7382d3ac22d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"unresolved":false,"context_lines":[{"line_number":67,"context_line":"    except exception.ProcessExecutionError as exc:"},{"line_number":68,"context_line":"        # This handles the case where rootwrap is used"},{"line_number":69,"context_line":"        # and systool is not installed"},{"line_number":70,"context_line":"        if exc.exit_code \u003d\u003d nova.cmd.rootwrap.RC_NOEXECFOUND:"},{"line_number":71,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":72,"context_line":"        return []"},{"line_number":73,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2FpmU%3D","line":70,"in_reply_to":"AAAAOn%2F%2Fqcw%3D","updated":"2013-04-30 16:33:23.000000000","message":"Done","commit_id":"ac435e853b9070d6250235a4c343c7382d3ac22d"},{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"d48e6266a97ff807c6ce3bcf89ddd0d526f7570e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    except exception.ProcessExecutionError as exc:"},{"line_number":68,"context_line":"        # This handles the case where rootwrap is used"},{"line_number":69,"context_line":"        # and systool is not installed"},{"line_number":70,"context_line":"        if exc.exit_code \u003d\u003d nova.cmd.rootwrap.RC_NOEXECFOUND:"},{"line_number":71,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":72,"context_line":"        return []"},{"line_number":73,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Fqcw%3D","line":70,"in_reply_to":"AAAAOn%2F%2Fqes%3D","updated":"2013-04-29 23:53:58.000000000","message":"safest yes. thanks","commit_id":"ac435e853b9070d6250235a4c343c7382d3ac22d"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"464ddb68fb9e8145f689feee952da54749bee836","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    except exception.ProcessExecutionError as exc:"},{"line_number":68,"context_line":"        # This handles the case where rootwrap is used"},{"line_number":69,"context_line":"        # and systool is not installed"},{"line_number":70,"context_line":"        if exc.exit_code \u003d\u003d nova.cmd.rootwrap.RC_NOEXECFOUND:"},{"line_number":71,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":72,"context_line":"        return []"},{"line_number":73,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOn%2F%2Fqes%3D","line":70,"in_reply_to":"AAAAOn%2F%2FqgA%3D","updated":"2013-04-29 23:30:38.000000000","message":"So should I just revert this back to using the hard coded 96?  and comment it?","commit_id":"ac435e853b9070d6250235a4c343c7382d3ac22d"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"unresolved":false,"context_lines":[{"line_number":68,"context_line":"        # This handles the case where rootwrap is used"},{"line_number":69,"context_line":"        # and systool is not installed"},{"line_number":70,"context_line":"        # 69 \u003d nova.cmd.rootwrap.RC_NOEXECFOUND:"},{"line_number":71,"context_line":"        if exc.exit_code \u003d\u003d 69:"},{"line_number":72,"context_line":"            LOG.warn(_(\"systool is not installed\"))"},{"line_number":73,"context_line":"        return []"},{"line_number":74,"context_line":"    except OSError as exc:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOn%2F%2FpkI%3D","line":71,"updated":"2013-04-30 16:48:52.000000000","message":"I think you reversed the numbers, the exit code before was 96 not 69.","commit_id":"c2dd3f75d1fd1f15699464df089ee62c2f19806d"}]}
