Bug 886647 - Anaconda throws exception trying to setup network if non-existing network --device is specified in kickstart
Anaconda throws exception trying to setup network if non-existing network --d...
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: anaconda (Show other bugs)
18
x86_64 Linux
unspecified Severity high
: ---
: ---
Assigned To: Radek Vykydal
Fedora Extras Quality Assurance
AcceptedNTH RejectedBlocker
:
Depends On:
Blocks: F18-accepted/F18FinalFreezeExcept
  Show dependency treegraph
 
Reported: 2012-12-12 13:45 EST by Stuart Blackburn
Modified: 2013-01-03 15:02 EST (History)
9 users (show)

See Also:
Fixed In Version: anaconda-18.37.6-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-01-02 16:48:34 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
anaconda.log (4.60 KB, text/plain)
2012-12-12 13:45 EST, Stuart Blackburn
no flags Details
install.log (73.98 KB, text/plain)
2012-12-12 13:47 EST, Stuart Blackburn
no flags Details
syslog from installation attempt on a VM with 2 NICs (68.44 KB, text/plain)
2012-12-13 09:43 EST, Stuart Blackburn
no flags Details
anaconda.log from boot with updates.macaddress.img (4.74 KB, text/plain)
2012-12-18 09:57 EST, Stuart Blackburn
no flags Details
ifcfg.log from boot with updates.macaddress.img (7.73 KB, text/plain)
2012-12-18 09:57 EST, Stuart Blackburn
no flags Details
syslog from boot with updates.macaddress.img (74.30 KB, text/plain)
2012-12-18 09:58 EST, Stuart Blackburn
no flags Details
kickstart file (2.50 KB, text/plain)
2012-12-18 10:29 EST, Stuart Blackburn
no flags Details

  None (edit)
Description Stuart Blackburn 2012-12-12 13:45:42 EST
Created attachment 662559 [details]
anaconda.log

Description of problem:
I am unable to install the latest FC18 through PXE on a vm or blade server which has multiple NICs interfaces. Initially I thought this was related to Bug 884660, but I still see the problem using anaconda-18.37.1. I initially get the following: 

anaconda 18.37 started.
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 91, in run
    threading.Thread.run(self, *args, **kwargs)

  File "/usr/lib64/python2.7/threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 1028, in networkInitialize

    createMissingDefaultIfcfgs()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 469, in createMissingDefaultIfcfgs
    setting['802-3-ethernet']['mac-address'])
KeyError: 'mac-address'
Starting automated install.....
Generating updated storage configuration

Later own, I get another traceback that I believe is related because the ifcfg files were not created due to the exception above:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 91, in run
    threading.Thread.run(self, *args, **kwargs)
  File "/usr/lib64/python2.7/threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/install.py", line 72, in doConfiguration
    ksdata.network.execute(storage, ksdata, instClass)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/kickstart.py", line 759, in execute
    network.write_network_config(storage, ksdata, instClass, ROOT_PATH)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 912, in write_network_config
    write_sysconfig_network(rootpath, ksdata, overwrite=flags.livecdInstall)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 823, in write_sysconfig_network
    dev.loadIfcfgFile()
  File "/usr/lib64/python2.7/site-packages/pyanaconda/network.py", line 305, in loadIfcfgFile
    IfcfgFile.read(self)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/simpleconfig.py", line 187, in read
    SimpleConfigFile.read(self, self.path)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/simpleconfig.py", line 77, in read
    with open(filename) as f:
IOError: [Errno 2] No such file or directory: '/etc/sysconfig/network-scripts/ifcfg-p3p2'


Version-Release number of selected component (if applicable):
anaconda-18.37-1.fc18.x86_64
lorax-18.23-1.fc18.x86_64

How reproducible:
Every time when installing via PXE to either VM or physical HW with multiple interfaces.

Steps to Reproduce:
1. Use lorax to build an install iso
2. Load into PXE (using cobbler)
3. Attempt to install on any server with multiple NICs.
  
Actual results:
Anaconda does not complete installation. It crashes doing network setup.

Expected results:
Expect anaconda to complete the installation with usable networking configured.

Additional info:
This iso works when installing on a VM with a single NIC. We do not have any hardware with single interface to test if it would also install on that.
Comment 1 Stuart Blackburn 2012-12-12 13:47:27 EST
Created attachment 662560 [details]
install.log
Comment 2 Stuart Blackburn 2012-12-12 13:48:52 EST
I was asked to provide the anaconda.log, install.log and ifcfg.log. I have attached two of these. The ifcfg.log was empty, and therefore not attached.
Comment 3 Adam Williamson 2012-12-12 18:14:04 EST
Throw this on the blocker list for discussion, though we'll need more detail on the exact problem here to evaluate it - anaconda team, if in looking at this you can identify the exact trigger conditions, that will help our evaluation. Thanks.
Comment 4 Radek Vykydal 2012-12-13 07:06:56 EST
(In reply to comment #2)
> I was asked to provide the anaconda.log, install.log and ifcfg.log. I have
> attached two of these. The ifcfg.log was empty, and therefore not attached.

Thank you for the logs, but I was asking for /tmp/syslog, not install.log. Unfortunately this is the most valuable for us to discover why p3p2 does not have mac-address setting.
Comment 5 Stuart Blackburn 2012-12-13 09:43:58 EST
Created attachment 663005 [details]
syslog from installation attempt on a VM with 2 NICs

Sorry, I missed this one initially. This is from a rerun of the install on the same VM. If you need anything else. Let me know.
Comment 6 Vratislav Podzimek 2012-12-14 04:11:55 EST
(In reply to comment #5)
> Created attachment 663005 [details]
> syslog from installation attempt on a VM with 2 NICs
> 
> Sorry, I missed this one initially. This is from a rerun of the install on
> the same VM. If you need anything else. Let me know.
Just a note -- please set the MIME type to text/plain next time. Bugzilla is unfortunately not smart enough to find out that you are attaching a text file if it doesn't have .txt extension.
Comment 7 Adam Williamson 2012-12-17 12:52:48 EST
Discussed at 2012-12-17 blocker review meeting: http://meetbot.fedoraproject.org/fedora-bugzappers/2012-12-17/f18final-blocker-review-5.2012-12-17-16.40.log.txt . Agreed we need more info to determine the status of this one. vpodzime, any idea what's causing this?
Comment 8 Stuart Blackburn 2012-12-17 17:36:08 EST
If it helps, I created a new ISO with lorax today with the latest versions of FC18 RPMs except for rolling back the following:

  anaconda-18.29.2-1.fc18.x86_64.rpm
  anaconda-dracut-18.29.2-1.fc18.noarch.rpm
  anaconda-widgets-18.29.2-1.fc18.x86_64.rpm
  anaconda-yum-plugins-1.0-8.fc18.noarch.rpm
  NetworkManager-0.9.7.0-8.git20121004.fc18.x86_64.rpm
  NetworkManager-glib-0.9.7.0-8.git20121004.fc18.x86_64.rpm

I was able to install successfully this new ISO on my VM and blade server with multiple NICs.

The ISO I am having problems with contains the following versions:

  anaconda-18.37-1.fc18.x86_64
  anaconda-dracut-18.37-1.fc18.x86_64
  anaconda-yum-plugins-1.0-8.fc18.noarch
  anaconda-widgets-18.37-1.fc18.x86_64
  NetworkManager-0.9.7.0-9.git20121004.fc18.x86_64
  NetworkManager-glib-0.9.7.0-9.git20121004.fc18.x86_64
Comment 9 Radek Vykydal 2012-12-18 06:17:31 EST
I have a patch that would fall back to behaviour of 18.29 for devices/connections with setting['802-3-ethernet']['mac-address'] not found (the yours). But I'd like to find out why the setting is missing for your device.

I prepared updates image with
- the fix mentioned above (so it should fix you issue)
- dump of configuration to log files (so I could investigate why the setting is missing)

could you please check this updates image (it is for F18 TC3)
http://rvykydal.fedorapeople.org/updates.macaddress.img

and attach
/tmp/ifcfg.log, /tmp/syslog, /tmp/anaconda.log
files?
Comment 10 Radek Vykydal 2012-12-18 06:18:04 EST
The updates image is used by adding

updates=http://rvykydal.fedorapeople.org/updates.macaddress.img

to boot options.
Comment 11 Stuart Blackburn 2012-12-18 09:57:09 EST
Created attachment 665548 [details]
anaconda.log from boot with updates.macaddress.img

I am uploading new ifcfg.log, syslog and anaconda.log files from boot with kernel parameter updates=http://rvykydal.fedorapeople.org/updates.macaddress.img. I used my failing ISO image containing anaconda 18.37.1 because I do not know where/how to obtain the F18 TC3 ISO. The img seemed to fix the problem when installing on the VM with 2 NICs.
Comment 12 Stuart Blackburn 2012-12-18 09:57:51 EST
Created attachment 665549 [details]
ifcfg.log from boot with updates.macaddress.img
Comment 13 Stuart Blackburn 2012-12-18 09:58:18 EST
Created attachment 665550 [details]
syslog from boot with updates.macaddress.img
Comment 14 Radek Vykydal 2012-12-18 10:22:13 EST
Thanks for the logs, could you please post also kickstart file you are using:

http://10.250.34.234/cblr/svc/op/ks/system/titenvm03

(I am intersted only in network commands from kickstart)
Comment 15 Stuart Blackburn 2012-12-18 10:29:00 EST
Created attachment 665556 [details]
kickstart file
Comment 16 Radek Vykydal 2012-12-18 10:49:53 EST
The root cause here is that dracut's module parse-kickstart is creating wrong ifcfg file for device eth0 (with missing HWADDR because such a device does not exist) based on this kickstart network command:

network --device eth0 --bootproto dhcp

whereas there are only devices p16p1 and p7p1 (eth1 and eth0 renamed by biosdevname in dracut)

So you should either use "--device p7p1" or better specify the device with mac addres "--device 08:00:27:6D:82:7B" in your kickstart file.

We might want to make parse-kickstart ignore non-existing devices instead of causing this mess with invalid ifcfg file. That would be more appropriate fix than the patch in updates image.

I don't see this as F18 blocker, but I think I can make proper patch soon.
Comment 17 Radek Vykydal 2012-12-18 11:26:09 EST
Patch sent for review.
Comment 18 Stuart Blackburn 2012-12-18 12:09:19 EST
That seems to fix it. We'll have to teach our PXE/cobbler server to insert the MAC address in the kickstart files. 

BTW, the eth0 reference in the kickstart file was a remanent from our last distro which was based on FC13. Sorry, we should have caught that ourselves. I guess it threw us off that the installation worked for the first couple of FC18 ISOs that we built.
Comment 19 Adam Williamson 2012-12-18 17:37:56 EST
Based on the description in c#16 I'd be -1 blocker +1 NTH.
Comment 20 Radek Vykydal 2012-12-19 08:11:47 EST
+1 NTH by me.

Pushed to master as commit 809943f673a874fd4332e40f0faa94301277d13b.
Comment 21 Adam Williamson 2012-12-19 13:27:11 EST
Discussed at 2012-12-19 blocker review meeting: http://meetbot.fedoraproject.org/fedora-bugzappers/2012-12-19/f18final-blocker-review-6.2012-12-19-17.02.log.txt . With the information from comment #16, we agree that this isn't really serious enough to merit blocker status, but is worth fixing, so it's rejected as a blocker, accepted as NTH.
Comment 22 Fedora Update System 2012-12-20 20:29:08 EST
anaconda-18.37.6-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/anaconda-18.37.6-1.fc18
Comment 23 Fedora Update System 2012-12-21 15:06:05 EST
Package anaconda-18.37.6-1.fc18, dracut-024-17.git20121220.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing anaconda-18.37.6-1.fc18 dracut-024-17.git20121220.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-20838/dracut-024-17.git20121220.fc18,anaconda-18.37.6-1.fc18
then log in and leave karma (feedback).
Comment 24 Fedora Update System 2012-12-22 16:10:07 EST
Package dracut-024-17.git20121220.fc18, anaconda-18.37.8-1.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dracut-024-17.git20121220.fc18 anaconda-18.37.8-1.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-20838/dracut-024-17.git20121220.fc18,anaconda-18.37.8-1.fc18
then log in and leave karma (feedback).
Comment 25 Fedora Update System 2013-01-02 16:48:37 EST
dracut-024-17.git20121220.fc18, anaconda-18.37.8-1.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 26 Stuart Blackburn 2013-01-03 15:02:35 EST
Successfully tested a new ISO built with anaconda-18.37.8-1. Thank you so much for the fix!

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