)]}'
{"cinder/tests/unit/volume/test_init_host.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"af55ce637d721fada8d9a8baceb97d91b79590c8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Tests for volume init host method cases.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import mock"},{"line_number":19,"context_line":"import time"},{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":"from oslo_utils import importutils"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_6d21b9b2","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":11},"updated":"2018-12-13 08:36:56.000000000","message":"this import isn\u0027t required for the mock","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Tests for volume init host method cases.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import mock"},{"line_number":19,"context_line":"import time"},{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":"from oslo_utils import importutils"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_2eae54e5","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":11},"in_reply_to":"3f79a3b5_6d21b9b2","updated":"2018-12-18 07:04:41.000000000","message":"Done","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"}],"cinder/volume/manager.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"b9e81aaa49cd935e4f2bb65290f4e875809405f2","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        try:"},{"line_number":448,"context_line":"            self.driver.do_setup(ctxt)"},{"line_number":449,"context_line":"            self.driver.check_for_setup_error()"},{"line_number":450,"context_line":"        except (exception.InvalidConfigurationValue, ImportError):"},{"line_number":451,"context_line":"            LOG.exception(\"Failed to initialize driver.\","},{"line_number":452,"context_line":"                          resource\u003d{\u0027type\u0027: \u0027driver\u0027,"},{"line_number":453,"context_line":"                                    \u0027id\u0027: self.__class__.__name__})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_f4ceb428","line":450,"updated":"2018-11-20 02:09:32.000000000","message":"I think \"Driver not supported\" [1] case we need also process in here, right?\n\n[1] https://review.openstack.org/#/c/599505/9/specs/stein/driver-reinitialization-after-fail.rst@60","commit_id":"b9a7c97f96cd257cd692e1e7d303cb7613caee14"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"3b0974191e3d0259ffbea9393d66dfdde327311f","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        try:"},{"line_number":448,"context_line":"            self.driver.do_setup(ctxt)"},{"line_number":449,"context_line":"            self.driver.check_for_setup_error()"},{"line_number":450,"context_line":"        except (exception.InvalidConfigurationValue, ImportError):"},{"line_number":451,"context_line":"            LOG.exception(\"Failed to initialize driver.\","},{"line_number":452,"context_line":"                          resource\u003d{\u0027type\u0027: \u0027driver\u0027,"},{"line_number":453,"context_line":"                                    \u0027id\u0027: self.__class__.__name__})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_87b39135","line":450,"in_reply_to":"3f79a3b5_a7348de1","updated":"2018-11-20 07:58:52.000000000","message":"OK, thanks for your explanation, and I misunderstood it, I thought do_setup or check_for_setup_error would raise a \"NotImplementedError\"","commit_id":"b9a7c97f96cd257cd692e1e7d303cb7613caee14"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"7ab8f25718501f940083799c9a3b7a67dde2866a","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        try:"},{"line_number":448,"context_line":"            self.driver.do_setup(ctxt)"},{"line_number":449,"context_line":"            self.driver.check_for_setup_error()"},{"line_number":450,"context_line":"        except (exception.InvalidConfigurationValue, ImportError):"},{"line_number":451,"context_line":"            LOG.exception(\"Failed to initialize driver.\","},{"line_number":452,"context_line":"                          resource\u003d{\u0027type\u0027: \u0027driver\u0027,"},{"line_number":453,"context_line":"                                    \u0027id\u0027: self.__class__.__name__})"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_a7348de1","line":450,"in_reply_to":"3f79a3b5_f4ceb428","updated":"2018-11-20 07:43:17.000000000","message":"The unsupported case has been involved in above L422-432.","commit_id":"b9a7c97f96cd257cd692e1e7d303cb7613caee14"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"af55ce637d721fada8d9a8baceb97d91b79590c8","unresolved":false,"context_lines":[{"line_number":437,"context_line":"                if self.driver.initialized:"},{"line_number":438,"context_line":"                    return"},{"line_number":439,"context_line":"                reinit_count +\u003d 1"},{"line_number":440,"context_line":"                wait_interval \u003d wait_interval *2"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def _init_host(self, added_to_cluster\u003dNone, **kwargs):"},{"line_number":443,"context_line":"        ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_ff956c94","line":440,"range":{"start_line":440,"start_character":16,"end_line":440,"end_character":48},"updated":"2018-12-13 08:36:56.000000000","message":"IMO like [1], wait_interval \u003d reinit_count ** 2 would be better here\n[1] https://github.com/openstack/cinder/blob/master/cinder/volume/driver.py#L452","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":437,"context_line":"                if self.driver.initialized:"},{"line_number":438,"context_line":"                    return"},{"line_number":439,"context_line":"                reinit_count +\u003d 1"},{"line_number":440,"context_line":"                wait_interval \u003d wait_interval *2"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def _init_host(self, added_to_cluster\u003dNone, **kwargs):"},{"line_number":443,"context_line":"        ctxt \u003d context.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_ee205c08","line":440,"range":{"start_line":440,"start_character":16,"end_line":440,"end_character":48},"in_reply_to":"3f79a3b5_ff956c94","updated":"2018-12-18 07:04:41.000000000","message":"This is better.","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"af55ce637d721fada8d9a8baceb97d91b79590c8","unresolved":false,"context_lines":[{"line_number":439,"context_line":"                reinit_count +\u003d 1"},{"line_number":440,"context_line":"                wait_interval \u003d wait_interval *2"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def _init_host(self, added_to_cluster\u003dNone, **kwargs):"},{"line_number":443,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        # If we have just added this host to a cluster we have to include all"},{"line_number":446,"context_line":"        # our resources in that cluster."}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_1fae28e5","line":443,"range":{"start_line":442,"start_character":0,"end_line":443,"end_character":42},"updated":"2018-12-13 08:36:56.000000000","message":"why is the context fetched in a separate method?","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":439,"context_line":"                reinit_count +\u003d 1"},{"line_number":440,"context_line":"                wait_interval \u003d wait_interval *2"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def _init_host(self, added_to_cluster\u003dNone, **kwargs):"},{"line_number":443,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"        # If we have just added this host to a cluster we have to include all"},{"line_number":446,"context_line":"        # our resources in that cluster."}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_4e695021","line":443,"range":{"start_line":442,"start_character":0,"end_line":443,"end_character":42},"in_reply_to":"3f79a3b5_1fae28e5","updated":"2018-12-18 07:04:41.000000000","message":"This is from original codes, and it is used in following  self._include_resources_in_cluster(ctxt) and other funcs.","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"705da34343ec17319b6197e2e0d66a8ca85f7914","unresolved":false,"context_lines":[{"line_number":127,"context_line":"    cfg.IntOpt(\u0027reinit_driver_count\u0027,"},{"line_number":128,"context_line":"               default\u003d3,"},{"line_number":129,"context_line":"               help\u003d\u0027Maximum times to reintialize the driver \u0027"},{"line_number":130,"context_line":"                    \u0027if volume initialization fails\u0027),"},{"line_number":131,"context_line":"]"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"volume_backend_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_814cd2ca","line":130,"updated":"2018-12-18 03:32:49.000000000","message":"it would be good add some explanation in here (or in some other doc) about exponential backoff, and relationship with reinit_driver_count.","commit_id":"ef893308bbcca5d41fb0bbf58fae9fc5bce048bd"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":127,"context_line":"    cfg.IntOpt(\u0027reinit_driver_count\u0027,"},{"line_number":128,"context_line":"               default\u003d3,"},{"line_number":129,"context_line":"               help\u003d\u0027Maximum times to reintialize the driver \u0027"},{"line_number":130,"context_line":"                    \u0027if volume initialization fails\u0027),"},{"line_number":131,"context_line":"]"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"volume_backend_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_59bb0edd","line":130,"in_reply_to":"3f79a3b5_814cd2ca","updated":"2018-12-18 07:04:41.000000000","message":"Done","commit_id":"ef893308bbcca5d41fb0bbf58fae9fc5bce048bd"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"705da34343ec17319b6197e2e0d66a8ca85f7914","unresolved":false,"context_lines":[{"line_number":431,"context_line":"            reinit_count \u003d 0"},{"line_number":432,"context_line":"            while reinit_count \u003c CONF.reinit_driver_count:"},{"line_number":433,"context_line":"                reinit_count +\u003d 1"},{"line_number":434,"context_line":"                time.sleep(reinit_count ** 2)"},{"line_number":435,"context_line":"                self._init_host(added_to_cluster, **kwargs)"},{"line_number":436,"context_line":"                if self.driver.initialized:"},{"line_number":437,"context_line":"                    return"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_817ff2bb","line":434,"range":{"start_line":434,"start_character":16,"end_line":434,"end_character":45},"updated":"2018-12-18 03:32:49.000000000","message":"I\u0027m not sure it\u0027s a special consideration or mistake.\n\nThe general expo-backoff is 2 ** reinit_count.\n\nThat means:\n1, 2, 4, 8, 16, 32... 2 ** n\n\nrather than:\n1, 4, 9, 16, 25, 36... n ** 2","commit_id":"ef893308bbcca5d41fb0bbf58fae9fc5bce048bd"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":431,"context_line":"            reinit_count \u003d 0"},{"line_number":432,"context_line":"            while reinit_count \u003c CONF.reinit_driver_count:"},{"line_number":433,"context_line":"                reinit_count +\u003d 1"},{"line_number":434,"context_line":"                time.sleep(reinit_count ** 2)"},{"line_number":435,"context_line":"                self._init_host(added_to_cluster, **kwargs)"},{"line_number":436,"context_line":"                if self.driver.initialized:"},{"line_number":437,"context_line":"                    return"}],"source_content_type":"text/x-python","patch_set":17,"id":"3f79a3b5_19e3563b","line":434,"range":{"start_line":434,"start_character":16,"end_line":434,"end_character":45},"in_reply_to":"3f79a3b5_817ff2bb","updated":"2018-12-18 07:04:41.000000000","message":"I think the first one is better.","commit_id":"ef893308bbcca5d41fb0bbf58fae9fc5bce048bd"}],"releasenotes/notes/driver_reinitialization-b26a8b3e665567ec.yaml":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"af55ce637d721fada8d9a8baceb97d91b79590c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_3f844457","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":7},"updated":"2018-12-13 08:36:56.000000000","message":"Added","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"af55ce637d721fada8d9a8baceb97d91b79590c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_bfc6149b","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":40},"updated":"2018-12-13 08:36:56.000000000","message":"``reinit_driver_count``\nhttps://github.com/openstack/cinder/blob/master/releasenotes/notes/backup-ceph-driver-journaling-exculsive-lock-features-6b6044138a288a83.yaml#L3","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_ae510468","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":7},"in_reply_to":"3f79a3b5_3f844457","updated":"2018-12-18 07:04:41.000000000","message":"Done","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_aec6e413","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":40},"in_reply_to":"3f79a3b5_bfc6149b","updated":"2018-12-18 07:04:41.000000000","message":"Done","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"af55ce637d721fada8d9a8baceb97d91b79590c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_5fbb4010","line":4,"range":{"start_line":4,"start_character":18,"end_line":4,"end_character":24},"updated":"2018-12-13 08:36:56.000000000","message":"limit","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"af55ce637d721fada8d9a8baceb97d91b79590c8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_1fb5c81a","line":4,"range":{"start_line":4,"start_character":36,"end_line":4,"end_character":50},"updated":"2018-12-13 08:36:56.000000000","message":"re-initialization?","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_4ed710bf","line":4,"range":{"start_line":4,"start_character":36,"end_line":4,"end_character":50},"in_reply_to":"3f79a3b5_1fb5c81a","updated":"2018-12-18 07:04:41.000000000","message":"Done","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"af55ce637d721fada8d9a8baceb97d91b79590c8","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_ff31ecbb","line":5,"range":{"start_line":5,"start_character":53,"end_line":5,"end_character":58},"updated":"2018-12-13 08:36:56.000000000","message":"always","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add a new config reinit_driver_count in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry number for driver initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3. 0 means alway retry."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f79a3b5_eee5bca7","line":5,"range":{"start_line":5,"start_character":53,"end_line":5,"end_character":58},"in_reply_to":"3f79a3b5_ff31ecbb","updated":"2018-12-18 07:04:41.000000000","message":"Done","commit_id":"c103bfebfcc1064b20a03a7a0750be2aad3d9ec8"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"705da34343ec17319b6197e2e0d66a8ca85f7914","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added a new config ``reinit_driver_count`` in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry limit for driver re-initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3."}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3f79a3b5_e1b10692","line":4,"updated":"2018-12-18 03:32:49.000000000","message":"It would be better if we could mention the backoff mechanism in here.","commit_id":"ef893308bbcca5d41fb0bbf58fae9fc5bce048bd"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"2b650eee69c055b28a1717964f8e31f68930a57c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added a new config ``reinit_driver_count`` in volume driver, which indicates the"},{"line_number":4,"context_line":"    maximum retry limit for driver re-initialization when it fails to initialize"},{"line_number":5,"context_line":"    a volume driver. Its default value is 3."}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3f79a3b5_b97a6224","line":4,"in_reply_to":"3f79a3b5_e1b10692","updated":"2018-12-18 07:04:41.000000000","message":"Done","commit_id":"ef893308bbcca5d41fb0bbf58fae9fc5bce048bd"}]}
