Skip to main content

Remotely updating firmware for multiple BMC

From v2.5.0, OneCLI supports to remotely upgrade multiple BMC by running the multiflash command. Users can specify the BMC information and the configuration parameters by using a JSON configuration file.

Steps:

  1. Acquire all necessary files for the multiple BMC by running the following command:
    OneCli.exe update acquire --ostype platform --mt xxxx,xxxx,xxxx --dir C:\pkg
  2. Input the information of multiple BMC and the configuration parameters to a JSON configuration file.
    Note
    For the JSON configuration file sample, refer to Sample/multi_task_config.json in OneCLI binary or JSON configuration file sample.
  3. Input the target server BMC password and the SFTP password to the following multiflash command in the interactive mode.
    OneCLI update multiflash --configfile multi_task_config.json [--sftp user:pass@ip/xx]
  4. Reflash the multiple server firmware in batch by running the multiflash command.

JSON configuration file sample

The following is the JSON configuration file sample for the multiflash command:

{
//Set the concurrency number, the max value is 50, if more than 50, use 50 as default
"parallel_number": 50,
//Set start task order by order or by random, 0 is for random; none zero is for order by order.
"parallel_order": 1,
// List of credentials to log in to the servers BMC
"bmc_credential":
{
// Use an alias to designate a user account, then specify that alias in the "target_bmc" section.
// Such as: "alias_user1@192.168.100.222",
// "alias_user1@192.168.100.233",
// "alias_websrv1@websrv1.test.lenovo.com",
// If no alias precedes the BMC address then the "default_alias" is assumed by default.
"default_alias": "USERID",
"alias_user1": "USERID",
"alias_websrv1": "ADMIN"
},
"target_bmc": [
//By default use "default_user" from bmc_credential or will use the user specified which defined in bmc_credential
"192.168.1.99",
"alias_user1@192.168.1.100",
"[2002:97b:c2bb:830:42f2:1001:1001:[10ee-10ef]]"
// Target bmc address using format:
// "127.0.0.1:5989"
// "127.0.0.[1-5]"
// "127.0.[2-3].[1-2]"
// "127.0.0.1", "127.0.0.2:5989"
// "[2002:97b:c2bb:830:42f2:1001:1001:ab30]"
// "[2002:97b:c2bb:830:42f2:1001:1001:ab30]:5989"
// "[2002:97b:c2bb:830:42f2:[1001-1002]:1001:[1fe0-1fe1]]"
// "user2@www.host.name"
// "www.host.name:5988"
],
"sftp_crendetial": "root",
"sftp_host":"192.168.1.121"
}