Skip to content

Unable to create snapshot from vm snapshot#4432

Merged
DaanHoogland merged 1 commit into
apache:4.14from
ravening:vm-snapshot
Oct 29, 2020
Merged

Unable to create snapshot from vm snapshot#4432
DaanHoogland merged 1 commit into
apache:4.14from
ravening:vm-snapshot

Conversation

@ravening

Copy link
Copy Markdown
Member

Description

When tried to create snapshot from vm snapshot, we get NPE

Steps to reproduce

  1. create a vm
  2. Create vm snapshot
  3. Try to create snapshot from vm snapshot
2020-10-27 12:48:29,466 INFO  [o.a.c.a.c.u.s.CreateSnapshotFromVMSnapshotCmd] (API-Job-Executor-2:ctx-b56cf1c3 job-38 ctx-3b69b2d1) (logid:00211b32) CreateSnapshotFromVMSnapshotCmd with vm snapshot id:2 and snapshot id:1 starts:1603802909463
2020-10-27 12:48:29,507 DEBUG [o.a.c.a.c.u.s.CreateSnapshotFromVMSnapshotCmd] (API-Job-Executor-2:ctx-b56cf1c3 job-38 ctx-3b69b2d1) (logid:00211b32) Failed to create snapshot
java.lang.NullPointerException
        at com.cloud.storage.snapshot.SnapshotManagerImpl.backupSnapshotFromVmSnapshot(SnapshotManagerImpl.java:469)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        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:95)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
        at com.sun.proxy.$Proxy208.backupSnapshotFromVmSnapshot(Unknown Source)
        at org.apache.cloudstack.api.command.user.snapshot.CreateSnapshotFromVMSnapshotCmd.execute(CreateSnapshotFromVMSnapshotCmd.java:179)
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:156)
        at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:108)
        at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:620)
        at org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:48)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
        at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
        at org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:45)
        at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:568)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        at java.base/java.lang.Thread.run(Thread.java:832)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

When tried to create snapshot from vm snapshot, we get NPE

Steps to reproduce

1. create a vm
2. Create vm snapshot
3. Try to create snapshot from vm snapshot
@DaanHoogland DaanHoogland added this to the 4.14.1.0 milestone Oct 27, 2020
@DaanHoogland

Copy link
Copy Markdown
Contributor

@ravening , how do you want to create a snapshot from a snaopshot; do you go through the snapshot -> template -> vm --> snapshot cycle?

@ravening

Copy link
Copy Markdown
Member Author

@ravening , how do you want to create a snapshot from a snaopshot; do you go through the snapshot -> template -> vm --> snapshot cycle?

@DaanHoogland No

  1. Instances -> select any running vm -> create vm snapshot
  2. Navigate to VM snapshot ->select the above create vm snapshot -> create snapshot from vm snapshot

@harikrishna-patnala

Copy link
Copy Markdown
Member

Code related to fix the NPE looks good to me. This issue exists on master as well.

@DaanHoogland

Copy link
Copy Markdown
Contributor

@harikrishna-patnala we merge to master when it is on 4.14 so the fix will automatically get there.

@DaanHoogland

Copy link
Copy Markdown
Contributor

code looks good indeed, let's find some test that proves it (for future guarding as well as merge justification)
@blueorangutan package

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@blueorangutan

Copy link
Copy Markdown

Packaging result: ✔centos7 ✖centos8 ✔debian. JID-2291

@DaanHoogland

Copy link
Copy Markdown
Contributor

@blueorangutan test

@blueorangutan

Copy link
Copy Markdown

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

Trillian test result (tid-3095)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32605 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4432-t3095-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_hostha_kvm.py
Smoke tests completed. 83 look OK, 0 have error(s)
Only failed tests results shown below:

Test Result Time (s) Test File

@DaanHoogland DaanHoogland merged commit b266c75 into apache:4.14 Oct 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants