# na_ontap_firmware_upgrade – NetApp ONTAP firmware upgrade for SP, shelf, ACP, and disk

New in version 2.9.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Status

## Synopsis

- Update ONTAP service-prosessor firmware

## Requirements

The below requirements are needed on the host that executes this module.

- A physical or virtual clustered Data ONTAP system. The modules support Data ONTAP 9.1 and onward

- Ansible 2.6

- Python2 netapp-lib (2017.10.30) or later. Install using ‘pip install netapp-lib’

- Python3 netapp-lib (2018.11.13) or later. Install using ‘pip install netapp-lib’

- To enable http on the cluster you must run the following commands ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

clear_logs
boolean

Choices:
- no
- yes ←

Clear logs on the device after update. Default value is true

disk_fw string |  | disk firmware to be updated to.

firmware_type
string

Choices:
- service-processor
- shelf
- acp
- disk

Type of firmware to be upgraded. Options include shelf, ACP, service-processor, and disk.
For shelf firmware upgrade the operation is asynchronous, and therefore returns no errors that might occur during the download process.
Shelf firmware upgrade is idempotent if shelf_module_fw is provided .
disk firmware upgrade is idempotent if disk_fw is provided .
With check mode, SP, ACP, disk, and shelf firmware upgrade is not idempotent.
This operation will only update firmware on shelves/disk that do not have the latest firmware-revision.

hostname string / required |  | The hostname or IP address of the ONTAP instance.
http_port integer |  | Override the default port (80 or 443) with this port

https
boolean

Choices:
- no ←
- yes

Enable and disable https

install_baseline_image
boolean

Choices:
- no ←
- yes

Install the version packaged with ONTAP if this parameter is set to true. Otherwise, package must be used to specify the package to install.

node string / required |  | Node on which the device is located.
ontapi integer |  | The ontap api version to use
package string |  | Name of the package file containing the firmware to be installed. Not required when -baseline is true.
password string / required |  | Password for the specified user. aliases: pass
shelf_module_fw string |  | Shelf module firmware to be updated to.
state string | Default: "present" | Whether the specified ONTAP firmware should be upgraded or not.
update_type string |  | Type of firmware update to be performed. Options include serial_full, serial_differential, network_full.

use_rest
string

Choices:
- Never
- Always
- Auto ←

REST API if supported by the target system for all the resources and attributes the module requires. Otherwise will revert to ZAPI.
Always -- will always use the REST API
Never -- will always use the ZAPI
Auto -- will try to use the REST Api

username string / required |  | This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required. For more information, please read the documentation https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/. aliases: user

validate_certs
boolean

Choices:
- no
- yes ←

If set to `no`, the SSL certificates will not be validated.
This should only set to `False` used on personally controlled sites using self-signed certificates.

## Notes

Note

- The modules prefixed with na\_ontap are built to support the ONTAP storage platform.

## Examples

    - name: SP firmware upgrade
      na_ontap_firmware_upgrade:
        state: present
        node: vsim1
        package: "{{ file name }}"
        clear_logs: True
        install_baseline_image: False
        update_type: serial_full
        firmware_type: service-processor
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"
    - name: ACP firmware upgrade
      na_ontap_firmware_upgrade:
        state: present
        node: vsim1
        firmware_type: acp
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"
    - name: shelf firmware upgrade
      na_ontap_firmware_upgrade:
        state: present
        firmware_type: shelf
        shelf_module_fw: 1221
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"
    - name: disk firmware upgrade
      na_ontap_firmware_upgrade:
        state: present
        firmware_type: disk
        disk_fw: NA02
        hostname: "{{ netapp_hostname }}"
        username: "{{ netapp_username }}"
        password: "{{ netapp_password }}"

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- NetApp Ansible Team (@carchi8py) <ng-ansibleteam@netapp.com>

Hint

If you notice any issues in this documentation, you can edit this document to improve it.