fgrehl / virten-scripts

Scripts used at www.virten.net
MIT License
60 stars 20 forks source link

Does not work with Fujitsu Server! #1

Closed megian closed 6 years ago

megian commented 8 years ago

Can be fixed easily by removing the @ character.

Replace Line: $cpuSeriesMatch = (""+$cpuSeriesMatch+" @") With Line. $cpuSeriesMatch = (""+$cpuSeriesMatch+"")

Is there any need to check the @ character in the CPU Model?

fgrehl commented 8 years ago

Thanks for your comment. I wasn't expecting that zero between the model and "@". When I remove the @ it works for your Fujitsu, but breaks others because it gives multiple matches.

Here is an example where multiple matches happen: The system supportes very old CPUs from the Westmere/Nehalem architecture where there was no E- in the model description so there is only *50?? to match, which is ambiguous: $cpuSeriesMatch = (""+$cpuSeriesMatch+" @")

ESXi Host: esx76.virten.lab
 - ESXi Build Number: 3568722
 - Release Level (To match HCL): ESXi 5.5 U3
 - Hardware Vendor: HP
 - Hardware Model: ProLiant BL460c Gen8
 - CPU Model: Intel(R) Xeon(R) CPU E5-2650 @ 2.00GHz
CPU Series Match String: *50?? @*
CPU Series Match String: *51?? @*
CPU Series Match String: *52?? @*
CPU Series Match String: *53?? @*
CPU Series Match String: *54?? @*
CPU Series Match String: *E5-26?? @*
CPU Series Match String: *E5-26?? v2 @*
 -- Found 1 HCL Entries...
 -- ProLiant BL460c Gen8 with CPU Intel Xeon E5-2600 Series is supported in ESXi 5.5 U3 
 --- Supported: 6.0 U2, 6.0 U1, 6.0, 5.5 U3, 5.5 U2, 5.5 U1, 5.5, 5.1 U3, 5.1 U2, 5.1 U1, 5.1, 5.0 U3, 5.0 U2, 5.0 U1, 5.0
 --- HCL Link: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=20218

$cpuSeriesMatch = (""+$cpuSeriesMatch+"")

ESXi Host: esx76.virten.lab
 - ESXi Build Number: 3568722
 - Release Level (To match HCL): ESXi 5.5 U3
 - Hardware Vendor: HP
 - Hardware Model: ProLiant BL460c Gen8
 - CPU Model: Intel(R) Xeon(R) CPU E5-2650 @ 2.00GHz
CPU Series Match String: *50??*
CPU Series Match String: *51??*
CPU Series Match String: *52??*
CPU Series Match String: *53??*
CPU Series Match String: *54??*
CPU Series Match String: *E5-26??*
CPU Series Match String: *E5-26?? v2*
 -- Found 2 HCL Entries...
 -- ProLiant BL460C with CPU Intel Xeon 50xx Series is not supported in ESXi 5.5 U3 
 --- Supported: Only systems < vSphere 5 are supported, but they are filtered by the script.
 --- HCL Link: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=234
 -- ProLiant BL460c Gen8 with CPU Intel Xeon E5-2600 Series is supported in ESXi 5.5 U3 
 --- Supported: 6.0 U2, 6.0 U1, 6.0, 5.5 U3, 5.5 U2, 5.5 U1, 5.5, 5.1 U3, 5.1 U2, 5.1 U1, 5.1, 5.0 U3, 5.0 U2, 5.0 U1, 5.0
 --- HCL Link: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=20218

However, i need to fix that CPU matching. Shouldn't be impossible...

fgrehl commented 8 years ago

Simply filtering that 0 out might work...at least it doesn't break my testsystems.

Replace

if ($HostCpu -notlike $cpuSeriesMatch){

with:

$hostCpuForMatch = $HostCpu -replace " 0 "," "
if ($hostCpuForMatch -notlike $cpuSeriesMatch){