Bug 1174090

Summary: extra space will be added to xml when update a network
Product: Red Hat Enterprise Linux 7 Reporter: CongDong <codong>
Component: libvirtAssignee: Ján Tomko <jtomko>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: codong, dyuan, honzhang, jdenemar, mzhan, ovasik, rbalakri, xuzhang
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-1.2.8-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 07:48:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description CongDong 2014-12-15 06:10:50 UTC
Description of problem:
After update a network, an extra space will be added to xml

Version-Release number of selected component (if applicable):
libvirt-1.1.1-29.el7_0.4.x86_64

How reproducible:
100%

Steps to Reproduce:
1. #cat test_network.xml
<network>
  <name>TestNetwork</name>
  <uuid>cd352758-369f-4d68-a0d9-e183bac0b92d</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='TestBr' stp='on' delay='0' />
  <mac address='52:54:00:b0:f3:4a'/>
  <ip address='192.168.111.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.111.2' end='192.168.111.254' />
    </dhcp>
  </ip>
</network>
2. # virsh net-define test_network.xml
3. # virsh net-start TestNetwork
4. # virsh net-update TestNetwork add-first ip-dhcp-host "<host mac='00:16:3e:77:e2:ed' name='foo.example.com' ip='192.168.122.10'/>"
5. # virsh net-dumpxml TestNetwork
<network>
  <name>TestNetwork</name>
  <uuid>cd352758-369f-4d68-a0d9-e183bac0b92d</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='TestBr' stp='on' delay='0' />
  <mac address='52:54:00:b0:f3:4a'/>
  <ip address='192.168.111.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.111.2' end='192.168.111.254' />
      <host mac='00:16:3e:77:e2:ed' name='foo.example.com' ip='192.168.122.10' />
    </dhcp>
  </ip>
</network>

Actual results:
After step 5, " <host mac='00:16:3e:77:e2:ed' name='foo.example.com' ip='192.168.122.10' />"
There is an extra space before "/>", this will cause our automation test FAIL.

Expected results:
There is no extra characters.

Additional info:
No extra character when test on 7u1.

This problem will affect our automation test result.
The extra space caused the result failed, it's hard to locate the error.
7.0.z should have the same behaviour with 7u1 for this operation.

Comment 2 Jiri Denemark 2014-12-15 12:37:42 UTC
This is already fixed in 7.1 by v1.1.1-240-gd8bd24a:

commit d8bd24a9ecce1eead3059621c4e3c5ad1c3a087f
Author: Ján Tomko <jtomko>
Date:   Tue Jul 30 14:36:08 2013 +0200

    Remove the space before the slash in network XML
    
    This matches the style we use elsewhere and allows
    nat-network-dns-srv-record{,-minimal}.xml to be tested in
    network XML -> XML test.

Comment 5 hongming 2015-01-04 06:24:24 UTC
Verify it as follows.The result is expected. Move its status to VERIFIED.

# rpm -q libvirt
libvirt-1.2.8-11.el7.x86_64

# virsh net-update TestNetwork add-first ip-dhcp-host "<host mac='00:16:3e:77:e2:ed' name='foo.example.com' ip='192.168.122.10'/>"
Updated network TestNetwork live state


# virsh net-dumpxml TestNetwork
<network>
  <name>TestNetwork</name>
  <uuid>cd352758-369f-4d68-a0d9-e183bac0b92d</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='TestBr' stp='on' delay='0'/>
  <mac address='52:54:00:b0:f3:4a'/>
  <ip address='192.168.111.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.111.2' end='192.168.111.254'/>
      <host mac='00:16:3e:77:e2:ed' name='foo.example.com' ip='192.168.122.10'/>
    </dhcp>
  </ip>
</network>

Comment 6 hongming 2015-01-04 06:28:27 UTC
Verify it using libvirt-1.2.8-1.el7.x86_64. The result is expected.

# rpm -q libvirt
libvirt-1.2.8-1.el7.x86_64

# virsh net-dumpxml TestNetwork
<network>
  <name>TestNetwork</name>
  <uuid>cd352758-369f-4d68-a0d9-e183bac0b92d</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='TestBr' stp='on' delay='0'/>
  <mac address='52:54:00:b0:f3:4a'/>
  <ip address='192.168.111.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.111.2' end='192.168.111.254'/>
      <host mac='00:16:3e:77:e2:ed' name='foo.example.com' ip='192.168.122.10'/>
    </dhcp>
  </ip>
</network>

Comment 8 errata-xmlrpc 2015-03-05 07:48:11 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/RHSA-2015-0323.html