Description of problem: SCVMM provider discovery fails where VM disks are not present, producing the following error: ERROR -- : [NoMethodError]: undefined method `collect' for nil:NilClass Method:[rescue in block in refresh] ERROR -- : /var/www/miq/vmdb/app/models/ems_refresh/parsers/scvmm.rb:443:in `process_vm_storages Version-Release number of selected component (if applicable): CFME 5.4.0 SCVMM SP1 How reproducible: Discover SCVMM provider where VMs exist with no disk/s. Steps to Reproduce: 1. 2. 3. Actual results: Discover fails, producing the error above. Expected results: Discovery completes. Additional info:
Fix is to amend process_vm_storages procedure in scvmm.rb as follows: def process_vm_storages(properties) return if properties[:VirtualHardDisks].nil? properties[:VirtualHardDisks].collect do |vhd| @data_index.fetch_path(:storages, vhd[:Props][:HostVolumeId]) end.compact.uniq end
Pull Request: https://github.com/ManageIQ/manageiq/pull/3388
New commit detected on manageiq/master: https://github.com/ManageIQ/manageiq/commit/bf119d024009ebacebc16cc5ff7ed92d9ccdf065 commit bf119d024009ebacebc16cc5ff7ed92d9ccdf065 Author: Bronagh Sorota <bsorota> AuthorDate: Tue Jul 7 15:46:58 2015 -0400 Commit: Bronagh Sorota <bsorota> CommitDate: Tue Jul 7 15:46:58 2015 -0400 returns if no disks are present on the VM https://bugzilla.redhat.com/show_bug.cgi?id=1234871 app/models/ems_refresh/parsers/scvmm.rb | 2 ++ 1 file changed, 2 insertions(+)
New commit detected on cfme/5.4.z: https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=14de85df7d8cf0377ac692bc29b5fb3590730287 commit 14de85df7d8cf0377ac692bc29b5fb3590730287 Author: Bronagh Sorota <bsorota> AuthorDate: Tue Jul 7 15:46:58 2015 -0400 Commit: Bronagh Sorota <bsorota> CommitDate: Wed Jul 15 12:13:21 2015 -0400 returns if no disks are present on the VM https://bugzilla.redhat.com/show_bug.cgi?id=1234871 vmdb/app/models/ems_refresh/parsers/scvmm.rb | 2 ++ 1 file changed, 2 insertions(+)
Verified in 5.5.0.7.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2015:2551