[Samba] ctdb issues

Lydia Heck lydia.heck at durham.ac.uk
Fri Oct 7 08:40:04 MDT 2011


Hi Christian,

thank you very much. That has helped.


It turns out that the
"readlink /sys/class/net/$IFACE/device/driver"

returns nothing on any of the interfaces. So the basename on that does not work.

As there are 3 tests on the interface and the one that has to succeed is the
ethtool command, I have commented
the linke

[ "$(basename $(readlink /sys/class/net/$IFACE/device/driver) 2>/dev/null)" = 
virtio_net ] ||

This is not elegant, but it works.

It turns out that there is not even a directory

/sys/class/net/eth0.4004/device, let alone a link 
/sys/class/net/eth0.4004/device/driver.

Hoever there is a

/sys/class/net/eth0.4004/subsystem/eth0/device

which is a link.

So something must have changed from Redhat 5.5 to 5.7 to make this script 
misbehave like this.

Lydia


On Fri, 7 Oct 2011, Christian M Ambach wrote:

> Hi Lydia,
> 
> Lydia wrote on 10/07/2011 01:21:14 PM:
> 
> > it turns out that ctdb does not require kexec-tools. So with and without
> > kexec-tool the errors are clocking ....
> >
> > >> 2011/10/04 12:35:37.933801 [ 1779]: basename: missing operand
> > >> 2011/10/04 12:35:37.933850 [ 1779]: Try `basename --help' for
> > >> more information.
> > >> 2011/10/04 12:35:48.332844 [ 1779]: basename: missing operand
> > >> 2011/10/04 12:35:48.332900 [ 1779]: Try `basename --help' for
> > >> more information.
> 
> The CTDB scripts only use basename in one script, 10.interface.
> 
> # grep basename /etc/ctdb/events.d/*
> /etc/ctdb/events.d/10.interface:                    [ "$(basename $(readlink /sys/class/net/$IFACE/device/driver) 2>/dev/null)" = virtio_net ] ||
> 
> Maybe you have specified an interface name in the public_addresses
> file that does not exist on the host and so the command above fails?
> 
> Maybe the version of CTDB you are running contains even more basename calls
> in the scripts. So please check them and see which of these is failing.
> 
> You can run eventscripts manually in the following way:
> CTDB_BASE=/etc/ctdb/ /etc/ctdb/events.d/10.interface monitor
> 
> Maybe this helps locating the script that triggers the messages.
> 
> Cheers,
> Christian
> 
> 
>


More information about the samba mailing list