Re: pulse SIOCGIFADDR failed error on startup

"Matthew J. Probst" <[email protected]> Fri, 05 Oct 2007 15:08:23 -0600
Newsgroups gmane.linux.redhat.piranha
Message-ID <[email protected]>
Hi Sanjay,

Thanks for the ideas. I've verified that nothing else is bound to port
80:

[root@ca1-lb1 ~]# lsof|grep LISTEN

sshd 2607 root 3u IPv6
7001 TCP *:ssh (LISTEN)

sendmail 2631 root 4u IPv4
7106 TCP localhost.localdomain:smtp (LISTEN)

snmpd 3107 root 8u IPv4
9842 TCP localhost.localdomain:smux (LISTEN)

[root@ca1-lb1 ~]#

and the error list I sent in my earlier email were from using the "-v"
and "-n" (foreground) pulse options.

-matt

Sanjay Mahapatra wrote:

Hi Matt

I would consider running netstat to ensure that some other process is
not already bound to the port(80)

Also ( if you aren't doing so ) please consider using the "-v"
verbose/debug flag in the pulse startup script:

daemon pulse -v

and monitor /var/log/messages to see if the underlying cause of

>> SIOCGIFADDR failed: Cannot assign requested address

is disclosed therein.

Sanjay Mahapatra

"Matthew J. Probst" <[email protected]> wrote:

Hi,

When I start pulse (either the rc script or from command line) I get a

SIOCGIFADDR failed error.

When I run pulse from the command line:

/usr/sbin/pulse -c /etc/sysconfig/ha/lvs.cf -n -v

Here's the output: (I've replaced the actual public VIP that I'm using

with ):

pulse: SIOCGIFADDR failed: Cannot assign requested address

pulse: SIOCGIFADDR failed: Cannot assign requested address

pulse: SIOCGIFADDR failed: Cannot assign requested address

pulse: STARTING PULSE AS MASTER

pulse: DEBUG -- setting SEND_heartbeat timer

pulse: DEBUG -- setting SEND_heartbeat timer

pulse: DEBUG -- setting SEND_heartbeat timer

pulse: DEBUG -- setting NEED_heartbeat timer

pulse: partner dead: activating lvs

lvs: starting virtual service wwwlb.mydomain.com active: 80

nanny: starting LVS client monitor for :80

nanny: Send_program is NULL

nanny: Send_string len=38, text="GET http://www.mydomain.com/ HTTP/1.0

"

nanny: Expect_string len=15, text="HTTP/1.1 200 OK"

nanny: Service_type value=2

nanny: Opening TCP socket to remote service port 80...

nanny: Connecting socket to remote address...

nanny: DEBUG -- Posting CONNECT poll()

lvs: create_monitor for wwwlb.mydomain.com/ca1-web1 running as pid 4141

pulse: DEBUG -- setting SEND_heartbeat timer

pulse: DEBUG -- Executing '/sbin/ifconfig bond0.2:0 netmask

255.255.255.224 up'

nanny: Sending len=38, text="GET http://www.mydomain.com/ HTTP/1.0

"

nanny: DEBUG -- Posting READ poll()

pulse: DEBUG -- Executing '/usr/sbin/send_arp'

nanny: DEBUG -- READ poll() completed (1,1)

nanny: Posting READ I/O; expecting 15 character(s)...

nanny: DEBUG -- READ returned 15

nanny: READ expected len=15, text="HTTP/1.1 200 OK"

nanny: READ got len=15, text=HTTP/1.1 200 OK

nanny: avail: 1 active: 0: count: 3

nanny: making 10.3.1.3:80 available

pulse: gratuitous lvs arps finished

pulse: DEBUG -- setting SEND_heartbeat timer

nanny: Opening TCP socket to remote service port 80...

nanny: Connecting socket to remote address...

nanny: DEBUG -- Posting CONNECT poll()

nanny: Sending len=38, text="GET http://www.mydomain.com/ HTTP/1.0

"

nanny: DEBUG -- Posting READ poll()

nanny: DEBUG -- READ poll() completed (1,1)

nanny: Posting READ I/O; expecting 15 character(s)...

nanny: DEBUG -- READ returned 15

nanny: READ expected len=15, text="HTTP/1.1 200 OK"

nanny: READ got len=15, text=HTTP/1.1 200 OK

nanny: avail: 1 active: 1: count: 4

----

My kernel is: 2.6.18-8.1.14.el5

I'm running piranha.x86_64 version 0.8.4-7.el5

I've trimmed down the lvs conf file to a minimum and I've turned off

SELinux.

Here's the lvs.cf file I'm using (replaced the public VIP with
and

the primary public ip of the director with )

serial_no = 51

primary =

primary_private = 10.3.1.1

service = lvs

backup_active = 0

heartbeat = 0

heartbeat_port = 539

keepalive = 6

deadtime = 18

network = direct

debug_level = NONE

monitor_links = 0

virtual wwwlb.mydomain.com {

active = 1

address = bond0.2:0

vip_nmask = 255.255.255.224

port = 80

send = "GET http://www.mydomain.com/ HTTP/1.0\r\n\r\n"

expect = "HTTP/1.1 200 OK"

use_regex = 0

load_monitor = none

scheduler = wlc

protocol = tcp

timeout = 6

reentry = 15

quiesce_server = 0

server ca1-web1 {

address = 10.3.1.3

active = 1

weight = 1

}

}

---

Here are the relevant network interfaces:

bond0.2 Link encap:Ethernet HWaddr 00:30:48:34:2C:D8

inet addr: Bcast: Mask:255.255.255.224

inet6 addr: fe80::230:48ff:fe34:2cd8/64 Scope:Link

UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1

RX packets:5990 errors:0 dropped:0 overruns:0 frame:0

TX packets:4400 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:2363411 (2.2 MiB) TX bytes:471985 (460.9 KiB)

bond0.3 Link encap:Ethernet HWaddr 00:30:48:34:2C:D8

inet addr:10.3.1.1 Bcast:10.3.255.255 Mask:255.255.0.0

inet6 addr: fe80::230:48ff:fe34:2cd8/64 Scope:Link

UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1

RX packets:2707 errors:0 dropped:0 overruns:0 frame:0

TX packets:3333 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:369502 (360.8 KiB) TX bytes:264616 (258.4 KiB)

------

I can tell that this error is coming from the getInterfaceAddress()

function in pulse.c, and I'm wondering if this has to do with the fact

that I'm using a vlan interface on top of a bonded link (bond0.2:0 being

the network interface name)?

Any suggestions/help would be greatly appreciated.

-matt

_______________________________________________

Piranha-list mailing list

[email protected]

https://www.redhat.com/mailman/listinfo/piranha-list

----------

_______________________________________________
Piranha-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/piranha-list

_______________________________________________
Piranha-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/piranha-list