[ 
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)

Reply via email to