From fcef009425e60cc524f6151d89c797ee480d02e7 Mon Sep 17 00:00:00 2001 From: karmab Date: Fri, 17 Apr 2020 19:26:14 +0200 Subject: [PATCH] detect config_host when running from bridge --- kvirt/kvm/__init__.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/kvirt/kvm/__init__.py b/kvirt/kvm/__init__.py index 47fc420a5..2ddfe564a 100644 --- a/kvirt/kvm/__init__.py +++ b/kvirt/kvm/__init__.py @@ -444,6 +444,8 @@ def create(self, name, virttype=None, profile='kvirt', flavor=None, plan='kvirt' iftype = 'network' sourcexml = "" % netname elif netname in bridges or ovs: + if 'ip' in allnetworks[netname] and 'config_host' not in overrides: + overrides['config_host'] = allnetworks[netname]['ip'] iftype = 'bridge' sourcexml = "" % netname guestagent = True @@ -2547,8 +2549,10 @@ def list_networks(self): netmask = attributes.get('netmask') netmask = attributes.get('prefix') if netmask is None else netmask ipnet = '%s/%s' % (firstip, netmask) if netmask is not None else firstip - ip = IPNetwork(ipnet) - cidr = ip.cidr + ipnet = IPNetwork(ipnet) + cidr = ipnet.cidr + else: + ip = None dhcp = list(root.getiterator('dhcp')) if dhcp: dhcp = True @@ -2567,6 +2571,8 @@ def list_networks(self): else: mode = 'isolated' networks[networkname] = {'cidr': cidr, 'dhcp': dhcp, 'domain': domainname, 'type': 'routed', 'mode': mode} + if ip is not None: + networks[networkname]['ip'] = ip plan = 'N/A' for element in list(root.getiterator('{kvirt}info')): e = element.find('{kvirt}plan') @@ -2587,11 +2593,14 @@ def list_networks(self): attributes = ip[0].attrib ip = attributes.get('address') prefix = attributes.get('prefix') - ip = IPNetwork('%s/%s' % (ip, prefix)) - cidr = ip.cidr + ipnet = IPNetwork('%s/%s' % (ip, prefix)) + cidr = ipnet.cidr else: + ip = None cidr = 'N/A' networks[interfacename] = {'cidr': cidr, 'dhcp': 'N/A', 'type': 'bridged', 'mode': 'N/A'} + if ip is not None: + networks[interfacename]['ip'] = ip plan = 'N/A' for element in list(root.getiterator('{kvirt}info')): e = element.find('{kvirt}plan')