-
-
Notifications
You must be signed in to change notification settings - Fork 156
send_update() does not retry if provider setup fails #509
Description
I'm running Inadyn on Home Assistant. I have two hostnames configured to update for cloudflare.
I noticed that the first IP address never updated, and here are the [redacted] logs:
2025-03-02T11:30:55.003997000Z inadyn[142]: Failed connecting to 1.1.1.1: Operation in progress
2025-03-02T11:30:55.005634000Z inadyn[142]: Communication with checkip server 1.1.1.1 failed, run again with 'inadyn -l debug' if problem persists
2025-03-02T11:30:55.005972000Z inadyn[142]: Retrying with built-in 'default', http://ifconfig.me/ip ...
2025-03-02T11:31:15.255985000Z inadyn[142]: Failed resolving hostname ifconfig.me: Try again
2025-03-02T11:31:15.257491000Z inadyn[142]: Failed to get IP address for [email protected], giving up!
2025-03-02T11:31:15.391074000Z inadyn[142]: Update needed for alias sub1.domain1.com, new IP# X.X.X.X
2025-03-02T11:31:35.477808000Z inadyn[142]: Failed resolving hostname api.cloudflare.com: Try again
2025-03-02T11:31:35.479520000Z inadyn[142]: Zone 'domain1.com' not found.
2025-03-02T11:33:35.745976000Z inadyn[142]: Update needed for alias sub2.domain2.com, new IP# X.X.X.X
2025-03-02T11:33:36.606211000Z inadyn[142]: Updating IPv4 cache for sub2.domain2.com
I'm guessing there was some networking issue, and it had trouble getting the IP address until T11:31:15.391074000Z. At that point it called send_update() to set the IP address for "sub1.domain1.com".
I believe the problem is that cloudflare's info->system->setup function then failed, but there's no retry in that case:
Lines 617 to 618 in d809e2b
| if (info->system->setup) | |
| DO(info->system->setup(ctx, info, alias)); |
All but one of the other failure cases in that function set alias->force_addr_update = 1 to presumably retry later.
Can that call to the provider setup function also set force_addr_update if it fails?
(FYI, the IP address for "sub2.domain2.com" did update as expected then.)