Bug 886647 - Anaconda throws exception trying to setup network if non-existing network --device is specified in kickstart
Summary: Anaconda throws exception trying to setup network if non-existing network --d...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 18
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Radek Vykydal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedNTH RejectedBlocker
Depends On:
Blocks: F18-accepted, F18FinalFreezeExcept
TreeView+ depends on / blocked
 
Reported: 2012-12-12 18:45 UTC by Stuart Blackburn
Modified: 2013-01-03 20:02 UTC (History)
9 users (show)

Fixed In Version: anaconda-18.37.6-1
Clone Of:
Environment:
Last Closed: 2013-01-02 21:48:34 UTC
Type: Bug
Embargoed:


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

Description Stuart Blackburn 2012-12-12 18:45:42 UTC
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 18:47:27 UTC
Created attachment 662560 [details]
install.log

Comment 2 Stuart Blackburn 2012-12-12 18:48:52 UTC
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 23:14:04 UTC
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 12:06:56 UTC
(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 14:43:58 UTC
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 09:11:55 UTC
(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 17:52:48 UTC
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 22:36:08 UTC
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 11:17:31 UTC
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 11:18:04 UTC
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 14:57:09 UTC
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 14:57:51 UTC
Created attachment 665549 [details]
ifcfg.log from boot with updates.macaddress.img

Comment 13 Stuart Blackburn 2012-12-18 14:58:18 UTC
Created attachment 665550 [details]
syslog from boot with updates.macaddress.img

Comment 14 Radek Vykydal 2012-12-18 15:22:13 UTC
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 15:29:00 UTC
Created attachment 665556 [details]
kickstart file

Comment 16 Radek Vykydal 2012-12-18 15:49:53 UTC
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 16:26:09 UTC
Patch sent for review.

Comment 18 Stuart Blackburn 2012-12-18 17:09:19 UTC
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 22:37:56 UTC
Based on the description in c#16 I'd be -1 blocker +1 NTH.

Comment 20 Radek Vykydal 2012-12-19 13:11:47 UTC
+1 NTH by me.

Pushed to master as commit 809943f673a874fd4332e40f0faa94301277d13b.

Comment 21 Adam Williamson 2012-12-19 18:27:11 UTC
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-21 01:29:08 UTC
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 20:06:05 UTC
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 21:10:07 UTC
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 21:48:37 UTC
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 20:02:35 UTC
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.