)]}'
{"nova/tests/unit/virt/libvirt/test_guest.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0bef529c5b9013ec49ffb97fa743b6dab85826ba","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        get_config.side_effect \u003d [conf, conf, conf, None, None]"},{"line_number":222,"context_line":"        dev_path \u003d \"/dev/vdb\""},{"line_number":223,"context_line":"        self.domain.isPersistent.return_value \u003d False"},{"line_number":224,"context_line":"        self.flags(device_detach_inc_sleep_time\u003d.01, group\u003d\u0027libvirt\u0027)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        retry_detach \u003d self.guest.detach_device_with_retry("},{"line_number":227,"context_line":"            get_config, dev_path, live\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_9561d8d7","line":224,"updated":"2020-10-05 17:07:10.000000000","message":"I suspect you don\u0027t even need to set this. We have the \u0027SleepFixture\u0027, which means the sleeps aren\u0027t actually sleeping.\n\nDitto for the rest of these entries","commit_id":"f42454d264b293d9392ae2f141eb5337d13d6674"}],"nova/virt/libvirt/guest.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4ffa8e026d81faad2982d2193ab6fa7f68212597","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        LOG.debug(\u0027Start retrying detach until device %s is gone.\u0027,"},{"line_number":462,"context_line":"                  alternative_device_name)"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"        @loopingcall.RetryDecorator("},{"line_number":465,"context_line":"            max_retry_count\u003dCONF.libvirt.device_detach_max_retry_count,"},{"line_number":466,"context_line":"            inc_sleep_time\u003dCONF.libvirt.device_detach_inc_sleep_time,"},{"line_number":467,"context_line":"            max_sleep_time\u003dCONF.libvirt.device_detach_max_sleep_time,"},{"line_number":468,"context_line":"            exceptions\u003dexception.DeviceDetachFailed)"},{"line_number":469,"context_line":"        def _do_wait_and_retry_detach():"},{"line_number":470,"context_line":"            config \u003d get_device_conf_func(device)"},{"line_number":471,"context_line":"            if config is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_61a28efe","line":468,"range":{"start_line":464,"start_character":7,"end_line":468,"end_character":52},"updated":"2020-10-05 14:06:41.000000000","message":"for other reviews. because this is an inner function CONF.libvirt...\nwill be evaulated teh first time the outer funciton is invoked and not when the module is loaded as would normally happen.\n\n\nif this funciton was at module scope then the values would be taken from the config before we pasred the config on disk and it woudl use the wrong vaules.\n\nthis shoudl work as intended but normally using CONF directly in decorators is a bug.","commit_id":"f42454d264b293d9392ae2f141eb5337d13d6674"}]}
