Ensure LIFX connection is cleaned up on failure (#77465)

Fixes #77464
This commit is contained in:
J. Nick Koston 2022-08-29 04:02:41 -05:00 committed by GitHub
parent bf01b5a466
commit 8c41d0d3d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -193,10 +193,15 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
try:
await connection.async_setup()
except socket.gaierror as ex:
connection.async_stop()
raise ConfigEntryNotReady(f"Could not resolve {host}: {ex}") from ex
coordinator = LIFXUpdateCoordinator(hass, connection, entry.title)
coordinator.async_setup()
await coordinator.async_config_entry_first_refresh()
try:
await coordinator.async_config_entry_first_refresh()
except ConfigEntryNotReady:
connection.async_stop()
raise
domain_data[entry.entry_id] = coordinator
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)