sureshanaparti opened a new issue, #11927: URL: https://github.com/apache/cloudstack/issues/11927
### problem The volume snapshot fails with error "Unable to find a snapshot strategy to create snapshot..." when the associated instance has file-based storage VM snapshots. It is better to report with proper message to the user. There is a warn message in the log: `2025-10-29 06:58:39,043 WARN [o.a.c.s.s.DefaultSnapshotStrategy] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) VM [25f7de00-8218-462f-9e9e-8345e0d17246] already has KVM File-Based storage VM snapshots. These VM snapshots and volume snapshots are not supported together for KVM. As restoring volume snapshots will erase the VM snapshots and cause data loss.` <img width="1211" height="504" alt="Image" src="https://github.com/user-attachments/assets/fe820951-d256-46d2-a908-547f20ad110d" /> ``` 2025-10-29 06:58:39,005 DEBUG [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52]) (logid:3258313d) Run VM work job: com.cloud.vm.VmWorkTakeVolumeSnapshot for VM 3, job origin: 51 2025-10-29 06:58:39,009 DEBUG [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Execute VM work job: com.cloud.vm.VmWorkTakeVolumeSnapshot{"volumeId":3,"policyId":0,"snapshotId":6,"quiesceVm":false,"asyncBackup":false,"poolIds":[],"userId":2,"accountId":2,"vmId":3,"handlerName":"VolumeApiServiceImpl"} 2025-10-29 06:58:39,022 DEBUG [o.a.c.e.o.VolumeOrchestrator] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Found [0] snapshots [[]] that have checkpoints for volume with id [3]. 2025-10-29 06:58:39,032 DEBUG [o.a.c.s.h.HeuristicRuleHelper] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) No heuristic rules found for zone [Zone {"id": "1", "name": "ref-trl-9825-k-Mol8-suresh-anaparti", "uuid": "55b9a950-738c-4075-9111-05c106cac653"}] and heuristic type [SNAPSHOT]. Returning null. 2025-10-29 06:58:39,036 DEBUG [c.c.s.StatsCollector] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Verifying image storage [ImageStore {"id":1,"name":"NFS:\/\/10.0.32.4\/acs\/secondary\/ref-trl-9825-k-Mol8-suresh-anaparti\/ref-trl-9825-k-Mol8-suresh-anaparti-sec1","uuid":"059074e7-8356-4daa-ac34-7d1730a1d38c"}]. Capacity: total=[2.6357 TB], used=[2.0269 TB], threshold=[95.00%]. 2025-10-29 06:58:39,036 DEBUG [c.c.s.StatsCollector] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Verifying image storage [ImageStore {"id":1,"name":"NFS:\/\/10.0.32.4\/acs\/secondary\/ref-trl-9825-k-Mol8-suresh-anaparti\/ref-trl-9825-k-Mol8-suresh-anaparti-sec1","uuid":"059074e7-8356-4daa-ac34-7d1730a1d38c"}]. Capacity: total=[2.6357 TB], used=[2.0269 TB], threshold=[95.00%]. 2025-10-29 06:58:39,043 WARN [o.a.c.s.s.DefaultSnapshotStrategy] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) VM [25f7de00-8218-462f-9e9e-8345e0d17246] already has KVM File-Based storage VM snapshots. These VM snapshots and volume snapshots are not supported together for KVM. As restoring volume snapshots will erase the VM snapshots and cause data loss. 2025-10-29 06:58:39,049 DEBUG [o.a.c.s.s.StorPoolSnapshotStrategy] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) StorpoolSnapshotStrategy.canHandle: snapshot Snapshot {"id":6,"name":"ROOT-3-Snap01-1","state":"Allocated","uuid":"281e14b7-22d3-4411-9b6e-714935830c23","version":"2.2","volumeId":3}, dataStoreId 2, imageStore id 1, checkpointPath null., op=TAKE 2025-10-29 06:58:39,052 DEBUG [c.c.a.ApiServlet] (qtp253011924-19:[ctx-8cfd09f6]) (logid:9025cd05) ===START=== 10.0.3.251 -- GET jobId=3258313d-5113-437c-9ea8-a0bdd884f67d&command=queryAsyncJobResult&response=json& 2025-10-29 06:58:39,053 DEBUG [c.c.a.ApiServlet] (qtp253011924-19:[ctx-8cfd09f6]) (logid:9025cd05) Two factor authentication is already verified for the user 2, so skipping 2025-10-29 06:58:39,065 DEBUG [c.c.a.ApiServer] (qtp253011924-19:[ctx-8cfd09f6, ctx-5dcc2afb]) (logid:9025cd05) CIDRs from which account 'Account [{"accountName":"admin","id":2,"uuid":"cf044d59-af15-11f0-bf49-1e007e00038d"}]' is allowed to perform API calls: 0.0.0.0/0,::/0 2025-10-29 06:58:39,067 INFO [o.a.c.a.DynamicRoleBasedAPIAccessChecker] (qtp253011924-19:[ctx-8cfd09f6, ctx-5dcc2afb]) (logid:9025cd05) Account for user id cf04f8b3-af15-11f0-bf49-1e007e00038d is Root Admin or Domain Admin, all APIs are allowed. 2025-10-29 06:58:39,067 DEBUG [o.a.c.a.StaticRoleBasedAPIAccessChecker] (qtp253011924-19:[ctx-8cfd09f6, ctx-5dcc2afb]) (logid:9025cd05) RoleService is enabled. We will use it instead of StaticRoleBasedAPIAccessChecker. 2025-10-29 06:58:39,067 DEBUG [o.a.c.r.ApiRateLimitServiceImpl] (qtp253011924-19:[ctx-8cfd09f6, ctx-5dcc2afb]) (logid:9025cd05) API rate limiting is disabled. We will not use ApiRateLimitService. 2025-10-29 06:58:39,075 DEBUG [c.c.s.s.SnapshotManagerImpl] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) No strategy found for creation of snapshot [Snapshot {"id":6,"name":"ROOT-3-Snap01-1","state":"Allocated","uuid":"281e14b7-22d3-4411-9b6e-714935830c23","version":"2.2","volumeId":3}, dataStoreId 2, imageStore id 1, checkpointPath null.], removing its record from the database. 2025-10-29 06:58:39,075 DEBUG [c.c.s.s.SnapshotManagerImpl] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Failed to create snapshotUnable to find a snapshot strategy to create snapshot [Snapshot {"id":6,"name":"ROOT-3-Snap01-1","state":"Allocated","uuid":"281e14b7-22d3-4411-9b6e-714935830c23","version":"2.2","volumeId":3}] of volume [65780f6c-c2d4-4ee7-a174-db123c28ce67]. Please check the logs. 2025-10-29 06:58:39,075 DEBUG [c.c.r.ResourceLimitManagerImpl] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Updating resource Type = snapshot count for Account with id = 2 Operation = decreasing Amount = 1 2025-10-29 06:58:39,085 DEBUG [c.c.r.ResourceLimitManagerImpl] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Updating resource Type = secondary_storage count for Account with id = 2 Operation = decreasing Amount = (8.00 GB) 8589934592 2025-10-29 06:58:39,092 ERROR [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Invocation exception, caused by: java.lang.UnsupportedOperationException: Unable to find a snapshot strategy to create snapshot [Snapshot {"id":6,"name":"ROOT-3-Snap01-1","state":"Allocated","uuid":"281e14b7-22d3-4411-9b6e-714935830c23","version":"2.2","volumeId":3}] of volume [65780f6c-c2d4-4ee7-a174-db123c28ce67]. Please check the logs. 2025-10-29 06:58:39,092 INFO [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52, ctx-51a88f7c]) (logid:3258313d) Rethrow exception java.lang.UnsupportedOperationException: Unable to find a snapshot strategy to create snapshot [Snapshot {"id":6,"name":"ROOT-3-Snap01-1","state":"Allocated","uuid":"281e14b7-22d3-4411-9b6e-714935830c23","version":"2.2","volumeId":3}] of volume [65780f6c-c2d4-4ee7-a174-db123c28ce67]. Please check the logs. 2025-10-29 06:58:39,092 DEBUG [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52]) (logid:3258313d) Done with run of VM work job: com.cloud.vm.VmWorkTakeVolumeSnapshot for VM 3, job origin: 51 2025-10-29 06:58:39,092 ERROR [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-9:[ctx-5f3017c7, job-51/job-52]) (logid:3258313d) Unable to complete AsyncJob {"accountId":2,"cmd":"com.cloud.vm.VmWorkTakeVolumeSnapshot","cmdInfo":"rO0ABXNyACVjb20uY2xvdWQudm0uVm1Xb3JrVGFrZVZvbHVtZVNuYXBzaG90BL5gG4Li1c8CAAhaAAthc3luY0JhY2t1cFoACXF1aWVzY2VWbUwADGxvY2F0aW9uVHlwZXQAKUxjb20vY2xvdWQvc3RvcmFnZS9TbmFwc2hvdCRMb2NhdGlvblR5cGU7TAAIcG9saWN5SWR0ABBMamF2YS9sYW5nL0xvbmc7TAAHcG9vbElkc3QAEExqYXZhL3V0aWwvTGlzdDtMAApzbmFwc2hvdElkcQB-AAJMAAh2b2x1bWVJZHEAfgACTAAHem9uZUlkc3EAfgADeHIAE2NvbS5jbG91ZC52bS5WbVdvcmufmbZW8CVnawIABEoACWFjY291bnRJZEoABnVzZXJJZEoABHZtSWRMAAtoYW5kbGVyTmFtZXQAEkxqYXZhL2xhbmcvU3RyaW5nO3hwAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAADdAAUVm9sdW1lQXBpU2VydmljZUltcGwAAHBzcgAOamF2YS5sYW5nLkxvbmc7i-SQzI8j3wIAAUoABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAAAAAAAABzcgATamF2YS51dGlsLkFycmF5TGlzdHiB0h2Zx2GdAwABSQAEc2l6ZXhwAAAAAHcEAAAAAHhzcQB-AAgAAAAAAAAABnNxAH4ACAAAAAAAAAADcA","cmdVersion":0,"comp leteMsid":null,"created":"Wed Oct 29 06:58:38 UTC 2025","id":52,"initMsid":32987462763405,"instanceId":null,"instanceType":null,"lastPolled":null,"lastUpdated":null,"processStatus":0,"removed":null,"result":null,"resultCode":0,"status":"IN_PROGRESS","userId":2,"uuid":"8e9b551e-ffef-4455-9b35-dd1381f49432"}, job origin: 51 java.lang.UnsupportedOperationException: Unable to find a snapshot strategy to create snapshot [Snapshot {"id":6,"name":"ROOT-3-Snap01-1","state":"Allocated","uuid":"281e14b7-22d3-4411-9b6e-714935830c23","version":"2.2","volumeId":3}] of volume [65780f6c-c2d4-4ee7-a174-db123c28ce67]. Please check the logs. at com.cloud.storage.snapshot.SnapshotManagerImpl.takeSnapshot(SnapshotManagerImpl.java:1653) 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.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.$Proxy262.takeSnapshot(Unknown Source) at org.apache.cloudstack.storage.volume.VolumeServiceImpl.takeSnapshot(VolumeServiceImpl.java:2794) at com.cloud.storage.VolumeApiServiceImpl.orchestrateTakeVolumeSnapshot(VolumeApiServiceImpl.java:3987) at com.cloud.storage.VolumeApiServiceImpl.orchestrateTakeVolumeSnapshot(VolumeApiServiceImpl.java:5309) 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 com.cloud.vm.VmWorkJobHandlerProxy.handleVmWorkJob(VmWorkJobHandlerProxy.java:102) at com.cloud.storage.VolumeApiServiceImpl.handleVmWorkJob(VolumeApiServiceImpl.java:5323) 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.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.$Proxy273.handleVmWorkJob(Unknown Source) at com.cloud.vm.VmWorkJobDispatcher.runJob(VmWorkJobDispatcher.java:99) 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) ``` ### versions ACS 4.22 RC2 ### The steps to reproduce the bug 1. Deploy an instance 2. Take instance snapshot with memory 3. Take volume snapshot of ROOT volume of the instance ### What to do about it? Report with proper message (for example - "_Volume snapshots are not supported when the associated instance has file-based storage VM snapshots_") to the user. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
