)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"be34084e921e1e268709729c841829b82683d4e7","unresolved":false,"context_lines":[{"line_number":13,"context_line":"the \u0027journaling\u0027 depends on it."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ic11404b7117d38b3e6a32666964bb5a21390821c"},{"line_number":16,"context_line":"Related-Bug: #1702650"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f1d235d_64bd6467","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":11},"updated":"2017-07-10 15:20:10.000000000","message":"Should be \"Closes-Bug\" rather than \"Related-Bug\"?\n\nSee https://wiki.openstack.org/wiki/GitCommitMessages#Including_external_references","commit_id":"2f7fbe922769ed6e87e5139ad261a87ebf62c994"}],"cinder/tests/unit/volume/drivers/test_rbd.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c5d1649b637d4a6304144cbf67c48742474b7dd4","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        image \u003d self.mock_proxy.return_value.__enter__.return_value"},{"line_number":336,"context_line":"        image.features.return_value \u003d 0"},{"line_number":337,"context_line":"        if exclusive_lock_enabled:"},{"line_number":338,"context_line":"            image.features.return_value \u003d (image.features.return_value +"},{"line_number":339,"context_line":"                                           exclusive_lock_feat)"},{"line_number":340,"context_line":"        if journaling_enabled:"},{"line_number":341,"context_line":"            image.features.return_value \u003d (image.features.return_value +"},{"line_number":342,"context_line":"                                           journaling_feat)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_91531de3","line":339,"range":{"start_line":338,"start_character":0,"end_line":339,"end_character":63},"updated":"2017-07-10 15:58:18.000000000","message":"-1:\n\n image.features.return_value \u003d exclusive_lock_feat\n\nor\n\n image.features.return_value +\u003d exclusive_lock_feat","commit_id":"1829f838a77604bda89bee139e970ddf5cf5d2ef"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c5d1649b637d4a6304144cbf67c48742474b7dd4","unresolved":false,"context_lines":[{"line_number":338,"context_line":"            image.features.return_value \u003d (image.features.return_value +"},{"line_number":339,"context_line":"                                           exclusive_lock_feat)"},{"line_number":340,"context_line":"        if journaling_enabled:"},{"line_number":341,"context_line":"            image.features.return_value \u003d (image.features.return_value +"},{"line_number":342,"context_line":"                                           journaling_feat)"},{"line_number":343,"context_line":"        "},{"line_number":344,"context_line":"        journaling_status \u003d str(journaling_enabled).lower()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_d172b57c","line":341,"updated":"2017-07-10 15:58:18.000000000","message":"-1:\n\n\n image.features.return_value +\u003d journalig_feat","commit_id":"1829f838a77604bda89bee139e970ddf5cf5d2ef"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        We want to confirm that if the Ceph backend has globally enabled"},{"line_number":329,"context_line":"        journaling we don\u0027t try to enable it again and we properly indicate"},{"line_number":330,"context_line":"        with our return value that it was already enabled."},{"line_number":331,"context_line":"        New changes: add test for enable \u0027exclusive-lock\u0027."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depends on \u0027exclusive_lock\u0027, so there are"},{"line_number":333,"context_line":"        three test scenarios:"},{"line_number":334,"context_line":"        1.\u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled, it will not be"},{"line_number":335,"context_line":"        called of \u0027image.feature()\u0027;"},{"line_number":336,"context_line":"        2.\u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled, it will be"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_68e1e7d0","line":333,"range":{"start_line":331,"start_character":0,"end_line":333,"end_character":29},"updated":"2017-07-12 11:49:07.000000000","message":"-1: No need to say \"New changes:\", and this comment should be integrated with the old one from L328-L330","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        New changes: add test for enable \u0027exclusive-lock\u0027."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depends on \u0027exclusive_lock\u0027, so there are"},{"line_number":333,"context_line":"        three test scenarios:"},{"line_number":334,"context_line":"        1.\u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled, it will not be"},{"line_number":335,"context_line":"        called of \u0027image.feature()\u0027;"},{"line_number":336,"context_line":"        2.\u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled, it will be"},{"line_number":337,"context_line":"        called once for \u0027journaling\u0027;"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_682fa7f6","line":334,"range":{"start_line":334,"start_character":9,"end_line":334,"end_character":11},"updated":"2017-07-12 11:49:07.000000000","message":"nit: missing space","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        New changes: add test for enable \u0027exclusive-lock\u0027."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depends on \u0027exclusive_lock\u0027, so there are"},{"line_number":333,"context_line":"        three test scenarios:"},{"line_number":334,"context_line":"        1.\u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled, it will not be"},{"line_number":335,"context_line":"        called of \u0027image.feature()\u0027;"},{"line_number":336,"context_line":"        2.\u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled, it will be"},{"line_number":337,"context_line":"        called once for \u0027journaling\u0027;"},{"line_number":338,"context_line":"        3.\u0027exclusice_lock\u0027 and \u0027journaling\u0027 are both disabled, it will be"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_c820fbfa","line":335,"range":{"start_line":334,"start_character":58,"end_line":335,"end_character":36},"updated":"2017-07-12 11:49:07.000000000","message":"nit: ; is not the right punctuation, it should be a full stop, also it would be better as:\n\n \u0027image.feature()\u0027 will not be called.","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":333,"context_line":"        three test scenarios:"},{"line_number":334,"context_line":"        1.\u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled, it will not be"},{"line_number":335,"context_line":"        called of \u0027image.feature()\u0027;"},{"line_number":336,"context_line":"        2.\u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled, it will be"},{"line_number":337,"context_line":"        called once for \u0027journaling\u0027;"},{"line_number":338,"context_line":"        3.\u0027exclusice_lock\u0027 and \u0027journaling\u0027 are both disabled, it will be"},{"line_number":339,"context_line":"        called both for \u0027exclusive-lock\u0027 and \u0027journaling\u0027 in aboved order."}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_c84ebbc0","line":336,"range":{"start_line":336,"start_character":9,"end_line":336,"end_character":10},"updated":"2017-07-12 11:49:07.000000000","message":"nit: missing space","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":333,"context_line":"        three test scenarios:"},{"line_number":334,"context_line":"        1.\u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled, it will not be"},{"line_number":335,"context_line":"        called of \u0027image.feature()\u0027;"},{"line_number":336,"context_line":"        2.\u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled, it will be"},{"line_number":337,"context_line":"        called once for \u0027journaling\u0027;"},{"line_number":338,"context_line":"        3.\u0027exclusice_lock\u0027 and \u0027journaling\u0027 are both disabled, it will be"},{"line_number":339,"context_line":"        called both for \u0027exclusive-lock\u0027 and \u0027journaling\u0027 in aboved order."},{"line_number":340,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_28608f32","line":337,"range":{"start_line":336,"start_character":49,"end_line":337,"end_character":37},"updated":"2017-07-12 11:49:07.000000000","message":"nit: ; is not the right punctuation, it should be a full stop, also it would be better as:\n \u0027image.feature()\u0027 will be called for \u0027journaling\u0027.","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        called of \u0027image.feature()\u0027;"},{"line_number":336,"context_line":"        2.\u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled, it will be"},{"line_number":337,"context_line":"        called once for \u0027journaling\u0027;"},{"line_number":338,"context_line":"        3.\u0027exclusice_lock\u0027 and \u0027journaling\u0027 are both disabled, it will be"},{"line_number":339,"context_line":"        called both for \u0027exclusive-lock\u0027 and \u0027journaling\u0027 in aboved order."},{"line_number":340,"context_line":"        \"\"\""},{"line_number":341,"context_line":"        journaling_feat \u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_68cb271e","line":338,"range":{"start_line":338,"start_character":9,"end_line":338,"end_character":11},"updated":"2017-07-12 11:49:07.000000000","message":"nit: missing space","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":336,"context_line":"        2.\u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled, it will be"},{"line_number":337,"context_line":"        called once for \u0027journaling\u0027;"},{"line_number":338,"context_line":"        3.\u0027exclusice_lock\u0027 and \u0027journaling\u0027 are both disabled, it will be"},{"line_number":339,"context_line":"        called both for \u0027exclusive-lock\u0027 and \u0027journaling\u0027 in aboved order."},{"line_number":340,"context_line":"        \"\"\""},{"line_number":341,"context_line":"        journaling_feat \u003d 1"},{"line_number":342,"context_line":"        exclusive_lock_feat \u003d 2"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_e8d617c4","line":339,"range":{"start_line":339,"start_character":61,"end_line":339,"end_character":67},"updated":"2017-07-12 11:49:07.000000000","message":"nit: this","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        called once for \u0027journaling\u0027;"},{"line_number":338,"context_line":"        3.\u0027exclusice_lock\u0027 and \u0027journaling\u0027 are both disabled, it will be"},{"line_number":339,"context_line":"        called both for \u0027exclusive-lock\u0027 and \u0027journaling\u0027 in aboved order."},{"line_number":340,"context_line":"        \"\"\""},{"line_number":341,"context_line":"        journaling_feat \u003d 1"},{"line_number":342,"context_line":"        exclusive_lock_feat \u003d 2"},{"line_number":343,"context_line":"        self.driver.rbd.RBD_FEATURE_JOURNALING \u003d journaling_feat"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_882a03e5","line":340,"updated":"2017-07-12 11:49:07.000000000","message":"I really like you adding a comment on these!!  Maybe you should mention why the False, True case is not possible.","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":351,"context_line":"        journaling_status \u003d str(journaling_enabled).lower()"},{"line_number":352,"context_line":"        exclusive_lock_status \u003d str(exclusive_lock_enabled).lower()"},{"line_number":353,"context_line":"        expected \u003d {"},{"line_number":354,"context_line":"            \u0027replication_driver_data\u0027: (\u0027{\"had_exclusive_lock\":%s,\u0027"},{"line_number":355,"context_line":"                                        \u0027\"had_journaling\":%s}\u0027 %"},{"line_number":356,"context_line":"                                        (exclusive_lock_status,"},{"line_number":357,"context_line":"                                         journaling_status)),"},{"line_number":358,"context_line":"            \u0027replication_status\u0027: \u0027enabled\u0027,"},{"line_number":359,"context_line":"        }"},{"line_number":360,"context_line":"        res \u003d self.driver._enable_replication(self.volume_a)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_a88edfcd","line":357,"range":{"start_line":354,"start_character":0,"end_line":357,"end_character":61},"updated":"2017-07-12 11:49:07.000000000","message":"nit:\n\n             \u0027replication_driver_data\u0027: (\n                 \u0027{\"had_exclusive_lock\":%s,\"had_journaling\":%s}\u0027 %\n                 (exclusive_lock_status, journaling_status)),","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        \"\"\"Test _enable_replication method."},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        We want to confirm that if the Ceph backend has globally enabled"},{"line_number":329,"context_line":"        and \u0027\u0027exclusive_lock\u0027 and \u0027journaling\u0027. We don\u0027t try to enable them"},{"line_number":330,"context_line":"        again and we properly indicate with our return value that them were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depend on \u0027exclusive_lock\u0027, so if"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_17d81951","line":329,"range":{"start_line":329,"start_character":46,"end_line":329,"end_character":49},"updated":"2017-07-13 16:19:43.000000000","message":"nit: \". We\" --\u003e \" we\"","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        \"\"\"Test _enable_replication method."},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        We want to confirm that if the Ceph backend has globally enabled"},{"line_number":329,"context_line":"        and \u0027\u0027exclusive_lock\u0027 and \u0027journaling\u0027. We don\u0027t try to enable them"},{"line_number":330,"context_line":"        again and we properly indicate with our return value that them were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depend on \u0027exclusive_lock\u0027, so if"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_173379ad","line":329,"range":{"start_line":329,"start_character":8,"end_line":329,"end_character":13},"updated":"2017-07-13 16:19:43.000000000","message":"nit: should be removed","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        We want to confirm that if the Ceph backend has globally enabled"},{"line_number":329,"context_line":"        and \u0027\u0027exclusive_lock\u0027 and \u0027journaling\u0027. We don\u0027t try to enable them"},{"line_number":330,"context_line":"        again and we properly indicate with our return value that them were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depend on \u0027exclusive_lock\u0027, so if"},{"line_number":333,"context_line":"        \u0027exclusive-lock\u0027 disabled, \u0027journaling\u0027 can\u0027t enable so that"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_97e30906","line":330,"range":{"start_line":330,"start_character":66,"end_line":330,"end_character":70},"updated":"2017-07-13 16:19:43.000000000","message":"nit: they","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":329,"context_line":"        and \u0027\u0027exclusive_lock\u0027 and \u0027journaling\u0027. We don\u0027t try to enable them"},{"line_number":330,"context_line":"        again and we properly indicate with our return value that them were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depend on \u0027exclusive_lock\u0027, so if"},{"line_number":333,"context_line":"        \u0027exclusive-lock\u0027 disabled, \u0027journaling\u0027 can\u0027t enable so that"},{"line_number":334,"context_line":"        \u0027[False. True]\u0027 case is impossible."},{"line_number":335,"context_line":"        In this test case there are three test scenarios:"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_37bc35db","line":332,"range":{"start_line":332,"start_character":21,"end_line":332,"end_character":34},"updated":"2017-07-13 16:19:43.000000000","message":"nit: depends","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        again and we properly indicate with our return value that them were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depend on \u0027exclusive_lock\u0027, so if"},{"line_number":333,"context_line":"        \u0027exclusive-lock\u0027 disabled, \u0027journaling\u0027 can\u0027t enable so that"},{"line_number":334,"context_line":"        \u0027[False. True]\u0027 case is impossible."},{"line_number":335,"context_line":"        In this test case there are three test scenarios:"},{"line_number":336,"context_line":"        1. \u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled,"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_57c69169","line":333,"range":{"start_line":333,"start_character":54,"end_line":333,"end_character":60},"updated":"2017-07-13 16:19:43.000000000","message":"nit: be enabled","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        again and we properly indicate with our return value that them were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depend on \u0027exclusive_lock\u0027, so if"},{"line_number":333,"context_line":"        \u0027exclusive-lock\u0027 disabled, \u0027journaling\u0027 can\u0027t enable so that"},{"line_number":334,"context_line":"        \u0027[False. True]\u0027 case is impossible."},{"line_number":335,"context_line":"        In this test case there are three test scenarios:"},{"line_number":336,"context_line":"        1. \u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled,"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_97cc298a","line":333,"range":{"start_line":333,"start_character":25,"end_line":333,"end_character":33},"updated":"2017-07-13 16:19:43.000000000","message":"nit: it\u0027s disabled","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        again and we properly indicate with our return value that them were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 should depend on \u0027exclusive_lock\u0027, so if"},{"line_number":333,"context_line":"        \u0027exclusive-lock\u0027 disabled, \u0027journaling\u0027 can\u0027t enable so that"},{"line_number":334,"context_line":"        \u0027[False. True]\u0027 case is impossible."},{"line_number":335,"context_line":"        In this test case there are three test scenarios:"},{"line_number":336,"context_line":"        1. \u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled,"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_17a6d9c2","line":333,"range":{"start_line":333,"start_character":64,"end_line":333,"end_character":68},"updated":"2017-07-13 16:19:43.000000000","message":"nit: the","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":336,"context_line":"        1. \u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled,"},{"line_number":337,"context_line":"        \u0027image.features()\u0027 will not be called."},{"line_number":338,"context_line":"        2. \u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled,"},{"line_number":339,"context_line":"        \u0027image.features()\u0027 will be only called for \u0027journaling\u0027."},{"line_number":340,"context_line":"        3. \u0027exclusice_lock\u0027 and \u0027journaling\u0027 are both disabled,"},{"line_number":341,"context_line":"        \u0027image.features()\u0027will be both called for \u0027exclusive-lock\u0027 and"},{"line_number":342,"context_line":"        \u0027journaling\u0027 in this order."}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_b794c545","line":339,"range":{"start_line":339,"start_character":27,"end_line":339,"end_character":39},"updated":"2017-07-13 16:19:43.000000000","message":"nit: will only be","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a9bf253b5258465972d1ef4526a8b1007efd8530","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        again and we properly indicate with our return value that they were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 depends on \u0027exclusive_lock\u0027, so if the \u0027exclusive-lock\u0027"},{"line_number":333,"context_line":"        disabled, \u0027journaling\u0027 can\u0027t be enabled so that the \u0027[False. True]\u0027"},{"line_number":334,"context_line":"        case is impossible."},{"line_number":335,"context_line":"        In this test case, there are three test scenarios:"},{"line_number":336,"context_line":"        1. \u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled,"}],"source_content_type":"text/x-python","patch_set":12,"id":"1f1a1f67_605c097e","line":333,"range":{"start_line":333,"start_character":8,"end_line":333,"end_character":16},"updated":"2017-07-14 11:43:44.000000000","message":"nit: is disabled","commit_id":"b93a80c520831b41224b5d5360f03f90ff220fbe"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a9bf253b5258465972d1ef4526a8b1007efd8530","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        again and we properly indicate with our return value that they were"},{"line_number":331,"context_line":"        already enabled."},{"line_number":332,"context_line":"        \u0027journaling\u0027 depends on \u0027exclusive_lock\u0027, so if the \u0027exclusive-lock\u0027"},{"line_number":333,"context_line":"        disabled, \u0027journaling\u0027 can\u0027t be enabled so that the \u0027[False. True]\u0027"},{"line_number":334,"context_line":"        case is impossible."},{"line_number":335,"context_line":"        In this test case, there are three test scenarios:"},{"line_number":336,"context_line":"        1. \u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled,"}],"source_content_type":"text/x-python","patch_set":12,"id":"1f1a1f67_0051d562","line":333,"range":{"start_line":333,"start_character":51,"end_line":333,"end_character":55},"updated":"2017-07-14 11:43:44.000000000","message":"nit: remove \"that\"","commit_id":"b93a80c520831b41224b5d5360f03f90ff220fbe"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a9bf253b5258465972d1ef4526a8b1007efd8530","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        \u0027journaling\u0027 depends on \u0027exclusive_lock\u0027, so if the \u0027exclusive-lock\u0027"},{"line_number":333,"context_line":"        disabled, \u0027journaling\u0027 can\u0027t be enabled so that the \u0027[False. True]\u0027"},{"line_number":334,"context_line":"        case is impossible."},{"line_number":335,"context_line":"        In this test case, there are three test scenarios:"},{"line_number":336,"context_line":"        1. \u0027exclusive_lock\u0027 and \u0027journaling\u0027 both enabled,"},{"line_number":337,"context_line":"        \u0027image.features()\u0027 will not be called."},{"line_number":338,"context_line":"        2. \u0027exclusive_lock\u0027 enabled, \u0027journaling\u0027 disabled,"}],"source_content_type":"text/x-python","patch_set":12,"id":"1f1a1f67_c04abdaa","line":335,"range":{"start_line":335,"start_character":25,"end_line":335,"end_character":26},"updated":"2017-07-14 11:43:44.000000000","message":"nit: unnecessary comma","commit_id":"b93a80c520831b41224b5d5360f03f90ff220fbe"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"17af3713b3cea8aed37bd29179adab864d86509e","unresolved":false,"context_lines":[{"line_number":560,"context_line":"        \"\"\""},{"line_number":561,"context_line":"        vol_name \u003d utils.convert_str(volume.name)"},{"line_number":562,"context_line":"        with RBDVolumeProxy(self, vol_name) as image:"},{"line_number":563,"context_line":"            had_exclusive_lock \u003d (image.feature() \u0026"},{"line_number":564,"context_line":"                                  self.rbd.RBD_FEATURE_EXCLUSIVE_LOCK)"},{"line_number":565,"context_line":"            had_journaling \u003d image.features() \u0026 self.rbd.RBD_FEATURE_JOURNALING"},{"line_number":566,"context_line":"            if not had_exclusive_lock:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_6e20acb1","line":563,"updated":"2017-07-10 11:07:17.000000000","message":"-1: You need to store this value in the DB and use it to revert this feature when we remove the replication from the volume.  You can follow the same pattern I used for the had_journaling case.","commit_id":"3ad3b98a1bc1d0124f8d595630a862828bf80c08"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"be34084e921e1e268709729c841829b82683d4e7","unresolved":false,"context_lines":[{"line_number":882,"context_line":"            # we must remove journaling since it we added it for the"},{"line_number":883,"context_line":"            # replication"},{"line_number":884,"context_line":"            if not driver_data[\u0027had_journaling\u0027]:"},{"line_number":885,"context_line":"                image.update_features(self.rbd.RBD_FEATURE_JOURNALING, False)"},{"line_number":886,"context_line":"        return {\u0027replication_status\u0027: fields.ReplicationStatus.DISABLED,"},{"line_number":887,"context_line":"                \u0027replication_driver_data\u0027: None}"},{"line_number":888,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_04d590b9","line":885,"updated":"2017-07-10 15:20:10.000000000","message":"Should also check had_exclusive_lock here and re-enable it?","commit_id":"2f7fbe922769ed6e87e5139ad261a87ebf62c994"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"efd1cc38dbc949d09c1a607c72280ac985a7661f","unresolved":false,"context_lines":[{"line_number":882,"context_line":"            # we must remove journaling since it we added it for the"},{"line_number":883,"context_line":"            # replication"},{"line_number":884,"context_line":"            if not driver_data[\u0027had_journaling\u0027]:"},{"line_number":885,"context_line":"                image.update_features(self.rbd.RBD_FEATURE_JOURNALING, False)"},{"line_number":886,"context_line":"        return {\u0027replication_status\u0027: fields.ReplicationStatus.DISABLED,"},{"line_number":887,"context_line":"                \u0027replication_driver_data\u0027: None}"},{"line_number":888,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_9149dd61","line":885,"in_reply_to":"3f1d235d_04d590b9","updated":"2017-07-10 15:47:32.000000000","message":"Correct!","commit_id":"2f7fbe922769ed6e87e5139ad261a87ebf62c994"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c5d1649b637d4a6304144cbf67c48742474b7dd4","unresolved":false,"context_lines":[{"line_number":570,"context_line":"                image.update_features(self.rbd.RBD_FEATURE_JOURNALING, True)"},{"line_number":571,"context_line":"            image.mirror_image_enable()"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"        driver_data \u003d self._dumps({\u0027had_journaling\u0027: bool(had_journaling),"},{"line_number":574,"context_line":"                                   \u0027had_exclusive_lock\u0027:"},{"line_number":575,"context_line":"                                   bool(had_exclusive_lock)})"},{"line_number":576,"context_line":"        return {\u0027replication_status\u0027: fields.ReplicationStatus.ENABLED,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_b193b9a3","line":573,"updated":"2017-07-10 15:58:18.000000000","message":"nit: For readability please reformat this:\n\n        driver_data \u003d self._dumps({\n            \u0027had_journaling\u0027: bool(had_journaling),\n            \u0027had_exclusive_lock\u0027: bool(had_exclusive_lock),\n        })","commit_id":"1829f838a77604bda89bee139e970ddf5cf5d2ef"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c5d1649b637d4a6304144cbf67c48742474b7dd4","unresolved":false,"context_lines":[{"line_number":882,"context_line":"            # we must remove journaling since it we added it for the"},{"line_number":883,"context_line":"            # replication"},{"line_number":884,"context_line":"            if not driver_data[\u0027had_journaling\u0027]:"},{"line_number":885,"context_line":"                image.update_features(self.rbd.RBD_FEATURE_JOURNALING, False)"},{"line_number":886,"context_line":"        return {\u0027replication_status\u0027: fields.ReplicationStatus.DISABLED,"},{"line_number":887,"context_line":"                \u0027replication_driver_data\u0027: None}"},{"line_number":888,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f1d235d_317a0988","line":885,"updated":"2017-07-10 15:58:18.000000000","message":"-1: you need to restore the original state of the exclusive_lock here","commit_id":"1829f838a77604bda89bee139e970ddf5cf5d2ef"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6d3fd9aea03e7e5e67b08a039fe5ad52abcdb803","unresolved":false,"context_lines":[{"line_number":882,"context_line":"            # If we didn\u0027t have journaling enabled when we enabled replication"},{"line_number":883,"context_line":"            # we must remove journaling since it we added it for the"},{"line_number":884,"context_line":"            # replication"},{"line_number":885,"context_line":"            # Add changes: if image have been enabled \u0027exclusive-lock\u0027 in"},{"line_number":886,"context_line":"            # \u0027_enable_replication\u0027, it will be disable here."},{"line_number":887,"context_line":"            # If not, it will keep what it was before."},{"line_number":888,"context_line":"            if not driver_data[\u0027had_journaling\u0027]:"},{"line_number":889,"context_line":"                image.update_features(self.rbd.RBD_FEATURE_JOURNALING, False)"},{"line_number":890,"context_line":"            if not driver_data[\u0027had_exclusive_lock\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f1a1f67_8889e327","line":887,"range":{"start_line":885,"start_character":0,"end_line":887,"end_character":54},"updated":"2017-07-12 11:49:07.000000000","message":"-1: Don\u0027t write in a comment \"Add changes:\", and we shouldn\u0027t be adding a whole new comment here, modify existing one to reflect that journaling and exclusive lock both will be treated in the same way.","commit_id":"aea4c1c5db1fc441536161bdedaecbff5357e18a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":879,"context_line":"        with RBDVolumeProxy(self, vol_name) as image:"},{"line_number":880,"context_line":"            image.mirror_image_disable(False)"},{"line_number":881,"context_line":"            driver_data \u003d json.loads(volume.replication_driver_data)"},{"line_number":882,"context_line":"            # if image have been enabled one of \u0027journaling\u0027 and"},{"line_number":883,"context_line":"            # \u0027exclusive-lock\u0027 or both in \u0027_enable_replication\u0027,"},{"line_number":884,"context_line":"            # It will be disabled here. If not, it will keep"},{"line_number":885,"context_line":"            # what it was before."}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_f7f23d06","line":882,"range":{"start_line":882,"start_character":14,"end_line":882,"end_character":16},"updated":"2017-07-13 16:19:43.000000000","message":"nit: If","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":879,"context_line":"        with RBDVolumeProxy(self, vol_name) as image:"},{"line_number":880,"context_line":"            image.mirror_image_disable(False)"},{"line_number":881,"context_line":"            driver_data \u003d json.loads(volume.replication_driver_data)"},{"line_number":882,"context_line":"            # if image have been enabled one of \u0027journaling\u0027 and"},{"line_number":883,"context_line":"            # \u0027exclusive-lock\u0027 or both in \u0027_enable_replication\u0027,"},{"line_number":884,"context_line":"            # It will be disabled here. If not, it will keep"},{"line_number":885,"context_line":"            # what it was before."},{"line_number":886,"context_line":"            if not driver_data[\u0027had_journaling\u0027]:"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_173c9991","line":883,"range":{"start_line":882,"start_character":17,"end_line":883,"end_character":41},"updated":"2017-07-13 16:19:43.000000000","message":"nit: \u0027journaling\u0027 and/or \u0027exclusive-lock\u0027 have been enabled in","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"4d87fdd7b779696ed1dc3208fba23f3db559e269","unresolved":false,"context_lines":[{"line_number":881,"context_line":"            driver_data \u003d json.loads(volume.replication_driver_data)"},{"line_number":882,"context_line":"            # if image have been enabled one of \u0027journaling\u0027 and"},{"line_number":883,"context_line":"            # \u0027exclusive-lock\u0027 or both in \u0027_enable_replication\u0027,"},{"line_number":884,"context_line":"            # It will be disabled here. If not, it will keep"},{"line_number":885,"context_line":"            # what it was before."},{"line_number":886,"context_line":"            if not driver_data[\u0027had_journaling\u0027]:"},{"line_number":887,"context_line":"                image.update_features(self.rbd.RBD_FEATURE_JOURNALING, False)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f1a1f67_5751f1d7","line":884,"range":{"start_line":884,"start_character":14,"end_line":884,"end_character":16},"updated":"2017-07-13 16:19:43.000000000","message":"nit: then they","commit_id":"040bef402f6b1435159ea5edca300c23b12f7af3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a9bf253b5258465972d1ef4526a8b1007efd8530","unresolved":false,"context_lines":[{"line_number":879,"context_line":"        with RBDVolumeProxy(self, vol_name) as image:"},{"line_number":880,"context_line":"            image.mirror_image_disable(False)"},{"line_number":881,"context_line":"            driver_data \u003d json.loads(volume.replication_driver_data)"},{"line_number":882,"context_line":"            # if image have been enabled one of \u0027journaling\u0027 and"},{"line_number":883,"context_line":"            # \u0027exclusive-lock\u0027 or both in \u0027_enable_replication\u0027,"},{"line_number":884,"context_line":"            # It will be disabled here. If not, it will keep"},{"line_number":885,"context_line":"            # what it was before."}],"source_content_type":"text/x-python","patch_set":12,"id":"1f1a1f67_a0c7c112","line":882,"range":{"start_line":882,"start_character":14,"end_line":882,"end_character":16},"updated":"2017-07-14 11:43:44.000000000","message":"nit: If","commit_id":"b93a80c520831b41224b5d5360f03f90ff220fbe"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a9bf253b5258465972d1ef4526a8b1007efd8530","unresolved":false,"context_lines":[{"line_number":879,"context_line":"        with RBDVolumeProxy(self, vol_name) as image:"},{"line_number":880,"context_line":"            image.mirror_image_disable(False)"},{"line_number":881,"context_line":"            driver_data \u003d json.loads(volume.replication_driver_data)"},{"line_number":882,"context_line":"            # if image have been enabled one of \u0027journaling\u0027 and"},{"line_number":883,"context_line":"            # \u0027exclusive-lock\u0027 or both in \u0027_enable_replication\u0027,"},{"line_number":884,"context_line":"            # It will be disabled here. If not, it will keep"},{"line_number":885,"context_line":"            # what it was before."},{"line_number":886,"context_line":"            if not driver_data[\u0027had_journaling\u0027]:"}],"source_content_type":"text/x-python","patch_set":12,"id":"1f1a1f67_20dbb1ed","line":883,"range":{"start_line":882,"start_character":17,"end_line":883,"end_character":64},"updated":"2017-07-14 11:43:44.000000000","message":"nit: \u0027journaling\u0027 and/or \u0027exclusive-lock\u0027 have been enabled in","commit_id":"b93a80c520831b41224b5d5360f03f90ff220fbe"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a9bf253b5258465972d1ef4526a8b1007efd8530","unresolved":false,"context_lines":[{"line_number":881,"context_line":"            driver_data \u003d json.loads(volume.replication_driver_data)"},{"line_number":882,"context_line":"            # if image have been enabled one of \u0027journaling\u0027 and"},{"line_number":883,"context_line":"            # \u0027exclusive-lock\u0027 or both in \u0027_enable_replication\u0027,"},{"line_number":884,"context_line":"            # It will be disabled here. If not, it will keep"},{"line_number":885,"context_line":"            # what it was before."},{"line_number":886,"context_line":"            if not driver_data[\u0027had_journaling\u0027]:"},{"line_number":887,"context_line":"                image.update_features(self.rbd.RBD_FEATURE_JOURNALING, False)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1f1a1f67_e0e499ae","line":884,"range":{"start_line":884,"start_character":14,"end_line":884,"end_character":16},"updated":"2017-07-14 11:43:44.000000000","message":"nit: then they","commit_id":"b93a80c520831b41224b5d5360f03f90ff220fbe"}]}
