)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1b6ed359c51d1d0a2f81b8da0ee87d290b055e76","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Per the previous code comment, we can now use shred to zero"},{"line_number":10,"context_line":"volumes efficiently on modern distros. Let\u0027s do that."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I1f0ba72ddeb26eb51bf5e7c3db017b108e0494e9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7f287b81_9c95f135","line":11,"updated":"2017-08-28 21:00:21.000000000","message":"You might want to mention that per the ML thread\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2017-August/121301.html\n\nThis is safe for modern distros.","commit_id":"955917ce3d96fc911aaa6539117deceb03b4ca9c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"431caac761b935a670ec14f463a27dba0d7d03ca","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Per the previous code comment, we can now use shred to zero"},{"line_number":10,"context_line":"volumes efficiently on modern distros. Let\u0027s do that."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I1f0ba72ddeb26eb51bf5e7c3db017b108e0494e9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7f287b81_8ed48c21","line":11,"in_reply_to":"7f287b81_9c95f135","updated":"2017-08-29 21:05:17.000000000","message":"Done","commit_id":"955917ce3d96fc911aaa6539117deceb03b4ca9c"}],"nova/tests/unit/virt/libvirt/storage/test_lvm.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ac96ec3e61a35bd0e76a45f962221c3499d1e8f","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                       run_as_root\u003dTrue)])"},{"line_number":131,"context_line":"        mock_execute.reset_mock()"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        # Test volume_clear_size limits the size"},{"line_number":134,"context_line":"        lvm_size \u003d 10485761"},{"line_number":135,"context_line":"        CONF.set_override(\u0027volume_clear_size\u0027, \u00271\u0027, \u0027libvirt\u0027)"},{"line_number":136,"context_line":"        lvm.clear_volume(\u0027/dev/v7\u0027)"},{"line_number":137,"context_line":"        mock_execute.assert_has_calls("},{"line_number":138,"context_line":"            [mock.call(\u0027dd\u0027, \u0027bs\u003d1048576\u0027, \u0027if\u003d/dev/zero\u0027, \u0027of\u003d/dev/v7\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_9cc29158","side":"PARENT","line":135,"range":{"start_line":133,"start_character":8,"end_line":135,"end_character":62},"updated":"2017-08-28 20:59:56.000000000","message":"You\u0027ve dropped coverage for this condition.","commit_id":"12bf2688d0f5d7bacb1412289868a260285d2995"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"431caac761b935a670ec14f463a27dba0d7d03ca","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                       run_as_root\u003dTrue)])"},{"line_number":131,"context_line":"        mock_execute.reset_mock()"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        # Test volume_clear_size limits the size"},{"line_number":134,"context_line":"        lvm_size \u003d 10485761"},{"line_number":135,"context_line":"        CONF.set_override(\u0027volume_clear_size\u0027, \u00271\u0027, \u0027libvirt\u0027)"},{"line_number":136,"context_line":"        lvm.clear_volume(\u0027/dev/v7\u0027)"},{"line_number":137,"context_line":"        mock_execute.assert_has_calls("},{"line_number":138,"context_line":"            [mock.call(\u0027dd\u0027, \u0027bs\u003d1048576\u0027, \u0027if\u003d/dev/zero\u0027, \u0027of\u003d/dev/v7\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_4b92fd4d","side":"PARENT","line":135,"range":{"start_line":133,"start_character":8,"end_line":135,"end_character":62},"in_reply_to":"7f287b81_9cc29158","updated":"2017-08-29 21:05:17.000000000","message":"Done","commit_id":"12bf2688d0f5d7bacb1412289868a260285d2995"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ac96ec3e61a35bd0e76a45f962221c3499d1e8f","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                       run_as_root\u003dTrue)])"},{"line_number":141,"context_line":"        mock_execute.reset_mock()"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        CONF.set_override(\u0027volume_clear_size\u0027, \u00272\u0027, \u0027libvirt\u0027)"},{"line_number":144,"context_line":"        lvm_size \u003d 1048576"},{"line_number":145,"context_line":"        lvm.clear_volume(\u0027/dev/v9\u0027)"},{"line_number":146,"context_line":"        mock_execute.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_5cad4999","side":"PARENT","line":143,"updated":"2017-08-28 20:59:56.000000000","message":"same","commit_id":"12bf2688d0f5d7bacb1412289868a260285d2995"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"431caac761b935a670ec14f463a27dba0d7d03ca","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                       run_as_root\u003dTrue)])"},{"line_number":141,"context_line":"        mock_execute.reset_mock()"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        CONF.set_override(\u0027volume_clear_size\u0027, \u00272\u0027, \u0027libvirt\u0027)"},{"line_number":144,"context_line":"        lvm_size \u003d 1048576"},{"line_number":145,"context_line":"        lvm.clear_volume(\u0027/dev/v9\u0027)"},{"line_number":146,"context_line":"        mock_execute.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_2b957133","side":"PARENT","line":143,"in_reply_to":"7f287b81_5cad4999","updated":"2017-08-29 21:05:17.000000000","message":"Done","commit_id":"12bf2688d0f5d7bacb1412289868a260285d2995"}],"nova/virt/libvirt/storage/lvm.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"198cf676105069b73cd76c1d49b07656d6f3caca","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        # with -n0 -z, however only versions \u003e\u003d 8.22 perform as well as dd"},{"line_number":214,"context_line":"        _zero_volume(path, volume_size)"},{"line_number":215,"context_line":"    elif volume_clear \u003d\u003d \u0027shred\u0027:"},{"line_number":216,"context_line":"        utils.execute(\u0027shred\u0027, \u0027-n3\u0027, \u0027-s%d\u0027 % volume_size, path,"},{"line_number":217,"context_line":"                      run_as_root\u003dTrue)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_e26ca19d","side":"PARENT","line":216,"range":{"start_line":216,"start_character":23,"end_line":216,"end_character":28},"updated":"2017-08-21 16:57:20.000000000","message":"oh nevermind, we were already using shred, so yeah, can we just split this out of the larger series?","commit_id":"f70b7f16439a3ceb2abde63dc8de3444816092b5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4ac96ec3e61a35bd0e76a45f962221c3499d1e8f","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        LOG.warning(\u0027ignoring missing logical volume %(path)s\u0027, {\u0027path\u0027: path})"},{"line_number":183,"context_line":"        return"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    if volume_clear_size !\u003d 0 and volume_clear_size \u003c volume_size:"},{"line_number":186,"context_line":"        volume_size \u003d volume_clear_size"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    cmd \u003d [\u0027shred\u0027]"},{"line_number":189,"context_line":"    if volume_clear \u003d\u003d \u0027zero\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_7c8125fb","line":186,"range":{"start_line":185,"start_character":4,"end_line":186,"end_character":39},"updated":"2017-08-28 20:59:56.000000000","message":"As noted, you dropped test coverage for this.","commit_id":"955917ce3d96fc911aaa6539117deceb03b4ca9c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"431caac761b935a670ec14f463a27dba0d7d03ca","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        LOG.warning(\u0027ignoring missing logical volume %(path)s\u0027, {\u0027path\u0027: path})"},{"line_number":183,"context_line":"        return"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    if volume_clear_size !\u003d 0 and volume_clear_size \u003c volume_size:"},{"line_number":186,"context_line":"        volume_size \u003d volume_clear_size"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    cmd \u003d [\u0027shred\u0027]"},{"line_number":189,"context_line":"    if volume_clear \u003d\u003d \u0027zero\u0027:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_0b987567","line":186,"range":{"start_line":185,"start_character":4,"end_line":186,"end_character":39},"in_reply_to":"7f287b81_7c8125fb","updated":"2017-08-29 21:05:17.000000000","message":"Done","commit_id":"955917ce3d96fc911aaa6539117deceb03b4ca9c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ad0a83f85508d0adc12ba16ba452d867c90885c1","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    if volume_clear \u003d\u003d \u0027zero\u0027:"},{"line_number":190,"context_line":"        cmd.extend([\u0027-n0\u0027, \u0027-z\u0027])"},{"line_number":191,"context_line":"    else:"},{"line_number":192,"context_line":"        cmd.extend([\u0027-n3\u0027])"},{"line_number":193,"context_line":"    cmd.extend([\u0027-s%d\u0027 % volume_size, path])"},{"line_number":194,"context_line":"    utils.execute(*cmd, run_as_root\u003dTrue)"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7f287b81_11a2559b","line":192,"range":{"start_line":192,"start_character":20,"end_line":192,"end_character":25},"updated":"2017-09-05 14:56:13.000000000","message":"Probably unnecessary, given that the default is already 3 [1]. No harm though\n\n[1] https://linux.die.net/man/1/shred","commit_id":"4b596bd6dafd103368e81769ff236eb5dc8f36ec"}]}
