)]}'
{"neutron/cmd/ovn/neutron_ovn_db_sync_util.py":[{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"9e15f5ea279439093f3590ad55d84e200234ee90","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        LOG.error(\u0027Invalid core plugin : [\"%s\"].\u0027, cfg.CONF.core_plugin)"},{"line_number":200,"context_line":"        return"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    mech_worker \u003d worker.MaintenanceWorker"},{"line_number":203,"context_line":"    try:"},{"line_number":204,"context_line":"        ovn_api \u003d impl_idl_ovn.OvsdbNbOvnIdl.from_worker(mech_worker)"},{"line_number":205,"context_line":"    except RuntimeError:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_29f334e9","line":202,"range":{"start_line":202,"start_character":25,"end_line":202,"end_character":42},"updated":"2020-10-07 17:58:02.000000000","message":"I never thought of the db_sync utility as a maintenance worker. But it make perfect sense in this context.","commit_id":"8e6711f388caa4914c89502998c34cfdc45f8851"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py":[{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"9e15f5ea279439093f3590ad55d84e200234ee90","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        trigger_class \u003d utils.get_method_class(trigger)"},{"line_number":134,"context_line":"        LOG.info(\u0027Getting %(cls)s for %(trigger)s with retry\u0027,"},{"line_number":135,"context_line":"                 {\u0027cls\u0027: cls.__name__, \u0027trigger\u0027: trigger_class.__name__})"},{"line_number":136,"context_line":"        return cls.from_worker(trigger_class, driver)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    vlog.use_python_logger(max_level\u003dcfg.get_ovn_ovsdb_log_level())"},{"line_number":139,"context_line":"    return tuple(get_ovn_idl_retry(c) for c in (OvsdbNbOvnIdl, OvsdbSbOvnIdl))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_095470c5","line":136,"range":{"start_line":136,"start_character":19,"end_line":136,"end_character":30},"updated":"2020-10-07 17:58:02.000000000","message":"I wish the \u0027connection\u0027 keyword was part of the function name. I say that because it is not creato me that this fcn returns an idl connection. But this is actually a bit of a nit. ;)","commit_id":"8e6711f388caa4914c89502998c34cfdc45f8851"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"e5130437605e7b186f49cb099d3a658398a19622","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        trigger_class \u003d utils.get_method_class(trigger)"},{"line_number":134,"context_line":"        LOG.info(\u0027Getting %(cls)s for %(trigger)s with retry\u0027,"},{"line_number":135,"context_line":"                 {\u0027cls\u0027: cls.__name__, \u0027trigger\u0027: trigger_class.__name__})"},{"line_number":136,"context_line":"        return cls.from_worker(trigger_class, driver)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    vlog.use_python_logger(max_level\u003dcfg.get_ovn_ovsdb_log_level())"},{"line_number":139,"context_line":"    return tuple(get_ovn_idl_retry(c) for c in (OvsdbNbOvnIdl, OvsdbSbOvnIdl))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_515a6b81","line":136,"range":{"start_line":136,"start_character":19,"end_line":136,"end_character":30},"in_reply_to":"9f560f44_095470c5","updated":"2020-10-09 14:35:17.000000000","message":"It is actually returning an API Impl class, like OvsdbNbOvnIdl. Normally, it\u0027d be pretty obvious and called like OvsdbNvOvnIdl.from_worker(...). It\u0027s just adding the retry logic made it a bit more confusing. Having a patch that does:\n\n def get_ovn_idl_retry(api_class):\n     ...\n\nwould probably make things a bit clearer. As would going through and renaming most of the classes...","commit_id":"8e6711f388caa4914c89502998c34cfdc45f8851"}]}
