Bug 824902

Summary: Allow bind to concrete IP (for multiple address with same mask on same iface)
Product: Red Hat Enterprise Linux 6 Reporter: Jan Friesse <jfriesse>
Component: corosyncAssignee: Jan Friesse <jfriesse>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.4CC: jkortus, sdake
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: corosync-1.4.1-8.el6 Doc Type: Bug Fix
Doc Text:
Cause User has two IPs on same network and try to use second one. Consequence Corosync binds to first IP. Fix Logic for binding now works in following way: - Try to find exact match - If not exact match is found, use first found network address Result Use can bind to exact IP (even it is second one).
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 07:50:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Backported patch from needle none

Description Jan Friesse 2012-05-24 14:41:43 UTC
Created attachment 586655 [details]
Backported patch from needle

Description of problem (test case):
It's impossible to bind to concrete IP if there is previous network which is same as first one.

Version-Release number of selected component (if applicable):
Corosync in RHEL 6.3 (same in flatiron git)

How reproducible:
100%

TEST CASE:

Steps to Reproduce:
1. multiple IPs with same net

ip addrs
...
    inet 10.34.38.161/24 brd 10.34.38.255 scope global eth0
    inet 10.34.38.215/24 scope global secondary eth0
...

2. set bindnetaddr to second IP (10.34.38.215)
3. corosync
  
Actual results:

In log 

...
The network interface [10.34.38.161] is now up.
...

And corosync is really bound to 161

Expected results:

...
The network interface [10.34.38.215] is now up.
...

And corosync should be really bound to 215

Comment 2 Jan Friesse 2012-05-24 14:45:22 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause
User has two IPs on same network and try to use second one.
 
Consequence
Corosync binds to first IP.

Fix

Logic for binding now works in following way:
- Try to find exact match
- If not exact match is found, use first found network address

Result
Use can bind to exact IP (even it is second one).

Comment 9 errata-xmlrpc 2013-02-21 07:50:22 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0497.html