Bug 1162498

Summary: yast lan needs quite some time to start
Product: [openSUSE] openSUSE Tumbleweed Reporter: Stefan Brüns <stefan.bruens>
Component: YaST2Assignee: E-mail List <yast2-maintainers>
Status: RESOLVED NORESPONSE QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: ancor, jreidinger, kanderssen, stefan.bruens
Version: CurrentFlags: ancor: needinfo? (stefan.bruens)
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Stefan Brüns 2020-02-03 12:44:03 UTC
In openQA tests recurrently fail as yast lan needs more than 30 seconds to start:

30 seconds until initial screen:
https://openqa.opensuse.org/tests/1162799#step/yast2_lan/12

~35 seconds to complete:
https://openqa.opensuse.org/tests/1163348#step/yast2_lan/16

Is this expected (i.e. the timeout should be extended to ~60 seconds) or is this considered a bug?
Comment 1 Ancor Gonzalez Sosa 2020-02-03 16:09:26 UTC
(In reply to Stefan Brüns from comment #0)
> In openQA tests recurrently fail as yast lan needs more than 30 seconds to
> start:
> 
> 30 seconds until initial screen:
> https://openqa.opensuse.org/tests/1162799#step/yast2_lan/12
> 
> ~35 seconds to complete:
> https://openqa.opensuse.org/tests/1163348#step/yast2_lan/16
> 
> Is this expected (i.e. the timeout should be extended to ~60 seconds) or is
> this considered a bug?

I would say is not expected. But it would be good if you can execute one test with an extended timeout to see what's going on.
Comment 2 Ancor Gonzalez Sosa 2020-02-03 16:10:32 UTC
In the logs, apart from the huge level of noise introduced by libyui when the Y2DEBUG variable is used, this is the latest significant message I can distinguish:

modules/NetHwDetection.rb:164 IFCONFIG2: $["exit":0, "stderr":"", "stdout":"1: lo: ...]
modules/NetHwDetection.rb:168 Detection start result: true

If I run locally the client, I see those lines and many more afterwards. Like this:

modules/NetHwDetection.rb:164 IFCONFIG2: $["exit":0, "stderr":"", "stdout":"1: lo: ...]
modules/NetHwDetection.rb:168 Detection start result: true
IniParser.cc:932 Unable to stat '/etc/install.inf': No such file or directory
IniParser.cc:932 Unable to stat '/etc/install.inf': No such file or directory
y2network/hwinfo.rb:53 Read (.string, "/sys/class_net/enp5s0/dev_port") failed: 2
y2network/hwinfo.rb:53 SCR::Read() failed
YaPI is deprecated, do not use it anymore! It will be removed soon.
OPEN_FAILED opening /etc/udev/rules.d/79-yast2-drivers.rules failed: No such file or directory
ModulesConf.cc:10 <3> canaria4(18135) [Interpreter] sysconfig/routes_file.rb:70 File not found /etc/sysconfig/network/ifroute-enp5s0
sysconfig/config_reader.rb:100 found routes []
[...] many more lines

So definitely those NetHwDetection lines shouldn't be the last ones and should not be taking that much time. Knut, any idea?
Comment 3 Knut Alejandro Anderssen González 2020-02-04 08:21:24 UTC
(In reply to Ancor Gonzalez Sosa from comment #2)
> In the logs, apart from the huge level of noise introduced by libyui when
> the Y2DEBUG variable is used, this is the latest significant message I can
> distinguish:
> 
> modules/NetHwDetection.rb:164 IFCONFIG2: $["exit":0, "stderr":"",
> "stdout":"1: lo: ...]
> modules/NetHwDetection.rb:168 Detection start result: true
> 
> If I run locally the client, I see those lines and many more afterwards.
> Like this:
> 
> modules/NetHwDetection.rb:164 IFCONFIG2: $["exit":0, "stderr":"",
> "stdout":"1: lo: ...]
> modules/NetHwDetection.rb:168 Detection start result: true
> IniParser.cc:932 Unable to stat '/etc/install.inf': No such file or directory
> IniParser.cc:932 Unable to stat '/etc/install.inf': No such file or directory
> y2network/hwinfo.rb:53 Read (.string, "/sys/class_net/enp5s0/dev_port")
> failed: 2
> y2network/hwinfo.rb:53 SCR::Read() failed
> YaPI is deprecated, do not use it anymore! It will be removed soon.
> OPEN_FAILED opening /etc/udev/rules.d/79-yast2-drivers.rules failed: No such
> file or directory
> ModulesConf.cc:10 <3> canaria4(18135) [Interpreter]
> sysconfig/routes_file.rb:70 File not found
> /etc/sysconfig/network/ifroute-enp5s0
> sysconfig/config_reader.rb:100 found routes []
> [...] many more lines
> 
> So definitely those NetHwDetection lines shouldn't be the last ones and
> should not be taking that much time. Knut, any idea?

Well, it depends on each configuration. The NetHwDetection is the very first step, and the log stop there which tooks 5 seconds to load the modules and read the hardware information.

We could check if some extra read is done now when reading the network configuration from the system 

https://github.com/yast/yast-network/blob/master/src/modules/Lan.rb#L341

We could increase it to 45 seconds by now and check in logs wh
Comment 4 Josef Reidinger 2020-02-25 13:03:54 UTC
I remember in past calling `hostname --fqdn` can took serious time for some network configurations. So with logs we can confirm it.
Comment 5 Michal Filka 2020-05-12 09:45:38 UTC
This is old report and not moving on. We also did some changes in related piece of code (loading modules in NetHwDetection module). So, I'm going to close it for now. Please, reopen if you have some new information.