)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"602f6c9033a8f25c254a8a8b73308c1e0bf7650b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"pvs stderr output for string \"Skipping clustered volume group\","},{"line_number":12,"context_line":"and if its exist, startup with log message."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Author:    Dmitry Kudyukin \u003cgmorfy@gmail.com\u003e"},{"line_number":15,"context_line":"Date:      Wed Nov 9 00:48:56 2016 +0000"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-Bug: 1640536"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a629dbe_2a10b958","line":15,"range":{"start_line":14,"start_character":5,"end_line":15,"end_character":13},"updated":"2016-11-10 15:28:25.000000000","message":"These lines can be removed.","commit_id":"09dea1241349d9038c0c29dd77937b6af2bfdf9e"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"844f1775997481844ce817d3074a6500511165be","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cluster volume group fix in lvm"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"After adding cluster lvm cluster volume group on host with"},{"line_number":10,"context_line":"cinder-volume service, this service failed to start. Add"},{"line_number":11,"context_line":"--ignoreskippedcluster option to pvs and unit test for pvs"},{"line_number":12,"context_line":"command in case cluster volume group exist."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a71b18c_dbe040fd","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":20},"updated":"2016-12-09 12:11:23.000000000","message":"could be removed","commit_id":"e80bd5057736e65822380df6dde98844133f6322"},{"author":{"_account_id":23771,"name":"morfy","email":"gmorfy@gmail.com","username":"morfy"},"change_message_id":"62e3fff9a9ab622684bf0f336e9333e467219979","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Cluster volume group fix in lvm"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"After adding cluster lvm cluster volume group on host with"},{"line_number":10,"context_line":"cinder-volume service, this service failed to start. Add"},{"line_number":11,"context_line":"--ignoreskippedcluster option to pvs and unit test for pvs"},{"line_number":12,"context_line":"command in case cluster volume group exist."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3a71b18c_dbf919ca","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":20},"in_reply_to":"3a71b18c_dbe040fd","updated":"2016-12-09 14:52:01.000000000","message":"Done","commit_id":"e80bd5057736e65822380df6dde98844133f6322"}],"cinder/brick/local_dev/lvm.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"602f6c9033a8f25c254a8a8b73308c1e0bf7650b","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                                    \u0027--nosuffix\u0027]"},{"line_number":337,"context_line":"        out \u003d \u0027\u0027"},{"line_number":338,"context_line":"        try:"},{"line_number":339,"context_line":"            (out,_err) \u003d putils.execute(*cmd,"},{"line_number":340,"context_line":"                                        root_helper\u003droot_helper,"},{"line_number":341,"context_line":"                                        run_as_root\u003dTrue)"},{"line_number":342,"context_line":"        except putils.ProcessExecutionError as err:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_4a15ed46","line":339,"updated":"2016-11-10 15:28:25.000000000","message":"Please add back space that was removed after the ,","commit_id":"09dea1241349d9038c0c29dd77937b6af2bfdf9e"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"602f6c9033a8f25c254a8a8b73308c1e0bf7650b","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                    ctx.reraise \u003d False"},{"line_number":346,"context_line":"                    LOG.info(_LI(\"Cluster volume group found, skipping: %s\"),"},{"line_number":347,"context_line":"                                {err.stderr})"},{"line_number":348,"context_line":"                    pass"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        pvs \u003d out.split()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_9e1bc672","line":348,"updated":"2016-11-10 15:28:25.000000000","message":"Remove \"pass\"","commit_id":"09dea1241349d9038c0c29dd77937b6af2bfdf9e"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4d4e32fbf84393e32428fe950d4df311326f5f59","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                    ctx.reraise \u003d False"},{"line_number":346,"context_line":"                    LOG.info(_LI(\"Cluster volume group found, skipping: %s\"),"},{"line_number":347,"context_line":"                                {err.stderr})"},{"line_number":348,"context_line":"                    pass"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        pvs \u003d out.split()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_81cd2b87","line":348,"in_reply_to":"9a629dbe_9e1bc672","updated":"2016-11-10 15:49:33.000000000","message":"Why is \"Skipping clustered volume group\" on one PV causing this command to fail?  Shouldn\u0027t it be returning valid data for other PVs?  I think we are missing some details here.","commit_id":"09dea1241349d9038c0c29dd77937b6af2bfdf9e"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"129aa5e5d913eca5392c6600e21d4f2df77c1ecf","unresolved":false,"context_lines":[{"line_number":350,"context_line":"                                    \u0027--unit\u003dg\u0027,"},{"line_number":351,"context_line":"                                    \u0027-o\u0027, \u0027vg_name,name,size,free\u0027,"},{"line_number":352,"context_line":"                                    \u0027--separator\u0027, field_sep,"},{"line_number":353,"context_line":"                                    \u0027--nosuffix\u0027, \u0027--ignoreskippedcluster\u0027]"},{"line_number":354,"context_line":"        if LVM.supports_pvs_ignoreskippedcluster:"},{"line_number":355,"context_line":"            cmd.append(\u0027--ignoreskippedcluster\u0027)"},{"line_number":356,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_b199e370","line":353,"range":{"start_line":353,"start_character":50,"end_line":353,"end_character":74},"updated":"2016-12-09 13:03:07.000000000","message":"You\u0027re adding it, then checking if you can add it again.","commit_id":"e80bd5057736e65822380df6dde98844133f6322"},{"author":{"_account_id":23771,"name":"morfy","email":"gmorfy@gmail.com","username":"morfy"},"change_message_id":"62e3fff9a9ab622684bf0f336e9333e467219979","unresolved":false,"context_lines":[{"line_number":350,"context_line":"                                    \u0027--unit\u003dg\u0027,"},{"line_number":351,"context_line":"                                    \u0027-o\u0027, \u0027vg_name,name,size,free\u0027,"},{"line_number":352,"context_line":"                                    \u0027--separator\u0027, field_sep,"},{"line_number":353,"context_line":"                                    \u0027--nosuffix\u0027, \u0027--ignoreskippedcluster\u0027]"},{"line_number":354,"context_line":"        if LVM.supports_pvs_ignoreskippedcluster:"},{"line_number":355,"context_line":"            cmd.append(\u0027--ignoreskippedcluster\u0027)"},{"line_number":356,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_6c9bf4c9","line":353,"range":{"start_line":353,"start_character":50,"end_line":353,"end_character":74},"in_reply_to":"3a71b18c_b199e370","updated":"2016-12-09 14:52:01.000000000","message":"Done","commit_id":"e80bd5057736e65822380df6dde98844133f6322"}],"cinder/tests/unit/brick/test_brick_lvm.py":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"844f1775997481844ce817d3074a6500511165be","unresolved":false,"context_lines":[{"line_number":140,"context_line":"            data +\u003d \"  fake-vg|/dev/sdb|10.00|1.00\\n\""},{"line_number":141,"context_line":"            data +\u003d \"  fake-vg|/dev/sdc|10.00|8.99\\n\""},{"line_number":142,"context_line":"            data +\u003d \"  fake-vg-2|/dev/sdd|10.00|9.99\\n\""},{"line_number":143,"context_line":"            if \u0027--ignoreskippedcluster\u0027 not in cmd_string and \\"},{"line_number":144,"context_line":"                    obj._testMethodName is \\"},{"line_number":145,"context_line":"                    \u0027test_get_all_physical_volumes_cluster_vg\u0027:"},{"line_number":146,"context_line":"                raise processutils.ProcessExecutionError("},{"line_number":147,"context_line":"                    stderr\u003d\"Skipping clustered volume group\","},{"line_number":148,"context_line":"                    stdout\u003ddata,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_0085e7ab","line":145,"range":{"start_line":143,"start_character":12,"end_line":145,"end_character":63},"updated":"2016-12-09 12:11:23.000000000","message":"It\u0027s preferred to wrap the lines using parentheses instead of backslash","commit_id":"e80bd5057736e65822380df6dde98844133f6322"},{"author":{"_account_id":23771,"name":"morfy","email":"gmorfy@gmail.com","username":"morfy"},"change_message_id":"62e3fff9a9ab622684bf0f336e9333e467219979","unresolved":false,"context_lines":[{"line_number":140,"context_line":"            data +\u003d \"  fake-vg|/dev/sdb|10.00|1.00\\n\""},{"line_number":141,"context_line":"            data +\u003d \"  fake-vg|/dev/sdc|10.00|8.99\\n\""},{"line_number":142,"context_line":"            data +\u003d \"  fake-vg-2|/dev/sdd|10.00|9.99\\n\""},{"line_number":143,"context_line":"            if \u0027--ignoreskippedcluster\u0027 not in cmd_string and \\"},{"line_number":144,"context_line":"                    obj._testMethodName is \\"},{"line_number":145,"context_line":"                    \u0027test_get_all_physical_volumes_cluster_vg\u0027:"},{"line_number":146,"context_line":"                raise processutils.ProcessExecutionError("},{"line_number":147,"context_line":"                    stderr\u003d\"Skipping clustered volume group\","},{"line_number":148,"context_line":"                    stdout\u003ddata,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_ecaf04e1","line":145,"range":{"start_line":143,"start_character":12,"end_line":145,"end_character":63},"in_reply_to":"3a71b18c_0085e7ab","updated":"2016-12-09 14:52:01.000000000","message":"Done","commit_id":"e80bd5057736e65822380df6dde98844133f6322"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ba0f70b261ae53d4784f11cc29a844b836bf7300","unresolved":false,"context_lines":[{"line_number":141,"context_line":"            data +\u003d \"  fake-vg|/dev/sdc|10.00|8.99\\n\""},{"line_number":142,"context_line":"            data +\u003d \"  fake-vg-2|/dev/sdd|10.00|9.99\\n\""},{"line_number":143,"context_line":"            if ((\u0027--ignoreskippedcluster\u0027 not in cmd_string) and"},{"line_number":144,"context_line":"                    (obj._testMethodName is"},{"line_number":145,"context_line":"                        \u0027test_get_all_physical_volumes_cluster_vg\u0027)):"},{"line_number":146,"context_line":"                raise processutils.ProcessExecutionError("},{"line_number":147,"context_line":"                    stderr\u003d\"Skipping clustered volume group\","}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_4350b70a","line":144,"updated":"2016-12-09 18:28:15.000000000","message":"Having to test obj._testMethodName here indicates that we need separate fakes/mocks.","commit_id":"bee224ce37231f9b4086c5e8f10a952e7b117c39"},{"author":{"_account_id":23771,"name":"morfy","email":"gmorfy@gmail.com","username":"morfy"},"change_message_id":"6873069246d23bf115b30b5d01919afffb7f176e","unresolved":false,"context_lines":[{"line_number":141,"context_line":"            data +\u003d \"  fake-vg|/dev/sdc|10.00|8.99\\n\""},{"line_number":142,"context_line":"            data +\u003d \"  fake-vg-2|/dev/sdd|10.00|9.99\\n\""},{"line_number":143,"context_line":"            if ((\u0027--ignoreskippedcluster\u0027 not in cmd_string) and"},{"line_number":144,"context_line":"                    (obj._testMethodName is"},{"line_number":145,"context_line":"                        \u0027test_get_all_physical_volumes_cluster_vg\u0027)):"},{"line_number":146,"context_line":"                raise processutils.ProcessExecutionError("},{"line_number":147,"context_line":"                    stderr\u003d\"Skipping clustered volume group\","}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_faf10696","line":144,"in_reply_to":"3a71b18c_4350b70a","updated":"2016-12-16 12:24:53.000000000","message":"Done","commit_id":"bee224ce37231f9b4086c5e8f10a952e7b117c39"},{"author":{"_account_id":23602,"name":"Michael Dovgal","email":"dovgalmichael@gmail.com","username":"mdovgal"},"change_message_id":"ff480d7192e904d4430f24a6f14deb9cc0aa6ee4","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        pvs \u003d self.vg.get_all_physical_volumes(\u0027sudo\u0027)"},{"line_number":240,"context_line":"        self.assertEqual(4, len(pvs))"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test_get_all_physical_volumes_cluster_vg(self):"},{"line_number":243,"context_line":"        # Filtered VG version"},{"line_number":244,"context_line":"        pvs \u003d self.vg.get_all_physical_volumes(\u0027sudo\u0027, \u0027fake-vg\u0027)"},{"line_number":245,"context_line":"        self.assertEqual(3, len(pvs))"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        # Non-Filtered, all VG\u0027s"},{"line_number":248,"context_line":"        pvs \u003d self.vg.get_all_physical_volumes(\u0027sudo\u0027)"},{"line_number":249,"context_line":"        self.assertEqual(4, len(pvs))"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def test_get_volume_groups(self):"},{"line_number":252,"context_line":"        self.assertEqual(3, len(self.vg.get_all_volume_groups(\u0027sudo\u0027)))"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a71b18c_9a24bf0d","line":249,"range":{"start_line":242,"start_character":0,"end_line":249,"end_character":37},"updated":"2016-12-12 11:29:05.000000000","message":"Why do we need the same code with different test name here?","commit_id":"bee224ce37231f9b4086c5e8f10a952e7b117c39"},{"author":{"_account_id":23771,"name":"morfy","email":"gmorfy@gmail.com","username":"morfy"},"change_message_id":"6873069246d23bf115b30b5d01919afffb7f176e","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        pvs \u003d self.vg.get_all_physical_volumes(\u0027sudo\u0027)"},{"line_number":240,"context_line":"        self.assertEqual(4, len(pvs))"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def test_get_all_physical_volumes_cluster_vg(self):"},{"line_number":243,"context_line":"        # Filtered VG version"},{"line_number":244,"context_line":"        pvs \u003d self.vg.get_all_physical_volumes(\u0027sudo\u0027, \u0027fake-vg\u0027)"},{"line_number":245,"context_line":"        self.assertEqual(3, len(pvs))"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        # Non-Filtered, all VG\u0027s"},{"line_number":248,"context_line":"        pvs \u003d self.vg.get_all_physical_volumes(\u0027sudo\u0027)"},{"line_number":249,"context_line":"        self.assertEqual(4, len(pvs))"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def test_get_volume_groups(self):"},{"line_number":252,"context_line":"        self.assertEqual(3, len(self.vg.get_all_volume_groups(\u0027sudo\u0027)))"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_bafb0e78","line":249,"range":{"start_line":242,"start_character":0,"end_line":249,"end_character":37},"in_reply_to":"3a71b18c_9a24bf0d","updated":"2016-12-16 12:24:53.000000000","message":"Done","commit_id":"bee224ce37231f9b4086c5e8f10a952e7b117c39"}]}
