Created attachment 1303626 [details] engine.log Description of problem: NullPointerException while increase VM pool size. Version-Release number of selected component (if applicable): Red Hat Virtualization Manager Version: 4.1.4.2-0.1.el7 Host: OS Version:RHEL - 7.4 - 18.el7 Kernel Version:3.10.0 - 693.el7.x86_64 KVM Version:2.9.0 - 16.el7_4.3 LIBVIRT Version:libvirt-3.2.0-14.el7 VDSM Version:vdsm-4.19.23-1.el7ev SPICE Version:0.12.8 - 2.el7 How reproducible: All the time Steps to Reproduce: 1. Create VM pool with 1 VM 2. Increase VM pool using UI ("Increase number of VMs in pool by" value) Actual results: No VMs added to pool. Engine log: (Attached) 2017-07-24 15:36:03,018+03 INFO [org.ovirt.engine.core.bll.UpdateVmPoolCommand] (default task-4) [5af31e33-7c67-44ab-a04e-10f140bbad78] Lock Acquired to object 'EngineLock:{exclusiveLocks='[50845afe-3c7e-4ed0-8e0b-5c7c283c20ff=VM_POOL]', sharedLocks=''}' 2017-07-24 15:36:03,320+03 INFO [org.ovirt.engine.core.bll.UpdateVmPoolCommand] (org.ovirt.thread.pool-7-thread-15) [5af31e33-7c67-44ab-a04e-10f140bbad78] Running command: UpdateVmPoolCommand internal: false. Entities affected : ID: 50845afe-3c7e-4ed0-8e0b-5c7c283c20ff Type: VmPoolAction group EDIT_VM_POOL_CONFIGURATION with role type USER 2017-07-24 15:36:03,442+03 ERROR [org.ovirt.engine.core.bll.UpdateVmPoolCommand] (org.ovirt.thread.pool-7-thread-15) [5af31e33-7c67-44ab-a04e-10f140bbad78] Command 'org.ovirt.engine.core.bll.UpdateVmPoolCommand' failed: null 2017-07-24 15:36:03,442+03 ERROR [org.ovirt.engine.core.bll.UpdateVmPoolCommand] (org.ovirt.thread.pool-7-thread-15) [5af31e33-7c67-44ab-a04e-10f140bbad78] Exception: java.lang.NullPointerException at org.ovirt.engine.core.bll.CommonVmPoolCommand.updateVmInitPassword(CommonVmPoolCommand.java:311) [bll.jar:] at org.ovirt.engine.core.bll.CommonVmPoolCommand.executeCommand(CommonVmPoolCommand.java:190) [bll.jar:] at org.ovirt.engine.core.bll.UpdateVmPoolCommand.executeCommand(UpdateVmPoolCommand.java:113) [bll.jar:] at org.ovirt.engine.core.bll.CommandBase.executeWithoutTransaction(CommandBase.java:1251) [bll.jar:] at org.ovirt.engine.core.bll.CommandBase.executeActionInTransactionScope(CommandBase.java:1391) [bll.jar:] at org.ovirt.engine.core.bll.CommandBase.runInTransaction(CommandBase.java:2055) [bll.jar:] at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInSuppressed(TransactionSupport.java:164) [utils.jar:] at org.ovirt.engine.core.utils.transaction.TransactionSupport.executeInScope(TransactionSupport.java:103) [utils.jar:] at org.ovirt.engine.core.bll.CommandBase.execute(CommandBase.java:1451) [bll.jar:] at org.ovirt.engine.core.bll.CommandBase.executeAction(CommandBase.java:397) [bll.jar:] at org.ovirt.engine.core.bll.PrevalidatingMultipleActionsRunner.executeValidatedCommand(PrevalidatingMultipleActionsRunner.java:204) [bll.jar:] at org.ovirt.engine.core.bll.PrevalidatingMultipleActionsRunner.runCommands(PrevalidatingMultipleActionsRunner.java:176) [bll.jar:] at org.ovirt.engine.core.bll.PrevalidatingMultipleActionsRunner.lambda$invokeCommands$3(PrevalidatingMultipleActionsRunner.java:182) [bll.jar:] at org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil$InternalWrapperRunnable.run(ThreadPoolUtil.java:84) [utils.jar:] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_131] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131] 2017-07-24 15:36:03,506+03 INFO [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (org.ovirt.thread.pool-7-thread-15) [5af31e33-7c67-44ab-a04e-10f140bbad78] EVENT_ID: USER_UPDATE_VM_POOL_WITH_VMS(344), Correlation ID: 5af31e33-7c67-44ab-a04e-10f140bbad78, Job ID: d4d97284-1af8-4fdf-a438-649763c31ec1, Call Stack: null, Custom Event ID: -1, Message: VM Pool guest_pool_1 was updated by admin@internal-authz, 4 VMs were added.
also happened in: oVirt Engine Version: 4.2.0-0.0.master.20170714185626.git9418884.el7.centos
Update the steps: 1. Create VM pool with one VM, set initial run (with cloud init) and set root password. 2. Increase VM pool using UI ("Increase number of VMs in pool by" value)
Israel, are you sure it is a regression? do we know in which version did it work?
(In reply to Arik from comment #3) > Israel, are you sure it is a regression? do we know in which version did it > work? Let me be more specific. It happens in a specific scenario where the template the pool is based on is not set with cloud-init/sysprep but the pool is. It seems to me that this problem can happen even in 3.4, but it will take me too much time to verify that. That's why I'm asking if we know of any version in which this particular flow worked, so I can examine its code to see what has changed.
(In reply to Arik from comment #3) > Israel, are you sure it is a regression? do we know in which version did it > work? I set the regression since I thought it happened also without cloud init setting. But after rechecking it we can remove regression.
Engine: oVirt Engine Version: 4.2.0-0.0.master.20170728194615.gitec6aa15.el7.centos Steps: 1. Create VM pool with 1 VM and configure cloud init password 2. Increase VM pool using UI ("Increase number of VMs in pool by" value) with 2 VMS Results: VM pool size = 3 PASS
This bugzilla is included in oVirt 4.2.0 release, published on Dec 20th 2017. Since the problem described in this bug report should be resolved in oVirt 4.2.0 release, published on Dec 20th 2017, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.