[ https://issues.apache.org/jira/browse/CLOUDSTACK-5526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wido den Hollander resolved CLOUDSTACK-5526. -------------------------------------------- Resolution: Fixed This has been resolved. The problem was a incorrect XML generation, since it should always say none, writeback OR writethrough, it should never be empty. I'm writing a test for the DomainXMLParser anyway :) > LibvirtDomainXMLParser > ----------------------- > > Key: CLOUDSTACK-5526 > URL: https://issues.apache.org/jira/browse/CLOUDSTACK-5526 > Project: CloudStack > Issue Type: Bug > Security Level: Public(Anyone can view this level - this is the > default.) > Components: KVM > Affects Versions: 4.4.0 > Environment: CentOS 6.4 with KVM 0.1002 > Libvirt 0.5.1 > Reporter: howie yu > Assignee: Wido den Hollander > Priority: Trivial > > When using LibvirtDomainXMLParser parser xml from Domain. > The attribute diskCacheMode not always have value , and will be empty string > String diskCacheMode = getAttrValue("driver", "cache", disk); > when the code go to here valueOf > } else if (type.equalsIgnoreCase("block")) { > def.defBlockBasedDisk(diskDev, diskLabel, > DiskDef.diskBus.valueOf(bus.toUpperCase())); > > def.setCacheMode(DiskDef.diskCacheMode.valueOf(diskCacheMode)); > } > There will be cause IllegalArgumentException at > at java.lang.Enum.valueOf(Enum.java:196) > I suggest we may check if diskCacheMode is empty string , such as > if (diskCacheMode == null || diskCacheMode.isEmpty()) { > def.setCacheMode(DiskDef.diskCacheMode.NONE); > } else { > def.setCacheMode(DiskDef.diskCacheMode.valueOf(diskCacheMode)); > } -- This message was sent by Atlassian JIRA (v6.1.5#6160)