)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8338,"name":"Eric Blake","email":"eblake@redhat.com","username":"eblake"},"change_message_id":"c58812786c2c1a640386d4b099c20197004eff8b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    backing paths are maintained relative for blockRebase but not for"},{"line_number":18,"context_line":"blockCommit operations. Per the libvirt folks, this is not by design,"},{"line_number":19,"context_line":"but a side effect of how/when the snap chain was created. For the Cinder-Nova"},{"line_number":20,"context_line":"online snapshot case, its broken for sure."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"post-1.2.7 (v.1.2.9) behaviour:"},{"line_number":23,"context_line":"    Although the pre-1.2.7 behaviour is seen in this case too, per the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baa041b7_576620ee","line":20,"updated":"2015-04-02 15:40:45.000000000","message":"s/its/it\u0027s/ (you meant \u0027it is\u0027, which requires the apostrophe)","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"931d3d79bf8de01751c68dcb86d0f87cd56d6321","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    backing paths are maintained relative for blockRebase but not for"},{"line_number":18,"context_line":"blockCommit operations. Per the libvirt folks, this is not by design,"},{"line_number":19,"context_line":"but a side effect of how/when the snap chain was created. For the Cinder-Nova"},{"line_number":20,"context_line":"online snapshot case, its broken for sure."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"post-1.2.7 (v.1.2.9) behaviour:"},{"line_number":23,"context_line":"    Although the pre-1.2.7 behaviour is seen in this case too, per the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baa041b7_2172f3ad","line":20,"in_reply_to":"baa041b7_576620ee","updated":"2015-04-06 10:56:24.000000000","message":"Done","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2a88d03761ec617d79f1d00eca0666c6395ca84b","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    2) Uses _RELATIVE for blockCommit if available, for both file and network"},{"line_number":50,"context_line":"       disks. Raise excp if flag isn\u0027t present to ensure Cinder flow isn\u0027t"},{"line_number":51,"context_line":"       broken (old behaviour changes here, for file backed disks only)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Change-Id: I9bda95cd4ab09aed88536d4a988d6c6579441c37"},{"line_number":54,"context_line":"Closes-Bug: 1438027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9aa53dc9_9f2a4a7d","line":51,"updated":"2015-04-08 14:40:18.000000000","message":"Almost all of this belongs in the bug, not the commit message, IMHO.","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"5af6a5716a4cf70c9f5d3f76c30af06fa2551c46","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    2) Uses _RELATIVE for blockCommit if available, for both file and network"},{"line_number":50,"context_line":"       disks. Raise excp if flag isn\u0027t present to ensure Cinder flow isn\u0027t"},{"line_number":51,"context_line":"       broken (old behaviour changes here, for file backed disks only)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Change-Id: I9bda95cd4ab09aed88536d4a988d6c6579441c37"},{"line_number":54,"context_line":"Closes-Bug: 1438027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5aa745d1_7f90f995","line":51,"in_reply_to":"9aa53dc9_9f2a4a7d","updated":"2015-04-16 08:54:10.000000000","message":"Done","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0e7fcd10aa01da1d70cd05f51c83d6aed0e0513b","unresolved":false,"context_lines":[{"line_number":1885,"context_line":"                                            active_disk_object.backing_store)"},{"line_number":1886,"context_line":"            rebase_bw \u003d 0"},{"line_number":1887,"context_line":""},{"line_number":1888,"context_line":"            try:"},{"line_number":1889,"context_line":"                if rebase_base is not None:"},{"line_number":1890,"context_line":"                    rebase_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_REBASE_RELATIVE"},{"line_number":1891,"context_line":"            except AttributeError:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da9b358b_a74e73bf","line":1888,"updated":"2015-03-30 08:44:26.000000000","message":"Add a private message to avoid duplicate logic here will be a little bit overkill i guess.","commit_id":"03ee11de989f29a820173448340b4bc8b3201224"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"acbd5e273af500831da8dfdea755626cae69eb94","unresolved":false,"context_lines":[{"line_number":1890,"context_line":"            #                 ensure backing paths are maintained relative by"},{"line_number":1891,"context_line":"            #                 qemu."},{"line_number":1892,"context_line":"            #"},{"line_number":1893,"context_line":"            #                 pre-1.2.7 for blockRebase, per my testing with"},{"line_number":1894,"context_line":"            #                 v1.2.2, qemu maintains relative path if the snap"},{"line_number":1895,"context_line":"            #                 chain was created using relative paths, which is"},{"line_number":1896,"context_line":"            #                 always the case with Cinder volumes."}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_6e25caa9","line":1893,"updated":"2015-04-02 18:48:02.000000000","message":"I\u0027m not sure we should spell out this partcular detail since it\u0027s actually more complicated than this and depends on the version of qemu as well.","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"28751cd3ea960c8de25f2489f5a0ae86f010e22c","unresolved":false,"context_lines":[{"line_number":1890,"context_line":"            #                 ensure backing paths are maintained relative by"},{"line_number":1891,"context_line":"            #                 qemu."},{"line_number":1892,"context_line":"            #"},{"line_number":1893,"context_line":"            #                 pre-1.2.7 for blockRebase, per my testing with"},{"line_number":1894,"context_line":"            #                 v1.2.2, qemu maintains relative path if the snap"},{"line_number":1895,"context_line":"            #                 chain was created using relative paths, which is"},{"line_number":1896,"context_line":"            #                 always the case with Cinder volumes."}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_98aef796","line":1893,"in_reply_to":"9aa53dc9_b90afcd0","updated":"2015-04-08 06:50:04.000000000","message":"Done","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"7186260ce0b329c7ad1f52a0ce261e06611a8398","unresolved":false,"context_lines":[{"line_number":1890,"context_line":"            #                 ensure backing paths are maintained relative by"},{"line_number":1891,"context_line":"            #                 qemu."},{"line_number":1892,"context_line":"            #"},{"line_number":1893,"context_line":"            #                 pre-1.2.7 for blockRebase, per my testing with"},{"line_number":1894,"context_line":"            #                 v1.2.2, qemu maintains relative path if the snap"},{"line_number":1895,"context_line":"            #                 chain was created using relative paths, which is"},{"line_number":1896,"context_line":"            #                 always the case with Cinder volumes."}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_e758bffc","line":1893,"in_reply_to":"baa041b7_6e25caa9","updated":"2015-04-03 15:19:32.000000000","message":"Can you pls suggest is there is a better way to put this ? I put libvirt version with the assumption that libvirt and qemu will go hand in hand, if we really consider all the permutation/combinations of qemu, libvirt, pre/post, there will be too many and difficult to document. I am open to any suggestion on whats the best way to document, Pls let me know.","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b200add82b99a2e81819b4afd663716fb89c5dce","unresolved":false,"context_lines":[{"line_number":1890,"context_line":"            #                 ensure backing paths are maintained relative by"},{"line_number":1891,"context_line":"            #                 qemu."},{"line_number":1892,"context_line":"            #"},{"line_number":1893,"context_line":"            #                 pre-1.2.7 for blockRebase, per my testing with"},{"line_number":1894,"context_line":"            #                 v1.2.2, qemu maintains relative path if the snap"},{"line_number":1895,"context_line":"            #                 chain was created using relative paths, which is"},{"line_number":1896,"context_line":"            #                 always the case with Cinder volumes."}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_b90afcd0","line":1893,"in_reply_to":"baa041b7_e758bffc","updated":"2015-04-07 15:34:39.000000000","message":"\u003e  there will be too many and difficult to document\n\nWhich is why I think we shouldn\u0027t embed this in the code.","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"acbd5e273af500831da8dfdea755626cae69eb94","unresolved":false,"context_lines":[{"line_number":1907,"context_line":"                        \"Libvirt \u0027%s\u0027 or later is required for online \""},{"line_number":1908,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1909,"context_line":"                        \"snapshots to work reliably. Continuing with older \""},{"line_number":1910,"context_line":"                        \"version of libvirt.\") % ver"},{"line_number":1911,"context_line":"                LOG.warn(msg)"},{"line_number":1912,"context_line":""},{"line_number":1913,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_2e110253","line":1910,"updated":"2015-04-02 18:48:02.000000000","message":"It\u0027s continuing with the old behavior rather than the older \"version of libvirt\", right?","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"28751cd3ea960c8de25f2489f5a0ae86f010e22c","unresolved":false,"context_lines":[{"line_number":1907,"context_line":"                        \"Libvirt \u0027%s\u0027 or later is required for online \""},{"line_number":1908,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1909,"context_line":"                        \"snapshots to work reliably. Continuing with older \""},{"line_number":1910,"context_line":"                        \"version of libvirt.\") % ver"},{"line_number":1911,"context_line":"                LOG.warn(msg)"},{"line_number":1912,"context_line":""},{"line_number":1913,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_58918f51","line":1910,"in_reply_to":"9aa53dc9_59e890e2","updated":"2015-04-08 06:50:04.000000000","message":"Done","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b200add82b99a2e81819b4afd663716fb89c5dce","unresolved":false,"context_lines":[{"line_number":1907,"context_line":"                        \"Libvirt \u0027%s\u0027 or later is required for online \""},{"line_number":1908,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1909,"context_line":"                        \"snapshots to work reliably. Continuing with older \""},{"line_number":1910,"context_line":"                        \"version of libvirt.\") % ver"},{"line_number":1911,"context_line":"                LOG.warn(msg)"},{"line_number":1912,"context_line":""},{"line_number":1913,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa53dc9_59e890e2","line":1910,"in_reply_to":"baa041b7_27d4671e","updated":"2015-04-07 15:34:39.000000000","message":"IMO saying \"Continuing with older version of libvirt.\" in a warning message is confusing, because it isn\u0027t clear what that actually means or what the admin should make of it.","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"7186260ce0b329c7ad1f52a0ce261e06611a8398","unresolved":false,"context_lines":[{"line_number":1907,"context_line":"                        \"Libvirt \u0027%s\u0027 or later is required for online \""},{"line_number":1908,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1909,"context_line":"                        \"snapshots to work reliably. Continuing with older \""},{"line_number":1910,"context_line":"                        \"version of libvirt.\") % ver"},{"line_number":1911,"context_line":"                LOG.warn(msg)"},{"line_number":1912,"context_line":""},{"line_number":1913,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_27d4671e","line":1910,"in_reply_to":"baa041b7_2e110253","updated":"2015-04-03 15:19:32.000000000","message":"Yes, but since we are in the context of relative rebase/pull support, and if it was not found, we just do the rebase/pull w/o the flag, which means older libvirt (in the sense that libvirt not support relative flag). I am willing to change this to whatever is suitable and appropriate, pls suggest the change.\n\nIMHO saying \"old behaviour\" in a warn msg would be very confusing, as admin/user may not know what is old baheviour., agree ?","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":8338,"name":"Eric Blake","email":"eblake@redhat.com","username":"eblake"},"change_message_id":"c58812786c2c1a640386d4b099c20197004eff8b","unresolved":false,"context_lines":[{"line_number":1908,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1909,"context_line":"                        \"snapshots to work reliably. Continuing with older \""},{"line_number":1910,"context_line":"                        \"version of libvirt.\") % ver"},{"line_number":1911,"context_line":"                LOG.warn(msg)"},{"line_number":1912,"context_line":""},{"line_number":1913,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"},{"line_number":1914,"context_line":"                      \u0027bw: %(bw)s, flags: %(flags)s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_571e200d","line":1911,"updated":"2015-04-02 15:40:45.000000000","message":"Your patch took the approach of \"if the client knows the flag, then unconditionally use it.\"  As long as you don\u0027t ever have a case of new libvirt client driving old libvirtd, then this is okay (so I will still give +1, as that is my understanding of how you use libvirt).  But if new libvirt drives old libvirtd, then the old libvirt could fail due to an unrecognized flag, while omitting the flag would succeed, which would be a regression in behavior (the solution to that is to base the use of the flag on what libvirtd understands, or trying a fallback command without the flag if using the flag failed; but it is more code than necessary if you don\u0027t have to worry about cross-version clients).","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"7186260ce0b329c7ad1f52a0ce261e06611a8398","unresolved":false,"context_lines":[{"line_number":1908,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1909,"context_line":"                        \"snapshots to work reliably. Continuing with older \""},{"line_number":1910,"context_line":"                        \"version of libvirt.\") % ver"},{"line_number":1911,"context_line":"                LOG.warn(msg)"},{"line_number":1912,"context_line":""},{"line_number":1913,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"},{"line_number":1914,"context_line":"                      \u0027bw: %(bw)s, flags: %(flags)s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_e7b0bfdf","line":1911,"in_reply_to":"baa041b7_571e200d","updated":"2015-04-03 15:19:32.000000000","message":"@eblake,\n   Here the libvirt client is actually the python binding of libvirt and that can\u0027t be newer than the version of libvirt present (if that ever happens, i agree, what you say can happen, but that won\u0027t be a supported config i believe).\n\n  If you mean Nova as a libvirt client, then Nova uses the libvirt python binding, so it can\u0027t be newer than actual libvirtd, atleast thats my understanding.","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"68c7c2d5af72bb80ec34cf4fe868d04c59a31311","unresolved":false,"context_lines":[{"line_number":1908,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1909,"context_line":"                        \"snapshots to work reliably. Continuing with older \""},{"line_number":1910,"context_line":"                        \"version of libvirt.\") % ver"},{"line_number":1911,"context_line":"                LOG.warn(msg)"},{"line_number":1912,"context_line":""},{"line_number":1913,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"},{"line_number":1914,"context_line":"                      \u0027bw: %(bw)s, flags: %(flags)s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_78aa30d6","line":1911,"in_reply_to":"baa041b7_571e200d","updated":"2015-04-02 17:49:12.000000000","message":"I checked with another Nova developer (Dan Smith), and he confirms your concern about the new \"libvirt client driving old libvirtd\" is not applicable in Nova\u0027s case. So your +1 judgment seems accurate.","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"7186260ce0b329c7ad1f52a0ce261e06611a8398","unresolved":false,"context_lines":[{"line_number":1908,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1909,"context_line":"                        \"snapshots to work reliably. Continuing with older \""},{"line_number":1910,"context_line":"                        \"version of libvirt.\") % ver"},{"line_number":1911,"context_line":"                LOG.warn(msg)"},{"line_number":1912,"context_line":""},{"line_number":1913,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"},{"line_number":1914,"context_line":"                      \u0027bw: %(bw)s, flags: %(flags)s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa041b7_67c5cf3a","line":1911,"in_reply_to":"baa041b7_78aa30d6","updated":"2015-04-03 15:19:32.000000000","message":"@kashyap,\n  thanks for checking w/ Dan. appreciate it.","commit_id":"dd6bd0c55e72c585acd5ca9c71484d67a6c0f81b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2a88d03761ec617d79f1d00eca0666c6395ca84b","unresolved":false,"context_lines":[{"line_number":357,"context_line":"# this version is only used for messaging)"},{"line_number":358,"context_line":"MIN_LIBVIRT_BLOCKCOMMIT_RELATIVE_VERSION \u003d (1, 2, 7)"},{"line_number":359,"context_line":"# Relative block rebase"},{"line_number":360,"context_line":"MIN_LIBVIRT_BLOCKREBASE_RELATIVE_VERSION \u003d (1, 2, 7)"},{"line_number":361,"context_line":"# libvirt discard feature"},{"line_number":362,"context_line":"MIN_LIBVIRT_DISCARD_VERSION \u003d (1, 0, 6)"},{"line_number":363,"context_line":"MIN_QEMU_DISCARD_VERSION \u003d (1, 6, 0)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa53dc9_3c60ec00","line":360,"updated":"2015-04-08 14:40:18.000000000","message":"Do we really need this? If 1.2.7 introduced some block relative bits, can we just generalize the above name and use that for both cases?","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"5af6a5716a4cf70c9f5d3f76c30af06fa2551c46","unresolved":false,"context_lines":[{"line_number":357,"context_line":"# this version is only used for messaging)"},{"line_number":358,"context_line":"MIN_LIBVIRT_BLOCKCOMMIT_RELATIVE_VERSION \u003d (1, 2, 7)"},{"line_number":359,"context_line":"# Relative block rebase"},{"line_number":360,"context_line":"MIN_LIBVIRT_BLOCKREBASE_RELATIVE_VERSION \u003d (1, 2, 7)"},{"line_number":361,"context_line":"# libvirt discard feature"},{"line_number":362,"context_line":"MIN_LIBVIRT_DISCARD_VERSION \u003d (1, 0, 6)"},{"line_number":363,"context_line":"MIN_QEMU_DISCARD_VERSION \u003d (1, 6, 0)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aa745d1_3fa151aa","line":360,"in_reply_to":"9aa53dc9_3c60ec00","updated":"2015-04-16 08:54:10.000000000","message":"Done","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2a88d03761ec617d79f1d00eca0666c6395ca84b","unresolved":false,"context_lines":[{"line_number":1892,"context_line":"            #"},{"line_number":1893,"context_line":"            #                 If _RELATIVE flag not found, continue with old"},{"line_number":1894,"context_line":"            #                 behaviour (relative backing path seems to work"},{"line_number":1895,"context_line":"            #                 for this case)"},{"line_number":1896,"context_line":"            try:"},{"line_number":1897,"context_line":"                # NOTE(deepakcs): Use _RELATIVE for file and network backed"},{"line_number":1898,"context_line":"                #                 disks."}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa53dc9_bc619c3b","line":1895,"updated":"2015-04-08 14:40:18.000000000","message":"Please remove all the whitespace here, This makes the comment take up much more space than it should.","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"5af6a5716a4cf70c9f5d3f76c30af06fa2551c46","unresolved":false,"context_lines":[{"line_number":1892,"context_line":"            #"},{"line_number":1893,"context_line":"            #                 If _RELATIVE flag not found, continue with old"},{"line_number":1894,"context_line":"            #                 behaviour (relative backing path seems to work"},{"line_number":1895,"context_line":"            #                 for this case)"},{"line_number":1896,"context_line":"            try:"},{"line_number":1897,"context_line":"                # NOTE(deepakcs): Use _RELATIVE for file and network backed"},{"line_number":1898,"context_line":"                #                 disks."}],"source_content_type":"text/x-python","patch_set":5,"id":"5aa745d1_7fad9987","line":1895,"in_reply_to":"9aa53dc9_bc619c3b","updated":"2015-04-16 08:54:10.000000000","message":"Done","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ff516db398f6c1fa7cd01ed793a8897834df6cff","unresolved":false,"context_lines":[{"line_number":1894,"context_line":"            #                 behaviour (relative backing path seems to work"},{"line_number":1895,"context_line":"            #                 for this case)"},{"line_number":1896,"context_line":"            try:"},{"line_number":1897,"context_line":"                # NOTE(deepakcs): Use _RELATIVE for file and network backed"},{"line_number":1898,"context_line":"                #                 disks."},{"line_number":1899,"context_line":"                if rebase_base is not None:"},{"line_number":1900,"context_line":"                    rebase_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_REBASE_RELATIVE"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa53dc9_5c13b00d","line":1897,"updated":"2015-04-08 14:29:30.000000000","message":"This comment is redundant given the above comments.","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"5af6a5716a4cf70c9f5d3f76c30af06fa2551c46","unresolved":false,"context_lines":[{"line_number":1894,"context_line":"            #                 behaviour (relative backing path seems to work"},{"line_number":1895,"context_line":"            #                 for this case)"},{"line_number":1896,"context_line":"            try:"},{"line_number":1897,"context_line":"                # NOTE(deepakcs): Use _RELATIVE for file and network backed"},{"line_number":1898,"context_line":"                #                 disks."},{"line_number":1899,"context_line":"                if rebase_base is not None:"},{"line_number":1900,"context_line":"                    rebase_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_REBASE_RELATIVE"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aa745d1_5faadd71","line":1897,"in_reply_to":"9aa53dc9_5c13b00d","updated":"2015-04-16 08:54:10.000000000","message":"Done","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2a88d03761ec617d79f1d00eca0666c6395ca84b","unresolved":false,"context_lines":[{"line_number":1906,"context_line":"                        \"Libvirt \u0027%s\u0027 or later is required for online \""},{"line_number":1907,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1908,"context_line":"                        \"snapshots to work reliably. Continuing with old \""},{"line_number":1909,"context_line":"                        \"behaviour.\") % ver"},{"line_number":1910,"context_line":"                LOG.warn(msg)"},{"line_number":1911,"context_line":""},{"line_number":1912,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa53dc9_9c67f824","line":1909,"updated":"2015-04-08 14:40:18.000000000","message":"This seems overly verbose to me, especially since you\u0027re logging at WARN level to tell them that nothing is wrong.","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"5af6a5716a4cf70c9f5d3f76c30af06fa2551c46","unresolved":false,"context_lines":[{"line_number":1906,"context_line":"                        \"Libvirt \u0027%s\u0027 or later is required for online \""},{"line_number":1907,"context_line":"                        \"deletion of file/network storage-backed volume \""},{"line_number":1908,"context_line":"                        \"snapshots to work reliably. Continuing with old \""},{"line_number":1909,"context_line":"                        \"behaviour.\") % ver"},{"line_number":1910,"context_line":"                LOG.warn(msg)"},{"line_number":1911,"context_line":""},{"line_number":1912,"context_line":"            LOG.debug(\u0027disk: %(disk)s, base: %(base)s, \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aa745d1_9f3ce530","line":1909,"in_reply_to":"9aa53dc9_9c67f824","updated":"2015-04-16 08:54:10.000000000","message":"Done","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ff516db398f6c1fa7cd01ed793a8897834df6cff","unresolved":false,"context_lines":[{"line_number":1943,"context_line":"            #                 relative backing path may not be maintained and"},{"line_number":1944,"context_line":"            #                 Cinder flow is broken if allowed to continue."},{"line_number":1945,"context_line":"            try:"},{"line_number":1946,"context_line":"                # NOTE(deepakcs): Use _RELATIVE for file and network backed"},{"line_number":1947,"context_line":"                #                 disks."},{"line_number":1948,"context_line":"                commit_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_COMMIT_RELATIVE"},{"line_number":1949,"context_line":"            except AttributeError:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa53dc9_1cf648d7","line":1946,"updated":"2015-04-08 14:29:30.000000000","message":"Ditto.","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2a88d03761ec617d79f1d00eca0666c6395ca84b","unresolved":false,"context_lines":[{"line_number":1943,"context_line":"            #                 relative backing path may not be maintained and"},{"line_number":1944,"context_line":"            #                 Cinder flow is broken if allowed to continue."},{"line_number":1945,"context_line":"            try:"},{"line_number":1946,"context_line":"                # NOTE(deepakcs): Use _RELATIVE for file and network backed"},{"line_number":1947,"context_line":"                #                 disks."},{"line_number":1948,"context_line":"                commit_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_COMMIT_RELATIVE"},{"line_number":1949,"context_line":"            except AttributeError:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa53dc9_9c1c9878","line":1946,"in_reply_to":"9aa53dc9_1cf648d7","updated":"2015-04-08 14:40:18.000000000","message":"...for my comments as well.","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"5af6a5716a4cf70c9f5d3f76c30af06fa2551c46","unresolved":false,"context_lines":[{"line_number":1943,"context_line":"            #                 relative backing path may not be maintained and"},{"line_number":1944,"context_line":"            #                 Cinder flow is broken if allowed to continue."},{"line_number":1945,"context_line":"            try:"},{"line_number":1946,"context_line":"                # NOTE(deepakcs): Use _RELATIVE for file and network backed"},{"line_number":1947,"context_line":"                #                 disks."},{"line_number":1948,"context_line":"                commit_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_COMMIT_RELATIVE"},{"line_number":1949,"context_line":"            except AttributeError:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aa745d1_1fbb35c6","line":1946,"in_reply_to":"9aa53dc9_1cf648d7","updated":"2015-04-16 08:54:10.000000000","message":"Done","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"5af6a5716a4cf70c9f5d3f76c30af06fa2551c46","unresolved":false,"context_lines":[{"line_number":1943,"context_line":"            #                 relative backing path may not be maintained and"},{"line_number":1944,"context_line":"            #                 Cinder flow is broken if allowed to continue."},{"line_number":1945,"context_line":"            try:"},{"line_number":1946,"context_line":"                # NOTE(deepakcs): Use _RELATIVE for file and network backed"},{"line_number":1947,"context_line":"                #                 disks."},{"line_number":1948,"context_line":"                commit_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_COMMIT_RELATIVE"},{"line_number":1949,"context_line":"            except AttributeError:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5aa745d1_ffaf697b","line":1946,"in_reply_to":"9aa53dc9_9c1c9878","updated":"2015-04-16 08:54:10.000000000","message":"Done","commit_id":"793dc82b4ba0e226ce9bf38de6256a99a24ec692"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0e1e7f4391aae7af9c1265f0e8d465f5d5085c02","unresolved":false,"context_lines":[{"line_number":1895,"context_line":"            except AttributeError:"},{"line_number":1896,"context_line":"                ver \u003d \u0027.\u0027.join("},{"line_number":1897,"context_line":"                    [str(x) for x in"},{"line_number":1898,"context_line":"                     MIN_LIBVIRT_BLOCKJOB_RELATIVE_VERSION])"},{"line_number":1899,"context_line":"                msg \u003d _(\"Relative blockrebase support was not detected. \""},{"line_number":1900,"context_line":"                        \"Continuing with old behaviour.\")"},{"line_number":1901,"context_line":"                LOG.warn(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7ad32947_8bb5b3ce","line":1898,"updated":"2015-04-28 16:43:24.000000000","message":"This \"ver\" doesn\u0027t seem to be used here. Perhaps you forgot to include it in msg, as you do below? However, since it\u0027s just a pass, I don\u0027t think it\u0027s really worth including, especially since the check you did was flag-based and not version-based and thus could be wrong on some distro package of libvirt.","commit_id":"14d272d5195ab2ea288c7994eec4185519b3dbec"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"19576c13286b7c9678f3248246965b4a1fcf4852","unresolved":false,"context_lines":[{"line_number":1894,"context_line":"                if rebase_base is not None:"},{"line_number":1895,"context_line":"                    rebase_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_REBASE_RELATIVE"},{"line_number":1896,"context_line":"            except AttributeError:"},{"line_number":1897,"context_line":"                msg \u003d _(\"Relative blockrebase support was not detected. \""},{"line_number":1898,"context_line":"                        \"Continuing with old behaviour.\")"},{"line_number":1899,"context_line":"                LOG.warn(msg)"},{"line_number":1900,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3acd31a7_c616d2a6","line":1897,"updated":"2015-05-03 09:05:26.000000000","message":"this should be msg \u003d _LW(...)\nDo we need this variable?","commit_id":"23620091b07243672f939d386fb16cd95b9c40d9"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"d602eff05f07a9b2f387df9fdcf5ab484a0bc0ba","unresolved":false,"context_lines":[{"line_number":1894,"context_line":"                if rebase_base is not None:"},{"line_number":1895,"context_line":"                    rebase_flags |\u003d libvirt.VIR_DOMAIN_BLOCK_REBASE_RELATIVE"},{"line_number":1896,"context_line":"            except AttributeError:"},{"line_number":1897,"context_line":"                msg \u003d _(\"Relative blockrebase support was not detected. \""},{"line_number":1898,"context_line":"                        \"Continuing with old behaviour.\")"},{"line_number":1899,"context_line":"                LOG.warn(msg)"},{"line_number":1900,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3acd31a7_cac81025","line":1897,"in_reply_to":"3acd31a7_c616d2a6","updated":"2015-05-04 05:34:32.000000000","message":"Done","commit_id":"23620091b07243672f939d386fb16cd95b9c40d9"}]}
