Skip to content

Don't allow NAS backup for vm with encrypted volumes #13197

@kiranchavala

Description

@kiranchavala

problem

Don't allow backup for vm with encrypted volumes

versions

ACS 4.22

The steps to reproduce the bug

  1. Configure the backup.framework.provider.plugin to nas
  2. Launch a vm and assign a backup offering
  3. Take a backup of the encrypted vm
  4. Try to create an instance from the backup
Image
  1. Exception observed
2026-05-20 05:46:29,634 WARN  [resource.wrapper.LibvirtStartCommandWrapper] (AgentRequest-Handler-5:[]) (logid:ae054c8c) LibvirtException org.libvirt.LibvirtException: internal error: qemu unexpectedly closed the monitor: 2026-05-20T05:46:29.444365Z qemu-kvm: -blockdev {"node-name":"libvirt-3-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","encrypt":{"format":"luks","key-secret":"libvirt-3-format-encryption-secret0"},"file":"libvirt-3-storage","backing":null}: No encryption in image header, but options specified format 'luks'
	at org.libvirt.ErrorHandler.processError(Unknown Source)
	at org.libvirt.ErrorHandler.processError(Unknown Source)
	at org.libvirt.Connect.domainCreateXML(Unknown Source)
	at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:2241)
	at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:2210)
	at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:91)
	at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:52)
	at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
	at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:2280)
	at com.cloud.agent.Agent.processRequest(Agent.java:813)
	at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1295)
	at com.cloud.utils.nio.Task.call(Task.java:83)
	at com.cloud.utils.nio.Task.call(Task.java:29)
	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)

Image
  1. Stop the vm

  2. Restore the vm to backup > Exception observed

  3. Vm is unable to start due to insufficent capacity even , not sure why this error comes when there is enough capacity

2026-05-20 06:19:16,470 DEBUG [c.c.d.DeploymentPlanningManagerImpl] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) DeploymentPlan [DataCenterDeployment] has specified host [1] without HA flag. Choosing this host to deploy VM [VM instance {"id":24,"instanceName":"i-2-24-VM","state":"Starting","type":"User","uuid":"e2ae52ce-4249-4772-b789-26f566cbe52f"}].
2026-05-20 06:19:16,470 DEBUG [c.c.d.DeploymentPlanningManagerImpl] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) Cannot deploy VM [VM instance {"id":24,"instanceName":"i-2-24-VM","state":"Starting","type":"User","uuid":"e2ae52ce-4249-4772-b789-26f566cbe52f"}] to host [Host {"id":1,"name":"ref-trl-11676-k-Mol8-kiran-chavala-kvm1","type":"Routing","uuid":"71c97b41-2f20-4576-9e1f-110cdf73fbb4"}] because this host is in the avoid set.
2026-05-20 06:19:16,484 DEBUG [c.c.c.CapacityManagerImpl] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) VM instance {"id":24,"instanceName":"i-2-24-VM","state":"Stopped","type":"User","uuid":"e2ae52ce-4249-4772-b789-26f566cbe52f"} state transited from [Starting] to [Stopped] with event [OperationFailed]. VM's original host: Host {"id":2,"name":"ref-trl-11676-k-Mol8-kiran-chavala-kvm2","type":"Routing","uuid":"4c8f5777-b8fb-4bf9-ab31-461c2474dd36"}, new host: null, host before state transition: Host {"id":1,"name":"ref-trl-11676-k-Mol8-kiran-chavala-kvm1","type":"Routing","uuid":"71c97b41-2f20-4576-9e1f-110cdf73fbb4"}
2026-05-20 06:19:16,488 DEBUG [c.c.c.CapacityManagerImpl] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) Hosts's actual total CPU: 6000 and CPU after applying overprovisioning: 12000
2026-05-20 06:19:16,488 DEBUG [c.c.c.CapacityManagerImpl] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) Hosts's actual total RAM: (6.76 GB) 7259152384 and RAM after applying overprovisioning: (6.76 GB) 7259152384
2026-05-20 06:19:16,488 DEBUG [c.c.c.CapacityManagerImpl] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) release cpu from host: Host {"id":1,"name":"ref-trl-11676-k-Mol8-kiran-chavala-kvm1","type":"Routing","uuid":"71c97b41-2f20-4576-9e1f-110cdf73fbb4"}, old used: 2500, reserved: 0, actual total: 6000, total with overprovisioning: 12000; new used: 500,reserved:0; movedfromreserved: false,moveToReservered: false
2026-05-20 06:19:16,488 DEBUG [c.c.c.CapacityManagerImpl] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) release mem from host: Host {"id":1,"name":"ref-trl-11676-k-Mol8-kiran-chavala-kvm1","type":"Routing","uuid":"71c97b41-2f20-4576-9e1f-110cdf73fbb4"}, old used: (2.50 GB) 2684354560, reserved: (0 bytes) 0, total: (6.76 GB) 7259152384; new used: (512.00 MB) 536870912, reserved: (0 bytes) 0; movedfromreserved: false, moveToReservered: false
2026-05-20 06:19:16,498 ERROR [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) Invocation exception, caused by: com.cloud.exception.InsufficientServerCapacityException: Unable to create a deployment for VM instance {"id":24,"instanceName":"i-2-24-VM","state":"Starting","type":"User","uuid":"e2ae52ce-4249-4772-b789-26f566cbe52f"}Scope=interface com.cloud.dc.DataCenter; id=1
2026-05-20 06:19:16,498 INFO  [c.c.v.VmWorkJobHandlerProxy] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331, ctx-8fad60d0]) (logid:d156b428) Rethrow exception com.cloud.exception.InsufficientServerCapacityException: Unable to create a deployment for VM instance {"id":24,"instanceName":"i-2-24-VM","state":"Starting","type":"User","uuid":"e2ae52ce-4249-4772-b789-26f566cbe52f"}Scope=interface com.cloud.dc.DataCenter; id=1
2026-05-20 06:19:16,498 DEBUG [c.c.v.VmWorkJobDispatcher] (Work-Job-Executor-136:[ctx-b060718b, job-330/job-331]) (logid:d156b428) Done with run of VM work job: com.cloud.vm.VmWorkStart for VM 24, job origin: 330

Image

What to do about it?

Validate if the vm disk are encrypted , and don't allow assigning a backup offering to the vm

Metadata

Metadata

Assignees

No one assigned

    Type

    No fields configured for Bug.

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions