)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"0b8c229b444acb2961c0cc340982cd42326b0b90","unresolved":false,"context_lines":[{"line_number":10,"context_line":"method, to set an address space limit of 1GB and CPU time limit"},{"line_number":11,"context_line":"of 2 seconds, when running qemu-img."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is a re-implementation of the previously reverted commit"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"commit da217205f53f9a38a573fb151898fbbeae41021d"},{"line_number":16,"context_line":"Author: Tristan Cacqueray \u003ctdecacqu@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3aaa91ec_fefe1b68","line":13,"updated":"2016-07-01 09:49:54.000000000","message":"I\u0027m not sure that it\u0027s worth it to mention the reverted commit. Well, it\u0027s up to you ;-)","commit_id":"92c947e3f8cf95db207bdbe74d90cf13bc781d52"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"d970d89c98d434c33e7203305d98fd50069b307a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"method, to set an address space limit of 1GB and CPU time limit"},{"line_number":11,"context_line":"of 2 seconds, when running qemu-img."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This is a re-implementation of the previously reverted commit"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"commit da217205f53f9a38a573fb151898fbbeae41021d"},{"line_number":16,"context_line":"Author: Tristan Cacqueray \u003ctdecacqu@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1aa78d24_b1c4a640","line":13,"in_reply_to":"3aaa91ec_fefe1b68","updated":"2016-07-03 11:50:28.000000000","message":"I think that was retained as a hostorical context as I guess.  Probably best left as-is.  :-)","commit_id":"92c947e3f8cf95db207bdbe74d90cf13bc781d52"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"0b8c229b444acb2961c0cc340982cd42326b0b90","unresolved":false,"context_lines":[{"line_number":7705,"context_line":""},{"line_number":7706,"context_line":"        self.mox.StubOutWithMock(utils, \"execute\")"},{"line_number":7707,"context_line":"        utils.execute(\u0027env\u0027, \u0027LC_ALL\u003dC\u0027, \u0027LANG\u003dC\u0027, \u0027qemu-img\u0027, \u0027info\u0027,"},{"line_number":7708,"context_line":"                      \u0027/test/disk.local\u0027, prlimit \u003d images.QEMU_IMG_LIMITS,"},{"line_number":7709,"context_line":"                      ).AndReturn((ret, \u0027\u0027))"},{"line_number":7710,"context_line":""},{"line_number":7711,"context_line":"        self.mox.ReplayAll()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_9eab9774","line":7708,"updated":"2016-07-01 09:49:54.000000000","message":"you should write prlimit\u003d... (no space)","commit_id":"92c947e3f8cf95db207bdbe74d90cf13bc781d52"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"0b8c229b444acb2961c0cc340982cd42326b0b90","unresolved":false,"context_lines":[{"line_number":7814,"context_line":""},{"line_number":7815,"context_line":"        self.mox.StubOutWithMock(utils, \"execute\")"},{"line_number":7816,"context_line":"        utils.execute(\u0027env\u0027, \u0027LC_ALL\u003dC\u0027, \u0027LANG\u003dC\u0027, \u0027qemu-img\u0027, \u0027info\u0027,"},{"line_number":7817,"context_line":"                      \u0027/test/disk.local\u0027, prlimit \u003d images.QEMU_IMG_LIMITS,"},{"line_number":7818,"context_line":"                      ).AndReturn((ret, \u0027\u0027))"},{"line_number":7819,"context_line":""},{"line_number":7820,"context_line":"        self.mox.ReplayAll()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_7ea6abab","line":7817,"updated":"2016-07-01 09:49:54.000000000","message":"ditto","commit_id":"92c947e3f8cf95db207bdbe74d90cf13bc781d52"}],"nova/tests/unit/virt/libvirt/test_utils.py":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"07c9b0f638f2759e66563726fba6f6b9eb708c6f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from nova.virt.libvirt import utils as libvirt_utils"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"CONF \u003d cfg.CONF"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class LibvirtUtilsTestCase(test.NoDBTestCase):"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7a8ec9b2_c2ce9082","line":38,"updated":"2016-09-21 08:11:09.000000000","message":"If we care about the unit tests passing with osc 2.6.0 we need something like:\n\n images.QEMU_IMG_LIMITS \u003d mock.MagicMock()\n\nhere","commit_id":"669b1a2d6a0b9335aec6c76bae50405aa934ab30"}],"nova/virt/images.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f2691165c9740abc3890ba45a829bd0aaae72cde","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    if format is not None:"},{"line_number":67,"context_line":"        cmd \u003d cmd + (\u0027-f\u0027, format)"},{"line_number":68,"context_line":"    try:"},{"line_number":69,"context_line":"        out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":70,"context_line":"    except processutils.ProcessExecutionError as exp:"},{"line_number":71,"context_line":"        msg \u003d (_(\"qemu-img failed to execute on %(path)s : %(exp)s\") %"},{"line_number":72,"context_line":"                {\u0027path\u0027: path, \u0027exp\u0027: exp})"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_8ffd4770","line":69,"range":{"start_line":69,"start_character":39,"end_line":69,"end_character":46},"updated":"2016-06-24 22:58:21.000000000","message":"If we aren\u0027t going to raise the minimum required oslo.concurrency in g-r in stable/liberty to 2.6.1, then anyone using a version less than that is going to fail:\n\nhttps://github.com/openstack/oslo.concurrency/blob/2.3.0/oslo_concurrency/processutils.py#L202\n\nSo we need to put some special case logic in here I think to handle that case and log an error but not kill libvirt in nova. The CVE note is going to have to point out that you need oslo.concurrency\u003e\u003d2.6.1 in stable/liberty or patch oslo.concurrency yourself at whatever version you\u0027re using, but I don\u0027t think we should completely blow nova up if someone doesn\u0027t have the proper version of o.c.","commit_id":"a1776f7b04a2c4505799d7fddc4aaa117bb3a186"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"0eedd028f97e3189cc59ae82fab326189fb21177","unresolved":false,"context_lines":[{"line_number":52,"context_line":"else:"},{"line_number":53,"context_line":"    LOG.error(_LE(\u0027Please upgrade to oslo.concurrency version\u0027"},{"line_number":54,"context_line":"                  \u00272.6.1 -- this version has fixes for the\u0027"},{"line_number":55,"context_line":"                  \u0027vulnerability CVE-2015-5162.\u0027))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def qemu_img_info(path, format\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_91519365","line":55,"updated":"2016-07-04 11:00:43.000000000","message":"Isn\u0027t this going to cause code to crash \u0026 burn when qemu_img_info() tries to access the non-existent QEMU_IMG_LIMITS attribute now. \n\nIMHO, if you want to raise an error and prevent code running cleanly, then you should have a check in \u0027init_host()\u0027 to achieve this.","commit_id":"2a8c2e8ccebb6fdbe215eaaf27cbd52e7752b794"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"1cca51e44980d3174a2256469d8d2101cee491e1","unresolved":false,"context_lines":[{"line_number":52,"context_line":"else:"},{"line_number":53,"context_line":"    LOG.error(_LE(\u0027Please upgrade to oslo.concurrency version\u0027"},{"line_number":54,"context_line":"                  \u00272.6.1 -- this version has fixes for the\u0027"},{"line_number":55,"context_line":"                  \u0027vulnerability CVE-2015-5162.\u0027))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def qemu_img_info(path, format\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_0c30ea00","line":55,"in_reply_to":"1aa78d24_91519365","updated":"2016-07-04 11:28:34.000000000","message":"Hmm, I think you\u0027re right on the \"crash \u0026 burn\".  Would adding a conditional check in qemu_img_info() method as Alan noted would suffice?\n\nPS: I\u0027d assume you referring to the init_host() method in nova/compute/manager.py.  If so, how would it be different than than adding an additional check in qemu_img_info()?","commit_id":"2a8c2e8ccebb6fdbe215eaaf27cbd52e7752b794"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"df2d0405de8ddd365c96a7afe6d37c3bcae35b8d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"else:"},{"line_number":53,"context_line":"    LOG.error(_LE(\u0027Please upgrade to oslo.concurrency version\u0027"},{"line_number":54,"context_line":"                  \u00272.6.1 -- this version has fixes for the\u0027"},{"line_number":55,"context_line":"                  \u0027vulnerability CVE-2015-5162.\u0027))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def qemu_img_info(path, format\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_ec03de0d","line":55,"in_reply_to":"1aa78d24_91519365","updated":"2016-07-04 11:27:27.000000000","message":"It is also broken if someone has deployed with a much newer oslo.concurrency. eg version 3.4.0 -\u003e 3.6.0 have the ProcessLimits class, but don\u0027t have the cpu_time attribute.","commit_id":"2a8c2e8ccebb6fdbe215eaaf27cbd52e7752b794"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"74e982fef122ec696e1881833dfd3197a9fc1a89","unresolved":false,"context_lines":[{"line_number":52,"context_line":"else:"},{"line_number":53,"context_line":"    LOG.error(_LE(\u0027Please upgrade to oslo.concurrency version\u0027"},{"line_number":54,"context_line":"                  \u00272.6.1 -- this version has fixes for the\u0027"},{"line_number":55,"context_line":"                  \u0027vulnerability CVE-2015-5162.\u0027))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def qemu_img_info(path, format\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_5d0e1a35","line":55,"in_reply_to":"1aa78d24_ec03de0d","updated":"2016-07-04 11:57:50.000000000","message":"cpu_time was backported to the latest stable/liberty version 2.6.1 so the issue is someone running mitaka or master versions 3.4.0..3.8.0\nMixing branches for Oslo and services would not be supported, but for additional safety, try block could catch ValueError","commit_id":"2a8c2e8ccebb6fdbe215eaaf27cbd52e7752b794"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"cf77c5e5f19cfc90b8bc18afeb0b060c935a4e59","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    LOG.error(_LE(\u0027Please upgrade to oslo.concurrency version\u0027"},{"line_number":54,"context_line":"                  \u00272.6.1 -- this version has fixes for the\u0027"},{"line_number":55,"context_line":"                  \u0027vulnerability CVE-2015-5162.\u0027))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def qemu_img_info(path, format\u003dNone):"},{"line_number":59,"context_line":"    \"\"\"Return an object containing the parsed output from qemu-img info.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_b1ce4f81","line":56,"updated":"2016-07-04 10:53:54.000000000","message":"+1 it\u0027s a good compromise vs bumping min.ver. on stable","commit_id":"2a8c2e8ccebb6fdbe215eaaf27cbd52e7752b794"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"b3038a882ee774a19e014a81c5a3f67ddd7ae11d","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    if format is not None:"},{"line_number":72,"context_line":"        cmd \u003d cmd + (\u0027-f\u0027, format)"},{"line_number":73,"context_line":"    try:"},{"line_number":74,"context_line":"        out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":75,"context_line":"    except processutils.ProcessExecutionError as exp:"},{"line_number":76,"context_line":"        msg \u003d (_(\"qemu-img failed to execute on %(path)s : %(exp)s\") %"},{"line_number":77,"context_line":"                {\u0027path\u0027: path, \u0027exp\u0027: exp})"}],"source_content_type":"text/x-python","patch_set":6,"id":"1aa78d24_2ce206d6","line":74,"updated":"2016-07-04 11:19:31.000000000","message":"To address danpb\u0027s concern, conditional on QEMU_IMG_LIMITS presence needs to be added here,\notherwise try block is catching only processutils.ProcessExecutionError and without oslo.concurrency 2.6.1 there would be\nNameError: name \u0027QEMU_IMG_LIMITS\u0027 is not defined","commit_id":"2a8c2e8ccebb6fdbe215eaaf27cbd52e7752b794"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"ed6ab43d1c8282e97e9f6f33104f4d7c7a9ee1c5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"IMAGE_API \u003d image.API()"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"try:"},{"line_number":49,"context_line":"    QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":50,"context_line":"        cpu_time\u003d2,"},{"line_number":51,"context_line":"        address_space\u003d1 * units.Gi)"},{"line_number":52,"context_line":"except Exception:"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_b62bd82f","line":49,"updated":"2016-07-04 14:27:18.000000000","message":"You probably have to defined QEMU_IMAGE_LIMITS \u003d None somewhere before this execution.","commit_id":"9cd1f2f573f5e97c24cd8669995e1b796d82c90c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"ed6ab43d1c8282e97e9f6f33104f4d7c7a9ee1c5","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        cpu_time\u003d2,"},{"line_number":51,"context_line":"        address_space\u003d1 * units.Gi)"},{"line_number":52,"context_line":"except Exception:"},{"line_number":53,"context_line":"    LOG.error(_LE(\u0027Please upgrade to oslo.concurrency version\u0027"},{"line_number":54,"context_line":"                  \u00272.6.1 -- this version has fixes for the\u0027"},{"line_number":55,"context_line":"                  \u0027vulnerability CVE-2015-5162.\u0027))"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_b6cf58af","line":53,"updated":"2016-07-04 14:27:18.000000000","message":"You missed to add space at the end of the lines","commit_id":"9cd1f2f573f5e97c24cd8669995e1b796d82c90c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"ed6ab43d1c8282e97e9f6f33104f4d7c7a9ee1c5","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    if format is not None:"},{"line_number":72,"context_line":"        cmd \u003d cmd + (\u0027-f\u0027, format)"},{"line_number":73,"context_line":"    try:"},{"line_number":74,"context_line":"        if QEMU_IMG_LIMITS is not None:"},{"line_number":75,"context_line":"            out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":76,"context_line":"    except NameError:"},{"line_number":77,"context_line":"        QEMU_IMG_LIMITS \u003d None"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_560434bf","line":74,"updated":"2016-07-04 14:27:18.000000000","message":"QEMU_IMG_LIMITS can be not defined in case where \u0027processutils.ProcessLimits\u0027 is raising an exception (see comment line 49)","commit_id":"9cd1f2f573f5e97c24cd8669995e1b796d82c90c"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"change_message_id":"bc53adad33f2415dba296af32c13fba9358aa066","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        if QEMU_IMG_LIMITS is not None:"},{"line_number":75,"context_line":"            out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":76,"context_line":"    except NameError:"},{"line_number":77,"context_line":"        QEMU_IMG_LIMITS \u003d None"},{"line_number":78,"context_line":"        msg \u003d (_(\"Please use oslo.concurrency version\""},{"line_number":79,"context_line":"                 \"3.8.0 or above\")"},{"line_number":80,"context_line":"    except processutils.ProcessExecutionError as exp:"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_aab9aceb","line":77,"updated":"2016-07-04 14:46:43.000000000","message":"To fix what sahid said, this line should be moved to either 47 or 53","commit_id":"9cd1f2f573f5e97c24cd8669995e1b796d82c90c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"ed6ab43d1c8282e97e9f6f33104f4d7c7a9ee1c5","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":76,"context_line":"    except NameError:"},{"line_number":77,"context_line":"        QEMU_IMG_LIMITS \u003d None"},{"line_number":78,"context_line":"        msg \u003d (_(\"Please use oslo.concurrency version\""},{"line_number":79,"context_line":"                 \"3.8.0 or above\")"},{"line_number":80,"context_line":"    except processutils.ProcessExecutionError as exp:"},{"line_number":81,"context_line":"        msg \u003d (_(\"qemu-img failed to execute on %(path)s : %(exp)s\") %"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_d641440d","line":78,"updated":"2016-07-04 14:27:18.000000000","message":"ditto","commit_id":"9cd1f2f573f5e97c24cd8669995e1b796d82c90c"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"1ce3967d38ff2fce2aac51f43cd47c41aa8c22b2","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        cmd \u003d cmd + (\u0027-f\u0027, format)"},{"line_number":74,"context_line":"    try:"},{"line_number":75,"context_line":"        if QEMU_IMG_LIMITS is not None:"},{"line_number":76,"context_line":"            out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":77,"context_line":"    except NameError:"},{"line_number":78,"context_line":"        msg \u003d (_(\"Please use oslo.concurrency version \""},{"line_number":79,"context_line":"                 \"3.8.0 or above\")"}],"source_content_type":"text/x-python","patch_set":9,"id":"1aa78d24_175e1c76","line":76,"updated":"2016-07-04 21:44:36.000000000","message":"You still need to run utils.execute(*cmd) when we don\u0027t have 2.6.1 just without the prlimit kwarg","commit_id":"e0fa0903d1a4dd30bd2fd7c8353c1e2ec14cebb6"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"42d31007675a7d47dbe8f47d3eec63f9c28cc80e","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        cmd \u003d cmd + (\u0027-f\u0027, format)"},{"line_number":74,"context_line":"    try:"},{"line_number":75,"context_line":"        if QEMU_IMG_LIMITS is not None:"},{"line_number":76,"context_line":"            out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":77,"context_line":"    except NameError:"},{"line_number":78,"context_line":"        msg \u003d (_(\"Please use oslo.concurrency version \""},{"line_number":79,"context_line":"                 \"3.8.0 or above\")"}],"source_content_type":"text/x-python","patch_set":9,"id":"1aa78d24_acd2085a","line":76,"in_reply_to":"1aa78d24_175e1c76","updated":"2016-07-06 10:48:47.000000000","message":"Okay, I\u0027ll add an else conditional.","commit_id":"e0fa0903d1a4dd30bd2fd7c8353c1e2ec14cebb6"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"5608605644725611cd3c902151426b48f3e2b81f","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        cmd \u003d cmd + (\u0027-f\u0027, format)"},{"line_number":74,"context_line":"    try:"},{"line_number":75,"context_line":"        if QEMU_IMG_LIMITS is not None:"},{"line_number":76,"context_line":"            out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":77,"context_line":"    except NameError:"},{"line_number":78,"context_line":"        msg \u003d (_(\"Please use oslo.concurrency version \""},{"line_number":79,"context_line":"                 \"3.8.0 or above\")"}],"source_content_type":"text/x-python","patch_set":9,"id":"1aa78d24_8ce46ce1","line":76,"in_reply_to":"1aa78d24_acd2085a","updated":"2016-07-06 10:53:48.000000000","message":"Oh, you already did, I didn\u0027t refresh Gerrit.","commit_id":"e0fa0903d1a4dd30bd2fd7c8353c1e2ec14cebb6"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"1ce3967d38ff2fce2aac51f43cd47c41aa8c22b2","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":77,"context_line":"    except NameError:"},{"line_number":78,"context_line":"        msg \u003d (_(\"Please use oslo.concurrency version \""},{"line_number":79,"context_line":"                 \"3.8.0 or above\")"},{"line_number":80,"context_line":"    except processutils.ProcessExecutionError as exp:"},{"line_number":81,"context_line":"        msg \u003d (_(\"qemu-img failed to execute on %(path)s : %(exp)s\") %"},{"line_number":82,"context_line":"                {\u0027path\u0027: path, \u0027exp\u0027: exp})"}],"source_content_type":"text/x-python","patch_set":9,"id":"1aa78d24_37ffd868","line":79,"range":{"start_line":79,"start_character":18,"end_line":79,"end_character":23},"updated":"2016-07-04 21:44:36.000000000","message":"2.6.1\n\nAlso missing the closing \u0027)\u0027","commit_id":"e0fa0903d1a4dd30bd2fd7c8353c1e2ec14cebb6"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"42d31007675a7d47dbe8f47d3eec63f9c28cc80e","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            out, err \u003d utils.execute(*cmd, prlimit\u003dQEMU_IMG_LIMITS)"},{"line_number":77,"context_line":"    except NameError:"},{"line_number":78,"context_line":"        msg \u003d (_(\"Please use oslo.concurrency version \""},{"line_number":79,"context_line":"                 \"3.8.0 or above\")"},{"line_number":80,"context_line":"    except processutils.ProcessExecutionError as exp:"},{"line_number":81,"context_line":"        msg \u003d (_(\"qemu-img failed to execute on %(path)s : %(exp)s\") %"},{"line_number":82,"context_line":"                {\u0027path\u0027: path, \u0027exp\u0027: exp})"}],"source_content_type":"text/x-python","patch_set":9,"id":"1aa78d24_ec7a5076","line":79,"range":{"start_line":79,"start_character":18,"end_line":79,"end_character":23},"in_reply_to":"1aa78d24_37ffd868","updated":"2016-07-06 10:48:47.000000000","message":"Oops, yes.","commit_id":"e0fa0903d1a4dd30bd2fd7c8353c1e2ec14cebb6"}]}
