NS8 Migration: Error retrieving apps to migrate

Trying to migrate from NS 7.9 to 8, I get this error:
Error retrieving apps to migrate
This is the dump that shows on the console:

Traceback (most recent call last):
File “/usr/lib64/python3.6/urllib/request.py”, line 1349, in do_open
encode_chunked=req.has_header(‘Transfer-encoding’))
File “/usr/lib64/python3.6/http/client.py”, line 1254, in request
self._send_request(method, url, body, headers, encode_chunked)
File “/usr/lib64/python3.6/http/client.py”, line 1300, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File “/usr/lib64/python3.6/http/client.py”, line 1249, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File “/usr/lib64/python3.6/http/client.py”, line 1036, in _send_output
self.send(msg)
File “/usr/lib64/python3.6/http/client.py”, line 974, in send
self.connect()
File “/usr/lib64/python3.6/http/client.py”, line 946, in connect
(self.host,self.port), self.timeout, self.source_address)
File “/usr/lib64/python3.6/socket.py”, line 724, in create_connection
raise err
File “/usr/lib64/python3.6/socket.py”, line 713, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/sbin/ns8-join”, line 190, in
update_routes_response = call(api_endpoint, “update-routes”, payload[‘token’], update_routes_request, False)
File “/usr/sbin/ns8-join”, line 45, in call
post = request.urlopen(req, context=ctx)
File “/usr/lib64/python3.6/urllib/request.py”, line 223, in urlopen
return opener.open(url, data, timeout)
File “/usr/lib64/python3.6/urllib/request.py”, line 526, in open
response = self._open(req, data)
File “/usr/lib64/python3.6/urllib/request.py”, line 544, in _open
‘_open’, req)
File “/usr/lib64/python3.6/urllib/request.py”, line 504, in _call_chain
result = func(*args)
File “/usr/lib64/python3.6/urllib/request.py”, line 1377, in http_open
return self.do_open(http.client.HTTPConnection, req)
File “/usr/lib64/python3.6/urllib/request.py”, line 1351, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>
{

Hi Jeff, nice to see you back. You did it right: you posted the error message. This is a fundamental condition to understand what is happening by your side!

If NS8 is configured with the default VPN endpoint, NS7 is trying to send UDP packets to the NS8 FQDN, port 55820. If the NS8 FQDN is not correctly resolved from NS7, an HTTP connection through the VPN times out. Run this command to verify how NS8 FQDN is resolved in NS7:

getent hosts <NS8 FQDN HERE>
3 Likes

Thank you for your response. My response to gent hosts mail2.swankfam.xyz is:
192.168.106.181 mail2.swankfam.xyz mail2 which is correct.

I needed to correct a wrong value, my NS8 runs on Debian 12. It seems that reconnecting the migration tool in some cases (like wrong DNS settings) increases the last octet of the Wireguard VPN IP of the NS7 (10.5.4.10) but doesn’t adapt the “AllowedIPs” on NS8 correctly that still was set to 10.5.4.3.
Following steps helped:

Get the right Wireguard IP of NS7:

[root@testserver ~]# ip a s dev ns8
5: ns8: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.5.4.10/32 scope global ns8

Edit /etc/wireguard/wg0.conf on NS8 and change the AllowedIPs of the NS7 peer to the right one.

[Peer]
PublicKey = UjwxpNWsdRF/egLJDaJofb7fEYrUrH3pT3CxdS4Ws4o=
AllowedIPs = 10.5.4.10/32
Endpoint = 192.168.3.162:53080
PersistentKeepalive = 25

Restart wireguard service on NS8:

systemctl restart wg-quick@wg0

Here’s a similar issue, partly solved by changing the IP on NS7 to the allowed one on NS8 (other way round):

2 Likes