Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 570354 - sys-cluster/heartbeat-3.0.5-r2 - unable to release network interface
Summary: sys-cluster/heartbeat-3.0.5-r2 - unable to release network interface
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Deadline: 2020-10-09
Assignee: Gentoo Cluster Team
URL:
Whiteboard:
Keywords: PMASKED
Depends on:
Blocks:
 
Reported: 2015-12-31 09:47 UTC by Radoslav Stefanov
Modified: 2020-10-09 07:36 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Radoslav Stefanov 2015-12-31 09:47:19 UTC
Heartbeat is not able to release network device.

The problem is it tries to execute "ifconfig eth0:0:" [ notice the colon at the end of interface name ]

==================================================================
ResourceManager[3832]:  2015/12/21_17:40:02 info: Retrying failed stop operation [IPaddr::192.168.2.1/24/eth0]
ResourceManager[3832]:  2015/12/21_17:40:02 info: Running /etc/ha.d/resource.d/IPaddr 192.168.2.1/24/eth0 stop
IPaddr[4577]:   2015/12/21_17:40:02 INFO: ifconfig eth0:0: down
IPaddr[4577]:   2015/12/21_17:40:02 WARNING: IP Address 192.168.2.1 NOT released: rc=255
IPaddr[4551]:   2015/12/21_17:40:02 ERROR:  Generic error
ResourceManager[3832]:  2015/12/21_17:40:02 ERROR: Return code 1 from /etc/ha.d/resource.d/IPaddr
==================================================================

As consequence "/sbin/reboot" is executed ALWAYS to free the ip
address (function RecoverFromFailedStop).

To workaround this in /usr/lib/ocf/resource.d/heartbeat/IPaddr I added  ifname=`echo "$ifname" | sed s'%:$%%'` for find_interface_generic function [ copied the line from Solaris function ].

version - heartbeat-3.0.5-r2
Comment 1 Tomáš Mózes 2015-12-31 10:18:16 UTC
Did it work on previous versions?
Comment 2 Radoslav Stefanov 2015-12-31 10:26:59 UTC
There is only heartbeat-3.0.5-r2 in portage, so I can't say.
Comment 3 Jorge Ventura 2016-05-20 13:43:26 UTC
The problem is that the ifconfig from sys-apps/net-tools 1.60_p20141019041918-r1 shows the interface name with a colon at the end and that make the function find_interface_generic() assign an incorrect interface name.

This is not a patch to fix but just a workaround to force the correct stop of the heartbeat service in the specific IPaddr resource script. I don't know if that is a bug in the ifconfig.

--- /usr/lib64/ocf/resource.d/heartbeat/IPaddr.gentoo	2016-05-20 13:37:06.232340642 +0000
+++ /usr/lib64/ocf/resource.d/heartbeat/IPaddr	2016-05-19 23:43:12.427014569 +0000
@@ -377,8 +377,8 @@
 	
 	: "comparing $ipaddr to $addr (from ifconfig)"
 	case $addr in
-	    addr:$ipaddr)   echo ${ifname}; return $OCF_SUCCESS;;
-	    $ipaddr)	    echo ${ifname}; return $OCF_SUCCESS;;
+	    addr:$ipaddr)   echo ${ifname::-1}; return $OCF_SUCCESS;;
+	    $ipaddr)	    echo ${ifname::-1}; return $OCF_SUCCESS;;
 	esac
      done
      return $OCF_ERR_GENERIC 

Here is the result of ifconfig:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.81  netmask 255.255.0.0  broadcast 10.10.255.255
        inet6 fe80::3640:b5ff:fea1:3dc4  prefixlen 64  scopeid 0x20<link>
        ether 34:40:b5:a1:3d:c4  txqueuelen 1000  (Ethernet)
        RX packets 1404  bytes 151961 (148.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 975  bytes 147115 (143.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 76.164.52.99  netmask 255.255.255.248  broadcast 76.164.52.103
        inet6 fe80::3640:b5ff:fea1:3dc6  prefixlen 64  scopeid 0x20<link>
        ether 34:40:b5:a1:3d:c6  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 680 (680.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

And the same from Debian:

eth0      Link encap:Ethernet  HWaddr 20:89:84:59:5a:ee  
          inet addr:10.10.10.100  Bcast:10.10.255.255  Mask:255.255.0.0
          inet6 addr: fe80::2289:84ff:fe59:5aee/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8463 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5554 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4616860 (4.4 MiB)  TX bytes:816123 (796.9 KiB)
          Interrupt:16 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2472 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2472 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1343072 (1.2 MiB)  TX bytes:1343072 (1.2 MiB)

wlan0     Link encap:Ethernet  HWaddr f4:b7:e2:87:2e:11  
          inet addr:10.50.140.83  Bcast:10.50.140.255  Mask:255.255.255.0
          inet6 addr: fe80::f6b7:e2ff:fe87:2e11/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:55 errors:0 dropped:0 overruns:0 frame:0
          TX packets:144 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3839 (3.7 KiB)  TX bytes:21094 (20.5 KiB)
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2020-10-09 07:36:49 UTC
Package removed.