Radarr / Radarr

Movie organizer/manager for usenet and torrent users.
https://radarr.video
GNU General Public License v3.0
9.88k stars 971 forks source link

Name does not resolve (radarr.servarr.com:443) #9971

Closed Calautigo closed 4 months ago

Calautigo commented 4 months ago

Is there an existing issue for this?

Current Behavior

I'm deploying radarr version 5.3.6.8612 (linuxservers image) on a k3s cluster version v1.29.3+k3s1. I'm getting a "Name does not resolve (radarr.servarr.com:443)" errors regularly. Also when I'm searching for movies I get a similar error with "Name does not resolve (api.radarr.video:443)"

I searched for this error and found some tips, so I disabled ipv6 on all cluster machines, and use flannel with host-gw backend.

Sadly the same error occurs. Here are some outputs of commands in the pod:

root@radarr-7b4d75c9c7-vzpqw:/# nslookup radarr.servarr.com
Server:         10.43.0.10
Address:        10.43.0.10:53

Non-authoritative answer:
Name:   radarr.servarr.com
Address: 188.114.97.3
Name:   radarr.servarr.com
Address: 188.114.96.3

Non-authoritative answer:
Name:   radarr.servarr.com
Address: 2a06:98c1:3120::3
Name:   radarr.servarr.com
Address: 2a06:98c1:3121::3
root@radarr-7b4d75c9c7-vzpqw:/# nslookup radarr.servarr.com:443
Server:         10.43.0.10
Address:        10.43.0.10:53

** server can't find radarr.servarr.com:443: NXDOMAIN

** server can't find radarr.servarr.com:443: NXDOMAIN

I don't really get why there is an IPv6 response. When I execute ip -6 addr show there is not output on all cluster machines

root@radarr-7b4d75c9c7-vzpqw:/# curl -sv -6 'https://radarr.servarr.com:443'
* Could not resolve host: radarr.servarr.com
* Closing connection
root@radarr-7b4d75c9c7-vzpqw:/# curl -sv -4 'https://radarr.servarr.com:443'
* Host radarr.servarr.com:443 was resolved.
* IPv6: (none)
* IPv4: 188.114.97.3, 188.114.96.3
*   Trying 188.114.97.3:443...
* Connected to radarr.servarr.com (188.114.97.3) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=servarr.com
*  start date: Apr 25 20:12:51 2024 GMT
*  expire date: Jul 24 20:12:50 2024 GMT
*  subjectAltName: host "radarr.servarr.com" matched cert's "*.servarr.com"
*  issuer: C=US; O=Let's Encrypt; CN=E1
*  SSL certificate verify ok.
*   Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384
*   Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384
*   Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://radarr.servarr.com:443/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: radarr.servarr.com]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.5.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: radarr.servarr.com
> User-Agent: curl/8.5.0
> Accept: */*
> 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
< HTTP/2 200 
< date: Fri, 03 May 2024 09:06:03 GMT
< content-type: application/json; charset=utf-8
< cf-ray: 87df17c2d9315d69-FRA
< cf-cache-status: DYNAMIC
< report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=VD5jrW9kuX879AhcZ5ruT9xUz%2BA75wBQN6jl8vDdQL8HvbvRXXUwpytHKNCw4xPmLoHOoO%2FCZ8AppRuvmOndlHqpS63swqAsU9r1taUXpaQ7clvXaZlSIv9Mt3bySylbG0xD6Xg%3D"}],"group":"cf-nel","max_age":604800}
< nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
< server: cloudflare
< alt-svc: h3=":443"; ma=86400
< 
* Connection #0 to host radarr.servarr.com left intact
root@k3s-master-00:/var/lib/rancher/k3s/agent/etc/flannel# cat net-conf.json 
{
        "Network": "10.42.0.0/16",
        "EnableIPv6": false,
        "EnableIPv4": true,
        "IPv6Network": "::/0",
        "Backend": {
        "Type": "host-gw"
}
}

So I think radarr is trying to use IPv6 but how can I disable it for radarr?

Expected Behavior

Working resolution for hostname

Steps To Reproduce

No response

Environment

- OS: Alpine 3.18
- Radarr: 5.3.6
- Docker Install: Yes
- Using Reverse Proxy: Yes Traefik
- Browser: Chrome
- Database: Sqlite

What branch are you running?

Master

Trace Logs? Not Optional

2024-05-03 11:02:05.2|Warn|SkyHookProxy|System.Net.Http.HttpRequestException: Name does not resolve (api.radarr.video:443)

[v5.3.6.8612] System.Net.Http.HttpRequestException: Name does not resolve (api.radarr.video:443) ---> System.Net.Sockets.SocketException (0xFFFDFFFF): Name does not resolve at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at System.Net.Sockets.Socket.g__WaitForConnectWithCancellation|277_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken) at NzbDrone.Common.Http.Dispatchers.ManagedHttpDispatcher.attemptConnection(AddressFamily addressFamily, SocketsHttpConnectionContext context, CancellationToken cancellationToken) in ./Radarr.Common/Http/Dispatchers/ManagedHttpDispatcher.cs:line 298 at NzbDrone.Common.Http.Dispatchers.ManagedHttpDispatcher.onConnect(SocketsHttpConnectionContext context, CancellationToken cancellationToken) in ./Radarr.Common/Http/Dispatchers/ManagedHttpDispatcher.cs:line 284 at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.AddHttp2ConnectionAsync(HttpRequestMessage request) at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.GetHttp2ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.AuthenticationHelper.SendWithAuthAsync(HttpRequestMessage request, Uri authUri, Boolean async, ICredentials credentials, Boolean preAuthenticate, Boolean isProxyAuth, Boolean doRequestAuth, HttpConnectionPool pool, CancellationToken cancellationToken) at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at NzbDrone.Common.Http.Dispatchers.ManagedHttpDispatcher.GetResponseAsync(HttpRequest request, CookieContainer cookies) in ./Radarr.Common/Http/Dispatchers/ManagedHttpDispatcher.cs:line 107 at NzbDrone.Common.Http.HttpClient.ExecuteRequestAsync(HttpRequest request, CookieContainer cookieContainer) in ./Radarr.Common/Http/HttpClient.cs:line 157 at NzbDrone.Common.Http.HttpClient.ExecuteAsync(HttpRequest request) in ./Radarr.Common/Http/HttpClient.cs:line 70 at NzbDrone.Common.Http.HttpClient.GetAsync[T](HttpRequest request) in ./Radarr.Common/Http/HttpClient.cs:line 333 at NzbDrone.Common.Http.HttpClient.Get[T](HttpRequest request) in ./Radarr.Common/Http/HttpClient.cs:line 341 at NzbDrone.Core.MetadataSource.SkyHook.SkyHookProxy.SearchForNewMovie(String title) in ./Radarr.Core/MetadataSource/SkyHook/SkyHookProxy.cs:line 513

Trace Logs have been provided as applicable. Reports will be closed if the required logs are not provided.

github-actions[bot] commented 4 months ago

:wave: @Calautigo, we use the issue tracker exclusively for bug reports and feature requests. However, this issue appears to be a support request. Please hop over onto our Discord.

mynameisbogdan commented 4 months ago

So I think radarr is trying to use IPv6 but how can I disable it for radarr?

As long there is no inet6 network interface, IPv6 should be disabled when you start Radarr after making an attempt to see if it's available.

We don't offer support on GH, so hop on discord but keep in mind that sadly not many frequent visitors use it in a k8s cluster.

Calautigo commented 4 months ago

Oh ok, sorry, I will close the issue and ask in discord. Thank you!