)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"69f1c6a87af3ce411999432e6fc4f04b3f1f0da4","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for RBD fast-diff feature for backups stored in Ceph"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    This change adds a config switch \u0027backup_ceph_fast_diff\u0027 to"},{"line_number":10,"context_line":"    enable the FAST_DIFF feature for backup images stored via Ceph RBD."},{"line_number":11,"context_line":"    This feature is enabled together with EXCLUSIVE_LOCK and OBJECT_MAP"},{"line_number":12,"context_line":"    as required."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"f8b39213_9bcec010","line":9,"range":{"start_line":9,"start_character":16,"end_line":9,"end_character":63},"updated":"2021-03-12 22:30:16.000000000","message":"please correct -- this is no longer controlled by the config option, it\u0027s just used if the feature is available.","commit_id":"bac384674a6fba733aba8dcc5dec9db309a8f0bd"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"7c0e5aa45684f543ebd75e5f2357a876da53d850","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for RBD fast-diff feature for backups stored in Ceph"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    This change adds a config switch \u0027backup_ceph_fast_diff\u0027 to"},{"line_number":10,"context_line":"    enable the FAST_DIFF feature for backup images stored via Ceph RBD."},{"line_number":11,"context_line":"    This feature is enabled together with EXCLUSIVE_LOCK and OBJECT_MAP"},{"line_number":12,"context_line":"    as required."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"dfa6fb1b_195bee9d","line":9,"range":{"start_line":9,"start_character":16,"end_line":9,"end_character":63},"in_reply_to":"f8b39213_9bcec010","updated":"2021-03-13 11:52:57.000000000","message":"Done, sorry I missed that.","commit_id":"bac384674a6fba733aba8dcc5dec9db309a8f0bd"}],"cinder/backup/drivers/ceph.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"dacda3376692aa295512fdc52fe86e7e3160665b","unresolved":true,"context_lines":[{"line_number":96,"context_line":"                     \u0027RBD_FEATURE_EXCLUSIVE_LOCK and RBD_FEATURE_OBJECT_MAP \u0027"},{"line_number":97,"context_line":"                     \u0027feature bits to the backup RBD objects to allow faster \u0027"},{"line_number":98,"context_line":"                     \u0027diffs between snapshots of an image and to determine \u0027"},{"line_number":99,"context_line":"                     \u0027the actual data usage of a snapshot much faster.\u0027),"},{"line_number":100,"context_line":"    cfg.BoolOpt(\u0027restore_discard_excess_bytes\u0027, default\u003dTrue,"},{"line_number":101,"context_line":"                help\u003d\u0027If True, always discard excess bytes when restoring \u0027"},{"line_number":102,"context_line":"                     \u0027volumes i.e. pad with zeroes.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1eec0b11_d1ebbd73","line":99,"range":{"start_line":99,"start_character":58,"end_line":99,"end_character":69},"updated":"2021-01-13 17:32:13.000000000","message":"nit: would be would to rephrase it so we don\u0027t say faster twice on the same sentence: \"allow faster\" \"much faster\"","commit_id":"937ff063de88d05e764a095d2f274701b512091b"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"48b14833b8f6465644ab9024d6e7187b3fa33d25","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                     \u0027RBD_FEATURE_EXCLUSIVE_LOCK and RBD_FEATURE_OBJECT_MAP \u0027"},{"line_number":97,"context_line":"                     \u0027feature bits to the backup RBD objects to allow faster \u0027"},{"line_number":98,"context_line":"                     \u0027diffs between snapshots of an image and to determine \u0027"},{"line_number":99,"context_line":"                     \u0027the actual data usage of a snapshot much faster.\u0027),"},{"line_number":100,"context_line":"    cfg.BoolOpt(\u0027restore_discard_excess_bytes\u0027, default\u003dTrue,"},{"line_number":101,"context_line":"                help\u003d\u0027If True, always discard excess bytes when restoring \u0027"},{"line_number":102,"context_line":"                     \u0027volumes i.e. pad with zeroes.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fecb4ce2_beecd093","line":99,"range":{"start_line":99,"start_character":58,"end_line":99,"end_character":69},"in_reply_to":"1eec0b11_d1ebbd73","updated":"2021-01-14 13:33:50.000000000","message":"Done","commit_id":"937ff063de88d05e764a095d2f274701b512091b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"dacda3376692aa295512fdc52fe86e7e3160665b","unresolved":true,"context_lines":[{"line_number":294,"context_line":"                             self.rbd.RBD_FEATURE_OBJECT_MAP |"},{"line_number":295,"context_line":"                             self.rbd.RBD_FEATURE_FAST_DIFF)"},{"line_number":296,"context_line":"            else:"},{"line_number":297,"context_line":"                # FIXME (tasker): when the backup manager supports loading the"},{"line_number":298,"context_line":"                #   driver during its initialization, this exception should be"},{"line_number":299,"context_line":"                #   moved to the driver\u0027s initialization so that it can stop"},{"line_number":300,"context_line":"                #   the service from starting when the underyling RBD does not"},{"line_number":301,"context_line":"                #   support the requested features."},{"line_number":302,"context_line":"                LOG.error(\"RBD fast-diff not supported - unable to \""},{"line_number":303,"context_line":"                          \"enable it for images in backup pool\")"},{"line_number":304,"context_line":"                raise exception.BackupInvalidCephArgs("},{"line_number":305,"context_line":"                    _(\"fast-diff requested but RBD backend does \""},{"line_number":306,"context_line":"                      \"not support this feature\")"},{"line_number":307,"context_line":"                )"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        return (old_format, features)"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a93492d_8f9c19d5","line":307,"range":{"start_line":297,"start_character":0,"end_line":307,"end_character":17},"updated":"2021-01-13 17:32:13.000000000","message":"-1: This is something that should be checked on startup, not at this point.  Please add the check on `check_for_setup_error` method.","commit_id":"937ff063de88d05e764a095d2f274701b512091b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"698f45440bb9860b18915e18ed0a6eb03376e482","unresolved":true,"context_lines":[{"line_number":294,"context_line":"                             self.rbd.RBD_FEATURE_OBJECT_MAP |"},{"line_number":295,"context_line":"                             self.rbd.RBD_FEATURE_FAST_DIFF)"},{"line_number":296,"context_line":"            else:"},{"line_number":297,"context_line":"                # FIXME (tasker): when the backup manager supports loading the"},{"line_number":298,"context_line":"                #   driver during its initialization, this exception should be"},{"line_number":299,"context_line":"                #   moved to the driver\u0027s initialization so that it can stop"},{"line_number":300,"context_line":"                #   the service from starting when the underyling RBD does not"},{"line_number":301,"context_line":"                #   support the requested features."},{"line_number":302,"context_line":"                LOG.error(\"RBD fast-diff not supported - unable to \""},{"line_number":303,"context_line":"                          \"enable it for images in backup pool\")"},{"line_number":304,"context_line":"                raise exception.BackupInvalidCephArgs("},{"line_number":305,"context_line":"                    _(\"fast-diff requested but RBD backend does \""},{"line_number":306,"context_line":"                      \"not support this feature\")"},{"line_number":307,"context_line":"                )"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        return (old_format, features)"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"692e0418_db58428e","line":307,"range":{"start_line":297,"start_character":0,"end_line":307,"end_character":17},"in_reply_to":"0be8d845_e1e5c322","updated":"2021-01-15 11:17:09.000000000","message":"Jeje, we all blindly follow what\u0027s in the code from time to time.  :-)\nAs far as I know the code in the manager already does the right thing calling the driver\u0027s `check_for_setup_error` and that\u0027s where we should be checking this.\n\nThe other FIXME is just technical debt at this point and should also be moved there.\n\nThe reason why I downvote this is to avoid adding more technical debt to the project, since it\u0027s as easy to do it correctly now that we are adding this code.","commit_id":"937ff063de88d05e764a095d2f274701b512091b"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"48b14833b8f6465644ab9024d6e7187b3fa33d25","unresolved":true,"context_lines":[{"line_number":294,"context_line":"                             self.rbd.RBD_FEATURE_OBJECT_MAP |"},{"line_number":295,"context_line":"                             self.rbd.RBD_FEATURE_FAST_DIFF)"},{"line_number":296,"context_line":"            else:"},{"line_number":297,"context_line":"                # FIXME (tasker): when the backup manager supports loading the"},{"line_number":298,"context_line":"                #   driver during its initialization, this exception should be"},{"line_number":299,"context_line":"                #   moved to the driver\u0027s initialization so that it can stop"},{"line_number":300,"context_line":"                #   the service from starting when the underyling RBD does not"},{"line_number":301,"context_line":"                #   support the requested features."},{"line_number":302,"context_line":"                LOG.error(\"RBD fast-diff not supported - unable to \""},{"line_number":303,"context_line":"                          \"enable it for images in backup pool\")"},{"line_number":304,"context_line":"                raise exception.BackupInvalidCephArgs("},{"line_number":305,"context_line":"                    _(\"fast-diff requested but RBD backend does \""},{"line_number":306,"context_line":"                      \"not support this feature\")"},{"line_number":307,"context_line":"                )"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        return (old_format, features)"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"0be8d845_e1e5c322","line":307,"range":{"start_line":297,"start_character":0,"end_line":307,"end_character":17},"in_reply_to":"1a93492d_8f9c19d5","updated":"2021-01-14 13:33:50.000000000","message":"Currently the _get_rbd_support function is called whenever any backup action is called, but not at all within `check_for_setup_error`.\n\nI just (blindly) followed the existing structure in place checking for other RDB features to be available. The FIXME already existed for the `if CONF.backup_ceph_image_journals` condition in line 275.\n\nIf the FIXME is obsolete now, all of the feature validation should move to the init phase / `check_for_setup_error`, right?\n\nPlease kindly advise.","commit_id":"937ff063de88d05e764a095d2f274701b512091b"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"0cf03ecea61c8de4525f22155a10731d99c8c158","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                             self.rbd.RBD_FEATURE_OBJECT_MAP |"},{"line_number":295,"context_line":"                             self.rbd.RBD_FEATURE_FAST_DIFF)"},{"line_number":296,"context_line":"            else:"},{"line_number":297,"context_line":"                # FIXME (tasker): when the backup manager supports loading the"},{"line_number":298,"context_line":"                #   driver during its initialization, this exception should be"},{"line_number":299,"context_line":"                #   moved to the driver\u0027s initialization so that it can stop"},{"line_number":300,"context_line":"                #   the service from starting when the underyling RBD does not"},{"line_number":301,"context_line":"                #   support the requested features."},{"line_number":302,"context_line":"                LOG.error(\"RBD fast-diff not supported - unable to \""},{"line_number":303,"context_line":"                          \"enable it for images in backup pool\")"},{"line_number":304,"context_line":"                raise exception.BackupInvalidCephArgs("},{"line_number":305,"context_line":"                    _(\"fast-diff requested but RBD backend does \""},{"line_number":306,"context_line":"                      \"not support this feature\")"},{"line_number":307,"context_line":"                )"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        return (old_format, features)"},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"0ac783b9_a851c880","line":307,"range":{"start_line":297,"start_character":0,"end_line":307,"end_character":17},"in_reply_to":"692e0418_db58428e","updated":"2021-01-17 17:07:06.000000000","message":"1) Agreed. I have (hopefully) done that now in patchset 5.\n\n\n2) But while we are talking about cleaning things up:\n\nPotentially it might make sense to move the whole feature-by-feature config to use the same approach as the RBD volume driver: https://github.com/openstack/cinder/blob/master/cinder/volume/drivers/rbd.py\n\nThere a \"regular\" Rados client config file is referenced to initialize the client (https://github.com/openstack/cinder/blob/83e511e012b416aecd45136fd94779dcf466f2ed/cinder/volume/drivers/rbd.py#L464). Checking of ceph features required for certain toggles is then done directly on the client - https://github.com/openstack/cinder/blob/83e511e012b416aecd45136fd94779dcf466f2ed/cinder/volume/drivers/rbd.py#L407\n\nThis would remove all those individual features from cluttering the driver initialization and even allow new Ceph features to be added without those being added to the cinder-backup RBD driver (as long as there is no cinder-backup feature toggle related or required). Just like this very example of fast-diff here which could have been just via an external config file for the RBD client but a dedicated feature flag for cinder-backup.","commit_id":"937ff063de88d05e764a095d2f274701b512091b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"698f45440bb9860b18915e18ed0a6eb03376e482","unresolved":true,"context_lines":[{"line_number":294,"context_line":"                             self.rbd.RBD_FEATURE_OBJECT_MAP |"},{"line_number":295,"context_line":"                             self.rbd.RBD_FEATURE_FAST_DIFF)"},{"line_number":296,"context_line":"            else:"},{"line_number":297,"context_line":"                # FIXME (tasker): when the backup manager supports loading the"},{"line_number":298,"context_line":"                #   driver during its initialization, this exception should be"},{"line_number":299,"context_line":"                #   moved to the driver\u0027s initialization so that it can stop"},{"line_number":300,"context_line":"                #   the service from starting when the underyling RBD does not"}],"source_content_type":"text/x-python","patch_set":3,"id":"f5374291_e9287a6d","line":297,"updated":"2021-01-15 11:17:09.000000000","message":"-1: As discussed on patchset #2","commit_id":"6193b89550ab87d3d005cbc5fcfaced8ce0b14a5"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"0cf03ecea61c8de4525f22155a10731d99c8c158","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                             self.rbd.RBD_FEATURE_OBJECT_MAP |"},{"line_number":295,"context_line":"                             self.rbd.RBD_FEATURE_FAST_DIFF)"},{"line_number":296,"context_line":"            else:"},{"line_number":297,"context_line":"                # FIXME (tasker): when the backup manager supports loading the"},{"line_number":298,"context_line":"                #   driver during its initialization, this exception should be"},{"line_number":299,"context_line":"                #   moved to the driver\u0027s initialization so that it can stop"},{"line_number":300,"context_line":"                #   the service from starting when the underyling RBD does not"}],"source_content_type":"text/x-python","patch_set":3,"id":"ad5074ea_014b73ff","line":297,"in_reply_to":"f5374291_e9287a6d","updated":"2021-01-17 17:07:06.000000000","message":"Done","commit_id":"6193b89550ab87d3d005cbc5fcfaced8ce0b14a5"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"e4ed4d5137528037674366135f8b87cf26685ecb","unresolved":true,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"        # journaling requires exclusive_lock; check both together"},{"line_number":258,"context_line":"        if CONF.backup_ceph_image_journals:"},{"line_number":259,"context_line":"            if self._supports_exclusive_lock and self._supports_journaling:"},{"line_number":260,"context_line":"                old_format \u003d False"},{"line_number":261,"context_line":"                features |\u003d (self.rbd.RBD_FEATURE_EXCLUSIVE_LOCK |"},{"line_number":262,"context_line":"                             self.rbd.RBD_FEATURE_JOURNALING)"}],"source_content_type":"text/x-python","patch_set":6,"id":"216bfc24_99aafd65","side":"PARENT","line":259,"updated":"2021-01-21 21:10:06.000000000","message":"not sure: I\u0027m not sure but I think we still need to check the exclusive lock support anyways because I could forget to enable it in the conf and try fast-diff.","commit_id":"f3d1168856667df2bec30d655ed6dcd4ccf77fe1"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"59a1638788bceb85300baf083cf528e841d2d9e5","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"        # journaling requires exclusive_lock; check both together"},{"line_number":258,"context_line":"        if CONF.backup_ceph_image_journals:"},{"line_number":259,"context_line":"            if self._supports_exclusive_lock and self._supports_journaling:"},{"line_number":260,"context_line":"                old_format \u003d False"},{"line_number":261,"context_line":"                features |\u003d (self.rbd.RBD_FEATURE_EXCLUSIVE_LOCK |"},{"line_number":262,"context_line":"                             self.rbd.RBD_FEATURE_JOURNALING)"}],"source_content_type":"text/x-python","patch_set":6,"id":"d2d3c400_61b0adea","side":"PARENT","line":259,"in_reply_to":"216bfc24_99aafd65","updated":"2021-01-22 15:26:31.000000000","message":"Thanks for looking into my patch!\n\nSupport for fast_diff depends on exclusive lock to be available for the RBD we talk to.\n(see https://github.com/ceph/ceph/blob/master/doc/rbd/rbd-config-ref.rst#config-settings)\n\nSo in short: If the driver reports fast_diff to be supported we can implicitly assume exclusive lock to be supported as well.","commit_id":"f3d1168856667df2bec30d655ed6dcd4ccf77fe1"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"5f551e2a64563da3bc79ffcb4c8f424d6e881423","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"        # journaling requires exclusive_lock; check both together"},{"line_number":258,"context_line":"        if CONF.backup_ceph_image_journals:"},{"line_number":259,"context_line":"            if self._supports_exclusive_lock and self._supports_journaling:"},{"line_number":260,"context_line":"                old_format \u003d False"},{"line_number":261,"context_line":"                features |\u003d (self.rbd.RBD_FEATURE_EXCLUSIVE_LOCK |"},{"line_number":262,"context_line":"                             self.rbd.RBD_FEATURE_JOURNALING)"}],"source_content_type":"text/x-python","patch_set":6,"id":"0d076eee_99120543","side":"PARENT","line":259,"in_reply_to":"d2d3c400_61b0adea","updated":"2021-01-23 04:54:31.000000000","message":"Thanks!!","commit_id":"f3d1168856667df2bec30d655ed6dcd4ccf77fe1"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"4fc500442276035235c59858e686e6cf0c4c16d3","unresolved":true,"context_lines":[{"line_number":91,"context_line":"    cfg.BoolOpt(\u0027backup_ceph_image_journals\u0027, default\u003dFalse,"},{"line_number":92,"context_line":"                help\u003d\u0027If True, apply JOURNALING and EXCLUSIVE_LOCK feature \u0027"},{"line_number":93,"context_line":"                     \u0027bits to the backup RBD objects to allow mirroring\u0027),"},{"line_number":94,"context_line":"    cfg.BoolOpt(\u0027backup_ceph_fast_diff\u0027, default\u003dFalse,"},{"line_number":95,"context_line":"                help\u003d\u0027If True, apply RBD_FEATURE_FAST_DIFF together with \u0027"},{"line_number":96,"context_line":"                     \u0027RBD_FEATURE_EXCLUSIVE_LOCK and RBD_FEATURE_OBJECT_MAP \u0027"},{"line_number":97,"context_line":"                     \u0027feature bits to the backup RBD objects to speed up \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"744328a4_c4689034","line":94,"range":{"start_line":94,"start_character":17,"end_line":94,"end_character":38},"updated":"2021-02-28 14:57:32.000000000","message":"As discussed during the weekly meeting, let\u0027s remove config option and use it always if RBD supports it","commit_id":"939d29e4444a7bc1e42f5800cd631026bd61da94"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"c94b4cc845e68a79b1e0c05f7cb6ff4a69a0d9ef","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    cfg.BoolOpt(\u0027backup_ceph_image_journals\u0027, default\u003dFalse,"},{"line_number":92,"context_line":"                help\u003d\u0027If True, apply JOURNALING and EXCLUSIVE_LOCK feature \u0027"},{"line_number":93,"context_line":"                     \u0027bits to the backup RBD objects to allow mirroring\u0027),"},{"line_number":94,"context_line":"    cfg.BoolOpt(\u0027backup_ceph_fast_diff\u0027, default\u003dFalse,"},{"line_number":95,"context_line":"                help\u003d\u0027If True, apply RBD_FEATURE_FAST_DIFF together with \u0027"},{"line_number":96,"context_line":"                     \u0027RBD_FEATURE_EXCLUSIVE_LOCK and RBD_FEATURE_OBJECT_MAP \u0027"},{"line_number":97,"context_line":"                     \u0027feature bits to the backup RBD objects to speed up \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"ebed45cf_fad6bf87","line":94,"range":{"start_line":94,"start_character":17,"end_line":94,"end_character":38},"in_reply_to":"744328a4_c4689034","updated":"2021-02-28 15:26:49.000000000","message":"I already removed the \"optional\" part in Patchset 11 ... I just forgot to remove the config option.\n\nShould be clean now.","commit_id":"939d29e4444a7bc1e42f5800cd631026bd61da94"}],"cinder/tests/unit/backup/drivers/test_backup_ceph.py":[{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"e4ed4d5137528037674366135f8b87cf26685ecb","unresolved":true,"context_lines":[{"line_number":240,"context_line":"        self.assertFalse(hasattr(self.service.rbd,"},{"line_number":241,"context_line":"                                 \u0027RBD_FEATURE_EXCLUSIVE_LOCK\u0027))"},{"line_number":242,"context_line":"        self.assertFalse(hasattr(self.service.rbd, \u0027RBD_FEATURE_JOURNALING\u0027))"},{"line_number":243,"context_line":"        self.assertFalse(hasattr(self.service.rbd, \u0027RBD_FEATURE_OBJECT_MAP\u0027))"},{"line_number":244,"context_line":"        self.assertFalse(hasattr(self.service.rbd, \u0027RBD_FEATURE_FAST_DIFF\u0027))"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        oldformat, features \u003d self.service._get_rbd_support()"}],"source_content_type":"text/x-python","patch_set":6,"id":"bb0e2726_92e980dc","line":243,"range":{"start_line":243,"start_character":0,"end_line":243,"end_character":5},"updated":"2021-01-21 21:10:06.000000000","message":"-1: from openstack-tox-py36 job [1] : testtools.matchers._impl.MismatchError: True is not False\n\nI think you need to remove it in line 237 to solve this issue. \n\n[1]https://zuul.opendev.org/t/openstack/build/c25f8f8131524f47a446286f11213571/console","commit_id":"2fa8b9b5a734ffa9f0e1f4be55896eaa33b69e18"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"59a1638788bceb85300baf083cf528e841d2d9e5","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        self.assertFalse(hasattr(self.service.rbd,"},{"line_number":241,"context_line":"                                 \u0027RBD_FEATURE_EXCLUSIVE_LOCK\u0027))"},{"line_number":242,"context_line":"        self.assertFalse(hasattr(self.service.rbd, \u0027RBD_FEATURE_JOURNALING\u0027))"},{"line_number":243,"context_line":"        self.assertFalse(hasattr(self.service.rbd, \u0027RBD_FEATURE_OBJECT_MAP\u0027))"},{"line_number":244,"context_line":"        self.assertFalse(hasattr(self.service.rbd, \u0027RBD_FEATURE_FAST_DIFF\u0027))"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        oldformat, features \u003d self.service._get_rbd_support()"}],"source_content_type":"text/x-python","patch_set":6,"id":"43a6b7a0_ca4e7d6b","line":243,"range":{"start_line":243,"start_character":0,"end_line":243,"end_character":5},"in_reply_to":"bb0e2726_92e980dc","updated":"2021-01-22 15:26:31.000000000","message":"There were two del statements missing did sent update to the patch.","commit_id":"2fa8b9b5a734ffa9f0e1f4be55896eaa33b69e18"}],"releasenotes/notes/bug-1907964-9277e5ddec2abeda.yaml":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"698f45440bb9860b18915e18ed0a6eb03376e482","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    RBD driver `bug #1907964"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1907964\u003e`_: Add support"},{"line_number":6,"context_line":"    and config switch \u0027backup_ceph_fast_diff\u0027 to enable fast-diff"},{"line_number":7,"context_line":"    on backup images stored in Ceph. With FAST_DIFF enabled, the generation"},{"line_number":8,"context_line":"    of diffs between images and snapshots as well as determining the actual"},{"line_number":9,"context_line":"    data usage of a snapshot are sped up significantly."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"796a1203_41e0f099","line":6,"range":{"start_line":6,"start_character":21,"end_line":6,"end_character":45},"updated":"2021-01-15 11:17:09.000000000","message":"nit: Please use `` instead of \u0027 so it looks like code when converting to HTML: ``backup_ceph_fast_diff``","commit_id":"6193b89550ab87d3d005cbc5fcfaced8ce0b14a5"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"0cf03ecea61c8de4525f22155a10731d99c8c158","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    RBD driver `bug #1907964"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1907964\u003e`_: Add support"},{"line_number":6,"context_line":"    and config switch \u0027backup_ceph_fast_diff\u0027 to enable fast-diff"},{"line_number":7,"context_line":"    on backup images stored in Ceph. With FAST_DIFF enabled, the generation"},{"line_number":8,"context_line":"    of diffs between images and snapshots as well as determining the actual"},{"line_number":9,"context_line":"    data usage of a snapshot are sped up significantly."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"6c5d940d_e4ef50ef","line":6,"range":{"start_line":6,"start_character":21,"end_line":6,"end_character":45},"in_reply_to":"796a1203_41e0f099","updated":"2021-01-17 17:07:06.000000000","message":"Ack","commit_id":"6193b89550ab87d3d005cbc5fcfaced8ce0b14a5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"698f45440bb9860b18915e18ed0a6eb03376e482","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    RBD driver `bug #1907964"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1907964\u003e`_: Add support"},{"line_number":6,"context_line":"    and config switch \u0027backup_ceph_fast_diff\u0027 to enable fast-diff"},{"line_number":7,"context_line":"    on backup images stored in Ceph. With FAST_DIFF enabled, the generation"},{"line_number":8,"context_line":"    of diffs between images and snapshots as well as determining the actual"},{"line_number":9,"context_line":"    data usage of a snapshot are sped up significantly."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"4ad6c0fa_1d741d24","line":7,"range":{"start_line":7,"start_character":42,"end_line":7,"end_character":51},"updated":"2021-01-15 11:17:09.000000000","message":"nit: write it in the same way that you did in the previous sentence: fast-diff","commit_id":"6193b89550ab87d3d005cbc5fcfaced8ce0b14a5"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"0cf03ecea61c8de4525f22155a10731d99c8c158","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    RBD driver `bug #1907964"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1907964\u003e`_: Add support"},{"line_number":6,"context_line":"    and config switch \u0027backup_ceph_fast_diff\u0027 to enable fast-diff"},{"line_number":7,"context_line":"    on backup images stored in Ceph. With FAST_DIFF enabled, the generation"},{"line_number":8,"context_line":"    of diffs between images and snapshots as well as determining the actual"},{"line_number":9,"context_line":"    data usage of a snapshot are sped up significantly."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"693e397a_37e61675","line":7,"range":{"start_line":7,"start_character":42,"end_line":7,"end_character":51},"in_reply_to":"4ad6c0fa_1d741d24","updated":"2021-01-17 17:07:06.000000000","message":"Ack","commit_id":"6193b89550ab87d3d005cbc5fcfaced8ce0b14a5"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4700ad996a8755d131159c077393c9cebdec7b92","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    RBD driver `bug #1907964"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1907964\u003e`_: Add support"},{"line_number":6,"context_line":"    and config switch ``backup_ceph_fast_diff`` to enable fast-diff"},{"line_number":7,"context_line":"    on backup images stored in Ceph. With fast-diff enabled, the generation"},{"line_number":8,"context_line":"    of diffs between images and snapshots as well as determining the actual"},{"line_number":9,"context_line":"    data usage of a snapshot are sped up significantly."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"332be266_023fd031","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":47},"updated":"2021-03-15 13:19:53.000000000","message":"Sorry I missed this on last review.","commit_id":"d339cf3005dc1389f535a52077901b7995001158"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"37f9bbd8676e4e42fd98ab09cf6d623139641d53","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    RBD driver `bug #1907964"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1907964\u003e`_: Add support"},{"line_number":6,"context_line":"    and config switch ``backup_ceph_fast_diff`` to enable fast-diff"},{"line_number":7,"context_line":"    on backup images stored in Ceph. With fast-diff enabled, the generation"},{"line_number":8,"context_line":"    of diffs between images and snapshots as well as determining the actual"},{"line_number":9,"context_line":"    data usage of a snapshot are sped up significantly."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"0deb2322_fac527fa","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":47},"in_reply_to":"332be266_023fd031","updated":"2021-03-15 13:50:34.000000000","message":"Done","commit_id":"d339cf3005dc1389f535a52077901b7995001158"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4700ad996a8755d131159c077393c9cebdec7b92","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    RBD driver `bug #1907964"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1907964\u003e`_: Add support"},{"line_number":6,"context_line":"    and config switch ``backup_ceph_fast_diff`` to enable fast-diff"},{"line_number":7,"context_line":"    on backup images stored in Ceph. With fast-diff enabled, the generation"},{"line_number":8,"context_line":"    of diffs between images and snapshots as well as determining the actual"},{"line_number":9,"context_line":"    data usage of a snapshot are sped up significantly."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"9f14b3ac_8d110d3f","line":7,"range":{"start_line":7,"start_character":36,"end_line":7,"end_character":37},"updated":"2021-03-15 13:19:53.000000000","message":"I suggest adding a sentence here saying something about the backup driver automatically using fast-diff if it\u0027s reported as enabled by the backend.","commit_id":"d339cf3005dc1389f535a52077901b7995001158"},{"author":{"_account_id":32755,"name":"Christian Rohmann","email":"christian.rohmann@inovex.de","username":"frittentheke"},"change_message_id":"37f9bbd8676e4e42fd98ab09cf6d623139641d53","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    RBD driver `bug #1907964"},{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/1907964\u003e`_: Add support"},{"line_number":6,"context_line":"    and config switch ``backup_ceph_fast_diff`` to enable fast-diff"},{"line_number":7,"context_line":"    on backup images stored in Ceph. With fast-diff enabled, the generation"},{"line_number":8,"context_line":"    of diffs between images and snapshots as well as determining the actual"},{"line_number":9,"context_line":"    data usage of a snapshot are sped up significantly."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"1be19abd_ea77be7c","line":7,"range":{"start_line":7,"start_character":36,"end_line":7,"end_character":37},"in_reply_to":"9f14b3ac_8d110d3f","updated":"2021-03-15 13:50:34.000000000","message":"Done","commit_id":"d339cf3005dc1389f535a52077901b7995001158"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"9bc865719137a0e2e4468e5b79dd62f5abc532f6","unresolved":true,"context_lines":[{"line_number":8,"context_line":"    enabled and used."},{"line_number":9,"context_line":"    With fast-diff enabled, the generation of diffs between images and"},{"line_number":10,"context_line":"    snapshots as well as determining the actual data usage of a snapshot"},{"line_number":11,"context_line":"    is speed up significantly."}],"source_content_type":"text/x-yaml","patch_set":20,"id":"c5bccfdb_a0617092","line":11,"range":{"start_line":11,"start_character":6,"end_line":11,"end_character":12},"updated":"2021-03-24 17:53:15.000000000","message":"sped","commit_id":"0e8807388209086ee60e1c9f11a48ed6191e4178"}]}
