Bug 1061497

Summary: Kickstart prompting for network with local installation
Product: Red Hat Enterprise Linux 7 Reporter: Robert Locke <rlocke>
Component: anacondaAssignee: Radek Vykydal <rvykydal>
Status: CLOSED CURRENTRELEASE QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: dshea, jamundso, rlocke, rvykydal
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-03 12:12:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Robert Locke 2014-02-05 00:22:05 UTC
Description of problem:
network line(s) in kickstart insufficient apparently as we are still prompted for a network configuration

Version-Release number of selected component (if applicable):
Public Beta - RHEL-7.0-20131127.1-Server-x86_64-dvd1.iso


How reproducible:
Every time

Steps to Reproduce:
1. Kickstart includes a network line as follows (this line is generated in %pre and included above):
network  --bootproto=static --device=em1 --gateway=172.25.0.254 --ip=172.25.254.254 --nameserver=172.25.254.254 --netmask=255.255.0.0 --hostname=kvm0.ilt.example.com

2. anaconda command line points to:
ks=cdrom:cdrom:/ks/kvm.ks repo=hd:LABEL=RHTINST:/rhel7.0/x86_64/isos

Actual results:
anaconda pauses to prompt for network configuration of one NIC em1

Expected results:
anaconda should progress without the question

Additional info:
1) It does appear that if I add a kernel argument of:
ip=172.25.254.254::172.25.0.254:16:kvm0.ilt.example.com:em1:none
that anaconda no longer prompts for network configuration, but in my "real world" I don't know the name of the interface which is why my %pre is creating the include file with the above network line.

2) Notice that the install is with all local media according to the kernel command line above of ks= and repo=

Comment 1 David Shea 2014-02-05 09:09:48 UTC
Is this a graphical or a text install? Can you attach the log files from /tmp to this bug?

Comment 3 Robert Locke 2014-02-05 22:46:54 UTC
(In reply to David Shea from comment #1)
> Is this a graphical or a text install? Can you attach the log files from
> /tmp to this bug?

Yes, graphical. Reinstalling now to gather the contents of /tmp to upload. Do you want them as individual files or can I upload a tarball of the directory?

Comment 5 Radek Vykydal 2014-02-06 13:43:17 UTC
You need to add --activate option to kickstart network command so that the device is also activated in installer (vs only configured for target system).

Comment 7 Robert Locke 2014-02-10 03:56:21 UTC
I also tried another scenario with the same Kickstart and got the same kind of anaconda crash.
In this second scenario, I have a system that has PXE booted into the installer, the anaconda command line pointing to the repo and ks file on an http server. If I add --activate to the "static" setting on the network line, it aborts like above.
So, I guess the questions are 
1) why do I have to add --activate when the media is all local?
2) why does --activate with static settings abort when NIC is unplugged?
3) why does --activate with static settings abort when NIC was PXE booted? Can we not override DHCP settings with the network line and --activate?

Comment 8 Radek Vykydal 2014-02-10 15:20:50 UTC
(In reply to Robert Locke from comment #7)

> 1) why do I have to add --activate when the media is all local?

Currently anaconda requires a network device to be activated for installation. This can be done using boot options or with kickstart (if network command is created in %pre --activate option is required). If there is no active device user is prompted in GUI (NETWORK CONFIGURATION screen) to activate one.

So is your use-case to be able to perform non-interactive media installation without network?

> 2) why does --activate with static settings abort when NIC is unplugged?

It is bug #1062417.

> 3) why does --activate with static settings abort when NIC was PXE booted?
> Can we not override DHCP settings with the network line and --activate?

This should work, it may be actually caused by the issue mentioned in 2) especially if the crash is the same as in comment #6.

Comment 9 Radek Vykydal 2014-02-18 10:57:43 UTC
Moving to rhel 7.1, we need to consider if we need to require --activate so that the device is activated also for first ks network command - when it is defined in %pre (as opposed to normal case, where --activate is not required for the first network command for keeping legacy behaviour).

Comment 11 Robert Locke 2014-02-18 16:00:51 UTC
(In reply to Radek Vykydal from comment #8)
> (In reply to Robert Locke from comment #7)
> 
> > 1) why do I have to add --activate when the media is all local?
> 
> Currently anaconda requires a network device to be activated for
> installation. This can be done using boot options or with kickstart (if
> network command is created in %pre --activate option is required). If there
> is no active device user is prompted in GUI (NETWORK CONFIGURATION screen)
> to activate one.
> 
> So is your use-case to be able to perform non-interactive media installation
> without network?

Yes, that is my initial use case. So, seems unnecessary to "--activate" the NIC if we are not using it.

My second use case is to use the same kickstart over the network using PXE (hence #3 below).

> 
> > 2) why does --activate with static settings abort when NIC is unplugged?
> 
> It is bug #1062417.
> 
> > 3) why does --activate with static settings abort when NIC was PXE booted?
> > Can we not override DHCP settings with the network line and --activate?
> 
> This should work, it may be actually caused by the issue mentioned in 2)
> especially if the crash is the same as in comment #6.

I will do a little more investigation in to this third case. Have just downloaded Snap6 so hope to do a little testing later this week.

Comment 12 Jerry Amundson 2014-06-02 20:04:17 UTC
(In reply to Radek Vykydal from comment #8)
> (In reply to Robert Locke from comment #7)
> 
> > 1) why do I have to add --activate when the media is all local?
> 
> Currently anaconda requires a network device to be activated for
> installation. This can be done using boot options or with kickstart (if
> network command is created in %pre --activate option is required). If there
> is no active device user is prompted in GUI (NETWORK CONFIGURATION screen)
> to activate one.
> 
> So is your use-case to be able to perform non-interactive media installation
> without network?

Me too.
Any update on this? My case involves Fedora 20, but I'm seeing the same problem.
Should I clone this bug to Fedora 20 as well?

Comment 13 Radek Vykydal 2014-06-03 12:12:59 UTC
Both 'prompting for network' and '--activate' issues should be resolved in rhel7 rc3.

@Jerry: I'll port the patch to master branch so it should be fixed in F21 too.

Comment 14 Jerry Amundson 2014-06-03 14:28:07 UTC
(In reply to Radek Vykydal from comment #13)
> Both 'prompting for network' and '--activate' issues should be resolved in
> rhel7 rc3.
> 
> @Jerry: I'll port the patch to master branch so it should be fixed in F21
> too.

How about a backport to F20? If I need to build my own F20 version of 21.39, I'll try that. Either way, Thank You!

Comment 15 Radek Vykydal 2014-06-04 07:38:04 UTC
The patch will go in the next rawhde build 21.40.
https://git.fedorahosted.org/cgit/anaconda.git/commit/?id=d8c4d790940cfbb642468f426949b8906bc7e793

Comment 16 Jerry Amundson 2014-06-04 14:47:27 UTC
The same change is also needed in text mode (pyanaconda/ui/tui/spokes/network.py).