howie yu created CLOUDSTACK-5526:
------------------------------------
Summary: 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
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.4#6159)