Bug 292375 - /dev/.udev/tmp-rules--70-persistent-net.rules not unlinked
Summary: /dev/.udev/tmp-rules--70-persistent-net.rules not unlinked
Status: RESOLVED FIXED
: 303862 326001 (view as bug list)
Alias: None
Product: openSUSE 10.3
Classification: openSUSE
Component: Installation (show other bugs)
Version: Beta 3
Hardware: Other openSUSE 10.3
: P5 - None : Critical (vote)
Target Milestone: ---
Assignee: Katarina Machalkova
QA Contact: Jiri Srain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-17 13:50 UTC by Michal Zugec
Modified: 2007-09-18 15:37 UTC (History)
5 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---
coolo: SHIP_STOPPER+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michal Zugec 2007-07-17 13:50:08 UTC
At the begin of installation $subj file is still there
That's why /lib/udev/write_net_rules failed to create rules for persistent names at the end of 1.st stage
Filesystem is rw, I can remove it manually (there is also tmp-rules--70-persistent-cd.rules file)
Comment 1 Kay Sievers 2007-07-18 22:26:15 UTC
I expect, it doesn't fail, its just that the rules are created at the temporary location. That happens when /etc/ is not writable during network card initialization. These are persistent rules for the current hardware.

If the installer wants to use these rules, it should move the data to the real file in /etc, or remove all tmp files before continuing.
Comment 2 Michal Zugec 2007-07-24 19:06:22 UTC
>> That happens when /etc/ is not writable during network card
initialization.

Steffen, is there any read-only mount when kernel modules for eth cards are loaded?
Comment 3 Steffen Winterfeldt 2007-07-25 09:25:04 UTC
/etc is always writable, subdirectories might not.
Which are relevant for udev?
Comment 4 Michal Zugec 2007-07-26 09:14:44 UTC
for udev is relevant /etc/udev/rules, but this _IS_ writable

Kay, how to solve that?
Comment 5 Kay Sievers 2007-07-26 10:53:49 UTC
I can't reproduce this. In the "normal" system it works as expected. What do I need to do to run into it?
Comment 6 Michal Zugec 2007-07-26 11:20:31 UTC
Yes, it works on normal system.

But during installation (begin of installation is enought).
Try to find /etc/udev/rules.d/70-* : no such file
Force trigger: for a in /sys/class/net/*/uevent; do echo -n add > $a; done : still no such file

try "/lib/udev/write_net_rules.rules all_interfaces" : same result

Problem is that there is /dev/.udev/tmp-rules--70-persistent-net.rules lock file (when I comment "lock" in write_net_rules.rules it works fine)

What I only want is from YaST copy /etc/udev/rules.d/70-net_persistent_names.rules to installed system to be sure that indexes in ethX device names will not be changed after reboot
Comment 7 Kay Sievers 2007-07-27 12:42:38 UTC
Hmm, still no idea what's going wrong here.

Can't you just remove all previous (maybe inconsistent) state at that stage?
  rm -rf /dev/.udev/.lock-*
  rm /dev/.udev/tmp-rules*
  rm /etc/udev/rules.d/70-persistent-net.rules

And re-trigger all net events:
  udevtrigger --subsystem-match=net

Oh, and there is another bug in udev which may fail to create new rules. I'm checking-in a new package now.
Comment 8 Christian Zoz 2007-07-30 07:59:22 UTC
Michal, i assign that to you, because it's your turn now to test kay's proposal.
And bnc-team-screening is totally wrong.

Please perform these steps from last comment at the end of stage 1 and copy 70-per*net.rules only then to the installed system if there is no such file in installed system. sysconfig.rpm:post converts old 30-net*rules to the new file in case of update.
Comment 10 Michal Zugec 2007-08-06 15:55:29 UTC
ok, fixed (we will see ;-))
Comment 11 Christian Zoz 2007-08-31 09:56:48 UTC
*** Bug 293366 has been marked as a duplicate of this bug. ***
Comment 12 Michal Zugec 2007-09-04 16:53:15 UTC
*** Bug 307162 has been marked as a duplicate of this bug. ***
Comment 13 Christopher Stender 2007-09-17 14:47:56 UTC
Okay, we found out the source of this failure:

Udev writes /dev/.udev/tmp-* files because it could not check if /etc/ is writeable due to a missing ln in our initrd. The /dev/.udev/.lock-* dir could not be removed because rmdir is also missing.

Steffen, can you please add ln and rmdir to our initrd?

Michal, Katarina: can you please remove all workarounds which removed the files in comment #7. Furthermore YaST should not call write_net_rules anymore! All you have to do is to copy /etc/udev/rules.d/70-persistent-net.rules and 70-persistend-cd.rules into the installed system at the end of stage1 and only if these files are *not* there.
Comment 14 Steffen Winterfeldt 2007-09-17 14:52:45 UTC
added ln & rmdir
Comment 15 Christopher Stender 2007-09-17 14:54:26 UTC
Thanks Steffen. Now it's time to fix it in YaST.
Comment 17 Christian Zoz 2007-09-17 16:41:45 UTC
*** Bug 303862 has been marked as a duplicate of this bug. ***
Comment 20 Christian Zoz 2007-09-18 10:19:05 UTC
ok, go ahead.
Comment 21 Katarina Machalkova 2007-09-18 13:03:49 UTC
Ok, removed all the workarounds. 

But now, there must be *something* in inst-sys that creates udev rules (70-persistent-net.rules & friends) before YaST tries to copy them, since up to now they were created by above mentioned workarounds - removing related lockfiles and temporary rules, and calling udevtrigger afterwards.

Comment 22 Christopher Stender 2007-09-18 13:13:33 UTC
We fixed this already and now udev creates these rules and save them to /etc/udev/rules.d/
Comment 23 Katarina Machalkova 2007-09-18 13:14:20 UTC
Let's call this fixed until it's made a blocker again
Comment 24 Stephan Kulow 2007-09-18 13:23:42 UTC
*** Bug 326001 has been marked as a duplicate of this bug. ***
Comment 25 Lukas Ocilka 2007-09-18 14:43:10 UTC
Tested with Build 1022 + modified inst-sys

/etc/udev/rules.d/70-persistent-net.rules is copied

but

/etc/udev/rules.d/70-persistent-cd.rules

isn't :(((

checking why...
Comment 26 Lukas Ocilka 2007-09-18 15:37:56 UTC
Hmm, second time it went OK.
Both files were copied.