From ab2bf49eecede2fe0ce4f7685f751c64b20dd390 Mon Sep 17 00:00:00 2001 From: Harm Weites Date: Sat, 14 Dec 2013 12:50:01 +0000 Subject: fix: Fallback to check the interface state, specifically freebsd benefits of this. --- cloudinit/netinfo.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'cloudinit/netinfo.py') diff --git a/cloudinit/netinfo.py b/cloudinit/netinfo.py index f5949122..a9c3090e 100644 --- a/cloudinit/netinfo.py +++ b/cloudinit/netinfo.py @@ -21,6 +21,7 @@ # along with this program. If not, see . import cloudinit.util as util +import re from prettytable import PrettyTable @@ -34,13 +35,17 @@ def netdev_info(empty=""): continue if line[0] not in ("\t", " "): curdev = line.split()[0] - # TODO: up/down detection fails on FreeBSD devs[curdev] = {"up": False} for field in fields: devs[curdev][field] = "" toks = line.lower().strip().split() if toks[0] == "up": devs[curdev]['up'] = True + # If the output of ifconfig doesn't contain the required info in the + # obvious place, use a regex filter to be sure. + elif len(toks) > 1: + if re.search("flags=\d+