Server Management - Remote Server Management
cancel
Showing results for 
Search instead for 
Did you mean: 

Set-HPEBIOSServerInfo (DL380 GEN10) returns an error - OBJECT REFERENCE

rookie1082
Advisor

Set-HPEBIOSServerInfo (DL380 GEN10) returns an error - OBJECT REFERENCE

Hello All,

These commands worked flawlessly on Gen9 servers.  We have started seeing Gen10 servers in our corporation and we are having inconsistent errors with these Gen10 servers and setting some BIOS settings with the HPEBIOS cmdlets.

I am piping a CSV with IP, Username, and Password for multiple servers.

$csvbios = $csv1 | Select-Object IP, Username, Password
$ConnectBIOS = $csvbios | Connect-HPEBIOS -DisableCertificateAuthentication -WarningAction SilentlyContinue
$ConnectBIOS | Set-HPEBIOSBootMode -WarningAction SilentlyContinue -BootMode LegacyBIOSMode | out-null

In my current example, I have TWELVE servers (Fresh out of the box, no config on them), and EIGHT of them apply correctly.  FOUR of them fail, for no reason eventhough the data is consistent in the CSV.

Error is as follows:

Set-HPEBIOSBootMode : Failed for 10.10.17.101: Object reference not set to an instance of an object.
At line:3 char:16
+ ... nnectBIOS | Set-HPEBIOSBootMode -WarningAction SilentlyContinue -Boot ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (:) [Set-HPEBIOSBootMode], Exception
    + FullyQualifiedErrorId : HPE.BIOS.Cmdlet.SetHPEBIOSBootMode
 
Set-HPEBIOSBootMode : Failed for 10.10.17.103: Object reference not set to an instance of an object.
At line:3 char:16
+ ... nnectBIOS | Set-HPEBIOSBootMode -WarningAction SilentlyContinue -Boot ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (:) [Set-HPEBIOSBootMode], Exception
    + FullyQualifiedErrorId : HPE.BIOS.Cmdlet.SetHPEBIOSBootMode
 
Set-HPEBIOSBootMode : Failed for 10.10.17.108: Object reference not set to an instance of an object.
At line:3 char:16
+ ... nnectBIOS | Set-HPEBIOSBootMode -WarningAction SilentlyContinue -Boot ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (:) [Set-HPEBIOSBootMode], Exception
    + FullyQualifiedErrorId : HPE.BIOS.Cmdlet.SetHPEBIOSBootMode
 
Set-HPEBIOSBootMode : Failed for 10.10.16.193: Object reference not set to an instance of an object.
At line:3 char:16
+ ... nnectBIOS | Set-HPEBIOSBootMode -WarningAction SilentlyContinue -Boot ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (:) [Set-HPEBIOSBootMode], Exception
    + FullyQualifiedErrorId : HPE.BIOS.Cmdlet.SetHPEBIOSBootMode

There are also issues with Set-HPEBIOSServerInfo when it comes to setting Asset Tags, with the same error as above.

 

 

 

6 REPLIES
B_Rajesh
Occasional Advisor

Re: Set-HPEBIOSServerInfo (DL380 GEN10) returns an error - OBJECT REFERENCE

Thank you rookie1082 for reporting this issue.

Could you please share the followings to reproduce the reported issue.

1. Please share the log file to diagnoise the issue using Enable-HPEBIOSLog cmdlet. (Note: The logs will be created in module installed path under "Logs" folder.

2. Please share us the iLO firmware and BIOS firmware versions installed on failed servers.

Regards

Rajesh Balakrishnan

HPE PowerShell Team

 

Regards
Rajesh Balakrishnan
HPE PowerShell Team
rookie1082
Advisor

Re: Set-HPEBIOSServerInfo (DL380 GEN10) returns an error - OBJECT REFERENCE

Hi Rajesh,

Thanks for the quick reply.  I have enabled Logging from your (Step 1).  Link to lgo file (too large to put in post)

https://www.dropbox.com/s/3g73xffqoizlbe5/HPEBIOSCmdlets_12132017_111958594.log?dl=0


I have also attached a screen shot of the relevant firmware information.

Screen Shot 2017-12-13 at 11.23.44.png


rookie1082
Advisor

Re: Set-HPEBIOSServerInfo (DL380 GEN10) returns an error - OBJECT REFERENCE

Rajesh, I also wanted to add that we flash the Innovation Engine Manually to version 0.1.4.4 (11/16/17) using these steps:

 

HPE Gen10 Innovation Engine Firmware for HPE ProLiant Gen10 Servers

 

Link:  https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_8340068d1b734d5ea9a07a29a9#tab3

Prerequisites:

System ROM V1.26  

 

Installation:

To update Firmware from iLO Web UI:
1.       Copy the binary file to a USB media.
2.       Attach the media to your local work station.
3.       Using a Web Browser, proceed to the iLO Web UI using the iLO IP Address.
4.       Select “Firmware & OS Software tab”.
5.       Choose “Select Update Firmware”.  
6.       Select Browse at Local Binary File.
7.       Select the Firmware file to be flashed.                                                             
8.       Select the Flash to begin update process and wait for the firmware flash complete message to display.
9.       Reboot the system.

The system must be powered off to flash the IE. The customers will see a warning message “This update/upload requires the system to be powered off or in POST” if they attempt to update the IE while the system is on.

 

Also, we flashed the SPS to version 04.00.04.288 (11/16/2017) using the follwing steps:

Server Platform Services (SPS) Firmware for HPE Gen10 Servers

Link:  https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_7c14bc5f198a4761bb70335faa#tab2

Prerequisites:
HPE Gen10 system ROM version 1.26 or later
HPE Gen10 Innovation Engine (IE) Firmware version 0.1.4.4 or later
________________________________________
Installation:
To update Firmware from iLO Web UI:
1.       Copy the binary file to a USB media.
2.       Attach the media to your local work station.
3.       Using a Web Browser, proceed to the iLO Web UI using the iLO IP Address.
4.       Select “Firmware & OS Software tab”.
5.       Choose “Select Update Firmware”.  
6.       Select Browse at Local Binary File.
7.       Select the Firmware file to be flashed.                                                             
8.       Select the Flash to begin update process and wait for the firmware flash complete message to display.
9.       Reboot the system.
The system must be powered off to flash the SPS. The customers will see a warning message “This update/upload requires the system to be powered off or in POST” if they attempt to update the SPS while the system is on.

Not sure if that should matter, but wanted to add that information.

These are client requirements.  Not sure if these specific versions will matter.

B_Rajesh
Occasional Advisor

Re: Set-HPEBIOSServerInfo (DL380 GEN10) returns an error - OBJECT REFERENCE

Thank you Rookie,

I have gone through the log and found that few servers to configure BootMode. For better understanding about failure, you use do follwoings.

1. Enable the log using Enable-HPEBIOSLog

2. Establish the Gen10 connection for single server (where it is failing) using Connect-HPEBIOS

Example: $con = Connect-HPEBIOS -IP <IP> -Username <username> -Password <password> -DisableCertificateAuthentication -Verbose

3. Send us the output ($con) of Connect-HPEBIOS cmdlet.

4. Execute Set-HPEBIOSBootMode with $con object and share the log

Example: $con | Set-HPEBIOSBootMode -BootMode LegacyBootMode -Verbose 

Regards
Rajesh Balakrishnan
HPE PowerShell Team
rookie1082
Advisor

Re: Set-HPEBIOSServerInfo (DL380 GEN10) returns an error - OBJECT REFERENCE

Hello Rajesh,

Here is the log file...

https://www.dropbox.com/s/xkufld9unnf8m16/HPEBIOSCmdlets_12152017_223425930.log?dl=0

Anyway, I ran the following commands:

$test1 = Connect-HPEBIOS -IP 10.10.17.86 -Username user -Password pass -DisableCertificateAuthentication

The output of $Test1 is:

DisableServerCertificateAuthenticationFlag : True
Location                                   : https://10.10.17.86/redfish/v1/SessionService/Sessions/optumlo000000005a343ea6d78d4fe0/
RootUri                                    : https://10.10.17.86/redfish/v1/Sessions/
RootData                                   : @{@odata.context=/redfish/v1/$metadata#ServiceRoot.ServiceRoot; @odata.etag=W/"2019F72E"; @odata.id=/redfish/v1/; 
                                             @odata.type=#ServiceRoot.v1_1_0.ServiceRoot; AccountService=; Chassis=; EventService=; Id=v1; JsonSchemas=; Links=; Managers=; Name=HPE RESTful 
                                             Root Service; Oem=; RedfishVersion=1.0.0; Registries=; SessionService=; Systems=; UUID=1d1a8106-b2d8-5311-8852-4532f3cf5d5b; UpdateService=}
AttributeRegistry                          : BiosAttributeRegistryU30.v1_1_26
ConnectionType                             : Redfish
IP                                         : 10.10.17.86
Hostname                                   : 
IsConnected                                : True
Username                                   : user
ProductName                                : ProLiant DL380 Gen10
CurrentROMFamily                           : U30
CurrentROMDate                             : 11/14/2017
CurrentROMVersion                          : U30 v1.26 (11/14/2017)
BackupROMFamily                            : U30
BackupROMDate                              : 09/29/2017
BackupROMVersion                           : U30 v1.22 (09/29/2017)
ProcessorInfo                              : Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz

I then rand the command:

$test1 | Set-HPEBIOSBootMode -WarningAction SilentlyContinue -BootMode LegacyBIOSMode -Verbose

the VERBOSE results are:

VERBOSE: Executing the cmdlets with 1 task serially.
VERBOSE: 10.10.17.86 : Validating the connection object.
VERBOSE: 10.10.17.86 : Validating input parameters for Set-HPEBIOSBootMode.
VERBOSE: 10.10.17.86 : Reading BIOS firmware data.
VERBOSE: 10.10.17.86 : Checking whether the input parameters of Set-HPEBIOSBootMode are supported in 10.10.17.86.
Set-HPEBIOSBootMode : Failed for 10.10.17.86: Object reference not set to an instance of an object.
At line:3 char:10
+ $test1 | Set-HPEBIOSBootMode -WarningAction SilentlyContinue -BootMod ...
+          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (:) [Set-HPEBIOSBootMode], Exception
    + FullyQualifiedErrorId : HPE.BIOS.Cmdlet.SetHPEBIOSBootMode
 

Hope that helps.

B_Rajesh
Occasional Advisor

Re: Set-HPEBIOSServerInfo (DL380 GEN10) returns an error - OBJECT REFERENCE

Thank you Rookie for providing more informations.

From your log and verbose data, we are suspecting the BIOS data from underlying Redfish API is not available.

Please use any REST client (example : POSTMAN or restlet clients) and navigate to followings URLs.

1. https://<iLO_IP>/redfish/v1/Registries/

2. https://<iLO_IP>/redfish/v1/systems/1/bios/settings/

Send us the data from above URLs.

Regards
Rajesh Balakrishnan
HPE PowerShell Team