Bug 1013605

Summary: [Build 20161203] openQA test fails: Hostname Error Pop-Up During Installation
Product: [openSUSE] openSUSE Tumbleweed Reporter: Dominique Leuenberger <dimstar>
Component: YaST2Assignee: Michal Filka <mfilka>
Status: VERIFIED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P5 - None CC: anton.smorodskyi, dimstar, fcrozat, igonzalezsosa, jpupava, kanderssen, locilka, mfilka, mgriessmeier, mvidner, normand, okurz, snwint, zluo
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: http://openqa.opensuse.org/tests/314361/modules/installation/steps/15
Whiteboard: ibs:running:6770:low
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1013934    
Attachments: y2logs
empty hostname via DHCP roll-down list

Description Dominique Leuenberger 2016-12-05 08:38:36 UTC
## Observation

openQA test in scenario opensuse-Tumbleweed-DVD-x86_64-autoyast_gnome@64bit fails in
[installation](http://openqa.opensuse.org/tests/314361/modules/installation/steps/15)


## Reproducible

Fails since (at least) Build [20161203](http://openqa.opensuse.org/tests/314132)

This snapshot was the first to include yast2-network 3.2.15 (previous 3.2.11) which introduced the new handling of 'update hostname by dhcp'

## Expected result

Last good: [20161202](http://openqa.opensuse.org/tests/313869) (or more recent)


## Further details

Always latest result in this scenario: [latest](http://openqa.opensuse.org/tests/latest?test=autoyast_gnome&version=Tumbleweed&distri=opensuse&machine=64bit&arch=x86_64&flavor=DVD)
Comment 1 Dominique Leuenberger 2016-12-05 08:39:37 UTC
The autoyast profile used can be found at https://github.com/os-autoinst/os-autoinst-distri-opensuse/blob/master/data/autoyast_opensuse/opensuse_gnome.xml
Comment 3 Michel Normand 2016-12-05 10:45:56 UTC
If this bug is tracking the popup warning "More than one interface asks to control the hostname via DHCP..." then there is a similar error also for minimalx tests for ppc64/ppc64le network install as per:
https://openqa.opensuse.org/tests/314156#step/yast2_lan/12 <= ppc64le
https://openqa.opensuse.org/tests/314155#step/yast2_lan/12 <= ppc64
Comment 4 Arvin Schnell 2016-12-05 20:20:13 UTC
I assume Dominique refers to bug #984890 which according to the logs
was handled by mfilka.
Comment 5 Michal Filka 2016-12-05 22:04:05 UTC
(In reply to Dominique Leuenberger from comment #0)
> ## Observation
> 
> openQA test in scenario opensuse-Tumbleweed-DVD-x86_64-autoyast_gnome@64bit
> fails in
> [installation](http://openqa.opensuse.org/tests/314361/modules/installation/
> steps/15)
> 
> 
> ## Reproducible
> 
> Fails since (at least) Build
> [20161203](http://openqa.opensuse.org/tests/314132)
> 
> This snapshot was the first to include yast2-network 3.2.15 (previous
> 3.2.11) which introduced the new handling of 'update hostname by dhcp'
> 
> ## Expected result
> 
> Last good: [20161202](http://openqa.opensuse.org/tests/313869) (or more
> recent)
> 
> 
> ## Further details
> 
> Always latest result in this scenario:
> [latest](http://openqa.opensuse.org/tests/
> latest?test=autoyast_gnome&version=Tumbleweed&distri=opensuse&machine=64bit&a
> rch=x86_64&flavor=DVD)

I guess that all tests use the same configuration including the AY profile. If yes, then there is a kind of misconfiguration.

What's going on:
1) boot param ifcg=*=dhcp configures all interfaces (in this case one) for dhcp including DHCLIENT_SET_HOSTNAME=yes
2) AY profile contains <dhcp_hostname config:type="boolean">true</dhcp_hostname> which sets DHCLIENT_SET_HOSTNAME=yes in /etc/sysconfig/network/dhcp

yast issues the warning in such case bcs the (1) seems to be redundant or misconfigured ('no' would make more sense here in this case)

So, what should let the test pass:
- set dhcp_hostname from case (2) to false

What should be improved on yast side:
(1) the popup should be either disabled or timed out in case of (auto)installation. It is intended to be warning and should not block the installation
(2) the dhcp_hostname option should be turned from boolean to list and accept values similar to UI (yes, no, <device-name>

@Dominique:
Could you pls check if change dhcp_hostname to false in the AY profile let the test pass? Thanks
Comment 6 Martin Vidner 2016-12-06 11:40:23 UTC
> What's going on:
> 2) AY profile contains <dhcp_hostname config:type="boolean">true</dhcp_hostname>

No, at least the opensuse_gnome.xml profile from comment 1 does not contain that.
Comment 7 Arvin Schnell 2016-12-06 12:51:34 UTC
*** Bug 1013934 has been marked as a duplicate of this bug. ***
Comment 8 Oliver Kurz 2016-12-06 15:20:03 UTC
also visible in many SLE tests, e.g. https://openqa.suse.de/tests/656582
Comment 9 Michal Filka 2016-12-06 20:52:45 UTC
(In reply to Martin Vidner from comment #6)
> > What's going on:
> > 2) AY profile contains <dhcp_hostname config:type="boolean">true</dhcp_hostname>
> 
> No, at least the opensuse_gnome.xml profile from comment 1 does not contain
> that.

ok I've misinterpreted logs from referenced correct example which states:

 2016-12-03 13:38:13 <1> linux-1r4t(3557) [Ruby] modules/DNS.rb:492 dhcp_hostname=true, write_hostname=false

Problem is elsewhere.
Yast proposes a value for dhcp_hostname when not present in the profile. When a default is not found in product features (it's not in this case) than it sets that to true. (Note: original implementation of this proposal is in commit https://github.com/yast/yast-network/commit/4668fc7c)

So, if I'm right this time then setting

<dhcp_hostname config:type="boolean">false</dhcp_hostname>

in the AY profile explicitly should fix the issue.

@Dominique:
Could you verify that?
Comment 10 Oliver Kurz 2016-12-08 07:52:46 UTC
jpupava prepared a change of the autoyast profiles: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/2197

but I am not sure on this one. The mentioned profiles are minimal and only mention what's necessary. Why should it be necessary to specify explicit DHCP hostname settings? *If* this specific setting would be necessary in general then I would like to see the updated documentation of autoyast profiles before I am convinced.

As Jozef did such a great work to verify the proposed changes to the profiles work, see https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/2197#issue-194266528, I am clearing the needinfo on dimstar.
Comment 11 Michal Filka 2016-12-08 10:15:18 UTC
(In reply to Oliver Kurz from comment #10)
> jpupava prepared a change of the autoyast profiles:
> https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/2197
> 
> but I am not sure on this one. The mentioned profiles are minimal and only
> mention what's necessary. Why should it be necessary to specify explicit
> DHCP hostname settings? *If* this specific setting would be necessary in
> general then I would like to see the updated documentation of autoyast
> profiles before I am convinced.
> 
> As Jozef did such a great work to verify the proposed changes to the
> profiles work, see
> https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/2197#issue-
> 194266528, I am clearing the needinfo on dimstar.

I'm preparing an update for yast. The update should take care of installer not to create incorrect configuration.
Comment 12 Jozef Pupava 2016-12-09 12:24:09 UTC
This bug will always appear when using remote install source e.g. install=ftp://
and after pressing 'OK' the roll-down list is empty
Comment 13 Jozef Pupava 2016-12-09 12:25:00 UTC
Created attachment 705866 [details]
y2logs

installation with remote source install=ftp://
Comment 14 Jozef Pupava 2016-12-09 12:25:43 UTC
Created attachment 705867 [details]
empty hostname via DHCP roll-down list
Comment 15 Anton Smorodskyi 2016-12-14 09:23:27 UTC
another example of failure https://openqa.suse.de/tests/668088#
Comment 16 Zaoliang Luo 2016-12-14 13:25:40 UTC
same warning "More than one interface asks to control the hostname via DHCP..." raises in dialogue of "yast2 clone_system"
Comment 17 Martin Vidner 2016-12-14 13:35:11 UTC
This is being fixed in https://github.com/yast/yast-network/pull/476

(In reply to Jozef Pupava from comment #14)
> empty hostname via DHCP roll-down list

Thanks, this one is this fix:
https://github.com/yast/yast-network/pull/476#discussion-diff-91705664L433
Comment 18 Martin Vidner 2016-12-16 15:35:58 UTC
A fix for this was made in Linuxrc in the end: https://github.com/openSUSE/linuxrc/pull/131
Comment 21 Zaoliang Luo 2017-01-10 10:51:35 UTC
still have same problem as described in comment 16.

SLE-12-SP3-Server-DVD-ppc64le-Build0202 was used for my test.
Comment 22 Zaoliang Luo 2017-01-10 10:53:02 UTC
since this is still not fixed yet, re-open it now.
Comment 23 Martin Vidner 2017-01-10 15:36:34 UTC
Regarding SLE-12-SP2 (two!):

It does contain an update for yast2-network, which was the trigger for this bug:
---
Wed Nov 23 09:18:33 UTC 2016 - mfilka@suse.com
- bsc#984890
  - new implementation of setting hostname via DHCP. User is
    allowed to set hostname via particular interface or set a
    reasonable default value for all interfaces.
- 3.1.170.5
---

BUT this version is not in the installation image, so I think we do not need to update linuxrc for SP2.
Comment 28 Oliver Kurz 2017-02-03 10:11:25 UTC
https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/2394 adds a workaround for the openQA tests with a reference to this bug.

SR is still open.
Comment 31 Oliver Kurz 2017-04-18 11:25:29 UTC
https://build.suse.de/request/show/126906 is accepted now.
Comment 32 Oliver Kurz 2017-04-18 11:27:28 UTC
https://openqa.suse.de/tests/878812#step/clone/3