Bug 1476191 - Export template to export domain failed with NPE
Summary: Export template to export domain failed with NPE
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: BLL.Storage
Version: 4.2.0
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ovirt-4.2.0
: 4.2.0
Assignee: Arik
QA Contact: Kevin Alon Goldblatt
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-07-28 08:47 UTC by Meni Yakove
Modified: 2017-12-20 11:31 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-20 11:31:22 UTC
oVirt Team: Virt
Embargoed:
rule-engine: ovirt-4.2+
ahadas: devel_ack+


Attachments (Terms of Use)
engine.log (392.22 KB, application/zip)
2017-07-28 08:47 UTC, Meni Yakove
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 79965 0 master MERGED core: prevent NPE when exporting networkless NIC 2017-07-31 07:34:27 UTC

Description Meni Yakove 2017-07-28 08:47:51 UTC
Created attachment 1305844 [details]
engine.log

Description of problem:
Export template to export domain failed with NPE

Version-Release number of selected component (if applicable):
ovirt-engine-4.2.0-0.0.master.20170727151851.gitd1d0d67.el7.centos.noarch



Steps to Reproduce:
1.Export template to export domain (import_export network automation test)


Additional info:
2017-07-28 11:36:42,935+03 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (org.ovirt.thread.EE-ManagedThreadFactory-default-Thread-15) [] EVENT_ID: IMPORTEXPORT_
EXPORT_TEMPLATE_FAILED(1,157), Failed to export Template IE_TEMPLATE_36 to export_domain
2017-07-28 11:36:42,937+03 ERROR [org.ovirt.engine.core.bll.tasks.CommandAsyncTask] (org.ovirt.thread.EE-ManagedThreadFactory-default-Thread-15) [] [within thread]: endAction for action type ExportVmTemplate threw an exception.: java.lang.NullPointerException
        at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeXMLContent(XMLStreamWriterImpl.java:1447) [rt.jar:1.8.0_131]
        at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeAttributeWithPrefix(XMLStreamWriterImpl.java:600) [rt.jar:1.8.0_131]
        at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeAttribute(XMLStreamWriterImpl.java:578) [rt.jar:1.8.0_131]
        at org.ovirt.engine.core.utils.ovf.xml.XmlTextWriter.writeAttributeString(XmlTextWriter.java:57) [utils.jar:]
        at org.ovirt.engine.core.utils.ovf.OvfWriter.lambda$buildNetwork$0(OvfWriter.java:141) [utils.jar:]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [rt.jar:1.8.0_131]
        at java.util.stream.DistinctOps$1$2.accept(DistinctOps.java:175) [rt.jar:1.8.0_131]
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) [rt.jar:1.8.0_131]
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) [rt.jar:1.8.0_131]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) [rt.jar:1.8.0_131]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) [rt.jar:1.8.0_131]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) [rt.jar:1.8.0_131]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) [rt.jar:1.8.0_131]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [rt.jar:1.8.0_131]
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) [rt.jar:1.8.0_131]
        at org.ovirt.engine.core.utils.ovf.OvfWriter.buildNetwork(OvfWriter.java:139) [utils.jar:]
        at org.ovirt.engine.core.utils.ovf.IOvfBuilder.build(IOvfBuilder.java:28) [utils.jar:]
        at org.ovirt.engine.core.utils.ovf.OvfManager.exportTemplate(OvfManager.java:67) [bll.jar:]
        at org.ovirt.engine.core.bll.storage.ovfstore.OvfUpdateProcessHelper.generateVmTemplateMetadata(OvfUpdateProcessHelper.java:79) [bll.jar:]
        at org.ovirt.engine.core.bll.storage.ovfstore.OvfUpdateProcessHelper.buildMetadataDictionaryForTemplate(OvfUpdateProcessHelper.java:88) [bll.jar:]
        at org.ovirt.engine.core.bll.exportimport.ExportVmTemplateCommand.incrementDbGeneration(ExportVmTemplateCommand.java:243) [bll.jar:]
        at org.ovirt.engine.core.bll.exportimport.MoveOrCopyTemplateCommand.endVmTemplateRelatedOps(MoveOrCopyTemplateCommand.java:126) [bll.jar:]
        at org.ovirt.engine.core.bll.exportimport.MoveOrCopyTemplateCommand.endMoveOrCopyCommand(MoveOrCopyTemplateCommand.java:118) [bll.jar:]
        at org.ovirt.engine.core.bll.exportimport.MoveOrCopyTemplateCommand.endSuccessfully(MoveOrCopyTemplateCommand.java:141) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.internalEndSuccessfully(CommandBase.java:749) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.endActionInTransactionScope(CommandBase.java:707) [bll.jar:]
        at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:2077) [bll.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInNewTransaction(TransactionSupport.java:202) [utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInRequired(TransactionSupport.java:137) [utils.jar:]
        at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:105) [utils.jar:]
        at org.ovirt.engine.core.bll.CommandBase.endAction(CommandBase.java:572) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.DecoratedCommand.endAction(DecoratedCommand.java:17) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CoCoAsyncTaskHelper.endAction(CoCoAsyncTaskHelper.java:337) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CommandCoordinatorImpl.endAction(CommandCoordinatorImpl.java:340) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CommandAsyncTask.endCommandAction(CommandAsyncTask.java:154) [bll.jar:]
        at org.ovirt.engine.core.bll.tasks.CommandAsyncTask.lambda$endActionIfNecessary$0(CommandAsyncTask.java:106) [bll.jar:]
        at org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil$InternalWrapperRunnable.run(ThreadPoolUtil.java:96) [utils.jar:]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_131]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_131]

Comment 1 Meni Yakove 2017-07-28 09:03:53 UTC
'/ovirt-engine/api/templates/92938cb8-5676-41f3-b937-cd570e374fe5/export'
<action>
    <async>false</async>
    <exclusive>false</exclusive>
    <grace_period>
        <expiry>10</expiry>
    </grace_period>
    <storage_domain>
        <name>export_domain</name>
    </storage_domain>
</action>

Comment 2 Allon Mureinik 2017-07-30 02:38:41 UTC
Arik, this NPE seems to come from code you introduced in your recent patch df304f76662171b0a7b8ed248593d5f9d322b8ef.

Moving to virt for initial analysis.

Comment 3 Arik 2017-07-30 08:07:59 UTC
Indeed, didn't consider networkless NICs.

Comment 4 Kevin Alon Goldblatt 2017-08-13 19:11:27 UTC
Verfied with the following code:
-------------------------------------------
ovirt-engine-4.2.0-0.0.master.20170723141021.git463826a.el7.centos.noarch
vdsm-4.20.2-60.git06231e5.el7.centos.x86_64

Verified with the following scenario:
-------------------------------------------
1. Export template to export domain - works fine!

Moving to VERIFIED!

Comment 5 Raz Tamir 2017-08-13 19:31:16 UTC
Kevin,
Please test it again with latest version

Comment 6 Kevin Alon Goldblatt 2017-08-17 12:48:43 UTC
Verfied with the following code:
-------------------------------------------
ovirt-engine-4.2.0-0.0.master.20170813134654.gitaee967b.el7.centos.noarch
vdsm-4.20.2-77.gite43f776.el7.centos.x86_64

Verified with the following scenario:
-------------------------------------------
1. Export template to export domain - works fine!

Moving to VERIFIED!

Comment 7 Sandro Bonazzola 2017-12-20 11:31:22 UTC
This bugzilla is included in oVirt 4.2.0 release, published on Dec 20th 2017.

Since the problem described in this bug report should be
resolved in oVirt 4.2.0 release, published on Dec 20th 2017, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.