)]}'
{"nova/virt/libvirt/guest.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e2097c1a346a7dd3fa128e506b8f5f309ed3b6d1","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            # Raise DeviceNotFound if the device isn\u0027t found during detach"},{"line_number":396,"context_line":"            try:"},{"line_number":397,"context_line":"                self.detach_device(conf, persistent\u003dpersistent, live\u003dlive)"},{"line_number":398,"context_line":"                if get_device_conf_func(device) is None:"},{"line_number":399,"context_line":"                    LOG.debug(\u0027Successfully detached device %s from guest. \u0027"},{"line_number":400,"context_line":"                              \u0027Persistent? %s. Live? %s\u0027,"},{"line_number":401,"context_line":"                              device, persistent, live)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_682554ad","line":398,"updated":"2018-07-20 21:04:10.000000000","message":"Okay, so this means we\u0027ll only print this message once after we succeed in updating the live config (according to L452, the config will not be None until the live config update succeeds) and we won\u0027t get this message for succeeding in updating the persistent config. But that seems okay. I imagine it would confuse people who don\u0027t know the two-stage detach process to see \"successfully detached\" twice in the logs. This way, we only see \"successfully detached\" once.","commit_id":"6b90ce412da3bfa562b8c9ac0f36084e148ff095"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e2097c1a346a7dd3fa128e506b8f5f309ed3b6d1","unresolved":false,"context_lines":[{"line_number":450,"context_line":"        def _do_wait_and_retry_detach():"},{"line_number":451,"context_line":"            config \u003d get_device_conf_func(device)"},{"line_number":452,"context_line":"            if config is not None:"},{"line_number":453,"context_line":"                # Device is already detached from persistent domain"},{"line_number":454,"context_line":"                # and only the live config needs to be updated."},{"line_number":455,"context_line":"                _try_detach_device(config, persistent\u003dFalse, live\u003dlive)"},{"line_number":456,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_9431f00c","line":453,"range":{"start_line":453,"start_character":61,"end_line":453,"end_character":67},"updated":"2018-07-20 21:04:10.000000000","message":"Feels like this should say \"config\" too but meh.","commit_id":"6b90ce412da3bfa562b8c9ac0f36084e148ff095"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"f68a8de3407c6991c37c184d92a99d8d79bc10bb","unresolved":false,"context_lines":[{"line_number":455,"context_line":"                _try_detach_device(config, persistent\u003dFalse, live\u003dlive)"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"                reason \u003d _(\"Unable to detach the device from the live config.\")"},{"line_number":458,"context_line":"                raise exception.DeviceDetachFailed("},{"line_number":459,"context_line":"                    device\u003dalternative_device_name, reason\u003dreason)"},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"        return _do_wait_and_retry_detach"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_2f7742d4","line":458,"updated":"2018-07-23 16:51:51.000000000","message":"Looks good to me, FWIW.","commit_id":"636c7461dee4002571da6e99986eb17e9a28b0f4"}]}
