geoip lookup failure

Bug #1999102 reported by Joshua McClintock
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
subiquity
New
Undecided
Unassigned

Bug Description

During an 'autoinstall' using Ubuntu 22.04.1, subiquity fails with error 'RunTimeError: rtnl_link_change failed -16.

ProblemType: Bug
DistroRelease: Ubuntu 22.04
Uname: Linux 5.15.0-43-generic x86_64
Architecture: amd64
Date: Thu Dec 8 01:27:33 2022
ProcEnviron:
 TERM=linux
 PATH=(custom, no user)
 LANG=en_US.UTF-8
Snap: subiquity 22.07.2 ()
Snap.Changes: no changes found
Snap.Connections:

SnapSource: subiquity
Symptom: installer

Revision history for this message
Joshua McClintock (jmcclintock1) wrote :
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

This isn't actually a failure that impacts the installer in any way. Is there an observable problem you are encountering?

Revision history for this message
Joshua McClintock (jmcclintock1) wrote :

Yes, the installer runs the error-commands we have defined and stops.

Revision history for this message
Joshua McClintock (jmcclintock1) wrote :

You can see the exception in the subiquity-server-debug.log file in the .tar which is attached.

Here is an excerpt:

2022-12-08 01:20:10,108 ERROR subiquity.common.geoip:119 geoip lookup failed
Traceback (most recent call last):
  File "/snap/subiquity/3698/lib/python3.8/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
  File "/snap/subiquity/3698/lib/python3.8/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/snap/subiquity/3698/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/snap/subiquity/3698/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/snap/subiquity/3698/lib/python3.8/site-packages/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/snap/subiquity/3698/lib/python3.8/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/snap/subiquity/3698/lib/python3.8/site-packages/urllib3/connection.py", line 358, in connect
    self.sock = conn = self._new_conn()
  File "/snap/subiquity/3698/lib/python3.8/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f68ce4da0d0>: Failed:

Revision history for this message
Olivier Gayot (ogayot) wrote :

We should find a way to make it more obvious in the logs but the exception you point out to should not be the reason for your error-commands to be triggered.

On the other hand, the `apt-get update` command failed and stopped the install (this is something we want to improve going forward) probably because the network was not up?

Traceback (most recent call last):
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/shutdown.py", line 77, in _wait_install
    await self.app.controllers.Install.install_task
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/cmdlist.py", line 104, in _run
    await Install.install_task
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
    return await meth(self, **kw)
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/install.py", line 160, in install
    for_install_path = await self.configure_apt(context=context)
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquitycore/context.py", line 148, in decorated_async
    return await meth(self, **kw)
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/controllers/install.py", line 131, in configure_apt
    return await configurer.configure_for_install(context)
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/apt.py", line 225, in configure_for_install
    await run_curtin_command(
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/curtin.py", line 181, in run_curtin_command
    return await cmd.wait()
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/curtin.py", line 118, in wait
    result = await self.runner.wait(self.proc)
  File "/snap/subiquity/3698/lib/python3.8/site-packages/subiquity/server/runner.py", line 81, in wait
    raise subprocess.CalledProcessError(proc.returncode, proc.args)
subprocess.CalledProcessError: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.2204', '--property', 'PrivateMounts=yes', '--setenv', 'PATH=/snap/subiquity/3698/bin:/snap/subiquity/3698/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/3698/bin', '--setenv', 'PYTHONPATH=:/snap/subiquity/3698/lib/python3.8/site-packages', '--setenv', 'PYTHON=/snap/subiquity/3698/usr/bin/python3.8', '--setenv', 'SNAP=/snap/subiquity/3698', '--', '/snap/subiquity/3698/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.2204.2"}}', 'in-target', '-t', '/tmp/tmphza7l5jb/mount', '--', 'apt-get', 'update']' returned non-zero exit status 100.
2022-12-08 01:20:20,664 ERROR root:39 finish: subiquity/Install/install/configure_apt/cmd-in-target: FAIL: curtin command in-target

Revision history for this message
Joshua McClintock (jmcclintock1) wrote :

If the network is up outside the chroot, is it safe to assume the network should be available inside of a chroot? I switch to alt-f2 during the subiquity init and can do an 'ip a' and see the ip and ping 'yahoo.com' and do a 'wget https://google.com'. Is there anything I should run that would help you to know if this is an issue on my side?

/var/crash/1672818234.937400103.install_fail.crash contains the IP address that eno1 received when it made it's dhcp call. The routes are present in the file as well. It may be a network issue, but not because my local net isn't passing out addresses or isn't able to access the internet.

I'm going to attach the user-data (autoinstall) I'm using to repro this. We're running this on an Intel NUC which probes our nic using the e1000e module.

Revision history for this message
Joshua McClintock (jmcclintock1) wrote :

Autoinstall user-data file

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.