apache / apache/cloudstack

Unable to download volume snapshot on VMWare

Đang mở
#13,375 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
component:secondary-storage component:vmware Severity:Major type:bug
Ngôn ngữ chính
Java
Star
3.1k
Fork
1.4k
Merge trung bình
6 ngày 19 giờ
Pull request đã merge (30 ngày)
32

Mô tả

### problem

Volume snapshot cannot be downloaded when using VMWare hypervisor.

### versions

Found in 4.22.1

### The steps to reproduce the bug

When you try to download a volume snapshot on a VMWare environment, you get the following error:

Image

And here is the exception in the management server log:
```
2026-06-08 14:50:39,066 ERROR [o.a.c.s.i.BaseImageStoreDriverImpl] (API-Job-Executor-36:[ctx-78500c19, job-44, ctx-8bc3173c]) (logid:14ad9b5b) Unable to create a link for entity at snapshots/2/3/1c076a50-e550-40df-ab68-76ef04c6c365/1c076a50-e550-40df-ab68-76ef04c6c365 on ssvm, Failed to download
2026-06-08 14:50:39,074 ERROR [c.c.a.ApiAsyncJobDispatcher] (API-Job-Executor-36:[ctx-78500c19, job-44]) (logid:14ad9b5b) Unexpected exception while executing org.apache.cloudstack.api.command.user.snapshot.ExtractSnapshotCmd com.cloud.utils.exception.CloudRuntimeException: Unable to create a link for entity at snapshots/2/3/1c076a50-e550-40df-ab68-76ef04c6c365/1c076a50-e550-40df-ab68-76ef04c6c365 on ssvm, Failed to download
at org.apache.cloudstack.storage.datastore.driver.CloudStackImageStoreDriverImpl.createEntityExtractUrl(CloudStackImageStoreDriverImpl.java:123)
at org.apache.cloudstack.storage.image.store.ImageStoreImpl.createEntityExtractUrl(ImageStoreImpl.java:213)
at com.cloud.storage.snapshot.SnapshotManagerImpl.extractSnapshot(SnapshotManagerImpl.java:604)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:109)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:52)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at jdk.proxy3/jdk.proxy3.$Proxy245.extractSnapshot(Unknown Source)
at org.apache.cloudstack.api.command.user.snapshot.ExtractSnapshotCmd.execute(ExtractSnapshotCmd.java:105)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:173)
at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:110)
at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:698)
at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:646)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
```

### What to do about it?

_No response_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với CloudStackImageStoreDriverImpl.java:123 và theo dõi chuỗi lời gọi qua ImageStoreImpl.java:213 và SnapshotManagerImpl.java:604, sử dụng các bước tái hiện và log VMware đã được báo cáo. So sánh đường dẫn trích xuất snapshot với hành vi dành riêng cho VMware. Được xem là hoàn tất khi có thể tải xuống thành công một snapshot volume trong môi trường VMware mà không gặp lỗi trích xuất đã được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
cloud
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.