Probert currently crashes with the following:
2016-10-18 08:14:56,241 subiquitycore.core:159 Exception in controller.run():
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 376, in _run
self.event_loop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1015, in run
raise exc
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1002, in wrapper
return func(*args, **kw)
File "/usr/lib/python3/dist-packages/urwid/raw_display.py", line 393, in <lambda>
event_loop, callback, self.get_available_raw_input())
File "/usr/lib/python3/dist-packages/urwid/raw_display.py", line 493, in parse_input
callback(processed, processed_codes)
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 403, in _update
self.process_input(keys)
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 503, in process_input
k = self._topmost_widget.keypress(self.screen_size, k)
File "/usr/share/subiquity/subiquitycore/ui/frame.py", line 38, in keypress
return super().keypress(size, key)
File "/usr/lib/python3/dist-packages/urwid/container.py", line 1128, in keypress
return self.body.keypress( (maxcol, remaining), key )
File "/usr/share/subiquity/subiquitycore/view.py", line 32, in keypress
return super().keypress(size, key)
File "/usr/lib/python3/dist-packages/urwid/listbox.py", line 985, in keypress
key = focus_widget.keypress((maxcol,),key)
File "/usr/lib/python3/dist-packages/urwid/decoration.py", line 621, in keypress
return self._original_widget.keypress(maxvals, key)
File "/usr/lib/python3/dist-packages/urwid/container.py", line 1587, in keypress
key = self.focus.keypress(tsize, key)
File "/usr/lib/python3/dist-packages/urwid/wimp.py", line 535, in keypress
self._emit('click')
File "/usr/lib/python3/dist-packages/urwid/widget.py", line 463, in _emit
signals.emit_signal(self, name, self, *args)
File "/usr/lib/python3/dist-packages/urwid/signals.py", line 264, in emit
result |= self._call_callback(callback, user_arg, user_args, args)
File "/usr/lib/python3/dist-packages/urwid/signals.py", line 294, in _call_callback
return bool(callback(*args_to_pass))
File "/usr/share/subiquity/console_conf/ui/views/welcome.py", line 39, in confirm
self.signal.emit_signal('welcome:done')
File "/usr/share/subiquity/subiquitycore/signals.py", line 88, in emit_signal
urwid.emit_signal(self, name, *args, **kwargs)
File "/usr/lib/python3/dist-packages/urwid/signals.py", line 264, in emit
result |= self._call_callback(callback, user_arg, user_args, args)
File "/usr/lib/python3/dist-packages/urwid/signals.py", line 294, in _call_callback
return bool(callback(*args_to_pass))
File "/usr/share/subiquity/subiquitycore/controllers/welcome.py", line 43, in done
self.signal.emit_signal('next-screen')
File "/usr/share/subiquity/subiquitycore/signals.py", line 88, in emit_signal
urwid.emit_signal(self, name, *args, **kwargs)
File "/usr/lib/python3/dist-packages/urwid/signals.py", line 264, in emit
result |= self._call_callback(callback, user_arg, user_args, args)
File "/usr/lib/python3/dist-packages/urwid/signals.py", line 294, in _call_callback
return bool(callback(*args_to_pass))
File "/usr/share/subiquity/subiquitycore/core.py", line 93, in next_screen
next_controller.default()
File "/usr/share/subiquity/subiquitycore/controllers/network.py", line 206, in default
self.model.probe_network()
File "/usr/share/subiquity/subiquitycore/models/network.py", line 331, in probe_network
self.prober.probe()
File "/usr/share/subiquity/subiquitycore/prober.py", line 58, in probe
results = network.probe()
File "/usr/lib/python3/dist-packages/probert/network.py", line 593, in probe
sources[netifaces.AF_INET].append(self._get_ip_source(iface, ip[netifaces.AF_INET][i]))
File "/usr/lib/python3/dist-packages/probert/network.py", line 528, in _get_ip_source
dhcp = self._get_dhcp(ifname)
File "/usr/lib/python3/dist-packages/probert/network.py", line 496, in _get_dhcp
lease = self._get_dhcp_lease(ifname)
File "/usr/lib/python3/dist-packages/probert/network.py", line 482, in _get_dhcp_lease
for lease in self._get_dhcp_leases():
File "/usr/lib/python3/dist-packages/probert/network.py", line 450, in _get_dhcp_leases
nm_lease["interface"] = socket.if_indextoname(int(ifindex))
UnboundLocalError: local variable 'ifindex' referenced before assignment
This is with network-manager taking control over the whole network management rather than networkd.
Steps to reproduce:
1. Enter console-conf
2. Configure DHCP for ethernet and hit the done button
3. Once network is configured and you're on the sign-on page hit the "cancel" button which takes you back into the terminal where you have to hit enter to start console-conf again.
4. Hit enter and see console-conf crashing
PR is https:/ /github. com/CanonicalLt d/probert/ pull/30