Skip to content

DNS listener startup failures are unrecoverable #1999

@gwenya

Description

@gwenya

Is there an existing issue for this?

  • There is no existing issue for this feature

What are you currently unable to do

If the internal DNS server (for serving AXFR) fails its ListenAndServe(), Incus will print a log message like "Failed to bind TCP DNS address ..." but neither fail the server startup nor retry starting the DNS server.

What do you think would need to be added

Keep retrying the DNS ListenAndServe() to recover from errors, or restart the DNS server (like Reconfigure() does) when errors occur. The latter is probably better since the former might interfere with the Stop() logic.

If the error happens on startup it might make sense to fail the startup instead, but this is difficult to implement since ListenAndServe() blocks until shutdown and can return errors from both listening and accepting connections, and there's no way to Listen() and Serve() separately.

Metadata

Metadata

Assignees

Labels

EasyGood for new contributors

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions