Bug 1347406

Summary: SCVMM Refresh fails if there is a Recovery Partition or a partition with no drive letter.
Product: Red Hat CloudForms Management Engine Reporter: Jeff Teehan <jteehan>
Component: ProvidersAssignee: Daniel Berger <dberger>
Status: CLOSED CURRENTRELEASE QA Contact: Jeff Teehan <jteehan>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.6.0CC: dajohnso, jfrey, jhardy, obarenbo, simaishi
Target Milestone: GAKeywords: TestOnly, ZStream
Target Release: 5.7.0   
Hardware: Unspecified   
OS: Windows   
Whiteboard: provider:scvmm:datastore
Fixed In Version: 5.7.0.0 Doc Type: Release Note
Doc Text:
Story Points: ---
Clone Of:
: 1353285 (view as bug list) Environment:
Last Closed: 2017-01-11 19:51:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1353285    

Description Jeff Teehan 2016-06-16 18:19:29 UTC
Description of problem:
I think this broke when we made some changes to the host drive mounting.  It only appears to happen in SCVMM-SP1, and not SCVMM R2 using the same steps below.

If you have a partition with no Drive Letter, you'll get the error.  Any partition other than the Recovery partition, you can just add a drive letter.   But not the recovery partition.  It must be deleted.


Version-Release number of selected component (if applicable):
5.6.0.11

How reproducible:
Appears to be always.  I can create a new drive with no drive letter and the error will return.

Steps to Reproduce:
1.  Add a Host to SCVMM SP1 that contains a Recovery Partition, or a partition with no drive letter.
2.  Refresh Provider
3.

Actual results:

You'll see something like this which corresponds to the partition.
Error - 1 Minute Ago
bad component(expected absolute path component): ///?/Volume%7Bed5a8543-592c-42cd-9a8e-04fdf9710078%7D/

If you go into SCVMM, select host properties on a host in question, and click the hardware tab, you'll see drives that don't have drive letters.  The same appear in SCVMM R2 but do not cause any issues.

I think we need to check the drive to see if the name if Recovery and ignore it.

Expected results:
Refresh should continue after these kind of errors.  The templates got added and everything else should have been added as there was no impact to the Recovery drive being present on any possible VM related activities.

Additional info:

This regression is probably from a few builds back related to this fix I think.  https://github.com/ManageIQ/manageiq/pull/8426

The workaround is to delete this partition by following these steps.
https://social.technet.microsoft.com/Forums/en-US/4f1b84ac-b193-40e3-943a-f45d52e23685/cant-delete-extra-healthy-recovery-partitions-and-healthy-efi-system-partition?forum=w8itproinstall

Comment 2 Jeff Teehan 2016-06-16 18:23:11 UTC
I can't see to edit the description.  It should read that this will happen on all versions of SCVMM that have a partition with no drive letter assigned.

Comment 3 Jeff Teehan 2016-06-21 17:42:32 UTC
This is mine to QE.

Comment 4 Daniel Berger 2016-06-23 16:50:16 UTC
This wasn't a regression, as it would not have worked with the previous code anyway. The problem, once again, is the URI library. The URI::Generic.build method cannot deal with absolute Windows paths.

I'll see if there's an easy way to deal with them, or if we'll simply have to skip them.

Comment 5 Daniel Berger 2016-06-23 16:59:20 UTC
I guess I should amend the previous comment to say that it can't handle volume names. I think the best thing to do is to skip over them.

Comment 6 Daniel Berger 2016-06-23 17:30:13 UTC
https://github.com/ManageIQ/manageiq/pull/9416

Comment 8 Jeff Teehan 2016-09-12 16:01:59 UTC
This is fixed same as 5.6.1  Any internal system partition is ignored and not added to the devices list.

Moving to verified using 10.16.7.232 running 5.7.0.0.20160906172503_12f65cb