Bug 1374864 - initial-setup is not completable when there's no network link
Summary: initial-setup is not completable when there's no network link
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Martin Kolman
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedBlocker
: 1353840 (view as bug list)
Depends On:
Blocks: ARMTracker F25BetaBlocker F26AlphaBlocker
TreeView+ depends on / blocked
 
Reported: 2016-09-09 21:46 UTC by Dennis Gilmore
Modified: 2017-12-10 03:21 UTC (History)
13 users (show)

Fixed In Version: anaconda-25.20.4-1 anaconda-25.20.4-1.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-10-07 03:34:37 UTC


Attachments (Terms of Use)

Description Dennis Gilmore 2016-09-09 21:46:27 UTC
Description of problem:
On a Fedora ARM system that has no network devices initial-setup can not be completed as the network spoke is not complete, resulting in a unusable system.  you can reproduce by booting the system without a network cable plugged in. some ARM devices like the CHIP only have wireless and currently the chipset is not supported in the kernel so you have to take external measures to get working network.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Dennis Gilmore 2016-09-09 22:22:46 UTC
Nominating as a Blocker for Beta, it violates the Alpha criteria 

Expected installed system boot behavior

    A working mechanism to create a user account must be clearly presented during installation and/or first boot of the installed system.
    A system installed with a release-blocking desktop must boot to a log in screen where it is possible to log in to a working desktop using a user account created during installation or a 'first boot' utility.
    A system installed without a graphical package set must boot to a state where it is possible to log in through at least one of the default virtual consoles.

Comment 2 Adam Williamson 2016-09-12 17:27:11 UTC
are any affected systems on the list of supported devices we keep in the wiki? (and don't just add one right now :>)

Comment 3 Dennis Gilmore 2016-09-12 17:46:30 UTC
I hit it on a beaglebone black with the network cable plugged in. but boot any device without a network cable attached and you will hit the issue.

Comment 4 Dennis Gilmore 2016-09-12 17:48:41 UTC
beaglebone black booted with network cable attached

[  439.490251] ip_set: protocol 6
================================================================================
================================================================================
Initial setup of Fedora 25 (Server Edition)

 1) [x] Language settings                 2) [!] Timezone settings
        (English (United States))                (Timezone is not set.)
 3) [!] Network configuration             4) [!] Root password
        (No network devices available)           (Password is not set.)
 5) [!] User creation
        (No user will be created)
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 3
================================================================================
================================================================================
Network configuration



Host Name: None

Current host name: localhost.localdomain

Host name is not valid: Host name cannot be None or an empty string.

 1)  Set host name
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 


there is no option to setup networking as it claims there is no network devices.  In the case the system thinks there is no network devices initial-setup has to be able to be completed. currently without working network it refuses to complete.

Comment 5 Peter Robinson 2016-09-12 19:19:25 UTC
I reported the network issue last cycle here:
https://bugzilla.redhat.com/show_bug.cgi?id=1353840

Comment 6 Geoffrey Marr 2016-09-13 01:48:37 UTC
Discussed during the 2016-09-12 blocker review meeting: [1]

The decision to classify this bug as an AcceptedBlocker was made as it violates the following criteria:

"A working mechanism to create a user account must be clearly presented during installation and/or first boot of the installed system" - this in regards to an ARM system with no network connection, which is severe enough to constitute a blocker.

[1] https://meetbot.fedoraproject.org/fedora-blocker-review/2016-09-12/f25-blocker-review.2016-09-12-16.01.txt

Comment 7 Peter Robinson 2016-09-14 13:45:39 UTC
So on today's minimal image (Fedora-Minimal-armhfp-25-20160914.n.0-sda.raw.xz) initial-install just crashes if there's no network. We're going backwards.

/usr/lib/python3.5/site-packages/pyanaconda/installclass.py:26: PendingDeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
[   70.114797] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   70.680978] Ebtables v2.0 registered
[   71.580708] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[   74.440338] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[   74.793280] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   74.852576] net eth0: initializing cpsw version 1.12 (0)
[   74.859833] libphy: PHY 4a101000.mdio:00 not found
[   74.864878] net eth0: phy "4a101000.mdio:00" not found on slave 0, err -19
[   75.024867] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   75.810044] Netfilter messages via NETLINK v0.30.
[   75.981876] ip_set: protocol 6
Traceback (most recent call last):
  File "/usr/libexec/initial-setup/initial-setup-text", line 8, in <module>
    is_instance.run()
  File "/usr/lib/python3.5/site-packages/initial_setup/__init__.py", line 304, in run
    ui.setup(self.data)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/__init__.py", line 177, in setup
    should_schedule = obj.setup(self.ENVIRONMENT)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/hubs/__init__.py", line 65, in setup
    spoke.initialize()
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/spokes/time_spoke.py", line 84, in initialize
    self._ntp_servers[server] = constants.NTP_SERVER_QUERY
TypeError: unhashable type: 'list'

Comment 8 Peter Robinson 2016-09-14 13:53:01 UTC
Actually it's even crashing when there is one in a slightly different way:

/usr/lib/python3.5/site-packages/pyanaconda/installclass.py:26: PendingDeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
[   49.100064] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   49.629908] Ebtables v2.0 registered
[   50.970477] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[   53.540785] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[   53.890747] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   53.941239] net eth0: initializing cpsw version 1.12 (0)
[   54.110614] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=-1)
[   54.187709] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   54.722849] Netfilter messages via NETLINK v0.30.
[   54.919972] ip_set: protocol 6
[   57.197177] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[   57.229932] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Traceback (most recent call last):
  File "/usr/libexec/initial-setup/initial-setup-text", line 8, in <module>
    is_instance.run()
  File "/usr/lib/python3.5/site-packages/initial_setup/__init__.py", line 304, in run
    ui.setup(self.data)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/__init__.py", line 177, in setup
    should_schedule = obj.setup(self.ENVIRONMENT)
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/hubs/__init__.py", line 65, in setup
    spoke.initialize()
  File "/usr/lib/python3.5/site-packages/pyanaconda/ui/tui/spokes/time_spoke.py", line 84, in initialize
    self._ntp_servers[server] = constants.NTP_SERVER_QUERY
TypeError: unhashable type: 'list'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/bytesize/bytesize.py", line 100, in __del__
AttributeError: 'NoneType' object has no attribute 'bs_size_free'

Comment 9 Peter Robinson 2016-09-14 13:56:32 UTC
(In reply to Dennis Gilmore from comment #3)
> I hit it on a beaglebone black with the network cable plugged in. but boot
> any device without a network cable attached and you will hit the issue.

I wonder if the network issue is due to the bug in NetworkManager/dhclient that was fixed with NetworkManager-1.4.0-3.fc25:

* Thu Sep 08 2016 Thoams Haller <thaller@redhat.com> - 1:1.4.0-3 - dhcp: fix race to miss DHCP lease event (rh#1372854)

Comment 10 Martin Kolman 2016-09-14 14:06:30 UTC
I think the traceback mentioned in comment 7 and comment 8 is bug 1374810.

Comment 11 Peter Robinson 2016-09-14 14:28:42 UTC
(In reply to Martin Kolman from comment #10)
> I think the traceback mentioned in comment 7 and comment 8 is bug 1374810.

Looks about right. I'll add those details to there, and update this bug to reflect the details here.

Comment 12 Peter Robinson 2016-09-14 14:31:02 UTC
*** Bug 1353840 has been marked as a duplicate of this bug. ***

Comment 13 Peter Robinson 2016-09-14 14:33:03 UTC
I believe the issue when the network was up is likely the NetworkManager bug referenced earlier (not 100% as can't verify due to crash outlined in rhbz 1374810).

Details I filed in the dupe:

There's a lot of cases where you might have the device configured with networking as you wish (IE dhcp) but you don't have it connected when initial-setup runs.

Some examples include:
* network not currently available
* want to connect late via some other method than ethernet
* doesn't need networking OOTB
* security process (a lot of companies require an initial config and firewall securing before allowing an initial network connection)

In this case the network configuration is as expected and shouldn't block on networking not being up because the device will function as intended with local user login available over the serial console etc.

================================================================================
================================================================================
Initial setup of Fedora 24 (Twenty Four)

 1) [x] Language settings                 2) [x] Timezone settings
        (English (United States))                (Etc/UTC timezone)
 3) [!] Network configuration             4) [x] Root password
        (Not connected)                          (Password is set.)
 5) [x] User creation
        (Administrator peter will be cr
        eated)
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c
Please complete all spokes before continuing
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c
Please complete all spokes before continuing
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 3
================================================================================
================================================================================
Network configuration

Wired (eth0) disconnected

Host Name: bonegreen.home.roving-it.com

 1)  Set host name 
 2)  Configure device eth0
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 2
================================================================================
================================================================================
Device configuration

 1) IPv4 address or "dhcp" for DHCP
    dhcp
 2) IPv4 netmask   
 3) IPv4 gateway   
 4) IPv6 address or "auto" for automatic, "dhcp" for DHCP, "ignore" to turn off
    auto
 5) IPv6 default gateway
 6) Nameservers (comma separated)
 7) [x] Connect automatically after reboot
 8) [ ] Apply configuration in installer
Configuring device eth0.

  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: 8
================================================================================
================================================================================
Device configuration

 1) IPv4 address or "dhcp" for DHCP
    dhcp
 2) IPv4 netmask   
 3) IPv4 gateway   
 4) IPv6 address or "auto" for automatic, "dhcp" for DHCP, "ignore" to turn off
    auto
 5) IPv6 default gateway
 6) Nameservers (comma separated)
 7) [x] Connect automatically after reboot
 8) [x] Apply configuration in installer
Configuring device eth0.

  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c
================================================================================
================================================================================
Network configuration

Wired (eth0) disconnected

Host Name: bonegreen.home.roving-it.com

Can't apply configuration, device activation failed.

 1)  Set host name 
 2)  Configure device eth0
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c
================================================================================
================================================================================
Initial setup of Fedora 24 (Twenty Four)

 1) [x] Language settings                 2) [x] Timezone settings
        (English (United States))                (Etc/UTC timezone)
 3) [!] Network configuration             4) [x] Root password
        (Not connected)                          (Password is set.)
 5) [x] User creation
        (Administrator peter will be cr
        eated)
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c
Please complete all spokes before continuing
  Please make your choice from above ['q' to quit | 'c' to continue |
  'r' to refresh]: c
================================================================================
================================================================================

Comment 14 Geoffrey Marr 2016-09-26 16:43:13 UTC
Hey Peter and Dennis,

We looked over this bug during the 2016-09-26 Blocker-Review-Meeting and wondered if you could retest this with the new Anaconda and initial-setup to give us an idea of where we stand with this bug? It would be much appreciated.

Thanks,
Geoff M. - QA
IRC: coremodule

Comment 15 Peter Robinson 2016-09-26 17:04:44 UTC
> We looked over this bug during the 2016-09-26 Blocker-Review-Meeting and
> wondered if you could retest this with the new Anaconda and initial-setup to
> give us an idea of where we stand with this bug? It would be much
> appreciated.

I don't think this particular bug is fixed yet. The latest initial-setup now doesn't crash in an image, it won't be in the latest compose until tomorrow. I'm traveling this week but anyone can test this.

Comment 16 Martin Kolman 2016-09-27 15:16:26 UTC
Switching component to Anaconda as that's where the fix will most likely go.

Comment 17 Martin Kolman 2016-09-27 15:21:43 UTC
While I have not been able to fully reproduce this issue on my end I've identified a possible cause - the network spoke thinking it is running during a network installation (probably due to the input kickstart indicating then) and switching to mandatory mode. 

A possible fix is here:
https://github.com/rhinstaller/anaconda/pull/813

It would be good if someone with the affected hardware can check it if fixes the issue. Thanks in advance! :)

Comment 18 Dennis Gilmore 2016-09-27 23:30:07 UTC
reproducing should be simple, unplug all wired networks and disable wireless if it it exists. a simple vm with a disconnected nic should reproduce.

currently with the Fedora-Minimal-armhfp-25-20160927.n.0-sda.raw.xz image initial-setup fails to run entirely.

Failed to create stream fd: Connection refused
/usr/lib/python3.5/site-packages/pyanaconda/installclass.py:26: PendingDeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp

I think is the full output

Comment 19 Adam Williamson 2016-10-01 19:22:28 UTC
i-s is running with network in current nightlies; do you want to re-test with a current nightly and see how it is in this case?

Comment 20 Dennis Gilmore 2016-10-03 17:35:49 UTC
I tested the proposed fix on todays nightly minimal arm image and it worked fine.

Comment 21 Martin Kolman 2016-10-03 17:44:32 UTC
(In reply to Dennis Gilmore from comment #20)
> I tested the proposed fix on todays nightly minimal arm image and it worked
> fine.

Nice & thanks! :)

As the fix should be part of the next Anaconda build for F25 I'm switching this bug to modified and setting the fixed-in-version field accordingly.

Comment 22 Fedora Update System 2016-10-05 20:29:13 UTC
anaconda-25.20.4-1.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-067d26633e

Comment 23 Adam Williamson 2016-10-06 17:09:41 UTC
dgilmore: could you verify the fix with Beta-1.1? Thanks!

Comment 24 Paul Whalen 2016-10-06 17:21:03 UTC
Verified, fixed in Beta-1.1.

Comment 25 Fedora Update System 2016-10-07 03:34:37 UTC
anaconda-25.20.4-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 26 Dennis Gilmore 2017-06-06 20:23:59 UTC
clearing needinfo

Comment 27 Simon Feltman 2017-12-10 03:21:18 UTC
It looks like this may have regressed. I hit the exact issue with Fedora-Workstation-armhfp-27-1.6-sda.raw.xz  on a Raspberry Pi 3. I was able to get through Initial Setup by plugging in a network cable and rebooting. Should this be re-opened or a new ticket created?


Note You need to log in before you can comment on or make changes to this bug.