Bug 1191247
| Summary: | [RFE] make use of DAD in rgmanager IPv6 for duplicate check | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Cedric Buissart <cbuissar> | ||||
| Component: | resource-agents | Assignee: | Oyvind Albrigtsen <oalbrigt> | ||||
| Status: | CLOSED ERRATA | QA Contact: | cluster-qe <cluster-qe> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | 6.8 | CC: | agk, cluster-maint, jruemker, mnovacek, sauchter, tbowling, tlavigne | ||||
| Target Milestone: | rc | Keywords: | FutureFeature | ||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | resource-agents-3.9.5-26.el6 | Doc Type: | Enhancement | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 1276698 (view as bug list) | Environment: | |||||
| Last Closed: | 2016-05-10 19:13:27 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: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1172231, 1271835, 1276698, 1276699 | ||||||
| Attachments: |
|
||||||
|
Description
Cedric Buissart
2015-02-10 20:14:04 UTC
Hi David, This seems to work fine so far : https://github.com/cedricbu/resource-agents/blob/cedric_rgmanager_ipv6_dad/rgmanager/src/resources/ip.sh I removed the ping. Upon adding the address, the code waits until DAD is done. It will remove the IPv6 address if there is a duplicate found, otherwise it will go one with send_ua. Any chance we will include this ? or it is too much changes for too little gain ? Note : in the current state, there is still the possibility that the address already exists somewhere but does not answer to ping. In that case, the duplicate wont be detected and the resource will probably successfully start, but the address will not work. Cedric Created attachment 1083270 [details]
Working patch
Tested with working IPv6-address, and with IPv6-address that collided with an existing one, and it worked as expected. The working patch has been attached. After upgrade it doesnt Ping, so the Pinging line isnt shown there, and DAD is added to the "address collision" line Before: # rpm -q resource-agents resource-agents-3.9.5-24.el6.x86_64 # tail -f /var/log/cluster/rgmanager.log Oct 28 15:21:39 rgmanager Starting disabled service service:ip Oct 28 15:21:39 rgmanager [ip] Link for eth0: Detected Oct 28 15:21:39 rgmanager [ip] Adding IPv6 address XXXX:40:15:7::10/64 to eth0 Oct 28 15:21:39 rgmanager [ip] Pinging addr XXXX:40:15:7::10 from dev eth0 Oct 28 15:21:39 rgmanager [ip] IPv6 address collision XXXX:40:15:7::10 Oct 28 15:21:39 rgmanager start on ip "XXXX:40:15:7::10/64" returned 1 (generic error) Oct 28 15:21:39 rgmanager #68: Failed to start service:ip; return value: 1 Oct 28 15:21:39 rgmanager Stopping failed service service:ip After: # rpm -q resource-agents resource-agents-3.9.5-26.el6.x86_64 # tail -f /var/log/cluster/rgmanager.log Oct 28 15:24:13 rgmanager Starting disabled service service:ip Oct 28 15:24:13 rgmanager [ip] Link for eth0: Detected Oct 28 15:24:13 rgmanager [ip] Adding IPv6 address XXXX:40:15:7::10/64 to eth0 Oct 28 15:24:14 rgmanager [ip] IPv6 address collision XXXX:40:15:7::10 [DAD] Oct 28 15:24:14 rgmanager start on ip "XXXX:40:15:7::10/64" returned 1 (generic error) Oct 28 15:24:14 rgmanager #68: Failed to start service:ip; return value: 1 Oct 28 15:24:14 rgmanager Stopping failed service service:ip I have verified that duplicate ipv6 address is correctly recognized using DAD instead of ping in resource-agents-3.9.5-34.el6.x86_64 ---- # ping6 -c 2 2620:52:0:2246:1800:ff:fe00:93 PING 2620:52:0:2246:1800:ff:fe00:93(2620:52:0:2246:1800:ff:fe00:93) 56 data bytes 64 bytes from 2620:52:0:2246:1800:ff:fe00:93: icmp_seq=1 ttl=64 time=0.352 ms 64 bytes from 2620:52:0:2246:1800:ff:fe00:93: icmp_seq=2 ttl=64 time=0.522 ms --- 2620:52:0:2246:1800:ff:fe00:93 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1925ms rtt min/avg/max/mdev = 0.352/0.437/0.522/0.085 ms # ccs -h virt-146 --lsnodes virt-146.cluster-qe.lab.eng.brq.redhat.com: votes=1, nodeid=1 virt-147.cluster-qe.lab.eng.brq.redhat.com: votes=1, nodeid=2 # ccs -h virt-146 --addresource ip address=2620:52:0:2246:1800:ff:fe00:93/64 # ccs -h virt-146 --addservice group-ip # ccs -h virt-146 --addsubservice group-ip ip ref=2620:52:0:2246:1800:ff:fe00:93/64 # ccs -h virt-146 --lsservices service: name=group-ip, autostart=0 ip: ref=2620:52:0:2246:1800:ff:fe00:93/64 resources: ip: address=2620:52:0:2246:1800:ff:fe00:93/64 before patch: resource-agents-3.9.5-24.el6.x86_64 ================================================= virt-146# clusvcadm -e group-ip Local machine trying to enable service:group-ip...Failure virt-146# tail /var/log/cluster/rgmanager.log ... Mar 30 10:58:31 rgmanager Starting stopped service service:group-ip Mar 30 10:58:31 rgmanager [ip] Link for eth0: Detected Mar 30 10:58:32 rgmanager [ip] Adding IPv6 address 2620:52:0:2246:1800:ff:fe00:93/64 to eth0 Mar 30 10:58:32 rgmanager [ip] Pinging addr 2620:52:0:2246:1800:ff:fe00:93 from dev eth0 Mar 30 10:58:33 rgmanager [ip] IPv6 address collision 2620:52:0:2246:1800:ff:fe00:93 Mar 30 10:58:33 rgmanager start on ip "2620:52:0:2246:1800:ff:fe00:93/64" returned 1 (generic error) Mar 30 10:58:33 rgmanager #68: Failed to start service:group-ip; return value: 1 Mar 30 10:58:33 rgmanager Stopping service service:group-ip corrected version: 3.9.5-34.el6.x86_64 ====================================== virt-146# clusvcadm -e group-ip Local machine trying to enable service:group-ip...Failure virt-146# tail /var/log/cluster/rgmanager.log ... Mar 30 11:10:03 rgmanager Starting stopped service service:group-ip Mar 30 11:10:03 rgmanager [ip] Link for eth0: Detected Mar 30 11:10:03 rgmanager [ip] Adding IPv6 address 2620:52:0:2246:1800:ff:fe00:93/64 to eth0 Mar 30 11:10:04 rgmanager [ip] IPv6 address collision 2620:52:0:2246:1800:ff:fe00:93 [DAD] Mar 30 11:10:04 rgmanager start on ip "2620:52:0:2246:1800:ff:fe00:93/64" returned 1 (generic error) Mar 30 11:10:04 rgmanager #68: Failed to start service:group-ip; return value: 1 Mar 30 11:10:04 rgmanager Stopping service service:group-ip 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. https://rhn.redhat.com/errata/RHBA-2016-0735.html |