This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
tasks:lab-extras [2026/07/16 15:36] akraitman |
tasks:lab-extras [2026/07/16 15:43] (current) akraitman [Updating the Ansible role] |
||
|---|---|---|---|
| Line 35: | Line 35: | ||
| - | # Micron NVMe Firmware Management | + | ===== Micron NVMe Firmware Management ===== |
| This page describes how the Micron NVMe firmware used by trial nodes is managed. | This page describes how the Micron NVMe firmware used by trial nodes is managed. | ||
| - | ## Supported firmware | + | ===== Supported firmware ===== |
| - | | Drive family | Target firmware | | + | | Drive family | Target firmware | |
| - | | ------------ | --------------- | | + | | Micron 7450 | E2MU300 | |
| - | | Micron 7450 | E2MU300 | | + | | Micron 7500 | E3MQ005 | |
| - | | Micron 7500 | E3MQ005 | | + | |
| The testnode Ansible role automatically detects supported Micron drives and upgrades them when the installed firmware is older than the target version. | The testnode Ansible role automatically detects supported Micron drives and upgrades them when the installed firmware is older than the target version. | ||
| - | ## Firmware directory layout | + | ===== Firmware directory layout ===== |
| Firmware images are stored in the `lab-extras` repository using the following directory structure: | Firmware images are stored in the `lab-extras` repository using the following directory structure: | ||
| - | ```text | + | <code> |
| micron-nvme-firmware/ | micron-nvme-firmware/ | ||
| ├── 7450/ | ├── 7450/ | ||
| Line 60: | Line 59: | ||
| └── E3MQ005/ | └── E3MQ005/ | ||
| └── Micron_7500_E3MQ005_release.ubi | └── Micron_7500_E3MQ005_release.ubi | ||
| - | ``` | + | </code> |
| When adding support for a new firmware release, create a new version directory instead of replacing the existing files. For example: | When adding support for a new firmware release, create a new version directory instead of replacing the existing files. For example: | ||
| - | ```text | + | <code> |
| 7450/ | 7450/ | ||
| └── E2MU400/ | └── E2MU400/ | ||
| └── Micron_7450_E2MU400_release.ubi | └── Micron_7450_E2MU400_release.ubi | ||
| - | ``` | + | </code> |
| - | + | ||
| - | ## Updating the firmware files | + | |
| - | + | ||
| - | Follow the existing **Managing packages in lab-extras** documentation for publishing new files to the lab-extras repository. | + | |
| - | + | ||
| - | *Link:* `docker-mirror:lab-extras` | + | |
| This page intentionally does not duplicate those instructions. | This page intentionally does not duplicate those instructions. | ||
| - | ## Updating the Ansible role | + | ===== Updating the Ansible role ===== |
| When a new firmware version is released: | When a new firmware version is released: | ||
| - | 1. Upload the firmware image to the appropriate directory in `lab-extras`. | + | 1. Upload the firmware image to the appropriate directory in lab-extras. |
| - | 2. Update the target firmware version in `roles/testnode/tasks/micron_nvme_firmware.yml`. | + | |
| + | 2. Update the target firmware version in roles/testnode/tasks/micron_nvme_firmware.yml. | ||
| 3. Update the firmware filename if necessary. | 3. Update the firmware filename if necessary. | ||
| + | |||
| 4. Verify on a trial node that the firmware is detected and upgraded successfully. | 4. Verify on a trial node that the firmware is detected and upgraded successfully. | ||
| - | ## Verifying firmware | + | ===== Verifying firmware ===== |
| Check the currently installed firmware: | Check the currently installed firmware: | ||
| - | ```bash | + | <code> |
| nvme list | nvme list | ||
| - | ``` | + | </code> |
| or | or | ||
| - | ```bash | + | <code> |
| nvme fw-log /dev/nvmeXn1 | nvme fw-log /dev/nvmeXn1 | ||
| - | ``` | + | </code> |
| Example: | Example: | ||
| - | ```text | + | <code> |
| Firmware Log for device:nvme0n1 | Firmware Log for device:nvme0n1 | ||
| frs1 : E2MU300 | frs1 : E2MU300 | ||
| - | ``` | + | </code> |
| or | or | ||
| - | ```text | + | <code> |
| Firmware Log for device:nvme0n1 | Firmware Log for device:nvme0n1 | ||
| frs1 : E3MQ005 | frs1 : E3MQ005 | ||
| - | ``` | + | </code> |
| - | ## Notes | + | ===== Notes ===== |
| * Slot 1 is read-only on supported Micron drives. | * Slot 1 is read-only on supported Micron drives. | ||
| + | |||
| * Firmware is committed to slot 2 using activation action 3. | * Firmware is committed to slot 2 using activation action 3. | ||
| + | |||
| * The Ansible role skips non-Micron NVMe devices automatically. | * The Ansible role skips non-Micron NVMe devices automatically. | ||