# iLO Repository Commands

The HPE iLO repository commands described in this section have been designed for use with HPE Gen10 servers and later.

This section applies to HPE iLOrest 7.0.0.0 as a
whole. If the
version of iLOrest
you are using does not reflect this documentation, refer to the iLOrest [changelog](/docs/redfishclients/ilorest-userguide/changelog) file for
new or deprecated features.

## Deletecomp Command

### Syntax

deletecomp *[ID/Name(s)] [Optional Parameters]*

### Description

Deletes firmware from the iLO repository.

NOTE
You cannot delete firmware that is part of a task from the task queue or an install set.

### Parameters

- **ID/Name(s)**


The name or Id(s) of the components for deletion. Multiple components should be specified by a comma separated list without spaces.

- **-h, --help**


Including the help flag will display help for the command.

- **-a, --all**


Delete all firmware.

### Login Parameters

The following parameters can be included to login to a server in the same line as the command is run.

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user and password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, use this flag along with the password and URL flags to login to a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL flags to login. Use the provided iLO password corresponding to the username you gave to login.

- **--logout**


Optionally include the logout flag to log out of the server after this command is completed. Using this flag when not logged in will have no effect.

### Examples

Deletecomp example commands:

To delete firmware by file name run the command with the file name as an argument. You can also delete multiple files by file name.

Example

```shell
iLOrest > deletecomp ilo5_137.bin
The operation completed successfully.
Deleted ilo5_137.bin
```

To delete firmware by Id run the command with the file Ids as arguments. You can also delete a single file by Id.

Example

```shell
iLOrest > deletecomp 30d2d7fa,b5a00edc
The operation completed successfully.
Deleted 30d2d7fa
The operation completed successfully.
Deleted b5a00edc
```

To delete all firmware on the iLO repository run the command and include the `--all` option.

Example

```shell
iLOrest > deletecomp --all
The operation completed successfully.
```

## Downloadcomp Command

### Syntax

downloadcomp *[File Path] [Optional Parameters]*

### Description

Downloads firmware from the iLO repository.

### Parameters

-**File Path**

The path to the firmware to download.

- **-h, --help**


Including the help flag will display help for the command.

- **outdir=OUTDIR**


output directory for saving the file.

### Login Parameters

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user and password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, including this flag along with the password and URL flags can be used to log into a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL flags to login. Use the provided iLO password corresponding to the username you gave to login.

- **--sessionid=SESSIONID**


Optionally include this flag if you would prefer to connect using a session id instead of a normal login.

- **--includelogs**


Optionally include logs in the data retrieval process.

- **--logout**


Optionally include the logout flag to log out of the server after this command is completed. Using this flag when not logged in will have no effect.

### Examples

To download a file run this command specifying the `file path` of the firmware.

Example

```shell
iLOrest > downloadcomp /fwrepo/ilo5_137.bin
Downloading component, this may take a while...
[200] The operation completed successfully.
Download complete
0 hour(s) 1 minute(s) 36 second(s)
```

Warning
- The output directory and files in that directory must be set to writable.
- Any file in the output directory with the same name as the downloading firmware will be overwritten.


## Flashfwpkg Command

### Syntax

flashfwpkg *[FWPKG PATH] [Optional Parameters]*

### Description

Run to upload and flash a `.fwpkg` components using the iLO repository.

NOTE
Some firmware can be flashed directly without a reboot, may require a reboot to take effect, or may only be staged for flash on reboot. The command will inform users when a firmware update will take place.

### Parameters

- **FWPKG PATH**


The path to the `.fwpkg` file for flashing or the `.fwpkg` file itself if it
is in the current working directory.

- **-h, --help**


Including the help flag will display help for the command.

- **--forceupload**


Include this flag to force upload firmware with the same name already on
the repository.

- **--ignorechecks**


Include this flag to ignore all checks to the Repository
[Task Queue](/docs/redfishclients/ilorest-userguide/ilorepositorycommands/#taskqueue-command)
before attempting to process the `.fwpkg` file.

- **--targets target_list**


Specify a comma separated list of similar firmware inventory IDs to be updated
with supplied firmware package.

- **--tpmover**


Include this parameter to set the
`TPMOverride`
 property 
to `true` and pass the `TPMOverrideFlag` in on the associated flash operations.

- **--update_srs**


Add this parameter to update the System Recovery Set with the uploaded
firmware.

NOTE
This requires an account login with the system recovery set
[privilege](https://servermanagementportal.ext.hpe.com/docs/redfishservices/ilos/ilo6/ilo6_156/ilo6_hpe_resourcedefns156/#recoveryprivilege).

### Examples

The following example retrieves the IDs of UBM3 devices
and update all of them with a single command.

Example

```shell
ilorest list Id Name  --json --selector SoftwareInventory. --filter Name="8 SFF 24G x1NVMe/SAS UBM3*" 
Id=30
Name=8 SFF 24G x1NVMe/SAS UBM3 BC BP

Id=29
Name=8 SFF 24G x1NVMe/SAS UBM3 BC BP



ilorest flashfwpkg HPE_UBM3_1.24_F.fwpkg --targets 29,30 --tpmover

Uploading firmware: HPE_UBM3_1.24_F.fwpkg
Successfully checked 'HPE_UBM3_1.24_F.fwpkg'.
Uploading component HPE_UBM3_1.24_F.fwpkg.
[200] The operation completed successfully.
Component HPE_UBM3_1.24_F.fwpkg uploading successfully.
Waiting for iLO UpdateService to finish processing the component
Uploading took 00 hour(s) 00 minute(s) 02 second(s)
payload: "{'Name': 'Update-460148', 'Command': 'ApplyUpdate', 'Filename': 'HPE_UBM3_1.24_F.fwpkg',
'UpdatableBy': ['Bmc'], 'TPMOverride': True, 'Targets': ['/redfish/v1/UpdateService/Firmwar
eInventory/29/', '/redfish/v1/UpdateService/FirmwareInventory/30/']}"
Creating task: "Update-460148"
The operation completed successfully.
```

### Login Parameters

The following parameters can be included to login to a server in the same line
as the command is run.

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user and
password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, use this flag along with the password and
URL flags to login to a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL
flags to login. Use the provided iLO password corresponding to the username you
gave to login.

- **--logout**


Optionally include the logout flag to log out of the server after this command
is completed. Using this flag when not logged in will have no effect.

### Examples

To upload firmware and flash (or stage for a flash) run the command with
the `.fwpkg` file.

Example

```shell
iLOrest > flashfwpkg U32_1.46_10_02_2018.fwpkg
Uploading firmware: U32_1.46_10_02_2018.signed.flash
[200] The operation completed successfully.
Component U32_1.46_10_02_2018.signed.flash uploaded successfully
Waiting for iLO UpdateService to finish processing the component
0 hour(s) 1 minute(s) 28 second(s)
Firmware has successfully been flashed and a reboot is required for this firmware to take effect.
```

To skip checks for something blocking firmware updates also include
the `--ignorechecks` option.

Example

```shell
iLOrest > fwpkg ilo5_137.fwpkg --ignorechecks
Uploading firmware: ilo5_137.bin
[200] The operation completed successfully.
Component ilo5_137.bin uploaded successfully
Waiting for iLO UpdateService to finish processing the component
0 hour(s) 0 minute(s) 55 second(s)
Firmware has successfully been flashed.
iLO will reboot to complete flashing. Session will be terminated.
Logging session out.
```

## Installset Command

### Syntax

installset *[Optional Parameters]*

### Description

Command to perform operations on
 install sets .
Among other objects, install sets contain a `Name`, an `Id` and an ordered
list of installation instructions `sequence[]` that may be invoked/deployed.

To list current install sets run the command without arguments.

### Parameters

- **-h, --help**


Including the help flag will display help for the command.

- **-n NAME, --name=NAME**


Install set name to create, remove, or invoke/deploy.

- **-r, --removeall**


Remove all install sets.

NOTE
To remove recovery install sets during a local in-band session, you have to supply
the `--user` and `--password` parameters. This security enhancement is needed
because the local in-band management mode does not perform any authentication,
as mentioned in the `login` [command](/docs/redfishclients/ilorest-userguide/globalcommands/#login-command)
description.

- **-j, --json**


Optionally include this flag to change the displayed output to JSON format.
Preserving the JSON data structure makes the information easier to parse.

- **--expire=EXAFTER**


Optionally include this flag to set the expiry time for installset.
ISO 8601 Redfish-style time string to be written after which iLO will
automatically change state to Expired
(i.e. YYYY-MM-DDThh:mm:ss, YYYY-MM-DDThh:mm:ssZ).

- **--startafter=SAFTER**


Optionally include this flag to set the earliest execution time for
`installset`.
ISO 8601 Redfish-style time string to be used
(i.e. YYYY-MM-DDThh:mm:ss, YYYY-MM-DDThh:mm:ssZ).

- **--tpmover**


Use this flag if the server you are currently logged into has a TPM chip installed.

- **--updaterecoveryset**


If set then the components in the flash operations are used to replace
matching contents in the Recovery Set.

- **--cleartaskqueue**


This option clears previous items in the task queue before the Install Set is invoked.

### Login Parameters

The following parameters can be included to login to a server in the same
line as the command is run.

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user and
password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, use this flag along with the password and
URL flags to login to a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL
flags to login. Use the provided iLO password corresponding to the username
you gave to login.

- **--logout**


Optionally include the logout flag to log out of the server after this command
is completed. Using this flag when not logged in will have no effect.

### Examples

The following example lists install sets with basic formatting.

Basic formatting

```shell
ilorest login <ilo-ip> -u <ilo-user> -p password
ilorest installset
ilorest logout
```

Output

```text
Install Sets:
basic_update:
        SequenceName1: Action Filename1
        SequenceName2: Action Filemane2
```

Install sets can be added with their complete JSON structure or a subset
containing only the members of the `sequence[]` array.

TIP
Refer to the [Makeinstallset command](#makeinstallset-command)
to learn how to create an install set file.

Complete JSON structure

```json
{
    "Name": "installset name",
    "Description": "installset description",
    "Sequence": [{
            "Name": "Wait",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "Wait",
            "WaitTimeSeconds": 60
        },
        {
            "Name": "uniqueName",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "ApplyUpdate",
            "Filename": "filename.exe"
        },
        {
            "Name": "uniqueName2",
            "UpdatableBy": ["Bmc"],
            "Command": "ApplyUpdate",
            "WaitTimeSeconds": 0,
            "Filename": "filename2.hex"
        },
        {
            "Name": "uniqueName3",
            "UpdatableBy": ["Uefi", "RuntimeAgent"],
            "Command": "ApplyUpdate",
            "WaitTimeSeconds": 0,
            "Filename": "filename3.x86_64.rpm"
        },
        {
            "Name": "Reboot",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "ResetServer"
        }
    ],
    "IsRecovery": false
}
```

List of sequence members

```json
[
        {
            "Name": "Wait",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "Wait",
            "WaitTimeSeconds": 60
        },
        {
            "Name": "uniqueName",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "ApplyUpdate",
            "Filename": "filename.exe"
        },
        {
            "Name": "Reboot",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "ResetServer"
        }
]
```

To add an install set, run the command with the `add` argument followed by
an install set json file. When using sequence type json file, it is not
necessary to include the `-n, --name` flag.
In this scenario the iLO provides default install set name (time stamp).

iLOrest command

```shell
ilorest login <ilo-ip> -u <ilo-user> -p password
ilorest installset add myinstallset.json
ilorest logout
```

Output

```shell
[201] The operation completed successfully.
```

In case of problem during the addition of an install set, use the `-d, --debug`
mode to troubleshoot. The following example fails to add an install
set because it contains two identical sequence member names (`NonUnique`).
The last lines of the iLOrest.log file explains this problem.

Example

```shell
ilorest login <ilo-ip> -u <ilo-user> -p password
ilorest -v installset add badsequence.json
[400] iLO.2.19.PropertyValueIncompatible
iLOrest return code: 63
```

Badsequence

```json
[
        {
            "Name": "NonUnique",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "Wait",
            "WaitTimeSeconds": 60
        },
        {
            "Name": "Firmware Package",
            "UpdatableBy": ["Bmc"],
            "Command": "ApplyUpdate",
            "Filename": "HPE_MR216i-o_Gen11_52.24.3-4948_A.fwpkg"
        },
        {
            "Name": "NonUnique",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "Wait",
            "WaitTimeSeconds": 60
        },
        {
            "Name": "Reboot",
            "UpdatableBy": ["RuntimeAgent"],
            "Command": "ResetServer"
        }
]
```

Debug output error

```json
{
    "error": {
        "code": "iLO.0.10.ExtendedInfo",
        "message": "See @Message.ExtendedInfo for more information.",
        "@Message.ExtendedInfo": [
            {
                "MessageArgs": [
                    "NonUnique",
                    "Sequence[0].Name",
                    "Sequence[2].Name"
                ],
                "MessageId": "iLO.2.19.PropertyValueIncompatible"
            }
        ]
    }
}
```

To invoke (deploy) an install set, run the command with the `invoke` command
followed by the `-n, --name` option specifying the name of the install set to
invoke. Add the `--tpmover` if a Trusted Platform Module (TPM) is installed in
the system.

Example

```shell
iLOrest > installset invoke --name basic_update
Invoking install set:basic_update
The operation completed successfully.
```

TIP
Use the `taskqueue` [command](#taskqueue-command) without any
argument to monitor the install set deployment.

To delete an install set run the command with the `delete` argument
followed by the `--name` specifying the name of the install set to delete.

Example

```shell
iLOrest > installset delete --name basic_update
Deleting install set: basic_update...
The operation completed successfully.
```

To remove all install sets run the command with the `--removeall` option.

Example

```shell
LOrest > installset --removeall
Deleting all install sets...
The operation completed successfully.
```

## Listcomp Command

### Syntax

listcomp *[Optional Parameters]*

### Description

Command to list the firmware on the iLO repository of the currently
logged in system.

### Parameters

- **-h, --help**


Including the help flag will display help for the command.

- **-j, --json**


Optionally include this flag if you wish to change the displayed output to
JSON format. Preserving the JSON data structure makes the information easier
to parse.

### Login Parameters

The following parameters can be included to login to a server in the
same line as the command is run.

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user
and password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you gave
to login.

- **--usercert**


User Certificate for certificate login.

- **--logout**


Optionally include the logout flag to log out of the server after this
command is completed. Using this flag when not logged in will have no effect.

### Examples

To list the firmware on the iLO repository of the currently logged in system
run the command without arguments.

Example

```shell
iLOrest > listcomp
Id: ca3bcc4b
Name: iLO 5
Version: 1.30
Locked:Yes
Component Uri:/fwrepo/ilo5_130.bin
File Path: ilo5_130.bin
SizeBytes: 33556520

Id: 30d2d7fa
Name: iLO 5
Version: 1.37
Locked:No
Component Uri:/fwrepo/ilo5_137.bin
File Path: ilo5_137.bin
SizeBytes: 33556520
```

## Maintenancewindow Command

### Syntax

maintenancewindow *[Optional Parameters]*

### Description

Command to add or delete maintenance windows from the iLO repository.

### Parameters

**add TIME**

Add a maintenance window with a given start time. The time format of
the current time zone is: YYYY-MM-DDThh:mm:ss. The time format in the GMT
time zone is: YYYY-MM-DDThh:mm:ssZ.
Refer to the examples below for more detail.

**delete NAME**

Delete a maintenance window.

- **-h, --help**


Including the help flag will display help for the command.

- **-j, --json**


Optionally include this flag to change the displayed output to JSON format.
Preserving the JSON data structure makes the information easier to parse.

- **-description=DESCRIPTION**


Optionally include this flag to add a description to the maintenance window
created by you.

- **--name=NAME**


Optionally include this flag to name the maintenance window created by you.
If a name is not specified, system will add a unique name.

- **--expire=EXPIRE**


Optionally include this flag to add the time a maintenance window expires.

### Login Parameters

The following parameters can be included to login to a server in the same line
as the command is run.

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user
and password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you
gave to login.

- **--logout**


Optionally include the logout flag to log out of the server after this command
is completed. Using this flag when not logged in will have no effect.

### Examples

To list the current maintenancewindows on the system run the command
without arguments.

Example

```shell
iLOrest > maintenancewindow
MW-147746:
        Description: No description.
        Start After: 2015-11-21T00:00:00Z
        Expires at: No expire time set.
```

To Create a new maintenance window run the command with the `add` keyword
followed by the time the maintenance window should start.
If you do not supply a name for your maintenance window one will be
randomly generated for you.

Example

```shell
iLOrest > maintenancewindow add 2018-11-21T00:00:00
[201] The operation completed successfully.
```

To optionally specify an expire time (`--expire`), maintenance window name
(`--name`), and/or description (`--description`)
include their respective options.

Example

```shell
iLOrest > maintenancewindow add 2019-11-21T00:00:00 --expire=2019-11-22T00:00:00 --name=MyMaintenanceWindow --description "My maintenance window description."
[201] The operation completed successfully.
```

To delete a maintenance window run the command with the `delete`
keyword followed by the name or id of the maintenance window you wish to
delete.

Example

```shell
iLOrest > maintenancewindow delete MyMaintenanceWindow
Deleting MyMaintenanceWindow
The operation completed successfully.
```

## Makeinstallset Command

### Syntax

makeinstallset *[Optional Parameters]*

### Description

Run to make installsets for iLO.
If not logged into the server, the command will provide basic guidance on
making an installset.
If logged into the server, the command will provide guidance based
on the current components on the system.

NOTE
When using this command on a logged in sever, for best results, upload the
components before running this command.

### Parameters

- **-h, --help**


Including the help flag on this command will display help.

- **-f FILENAME, --filename=FILENAME**


Include this flag to use a different filename than the default one.
The default filename is myinstallset.json

### Login Parameters

The following parameters can be included to login to a server in the same
line as the command is run.

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user
and password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username you
gave to login.

- **--logout**


Optionally include the logout flag to log out of the server after this
command is completed. Using this flag when not logged in will have no effect.

### Examples

Run without logging in for basic guidance on making an install set.

Example

```shell
iLOrest > makeinstallset
Warning: This command will run in interactive mode.
Entering new shell, type quit to leave!
Running in basic guidance mode.
Enter a name for this command: command1

Possible Commands: ApplyUpdate, ResetServer, ResetBmc, Wait
Enter Command for command1: ApplyUpdate

Unique filename of component on iLO repository
Enter Filename for command1: ilo5_130.bin

Possible Update parameter(s):
Bmc: Updatable by iLO
Uefi: Updatable by Uefi
RuntimeAgent: Updatable by runtime agent such as SUM/SUT
Enter UpdatableBy for command1: Bmc

Enter a name for this command: quit
Is this a recovery installset? no
Enter installset name: basic_update
Enter description for the installset:
{
  "Sequence": [
    {
      "UpdatableBy": [
        "Bmc"
      ],
      "Command": "ApplyUpdate",
      "Name": "command1",
      "Filename": "ilo5_130.bin"
    }
  ],
  "IsRecovery": false,
  "Name": "basic_update",
  "Description": ""
}
installset saved to myinstallset.json
```

Run while logged into a system for guidance based on the current components on that system.

Example

```shell
iLOrest > makeinstallset
Warning: This command will run in interactive mode.
Entering new shell, type quit to leave!
Running in logged in mode.
Enter a name for this command: update iLO

Possible Commands: ApplyUpdate, ResetServer, ResetBmc, Wait
Enter Command for update iLO: ApplyUpdate

Unique filename of component on iLO repository
Components currently in the repository that have not been added to the installset:
[1] iLO 5
[2] HP Lights-Out Online Configuration Utility for Windows x64 E...
[3] System BIOS - U30
Select the number of the component you want to add to the install set: 1

Enter a name for this command: update bios

Possible Commands: ApplyUpdate, ResetServer, ResetBmc, Wait
Enter Command for update bios: ApplyUpdate

Unique filename of component on iLO repository
Components currently in the repository that have not been added to the installset:
[1] HP Lights-Out Online Configuration Utility for Windows x64 E...
[2] System BIOS - U30
Select the number of the component you want to add to the install set: 2

Enter a name for this command: quit
Is this a recovery installset? no
Enter installset name: update fw
Enter description for the installset:
{
  "Sequence": [
    {
      "UpdatableBy": [
        "Bmc"
      ],
      "Command": "ApplyUpdate",
      "Name": "update iLO",
      "Filename": "ilo5_137.bin"
    },
    {
      "UpdatableBy": [
        "Bmc"
      ],
      "Command": "ApplyUpdate",
      "Name": "update bios",
      "Filename": "U30_1.46_10_02_2018.signed.flash"
    }
  ],
  "IsRecovery": false,
  "Name": "update fw",
  "Description": ""
}
installset saved to myinstallset.json
```

## Taskqueue Command

### Syntax

taskqueue *[Optional Parameters]*

### Description

Command to manage (view, add and remove tasks) from the task queue.
Added tasks are appended to the end of the queue. Don't specify any
argument to list the tasks and their status.

### Parameters

- **-h, --help**


Including the help flag will display help for the command.

- **-r, --resetqueue**


Remove all update tasks in the queue.

- **-c, --cleanqueue**


Clean up all finished or errored tasks - leave pending.

- **-j, --json**


Optionally include this flag if you wish to change the displayed output
to JSON format. Preserving the JSON data structure makes the information
easier to parse.

- **--tpmover**


Include this flag when updating firmware if you have a TPM installed.

### Login Parameters

The following parameters can be included to login to a server in the same
line as the command is run.

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user
and password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, use this flag along with the password and URL
flags to login to a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL
flags to login. Use the provided iLO password corresponding to the
username you gave to login.

- **--logout**


Optionally include the logout flag to log out of the server after this
command is completed. Using this flag when not logged in will have no effect.

### Examples

To create new wait task queue task, include the `create` keyword
followed by the amount of time to wait.

Example

```shell
iLOrest > taskqueue create 60
[200] The operation completed successfully.
Creating task: "Wait-703879 60 seconds"
[201] The operation completed successfully.
```

To create a new firmware task queue task, include the `create` keyword
followed by the name of a firmware file that is already in the iLO repository.

Example

```shell
iLOrest > taskqueue create ilo5_137.bin
[200] The operation completed successfully.
Creating task: "Update-740856 iLO 5"
[201] The operation completed successfully.
```

To list the tasks present in the task queue and their status, run
the command with no arguments.

Example

```shell
iLOrest > taskqueue

Current Update Task Queue:

Task Wait-703879 60 seconds:
        Command: Wait 60 seconds
        State:Pending

Task Update-740856 iLO 5:
        Command: ApplyUpdate
        Filename: ilo5_137.bin
        State:Pending
```

To delete all tasks from the update task queue, run the command with
the `--resetqueue` option.

Example

```shell
iLOrest > taskqueue --resetqueue
Deleting all update tasks...
Deleting: Wait-703879 60 seconds
The operation completed successfully.
Deleting: Update-740856 iLO 5
The operation completed successfully.
```

## Uploadcomp Command

### Syntax

uploadcomp *[Optional Parameters]*

### Description

Command to upload a firmware in the iLO repository.

NOTES
- The `uploadcomp` command requires iLO 5 firmware version v1.48(a) or later.
Earlier iLO 5 Firmware versions fails with a return code 103.
- iLO firmware version v1.48(a) or later is required because the
uploadcomp command depends on the Bunny Hop feature found
in that version of the iLO firmware.
- Before updating the iLO firmware, read
the customer advisory regarding iLO firmware upgrades.


### Parameters

- **-h, --help**


Including the help flag will display help for the command.

- **--includelogs**


Optionally include logs in the data retrieval process.

- **-j, --json**


Optionally include this flag if you wish to change the displayed output to
JSON format. Preserving the JSON data structure makes the
information easier to parse.

- **--component=COMPONENT**


Component or binary file path to upload to the update service.

- **--compsig=COMPONENTSIG**


Component signature file path needed by iLO to authenticate the component file.
If not provided, the command will try to find the signature file from
component file path.

- **--forceupload**


Add this flag to force upload components with the same name already on the repository.

- **--update_repository**


Add this flag to skip uploading component/binary to the iLO Repository.
If this flag is included with `--update_srs`, it is ignored.
Adding component to the repository is required to update the system
recovery set.

- **--update_target**


If true, the uploaded component/binary will be flashed. The default is set to False.

- **--update_srs**


The uploaded component becomes a part of the system recovery set (srs).

NOTE
`--update_target` also need to passed along with `--update_srs` for
component to be valid for that server.

### Login Parameters

The following parameters can be included to login to a server in the same
line as the command is run.

- **--url=URL**


If you are not logged in yet, use the provided iLO URL along with the user
and password flags to login to the server in the same command.

- **-u User, --user=USER**


If you are not logged in yet, use this flag along with the password and
URL flags to login to a server in the same command.

- **-p Password, --password=PASSWORD**


If you are not logged in yet, use this flag along with the user and URL flags
to login. Use the provided iLO password corresponding to the username
you gave to login.

- **--logout**


Optionally include the logout flag to log out of the server after
this command is completed. Using this flag when not logged in will have no effect.

### Examples

To upload firmware to the iLO repository run the command with
the `--component` option specifying the firmware file to upload.

Example

```shell
iLOrest > uploadcomp --component ilo5_137.bin
[200] The operation completed successfully.
Component ilo5_137.bin uploaded successfully
Waiting for iLO UpdateService to finish processing the component
0 hour(s) 1 minute(s) 43 second(s)
```

By default the firmware is uploaded to the iLO Repository. For firmware iLO is
capable of flashing you can instead directly flash it.
To do this you need to include the `--update_repository`
flag to not include the firmware in the iLO repository and
the `--update_target`
flag to trigger iLO to flash.

Example

```shell
iLOrest > uploadcomp --component ilo5_140.bin --update_repository --update_target
[200] The operation completed successfully.
Component ilo5_140.bin uploaded successfully
Waiting for iLO UpdateService to finish processing the component
0 hour(s) 1 minute(s) 56 second(s)
```