Pass in parameter VxRail Manager hostname because several VxRail clusters can be managed by the same vcenter
douvryf opened this issue · 15 comments
Is your feature request related to a problem? Please describe.
The report collect only information about one VxRail Manager.
Describe the solution you'd like
Pass VxRail Manager hostname as parameter
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Any details of how to use this enhancement or has this made it into the script yet? Awesome project BTW!
Can you try something for me?
What is the output when you run this? Obscure any information if you need to, however I want to see if you get more than one result returned.
$VIServer = "<Your vCenter Server IP/FQDN>"
$Credential = Get-Credential
$vCenter = Connect-VIServer $VIServer -Credential $Credential
$si = Get-View ServiceInstance -Server $vCenter
$extMgr = Get-View -Id $si.Content.ExtensionManager -Server $vCenter
$VxRailMgr = $extMgr.ExtensionList | Where-Object { $_.Key -eq 'com.vmware.vxrail' }
$VxRailMgr.Server
Hey Tim, output below:
Url : https://x.x.x.x/download/vxrail-plugin
Description : VMware.Vim.Description
Company : VMware Inc.
Type : HTTPS
AdminEmail : {noreply@vmware.com}
ServerThumbprint : 21:67:9B:09:74:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
If it helps at all, there is a VxRail Manager IP address listed as a "Custom Attribute" on each cluster. Im no help with how to do this (sorry) but if there was a way to list this "VxRail-IP" custom attribute for all clusters connected to that vCenter, you would identify what clusters are actually VxRail and then run the report against only these cluster names. Probably way over simplified it :-)
Seems someone got there before me:
https://www.dell.com/community/VxRail-Education/Question-from-Class-How-do-I-know-if-it-s-a-quot-VxRail-quot/td-p/8193452
Failing each time at this same point:
New-AsBuiltReport : Message: EsxCLI.CLIFault.summary;
InnerText: unknown module ''EsxCLI.CLIFault.summary
At line:1 char:1
- New-AsBuiltReport -Report DellEMC.VxRail -Target xxxxxxxxxxxxxxxxxxxxxxx ...
-
- CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
- FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,New-AsBuiltReport
- CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
I've copied the Invoke public file into the 0.3.0 directory and its running now without error so I guess the issue is in another script in private.
FYI, I've moved the latest v0.4.0 commit to a new branch and updated the links in the comment above.
Could you add the -Verbose
parameter to the command and share a screenshot of where it is failing?
Also, perhaps try and disable the Appliance InfoLevel by setting it to 0 in the report JSON configuration. Then run the report to see if it completes.
"InfoLevel": {
"_comment_": "0 = Disabled, 1 = Enabled / Summary, 2 = Detailed",
"Cluster": 1,
"Appliance": 0,
"Support": 1,
"Network": 1
},
Nah, setting Appliance to 0 didnt help. I got sucked in though and found the problem.
Get-AbrVxRailHostComponent.ps1
Line 33
$HbaDevice = $esxcli.hardware.pci.list.invoke() | Where-object {$_.modulename -eq 'lsi_msgpt3'}
The eq should be match :-)
This works:
$HbaDevice = $esxcli.hardware.pci.list.invoke() | Where-object {$_.modulename -match 'lsi_msgpt3'}
Thanks so much for the help and all the work in developing this!
So it was I who broke it!! :P
Glad to see you managed to find the issue. I've reverted my change.
So this now works OK for multiple VxRail clusters?
FYI for the newer 15G P and E VxRail nodes, the vmnic0 and 1 are taken up by two onboard 1G copper NICs. So the first interface used by VxRail is vmnic2.
So this works to get correct driver version for me:
$NicDevice = $esxcli.hardware.pci.list.invoke() | Where-Object {$_.VMkernelName -eq 'vmnic2'}
Not really ideal now that VxRails will all be different. Whoever decided to put them copper NICs in these new nodes should be shot :-)
So this now works OK for multiple VxRail clusters?
Yes, works great.
It doesnt really answer the original question but i prefer it this way. Having an option to choose a single cluster name would be nice but this works great for me. Thanks
It doesnt really answer the original question but i prefer it this way. Having an option to choose a single cluster name would be nice but this works great for me. Thanks
Let me keep looking into that. I've got an idea but I haven't tested it out yet. It is something I have been looking to do for the VMware vSphere report also.
Great, hit me up if you ever want stuff tested.
I just hit an issue now as a result of different vmnic sequence between the old an new clusters. vmnic2 doesnt exist on the old nodes so I get that same error as before :-(
So that error just means a failed attempt at reading the attribute
OK, I've removed the NIC driver info for now, because I thought this might be an issue.
I've removed all releases from GitHub and PS Gallery back to 0.3.0, and have just pushed 0.4.1 to dev
.
Maybe give that a test, and then all going well I will release it.
I should really not try and rush these things.