Merge pull request #201 from CanonicalLtd/mwhudson/probert-address-objects

cope with probert API changes
This commit is contained in:
Michael Hudson-Doyle 2017-02-17 14:04:50 +13:00 committed by GitHub
commit 4f9655736f
2 changed files with 3 additions and 5 deletions

View File

@ -80,9 +80,7 @@ def write_login_details_standalone():
return 0 return 0
from probert import network from probert import network
from subiquitycore.models.network import NETDEV_IGNORED_IFACE_NAMES, NETDEV_IGNORED_IFACE_TYPES from subiquitycore.models.network import NETDEV_IGNORED_IFACE_NAMES, NETDEV_IGNORED_IFACE_TYPES
import ipaddress
import operator import operator
import socket
observer = network.UdevObserver() observer = network.UdevObserver()
observer.start() observer.start()
ips = [] ips = []
@ -91,8 +89,8 @@ def write_login_details_standalone():
continue continue
if l.name in NETDEV_IGNORED_IFACE_NAMES: if l.name in NETDEV_IGNORED_IFACE_NAMES:
continue continue
ips.extend([str(ipaddress.IPv4Interface(a).ip) for a in l.ip.get(socket.AF_INET, [])]) for _, addr in sorted(l.addresses.items()):
ips.extend([str(ipaddress.IPv6Interface(a).ip) for a in l.ip.get(socket.AF_INET6, [])]) ips.append(addr.ip)
key_file = os.path.join(owner['homedir'], ".ssh/authorized_keys") key_file = os.path.join(owner['homedir'], ".ssh/authorized_keys")
fingerprints = run_command(['ssh-keygen', '-lf', key_file])['output'].replace('\r', '').splitlines() fingerprints = run_command(['ssh-keygen', '-lf', key_file])['output'].replace('\r', '').splitlines()
write_login_details(sys.stdout, owner['realname'], owner['username'], ips, fingerprints) write_login_details(sys.stdout, owner['realname'], owner['username'], ips, fingerprints)

View File

@ -218,7 +218,7 @@ class Networkdev:
fam = AF_INET fam = AF_INET
elif version == 6: elif version == 6:
fam = AF_INET6 fam = AF_INET6
return [ipaddress.ip_interface(a).ip for a in self._net_info.ip.get(fam, [])] return [addr.ip for _, addr in sorted(self._net_info.addresses.items()) if addr.family == fam]
@property @property
def actual_ip_addresses(self): def actual_ip_addresses(self):