Bug 1373540

Summary: client-install with IPv6 address fails on link-local address (always)
Product: Red Hat Enterprise Linux 7 Reporter: Martin Bašti <mbasti>
Component: ipaAssignee: Pavel Picka <ppicka>
Status: CLOSED ERRATA QA Contact: Kaleem <ksiddiqu>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: lmiksik, nsoman, ppicka, pvoborni, rcritten
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ipa-4.4.0-10.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 06:03:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
evidence none

Description Martin Bašti 2016-09-06 14:39:11 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/freeipa/ticket/6296

Steps to reproduce:
* ipa-client-install --ip-address 2001:db8::  # address that does not match any local interface

Traceback:
{{{
[root@vm-058-089 ~]# ipa-client-install --ip-address '2001:db8::'
WARNING: ntpd time&date synchronization service will not be configured as
conflicting service (chronyd) is enabled
Use --force-ntpd option to disable it and force configuration of ntpd

Traceback (most recent call last):
  File "/sbin/ipa-client-install", line 3142, in <module>
    sys.exit(main())
  File "/sbin/ipa-client-install", line 3123, in main
    rval = install(options, env, fstore, statestore)
  File "/sbin/ipa-client-install", line 2320, in install
    if not check_ip_addresses(options):
  File "/sbin/ipa-client-install", line 1807, in check_ip_addresses
    ipautil.CheckedIPAddress(ip, match_local=True)
  File "/usr/lib/python2.7/site-packages/ipapython/ipautil.py", line 177, in __init__
    netmask=ifdata['netmask']
  File "/usr/lib/python2.7/site-packages/netaddr/ip/__init__.py", line 933, in __init__
    raise AddrFormatError('invalid IPNetwork %s' % addr)
netaddr.core.AddrFormatError: invalid IPNetwork fe80::21a:4aff:fe23:1595%ens3/ffff:ffff:ffff:ffff::
}}}


It looks that netaddr.IPNetwork does not allow ''%suffix'' (interface, scope)

{{{
In [3]: ifnet = netaddr.IPNetwork('fe80::21a:4aff:fe23:1595%ens3/64')
---------------------------------------------------------------------------
AddrFormatError                           Traceback (most recent call last)
<ipython-input-3-363588007859> in <module>()
----> 1 ifnet = netaddr.IPNetwork('fe80::21a:4aff:fe23:1595%ens3/64')

/usr/lib/python2.7/site-packages/netaddr/ip/__init__.pyc in __init__(self, addr, implicit_prefix, version, flags)
    931 
    932                 if value is None:
--> 933                     raise AddrFormatError('invalid IPNetwork %s' % addr)
    934 
    935         self._value = value

In [4]: ifnet = netaddr.IPNetwork('fe80::21a:4aff:fe23:1595/64')
}}}

I'm not sure if this is our bug or netaddr.IPNetwork

Comment 4 Pavel Picka 2016-09-14 13:38:56 UTC
Created attachment 1200825 [details]
evidence

Verified

4.4.0-11

Comment 6 errata-xmlrpc 2016-11-04 06:03:00 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.

https://rhn.redhat.com/errata/RHBA-2016-2404.html