Hello guys,

My colleague has done some testing of the latest snapshot based on nightly 
4.2.1 from https://dist.apache.org/repos/dist/dev/cloudstack/4.2.1/ and 
discovered several issues with using S3 as a secondary storage, which are very 
serious in my opinion. Here is our setup:

- Ubuntu 12.04.3 with latest updates and KVM Hypervisor
- Libvirt 1.1.1 / QEMU 1.5.0 from ubuntu-cloud ppa (Havana)
- CEPH RBD / RADOSGW up to Emperor 0.72.1 (RBD as Primary and RadosGW S3 as 
Secondary with NFS staging)


All issues are easily reproducible.

1) Any instance created from S3 Storage template or installed from ISO can not 
Live Migrate. No matter if the state of original ISO is attached or detached, 
when trying to Live Migrate, management server and the destination host agent 
produce the following errors (By the way, the OS type set to Ubuntu 12 64bit, 
but shows up as Apple Mac OS X):

2013-12-10 18:48:28,067 DEBUG [cloud.agent.Agent] (agentRequest-Handler-4:null) 
Request:Seq 26-349831812:  { Cmd , MgmtId: 90520737989049, via: 26, Ver: v1, 
Flags: 100111, 
[{"com.cloud.agent.api.PrepareForMigrationCommand":{"vm":{"id":56,"name":"i-2-56-VM","type":"User","cpus":2,"minSpeed":2800,"maxSpeed":2800,"minRam":2147483648,"maxRam":2147483648,"arch":"x86_64","os":"Apple
 Mac OS X 10.6 
(32-bit)","bootArgs":"","rebootOnCrash":false,"enableHA":true,"limitCpuUse":false,"enableDynamicallyScaleVm":false,"vncPassword":"5c7980f779d3ffa3","params":{},"uuid":"bd033b3d-f86a-4d6f-bb8c-06e61b7e1d62","disks":[{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"6c9c3134-bfcf-4b8f-8508-db7d8fea5404","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"4a1a6908-7c45-3232-a250-550650793b1c","id":9,"poolType":"RBD","host":"ceph.admin.lv","path":"cloudstack","port":6789}},"name":"ROOT-56","size":21474836480,"path":"754a16ec-662c-4303-97f9-3168f1affbfb","volumeId":78,"vmName":"i-2-56-VM","accountId":2,"format":"RAW","id":78,"hypervisorType":"KVM"}},"diskSeq":0,"type":"ROOT"},{"data":{"org.apache.cloudstack.storage.to.TemplateObjectTO":{"path":"template/tmpl/2/212/212-2-e6277a31-7fb6-3ca1-9486-c383c9027cdb/ub.iso","origUrl":"http://www.emigrant.lv/ub.iso","uuid":"75badc3e-ca5e-490c-8450-5f4397c43789","id":212,"format":"ISO","accountId":2,"hvm":true,"displayText":"Ubuntu
 Server 12.04.3 
64bit","imageDataStore":{"com.cloud.agent.api.to.S3TO":{"id":11,"uuid":"ee84fa05-3ad5-4822-89fd-0e1817421b19","endPoint":"s3.admin.lv","bucketName":"cs-secondary","httpsFlag":false,"created":"Dec
 10, 2013 3:40:55 
PM","enableRRS":false}},"name":"212-2-e6277a31-7fb6-3ca1-9486-c383c9027cdb","hypervisorType":"None"}},"diskSeq":3,"type":"ISO"}],"nics":[{"deviceId":0,"networkRateMbps":200,"defaultNic":true,"uuid":"58903a2b-ef3c-40e5-8b83-99b343ee7474","ip":"10.50.1.249","netmask":"255.255.255.0","gateway":"10.50.1.1","mac":"02:00:30:44:00:01","dns1":"91.224.1.10","dns2":"212.70.182.77","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://578","isolationUri":"vlan://578","isSecurityGroupEnabled":false,"name":"cloudbr0"},{"deviceId":1,"networkRateMbps":200,"defaultNic":false,"uuid":"c0df2b28-e97b-4eda-91e0-71a171ec5509","ip":"10.50.1.27","netmask":"255.255.255.0","gateway":"10.50.1.1","mac":"02:00:6a:3e:00:10","dns1":"91.224.1.10","dns2":"212.70.182.

2013-12-10 18:48:28,124 WARN  [cloud.agent.Agent] (agentRequest-Handler-4:null) 
Caught: 
java.lang.ClassCastException: com.cloud.agent.api.to.S3TO cannot be cast to 
com.cloud.agent.api.to.NfsTO
        at 
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.getVolumePath(LibvirtComputingResource.java:3628)
        at 
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:2985)
        at 
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1196)
        at com.cloud.agent.Agent.processRequest(Agent.java:525)
        at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:852)
        at com.cloud.utils.nio.Task.run(Task.java:83)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:701)

2) Spanshoting seems to be totally broken: 

- any ROOT volume for any instance is always marked as OVM Hypervisor (not KVM) 
which brakes the normal behaviour of the action buttons filter in 
scripts/storage.js in the GUI
- the "Volume details" Action Filter functions in scripts/storage.js lack some 
conditions for hypervysor and volume type / state combination
- due to those bugs the GUI doesn't provide Take Snapshot / Recurring Snapshot 
buttons for most of the volumes (had to create a DATA volume, attach it to VM 
and then detach for Snapshot buttons to appear).

3) Regardless the value of the snapshot.backup.rightafter setting snapshots 
created on RBD are always being copied to Secondary S3 / NFS storage.


Is it only me, but I think that the above issues, especially issue 1 and 2 
should be considered as blockers as they make the S3 secondary storage unusable 
for production purposes.

Many thanks

Andrei

Reply via email to