From 9887a4f40815505bc90c1fe4c89bcc5770f5dde1 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Jun 24 2020 12:43:28 +0000 Subject: PR#2290: vm: clone mac address via xml Merges #2290 https://pagure.io/koji/pull-request/2290 Fixes: #2289 https://pagure.io/koji/issue/2289 vm: new libvirt refuse to clone same mac addr in some cases --- diff --git a/vm/kojivmd b/vm/kojivmd index d3ca2c2..3366d0b 100755 --- a/vm/kojivmd +++ b/vm/kojivmd @@ -492,6 +492,10 @@ class VMExecTask(BaseTaskHandler): curr_mem_node = ctx.xpathEval('/domain/currentMemory')[0] if str(mem) != curr_mem_node.getContent(): curr_mem_node.setContent(str(mem)) + if opts.get('static_mac'): + mac = opts['static_mac'] + mac_node = ctx.xpathEval('/domain/devices/interface/mac')[0] + mac_node.setProp('address', mac) fixed_xml = str(doc) ctx.xpathFreeContext() doc.freeDoc() @@ -517,7 +521,9 @@ class VMExecTask(BaseTaskHandler): if opts.get('static_mac'): orig_mac = self.macAddr(orig_vm) - cmd += ["--mac", orig_mac] + #doesn't work anymore, needs to place mac address inside the xml + #cmd += ["--mac", orig_mac] + opts['static_mac'] = orig_mac proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)