> Am 29.12.2016 um 11:31 schrieb YuYang <email address hidden>:
>
> my environment:
> libvirt-daemon-driver-qemu-2.0.0-10.el7_3.2.x86_64
> libvirt-daemon-kvm-2.0.0-10.el7_3.2.x86_64
> libvirt-client-2.0.0-10.el7_3.2.x86_64
> libvirt-daemon-driver-nodedev-2.0.0-10.el7_3.2.x86_64
> libvirt-daemon-driver-storage-2.0.0-10.el7_3.2.x86_64
> libvirt-python-2.0.0-2.el7.x86_64
> libvirt-daemon-2.0.0-10.el7_3.2.x86_64
> libvirt-daemon-driver-secret-2.0.0-10.el7_3.2.x86_64
> libvirt-daemon-driver-interface-2.0.0-10.el7_3.2.x86_64
> libvirt-daemon-driver-network-2.0.0-10.el7_3.2.x86_64
> libvirt-daemon-driver-nwfilter-2.0.0-10.el7_3.2.x86_64
>
> CentOS Linux release 7.3.1611 (Core)
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1649527
>
> Title:
> nova creates an invalid ethernet/bridge interface definition in virsh
> xml
>
> Status in OpenStack Compute (nova):
> Confirmed
>
> Bug description:
> Description
> ===========
>
> https://github.com/openstack/nova/blob/master/nova/virt/libvirt/designer.py#L61
> sets the script path of an ethernet interface to ""
>
> https://github.com/openstack/nova/blob/master/nova/virt/libvirt/config.py#L1228
> checks script for None. As it is not none but a string it adds an empty
> script path to the ethernet interface definition in the virsh xml
>
> Steps to reproduce
> ==================
>
> nova generated virsh:
>
> [root@overcloud-novacompute-0 heat-admin]# cat 2.xml |grep tap -A5 -B3
> <interface type='ethernet'>
> <mac address='02:b9:38:d2:ef:bf'/>
> <script path=''/>
> <target dev='tapb938d2ef-bf'/>
> <model type='virtio'/>
> <driver name='qemu'/>
> <alias name='net0'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
> </interface>
>
> XML validation:
>
> [root@overcloud-novacompute-0 heat-admin]# virt-xml-validate 2.xml
> Relax-NG validity error : Extra element devices in interleave
> 2.xml:59: element devices: Relax-NG validity error : Element domain failed to validate content
> 2.xml fails to validate
>
> removing the <script path=''/> element the xml validation succeeds:
>
> [root@overcloud-novacompute-0 heat-admin]# cat 1.xml |grep tap -A5 -B2
> <interface type='ethernet'>
> <mac address='02:b9:38:d2:ef:bf'/>
> <target dev='tapb938d2ef-bf'/>
> <model type='virtio'/>
> <driver name='qemu'/>
> <alias name='net0'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
> </interface>
> [root@overcloud-novacompute-0 heat-admin]# virt-xml-validate 1.xml
> 1.xml validates
>
> Point is that libvirt <2.0.0 is more tolerant. libvirt 2.0.0 throws a segfault:
>
> Dec 9 13:30:32 comp1 kernel: libvirtd[1048]: segfault at 8 ip 00007fc9ff09e1c3 sp 00007fc9edfef1d0 error 4 in libvirt.so.0.2000.0[7fc9fef4b000+352000]
> Dec 9 13:30:32 comp1 journal: End of file while reading data: Input/output error
> Dec 9 13:30:32 comp1 systemd: libvirtd.service: main process exited, code=killed, status=11/SEGV
> Dec 9 13:30:32 comp1 systemd: Unit libvirtd.service entered failed state.
> Dec 9 13:30:32 comp1 systemd: libvirtd.service failed.
> Dec 9 13:30:32 comp1 systemd: libvirtd.service holdoff time over, scheduling restart.
> Dec 9 13:30:32 comp1 systemd: Starting Virtualization daemon...
> Dec 9 13:30:32 comp1 systemd: Started Virtualization daemon.
>
> Expected result
> ===============
> VM can be started
> instead of checking for None, config.py should check for an empty string before
> adding script path
>
>
> Actual result
> =============
> VM doesn't start
>
> Environment
> ===========
> OSP10/Newton, libvirt 2.0.0
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/nova/+bug/1649527/+subscriptions
did you restart nova-compute?
> Am 29.12.2016 um 11:31 schrieb YuYang <email address hidden>: daemon- driver- qemu-2. 0.0-10. el7_3.2. x86_64 daemon- kvm-2.0. 0-10.el7_ 3.2.x86_ 64 client- 2.0.0-10. el7_3.2. x86_64 daemon- driver- nodedev- 2.0.0-10. el7_3.2. x86_64 daemon- driver- storage- 2.0.0-10. el7_3.2. x86_64 python- 2.0.0-2. el7.x86_ 64 daemon- 2.0.0-10. el7_3.2. x86_64 daemon- driver- secret- 2.0.0-10. el7_3.2. x86_64 daemon- driver- interface- 2.0.0-10. el7_3.2. x86_64 daemon- driver- network- 2.0.0-10. el7_3.2. x86_64 daemon- driver- nwfilter- 2.0.0-10. el7_3.2. x86_64 /bugs.launchpad .net/bugs/ 1649527 /github. com/openstack/ nova/blob/ master/ nova/virt/ libvirt/ designer. py#L61 /github. com/openstack/ nova/blob/ master/ nova/virt/ libvirt/ config. py#L1228 -novacompute- 0 heat-admin]# cat 2.xml |grep tap -A5 -B3 '02:b9: 38:d2:ef: bf'/> f-bf'/> -novacompute- 0 heat-admin]# virt-xml-validate 2.xml -novacompute- 0 heat-admin]# cat 1.xml |grep tap -A5 -B2 '02:b9: 38:d2:ef: bf'/> f-bf'/> -novacompute- 0 heat-admin]# virt-xml-validate 1.xml so.0.2000. 0[7fc9fef4b000+ 352000] /bugs.launchpad .net/nova/ +bug/1649527/ +subscriptions
>
> my environment:
> libvirt-
> libvirt-
> libvirt-
> libvirt-
> libvirt-
> libvirt-
> libvirt-
> libvirt-
> libvirt-
> libvirt-
> libvirt-
>
> CentOS Linux release 7.3.1611 (Core)
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https:/
>
> Title:
> nova creates an invalid ethernet/bridge interface definition in virsh
> xml
>
> Status in OpenStack Compute (nova):
> Confirmed
>
> Bug description:
> Description
> ===========
>
> https:/
> sets the script path of an ethernet interface to ""
>
> https:/
> checks script for None. As it is not none but a string it adds an empty
> script path to the ethernet interface definition in the virsh xml
>
> Steps to reproduce
> ==================
>
> nova generated virsh:
>
> [root@overcloud
> <interface type='ethernet'>
> <mac address=
> <script path=''/>
> <target dev='tapb938d2e
> <model type='virtio'/>
> <driver name='qemu'/>
> <alias name='net0'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
> </interface>
>
> XML validation:
>
> [root@overcloud
> Relax-NG validity error : Extra element devices in interleave
> 2.xml:59: element devices: Relax-NG validity error : Element domain failed to validate content
> 2.xml fails to validate
>
> removing the <script path=''/> element the xml validation succeeds:
>
> [root@overcloud
> <interface type='ethernet'>
> <mac address=
> <target dev='tapb938d2e
> <model type='virtio'/>
> <driver name='qemu'/>
> <alias name='net0'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
> </interface>
> [root@overcloud
> 1.xml validates
>
> Point is that libvirt <2.0.0 is more tolerant. libvirt 2.0.0 throws a segfault:
>
> Dec 9 13:30:32 comp1 kernel: libvirtd[1048]: segfault at 8 ip 00007fc9ff09e1c3 sp 00007fc9edfef1d0 error 4 in libvirt.
> Dec 9 13:30:32 comp1 journal: End of file while reading data: Input/output error
> Dec 9 13:30:32 comp1 systemd: libvirtd.service: main process exited, code=killed, status=11/SEGV
> Dec 9 13:30:32 comp1 systemd: Unit libvirtd.service entered failed state.
> Dec 9 13:30:32 comp1 systemd: libvirtd.service failed.
> Dec 9 13:30:32 comp1 systemd: libvirtd.service holdoff time over, scheduling restart.
> Dec 9 13:30:32 comp1 systemd: Starting Virtualization daemon...
> Dec 9 13:30:32 comp1 systemd: Started Virtualization daemon.
>
> Expected result
> ===============
> VM can be started
> instead of checking for None, config.py should check for an empty string before
> adding script path
>
>
> Actual result
> =============
> VM doesn't start
>
> Environment
> ===========
> OSP10/Newton, libvirt 2.0.0
>
> To manage notifications about this bug go to:
> https:/