OpenAFS client does not wait for DHCP lease

Bug #249240 reported by Ansgar Burchardt
2
Affects Status Importance Assigned to Milestone
ifupdown (Ubuntu)
Invalid
Undecided
Unassigned
openafs (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: openafs-client

Hi,

I'm using the openafs-client package from Ubuntu Gutsy (openafs-client 1.4.4.dfsg1-7). Sometimes the DHCP server is quite slow to respond, but OpenAFS already tries to use the network and fails to contact the volume location server, making AFS unusable from this client. See the log below.

I think the OpenAFS client should only be started after the network connection is set up correctly, but it seems to be started too early.

Regards,
Ansgar

Log for a cold-start with the DHCP server only answering after a few seconds:
Jul 16 09:25:31 loonquawl dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Jul 16 09:25:36 loonquawl dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Jul 16 09:25:37 loonquawl kernel: [ 24.268000] openafs: module license 'http://www.openafs.org/dl/license10.html' taints kernel.
Jul 16 09:25:37 loonquawl kernel: [ 24.632000] Starting AFS cache scan...found 313 non-empty cache files (20%%).
Jul 16 09:25:41 loonquawl dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
Jul 16 09:25:46 loonquawl kernel: [ 33.228000] afs: Lost contact with volume location server 129.206.26.16 in cell mathi.uni-heidelberg.de
Jul 16 09:25:46 loonquawl kernel: [ 33.228000] afs: Lost contact with volume location server 129.206.26.16 in cell mathi.uni-heidelberg.de
Jul 16 09:25:49 loonquawl dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 15
Jul 16 09:25:55 loonquawl kernel: [ 42.300000] afs: Lost contact with volume location server 129.206.26.22 in cell mathi.uni-heidelberg.de
Jul 16 09:25:55 loonquawl kernel: [ 42.300000] afs: Lost contact with volume location server 129.206.26.22 in cell mathi.uni-heidelberg.de
Jul 16 09:26:04 loonquawl dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17
Jul 16 09:26:04 loonquawl dhclient: DHCPOFFER from 129.206.26.17
Jul 16 09:26:04 loonquawl dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Jul 16 09:26:04 loonquawl dhclient: DHCPACK from 129.206.26.17

Revision history for this message
Russ Allbery (rra-debian) wrote : Re: [Bug 249240] [NEW] OpenAFS client does not wait for DHCP lease

Ansgar Burchardt <ansgar@43-1.org> writes:

> I'm using the openafs-client package from Ubuntu Gutsy (openafs-client
> 1.4.4.dfsg1-7). Sometimes the DHCP server is quite slow to respond, but
> OpenAFS already tries to use the network and fails to contact the volume
> location server, making AFS unusable from this client. See the log
> below.
>
> I think the OpenAFS client should only be started after the network
> connection is set up correctly, but it seems to be started too early.

Be sure that you're using -dynroot -afsdb, and you shouldn't have this
problem. OpenAFS only attempts to locate the VLDBs on boot if -dynroot is
not given; otherwise, it waits until you attempt to access files.

--
Russ Allbery (<email address hidden>) <http://www.eyrie.org/~eagle/>

Revision history for this message
Ansgar Burchardt (aburch) wrote :

Using -dynroot was not enough it seems. After logging in over SSH (so network was already setup), my $HOME was still not accessible.

But I found the real problem: udev backgrounds bringing up the network interfaces [1]. Adding a rule to prevent this allows the rc-script to bring up the network and actually wait for the DHCP lease. After this the OpenAFS client works fine.

I'll add the ifupdown package to the list of affected packages as this might also affect other services.

Regards,
Ansgar

[1] in /etc/udev/rules.d/85-ifupdown.rules

Revision history for this message
Russ Allbery (rra-debian) wrote : Re: [Bug 249240] Re: OpenAFS client does not wait for DHCP lease

Ansgar Burchardt <ansgar@43-1.org> writes:

> Using -dynroot was not enough it seems. After logging in over SSH (so
> network was already setup), my $HOME was still not accessible.

More details? What did you try? What did you expect? What didn't work?
What error messages did you get?

--
Russ Allbery (<email address hidden>) <http://www.eyrie.org/~eagle/>

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.9 KiB)

This bug was fixed in the package openafs - 1.4.8.dfsg1-2

---------------
openafs (1.4.8.dfsg1-2) unstable; urgency=low

  * Make openafs-modules-source architecture-specific (arch: any instead
    of arch: all). The new method for generating the kernel source tree
    only generates correct build machinery for the architecture on which
    it was built, making the package architecture-specific. The generated
    tree is so much smaller that this still only uses about 1MB of archive
    space more than the old method and makes each openafs-modules-source
    package much smaller. This is a workaround until we can fix
    libafs_tree to include enough build machinery to handle all Linux
    architectures from one source tree. (Closes: #516023)
  * Explicitly remove *-stamp files in the clean target of the module
    build until the module build is upgraded to debhelper 7.

openafs (1.4.8.dfsg1-1) unstable; urgency=low

  * New upstream release. (Closes: #511535)
    - Support 2.6.28 kernels. (LP: #303112)
    - Check at compile time that the kernel has keyring support rather
      than building non-functional modules. (Closes: #500850)
    - Include vos clone man page. (LP: #324449)
  * Apply upstream CVS deltas:
    - STABLE14-libuafs-updates-20081229: prerequisite for other deltas.
    - STABLE14-linux-truncate-race-20090109: avoid race condition during
      truncation.
    - STABLE14-linux-i-size-20090112: further fix for truncation race.
    - STABLE14-linux-truncate-cleanup-20090113: further truncation fix.
    - STABLE14-osi-probe-check-result-cope-with-enoent-20090115: fix for
      syscall probing.
    - STABLE14-linux-2629-20090115: support for 2.6.29 kernels.
      (Closes: #513680)
    - STABLE14-rx-idledead-only-ignore-keepalives-20081222: rx bug fix to
      not ignore other ping packets.
    - STABLE14-rx-rdwr-writeproc-race-20081228: fix rx race condition that
      could result in reuse of freed memory.
    - STABLE14-rx-do-not-race-current-packet-20090105: fix rx race
      condition.
  * Use make libafs_tree to generate the tree for the kernel module
    compile rather than copying the entire source tree.
  * Compress the source in openafs-modules-source with bzip2 instead of
    gzip to reduce the package size.
  * Make dynroot the default for new installations. It works much better
    with systems that don't bring up their network until late in the boot
    process, such as wireless laptops. (LP: #249240, #318605)
  * Mention libpam-afs-session instead of libpam-openafs-session in the
    description of libpam-openafs-kaserver, and mention libpam-krb5 by
    name. Thanks, Philipp Kaluza. (Closes: #501308)
  * Suggest module-assistant auto-install in README.modules and be clearer
    that building one's own kernel is not required. Thanks, Anders
    Kaseorg and Lutz Goehring for suggestions. (LP: #295897)
  * Allow time-daemon to satisfy the openafs-fileserver recommends in
    addition to ntp, allowing for openntpd. (Closes: #508258)
  * General improvements to debconf configuration handling.
    - Do not abort the config script if we have no default realm and
      dnsdomainname fails. (LP: #274886, #318...

Read more...

Changed in openafs:
status: New → Fix Released
Steve Langasek (vorlon)
Changed in ifupdown (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.