)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"6932dda93e854cd4f41302b1656a7afd6890d5ed","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Philipp Marek \u003cphilipp.marek@linbit.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-03 14:50:59 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"DRBD: Policy-based waiting for completion."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The more nodes are in a cluster, the higher the chance that one or more"},{"line_number":10,"context_line":"of them are not available. Waiting on all nodes will not work any more,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7af24918_14917a47","line":7,"range":{"start_line":7,"start_character":41,"end_line":7,"end_character":42},"updated":"2016-03-03 15:05:58.000000000","message":"First line of commit message should not end with a period.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Philipp Marek \u003cphilipp.marek@linbit.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-03 14:50:59 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"DRBD: Policy-based waiting for completion."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The more nodes are in a cluster, the higher the chance that one or more"},{"line_number":10,"context_line":"of them are not available. Waiting on all nodes will not work any more,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7af24918_b34fce32","line":7,"range":{"start_line":7,"start_character":41,"end_line":7,"end_character":42},"in_reply_to":"7af24918_14917a47","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"6932dda93e854cd4f41302b1656a7afd6890d5ed","unresolved":false,"context_lines":[{"line_number":15,"context_line":"so make that available in Cinder, too."},{"line_number":16,"context_line":"Documentation is at"},{"line_number":17,"context_line":"    http://drbd.linbit.com/users-guide-9.0/s-drbdmanage-deployment-policy.html"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ib2bc888ca5df87a4de97ee07601d0280a04c7a81"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7af24918_54f14200","line":18,"updated":"2016-03-03 15:05:58.000000000","message":"Since you are adding config options, I think you need to add a DocImpact tag here.","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b92ea1751b568e637459a21089bbb015c8b2db8a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"so make that available in Cinder, too."},{"line_number":16,"context_line":"Documentation is at"},{"line_number":17,"context_line":"    http://drbd.linbit.com/users-guide-9.0/s-drbdmanage-deployment-policy.html"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ib2bc888ca5df87a4de97ee07601d0280a04c7a81"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7af24918_fa0b17d4","line":18,"in_reply_to":"7af24918_54f14200","updated":"2016-03-03 15:21:49.000000000","message":"+1, good catch.","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"so make that available in Cinder, too."},{"line_number":16,"context_line":"Documentation is at"},{"line_number":17,"context_line":"    http://drbd.linbit.com/users-guide-9.0/s-drbdmanage-deployment-policy.html"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ib2bc888ca5df87a4de97ee07601d0280a04c7a81"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7af24918_f36316af","line":18,"in_reply_to":"7af24918_54f14200","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"so make that available in Cinder, too."},{"line_number":16,"context_line":"Documentation is at"},{"line_number":17,"context_line":"    http://drbd.linbit.com/users-guide-9.0/s-drbdmanage-deployment-policy.html"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ib2bc888ca5df87a4de97ee07601d0280a04c7a81"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7af24918_53576ac9","line":18,"in_reply_to":"7af24918_fa0b17d4","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"}],"cinder/tests/unit/test_drbdmanagedrv.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6b81168909e92ca7b846415135d31b6c9e83eff2","unresolved":false,"context_lines":[{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    @staticmethod"},{"line_number":283,"context_line":"    def _fake_sleep(amount):"},{"line_number":284,"context_line":"\tpass"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def setUp(self):"},{"line_number":287,"context_line":"        self.ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_836c3236","line":284,"updated":"2016-03-03 14:34:11.000000000","message":"Looks like a tab instead of spaces here. Can you fix that?","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    @staticmethod"},{"line_number":283,"context_line":"    def _fake_sleep(amount):"},{"line_number":284,"context_line":"\tpass"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def setUp(self):"},{"line_number":287,"context_line":"        self.ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_d3b89a2c","line":284,"in_reply_to":"7af24918_836c3236","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6b81168909e92ca7b846415135d31b6c9e83eff2","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        self.assertEqual(\"create_volume\", dmd.odm.calls[2][0])"},{"line_number":347,"context_line":"        self.assertEqual(1048576, dmd.odm.calls[2][2])"},{"line_number":348,"context_line":"        self.assertEqual(\"auto_deploy\", dmd.odm.calls[3][0])"},{"line_number":349,"context_line":"        self.assertEqual(len(dmd.odm.calls), 5)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def test_create_volume_controller_all_vols(self):"},{"line_number":352,"context_line":"        testvol \u003d {\u0027project_id\u0027: \u0027testprjid\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_83da72e6","line":349,"updated":"2016-03-03 14:34:11.000000000","message":"This was existing, but while we\u0027re at it, can you switch here and line 363 to be arg orders (expected, actual).","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        self.assertEqual(\"create_volume\", dmd.odm.calls[2][0])"},{"line_number":347,"context_line":"        self.assertEqual(1048576, dmd.odm.calls[2][2])"},{"line_number":348,"context_line":"        self.assertEqual(\"auto_deploy\", dmd.odm.calls[3][0])"},{"line_number":349,"context_line":"        self.assertEqual(len(dmd.odm.calls), 5)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def test_create_volume_controller_all_vols(self):"},{"line_number":352,"context_line":"        testvol \u003d {\u0027project_id\u0027: \u0027testprjid\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_33a73e0c","line":349,"in_reply_to":"7af24918_83da72e6","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"}],"cinder/volume/drivers/drbdmanagedrv.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6b81168909e92ca7b846415135d31b6c9e83eff2","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"            eventlet.sleep(min(0.5 + retry / 5, 2))"},{"line_number":293,"context_line":"            retry +\u003d 1"},{"line_number":294,"context_line":"\t    if retry \u003e 100:"},{"line_number":295,"context_line":"\t\treturn False"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def _wait_for_node_assignment(self, res_name, vol_nr, nodenames,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_03c302ee","line":294,"updated":"2016-03-03 14:34:11.000000000","message":"More tabs here and the next line.","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"            eventlet.sleep(min(0.5 + retry / 5, 2))"},{"line_number":293,"context_line":"            retry +\u003d 1"},{"line_number":294,"context_line":"\t    if retry \u003e 100:"},{"line_number":295,"context_line":"\t\treturn False"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def _wait_for_node_assignment(self, res_name, vol_nr, nodenames,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_7394268a","line":294,"in_reply_to":"7af24918_03c302ee","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6b81168909e92ca7b846415135d31b6c9e83eff2","unresolved":false,"context_lines":[{"line_number":495,"context_line":"                                        dict(resource\u003dd_res_name,"},{"line_number":496,"context_line":"                                             volnr\u003ddrbd_vol))"},{"line_number":497,"context_line":"        if not okay:"},{"line_number":498,"context_line":"            message \u003d (_(\u0027DRBDmanage timeout waiting for volume creation; \\"},{"line_number":499,"context_line":"                         resource \"%(res)s\", volume \"%(vol)s\"\u0027) %"},{"line_number":500,"context_line":"                       {\u0027res\u0027: d_res_name, \u0027vol\u0027: volume[\u0027id\u0027]})"},{"line_number":501,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmessage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_4347ca76","line":498,"updated":"2016-03-03 14:34:11.000000000","message":"Get rid of the \\ and just have a closing quote on this line.\n\ni.e. \n    \u0027... volume creation; \u0027\n    \u0027resource ...\u0027","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":495,"context_line":"                                        dict(resource\u003dd_res_name,"},{"line_number":496,"context_line":"                                             volnr\u003ddrbd_vol))"},{"line_number":497,"context_line":"        if not okay:"},{"line_number":498,"context_line":"            message \u003d (_(\u0027DRBDmanage timeout waiting for volume creation; \\"},{"line_number":499,"context_line":"                         resource \"%(res)s\", volume \"%(vol)s\"\u0027) %"},{"line_number":500,"context_line":"                       {\u0027res\u0027: d_res_name, \u0027vol\u0027: volume[\u0027id\u0027]})"},{"line_number":501,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmessage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_53f2ca06","line":498,"in_reply_to":"7af24918_4347ca76","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6b81168909e92ca7b846415135d31b6c9e83eff2","unresolved":false,"context_lines":[{"line_number":582,"context_line":"                                             volnr\u003dnew_vol_nr))"},{"line_number":583,"context_line":"        if not okay:"},{"line_number":584,"context_line":"            message \u003d (_(\u0027DRBDmanage timeout waiting for new volume \u0027"},{"line_number":585,"context_line":"                         \u0027after snapshot restore; \\"},{"line_number":586,"context_line":"                         resource \"%(res)s\", volume \"%(vol)s\"\u0027) %"},{"line_number":587,"context_line":"                       {\u0027res\u0027: new_res, \u0027vol\u0027: volume[\u0027id\u0027]})"},{"line_number":588,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmessage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_c353da37","line":585,"updated":"2016-03-03 14:34:11.000000000","message":"Get rid of \\","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":582,"context_line":"                                             volnr\u003dnew_vol_nr))"},{"line_number":583,"context_line":"        if not okay:"},{"line_number":584,"context_line":"            message \u003d (_(\u0027DRBDmanage timeout waiting for new volume \u0027"},{"line_number":585,"context_line":"                         \u0027after snapshot restore; \\"},{"line_number":586,"context_line":"                         resource \"%(res)s\", volume \"%(vol)s\"\u0027) %"},{"line_number":587,"context_line":"                       {\u0027res\u0027: new_res, \u0027vol\u0027: volume[\u0027id\u0027]})"},{"line_number":588,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmessage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_d3e6da42","line":585,"in_reply_to":"7af24918_c353da37","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6b81168909e92ca7b846415135d31b6c9e83eff2","unresolved":false,"context_lines":[{"line_number":659,"context_line":"                                             volnr\u003dd_vol_nr,"},{"line_number":660,"context_line":"                                             req_size\u003dnew_size))"},{"line_number":661,"context_line":"        if not okay:"},{"line_number":662,"context_line":"            message \u003d (_(\u0027DRBDmanage timeout waiting for volume size; \\"},{"line_number":663,"context_line":"                         volume ID \"%(id)s\" (res \"%(res)s\", vnr %(vnr)d)\u0027) %"},{"line_number":664,"context_line":"                       {\u0027id\u0027: volume[\u0027id\u0027],"},{"line_number":665,"context_line":"                        \u0027res\u0027: d_res_name, \u0027vnr\u0027: d_vol_nr})"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_633926f2","line":662,"updated":"2016-03-03 14:34:11.000000000","message":"same","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":659,"context_line":"                                             volnr\u003dd_vol_nr,"},{"line_number":660,"context_line":"                                             req_size\u003dnew_size))"},{"line_number":661,"context_line":"        if not okay:"},{"line_number":662,"context_line":"            message \u003d (_(\u0027DRBDmanage timeout waiting for volume size; \\"},{"line_number":663,"context_line":"                         volume ID \"%(id)s\" (res \"%(res)s\", vnr %(vnr)d)\u0027) %"},{"line_number":664,"context_line":"                       {\u0027id\u0027: volume[\u0027id\u0027],"},{"line_number":665,"context_line":"                        \u0027res\u0027: d_res_name, \u0027vnr\u0027: d_vol_nr})"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_f3d5d642","line":662,"in_reply_to":"7af24918_633926f2","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6b81168909e92ca7b846415135d31b6c9e83eff2","unresolved":false,"context_lines":[{"line_number":696,"context_line":"                                        dict(resource\u003dd_res_name,"},{"line_number":697,"context_line":"                                             snapshot\u003dsn_name))"},{"line_number":698,"context_line":"        if not okay:"},{"line_number":699,"context_line":"            message \u003d (_(\u0027DRBDmanage timeout waiting for snapshot creation; \\"},{"line_number":700,"context_line":"                         resource \"%(res)s\", snapshot \"%(sn)s\"\u0027) %"},{"line_number":701,"context_line":"                       {\u0027res\u0027: d_res_name, \u0027sn\u0027: sn_name})"},{"line_number":702,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmessage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_832432c5","line":699,"updated":"2016-03-03 14:34:11.000000000","message":"same","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"},{"author":{"_account_id":14339,"name":"Philipp Marek","email":"philipp.marek@linbit.com","username":"pmarek"},"change_message_id":"395001a158bd13916670f0d0a6463235052aa2c8","unresolved":false,"context_lines":[{"line_number":696,"context_line":"                                        dict(resource\u003dd_res_name,"},{"line_number":697,"context_line":"                                             snapshot\u003dsn_name))"},{"line_number":698,"context_line":"        if not okay:"},{"line_number":699,"context_line":"            message \u003d (_(\u0027DRBDmanage timeout waiting for snapshot creation; \\"},{"line_number":700,"context_line":"                         resource \"%(res)s\", snapshot \"%(sn)s\"\u0027) %"},{"line_number":701,"context_line":"                       {\u0027res\u0027: d_res_name, \u0027sn\u0027: sn_name})"},{"line_number":702,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmessage)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_73c26686","line":699,"in_reply_to":"7af24918_832432c5","updated":"2016-03-04 10:58:20.000000000","message":"Done","commit_id":"20f966b33d573a2f50b3099e561f0e804589411b"}]}
