Bug 1187373 - scvmm inventory fails on vm $dvds = Get-SCVirtualDVDDrive
Summary: scvmm inventory fails on vm $dvds = Get-SCVirtualDVDDrive
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Documentation
Version: 5.3.0
Hardware: All
OS: All
medium
medium
Target Milestone: GA
: 5.7.0
Assignee: Red Hat CloudForms Documentation
QA Contact: Red Hat CloudForms Documentation
URL:
Whiteboard: infra:scvmm:ems_refresh
Depends On:
Blocks: 1247657 1247719 1249688
TreeView+ depends on / blocked
 
Reported: 2015-01-29 22:05 UTC by Josh Carter
Modified: 2019-04-16 14:33 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1247657 1247719 (view as bug list)
Environment:
Last Closed: 2017-06-27 12:58:03 UTC
Category: ---
Cloudforms Team: ---
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Josh Carter 2015-01-29 22:05:46 UTC
Description of problem:

Environment details:

* The Virtual Machine Manager Console is a Windows 2012 Standard
* The 4 hosts are Windows 2012 Datacenter
* The VMs running are from windows 2003 r2 to windows 2012 standard

[----] I, [2015-01-28T12:24:59.375223 #57993:640898]  INFO -- : MIQ(EmsRefresh::Parsers::Scvmm.ems_inv_to_hashes) Collecting data for EMS name: [IPS_Hyper-V] id: [1000000000002]...
[----] E, [2015-01-28T12:28:08.488412 #57993:640898] ERROR -- : MIQ(Class#log_dos_error_results) #< CLIXML
<Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04"><S S="Error">Select-Object : Cannot process argument because the value of argument "obj" is _x000D__x000A_</S><S S="Error">null. Change the value of argument "obj" to a non-null value._x000D__x000A_</S><S S="Error">At line:19 char:42_x000D__x000A_</S><S S="Error">+   $dvds = Get-SCVirtualDVDDrive -VM $_ | Select-Object -ExpandProperty "ISO"_x000D__x000A_</S><S S="Error">+                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_x000D__x000A_</S><S S="Error">    + CategoryInfo          : InvalidArgument: (:) [Select-Object], PSArgument _x000D__x000A_</S><S S="Error">   NullException_x000D__x000A_</S><S S="Error">    + FullyQualifiedErrorId : ArgumentNull,Microsoft.PowerShell.Commands.Selec _x000D__x000A_</S><S S="Error">   tObjectCommand_x000D__x000A_</S><S S="Error"> _x000D__x000A_</S><S S="Error">Select-Object : Cannot process argument because the value of argument "obj" is _x000D__x000A_</S><S S="Error">null. Change the value of argument "obj" to a non-null value._x000D__x000A_</S><S S="Error">At line:19 char:42_x000D__x000A_</S><S S="Error">+   $dvds = Get-SCVirtualDVDDrive -VM $_ | Select-Object -ExpandProperty "ISO"_x000D__x000A_</S><S S="Error">+                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_x000D__x000A_</S><S S="Error">    + CategoryInfo          : InvalidArgument: (:) [Select-Object], PSArgument _x000D__x000A_</S><S S="Error">   NullException_x000D__x000A_</S><S S="Error">    + FullyQualifiedErrorId : ArgumentNull,Microsoft.PowerShell.Commands.Selec _x000D__x000A_</S><S S="Error">   tObjectCommand_x000D__x000A_</S><S S="Error"> _x000D__x000A_</S><S S="Error">Select-Object : Cannot process argument because the value of argument "obj" is _x000D__x000A_</S><S S="Error">null. Change the value of argument "obj" to a non-null value._x000D__x000A_</S><S S="Error">At line:19 char:42_x000D__x000A_</S><S S="Error">+   $dvds = Get-SCVirtualDVDDrive -VM $_ | Select-Object -ExpandProperty "ISO"_x000D__x000A_</S><S S="Error">+                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_x000D__x000A_</S><S S="Error">    + CategoryInfo          : InvalidArgument: (:) [Select-Object], PSArgument _x000D__x000A_</S><S S="Error">   NullException_x000D__x000A_</S><S S="Error">    + FullyQualifiedErrorId : ArgumentNull,Microsoft.PowerShell.Commands.Selec _x000D__x000A_</S><S S="Error">   tObjectCommand_x000D__x000A_</S><S S="Error"> _x000D__x000A_</S><S S="Error">Select-Object : Cannot process argument because the value of argument "obj" is _x000D__x000A_</S><S S="Error">null. Change the value of argument "obj" to a non-null value._x000D__x000A_</S><S S="Error">At line:19 char:42_x000D__x000A_</S><S S="Error">+   $dvds = Get-SCVirtualDVDDrive -VM $_ | Select-Object -ExpandProperty "ISO"_x000D__x000A_</S><S S="Error">+                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_x000D__x000A_</S><S S="Error">    + CategoryInfo          : InvalidArgument: (:) [Select-Object], PSArgument _x000D__x000A_</S><S S="Error">   NullException_x000D__x000A_</S><S S="Error">    + FullyQualifiedErrorId : ArgumentNull,Microsoft.PowerShell.Commands.Selec _x000D__x000A_</S><S S="Error">   tObjectCommand_x000D__x000A_</S><S S="Error"> _x000D__x000A_</S><S S="Error">Select-Object : Cannot process argument because the value of argument "obj" is _x000D__x000A_</S><S S="Error">null. Change the value of argument "obj" to a non-null value._x000D__x000A_</S><S S="Error">At line:19 char:42_x000D__x000A_</S><S S="Error">+   $dvds = Get-SCVirtualDVDDrive -VM $_ | Select-Object -ExpandProperty "ISO"_x000D__x000A_</S><S S="Error">+                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_x000D__x000A_</S><S S="Error">    + CategoryInfo          : InvalidArgument: (:) [Select-Object], PSArgument _x000D__x000A_</S><S S="Error">   NullException_x000D__x000A_</S><S S="Error">    + FullyQualifiedErrorId : ArgumentNull,Microsoft.PowerShell.Commands.Selec _x000D__x000A_</S><S S="Error">   tObjectCommand_x000D__x000A_</S><S S="Error"> _x000D__x000A_</S><S S="Error">Read-SCGuestInfo : Virtual Machine WDS-IPS cannot be modified because Virtual _x000D__x000A_</S><S S="Error">Guest Services is not installed on the guest operating system or because the _x000D__x000A_</S><S S="Error">installed Virtual Guest Services does not support the Heartbeat and Data _x000D__x000A_</S><S S="Error">Exchange Integration Services in the current virtual machine status. (Error _x000D__x000A_</S><S S="Error">ID: 30101)_x000D__x000A_</S><S S="Error"> _x000D__x000A_</S><S S="Error">Verify the virtual machine is in a Running status, the Virtual Guest Services _x000D__x000A_</S><S S="Error">is installed, and the Heartbeat and Data Exchange Integration Services are _x000D__x000A_</S><S S="Error">enabled._x000D__x000A_</S><S S="Error">At line:14 char:16_x000D__x000A_</S><S S="Error">+    $networks = Read-SCGuestInfo -VM $_ -Key "NetworkAddressIPv4"_x000D__x000A_</S><S S="Error">+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_x000D__x000A_</S><S S="Error">    + CategoryInfo          : ReadError: (:) [Read-SCGuestInfo], CarmineExcept _x000D__x000A_</S><S S="Error">   ion_x000D__x000A_</S><S S="Error">    + FullyQualifiedErrorId : 30101,Microsoft.SystemCenter.VirtualMachineManag _x000D__x000A_</S><S S="Error">   er.Cmdlets.ReadScGuestInfoCmdlet_x000D__x000A_</S><S S="Error">Select-Object : Cannot process argument because the value of argument "obj" is _x000D__x000A_</S><S S="Error">null. Change the value of argument "obj" to a non-null value._x000D__x000A_</S><S S="Error">At line:19 char:42_x000D__x000A_</S><S S="Error">+   $dvds = Get-SCVirtualDVDDrive -VM $_ | Select-Object -ExpandProperty "ISO"_x000D__x000A_</S><S S="Error">+ 

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Greg Blomquist 2015-01-30 13:42:08 UTC
I see a couple errors in that stack trace:

1) Looks like a Virtual DVD Drive is causing a problem?

FullyQualifiedErrorId : 30101,Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.ReadScGuestInfoCmdletSelect-Object : Cannot process argument because the value of argument "obj" is null. Change the value of argument "obj" to a non-null value. At line:19 char:42+   $dvds = Get-SCVirtualDVDDrive -VM $_ | Select-Object -ExpandProperty "ISO"


2) An error trying to get information about the network address?

Read-SCGuestInfo : Virtual Machine WDS-IPS cannot be modified because Virtual Guest Services is not installed on the guest operating system or because the installed Virtual Guest Services does not support the Heartbeat and Data Exchange Integration Services in the current virtual machine status. (Error ID: 30101) Verify the virtual machine is in a Running status, the Virtual Guest Services is installed, and the Heartbeat and Data Exchange Integration Services are enabled.  At line:14 char:16+    $networks = Read-SCGuestInfo -VM $_ -Key "NetworkAddressIPv4"

Comment 4 Bronagh Sorota 2015-02-09 13:47:51 UTC
Hi Josh,

A couple of questions:

1) You reported the above errors after you made the code change but did the customer see those also? Or are they as a result of the change you made?

2) Apart from errors in the logs, what problem is the customer seeing? Missing inventory? 

thanks

Comment 5 Bronagh Sorota 2015-02-09 15:05:58 UTC
Hi John,

Our SCVMM integration has only been tested with Powershell V4 but it turns out this did not make it to the list of documented requirements. 
The error reported above in comment 2 number 1) is caused by a bug in Powershell versions 1,2 and 3.
My question is, should I invest the time in supporting old versions of Powershell or should we update the list of requirements and have customers upgrade to Powershell V4? 

thanks
Bronagh

Comment 9 Greg Blomquist 2015-07-31 14:39:51 UTC
Two things:

1) Since this bug was opened, SCVMM has gone from tech preview to GA.  So, now I believe that means it's fully supported.

2) I'm changing this to a doc bug to indicate in the documentation that there are two requirements when integrating with SCVMM

  Requirement 1. SCVMM R2 or better is required

  Requirement 2. Powershell v4 or better is required

We depend on specific features of both of those in our implementation and require that both of those requirements be met.

Comment 11 Andrew Dahms 2015-11-24 01:40:51 UTC
Moving to status 'NEW' for triaging in the documentation queue.


Note You need to log in before you can comment on or make changes to this bug.