On 12/18/2013 04:49 PM, Andrei Mikhailovsky wrote:
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","d
ns1":"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)
I can't tell you right now what the issue is.
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
That's weird, I haven't see that before. When I developed the features
for 4.2.0 it worked just fine.
- 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.
That's a known bug but not something for only 4.3
My test Ceph / CloudStack cluster is offline right now and it will be at
least 3 to 4 weeks before I have it up and running again, so I can't
test this right now to verify the problems.
Wido
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