Skip to content

Log the reason a config entry failed to setup#48449

Merged
MartinHjelmare merged 1 commit intohome-assistant:devfrom
bdraco:log_reason_for_config_entry_retry
Mar 29, 2021
Merged

Log the reason a config entry failed to setup#48449
MartinHjelmare merged 1 commit intohome-assistant:devfrom
bdraco:log_reason_for_config_entry_retry

Conversation

@bdraco
Copy link
Copy Markdown
Member

@bdraco bdraco commented Mar 28, 2021

Proposed change

Log the reason a config entry failed to setup

If we pass a string to ConfigEntryNotReady or raise it from
another exception we now log the string passed or the
string generated by the original exception.

With #47201 this makes it easy for developers to still show
the reason why setup failed without having to worry about log
spam from additional attempts by rasing ConfigEntryNotReady
from the original exception.

Example with heos below:

2021-03-28 22:00:15 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Controller (192.168.107.76)' for heos integration not ready yet: [Errno 111] Connect call failed ('192.168.107.76', 1255); Retrying in background
2021-03-28 22:00:17 WARNING (MainThread) [homeassistant.config_entries] Config entry 'maui hp 89' for ipp integration not ready yet; Retrying in background
2021-03-28 22:00:22 DEBUG (MainThread) [homeassistant.config_entries] Config entry 'Controller (192.168.107.76)' for heos integration not ready yet: [Errno 111] Connect call failed ('192.168.107.76', 1255); Retrying in 10 seconds
2021-03-28 22:00:25 DEBUG (MainThread) [homeassistant.config_entries] Config entry 'maui hp 89' for ipp integration not ready yet; Retrying in 10 seconds
2021-03-28 22:00:25 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Marantz NR1711' for denonavr integration not ready yet; Retrying in background
2021-03-28 22:00:32 DEBUG (MainThread) [homeassistant.config_entries] Config entry 'Controller (192.168.107.76)' for heos integration not ready yet: [Errno 111] Connect call failed ('192.168.107.76', 1255); Retrying in 20 seconds
2021-03-28 22:00:38 DEBUG (MainThread) [homeassistant.config_entries] Config entry 'maui hp 89' for ipp integration not ready yet; Retrying in 20 seconds
2021-03-28 22:00:40 DEBUG (MainThread) [homeassistant.config_entries] Config entry 'Marantz NR1711' for denonavr integration not ready yet; Retrying in 10 seconds
2021-03-28 22:00:52 DEBUG (MainThread) [homeassistant.config_entries] Config entry 'Controller (192.168.107.76)' for heos integration not ready yet: [Errno 111] Connect call failed ('192.168.107.76', 1255); Retrying in 40 seconds
2021-03-28 22:01:00 DEBUG (MainThread) [homeassistant.config_entries] Config entry 'Marantz NR1711' for denonavr integration not ready yet; Retrying in 20 seconds
2021-03-28 22:01:01 DEBUG (MainThread) [homeassistant.config_entries] Config entry 'maui hp 89' for ipp integration not ready yet; Retrying in 40 seconds

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Example entry for configuration.yaml:

# Example configuration.yaml

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Black (black --fast homeassistant tests)
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

The integration reached or maintains the following Integration Quality Scale:

  • No score or internal
  • 🥈 Silver
  • 🥇 Gold
  • 🏆 Platinum

To help with the load of incoming pull requests:

If we pass a string to ConfigEntryNotReady or raise it from
another exception we now log the string passed or the
string generated by the original exception.

With home-assistant#47201 this makes it easy for developers to still show
the reason why setup failed without having to worry about log
spam from additional attempts by rasing ConfigEntryNotReady
from the original exception.
@bdraco bdraco mentioned this pull request Mar 28, 2021
21 tasks
bdraco added a commit to bdraco/home-assistant that referenced this pull request Mar 28, 2021
…late

Also when coupled with home-assistant#48449, log spam is reduced since we do
not log an additional failure each resetup attempt.
Copy link
Copy Markdown
Member

@MartinHjelmare MartinHjelmare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@MartinHjelmare MartinHjelmare merged commit cb1b45d into home-assistant:dev Mar 29, 2021
bdraco added a commit to bdraco/home-assistant that referenced this pull request Mar 29, 2021
…late

Also when coupled with home-assistant#48449, log spam is reduced since we do
not log an additional failure each resetup attempt.
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants