User Tools

Site Tools


Sidebar

General Lab Info (Mainly for Devs)

Hardware

Lab Infrastructure Services

Misc Admin Tasks
These are infrequently completed tasks that don't fit under any specific service

Production Services

OVH = OVH
RHEV = Sepia RHE instance
Baremetal = Host in Sepia lab

The Attic/Legacy Info

tasks:lab-extras

Managing packages in lab-extras

lab-extras is a repo of miscellaneous packages we want testnodes to have access to.

http://apt-mirror.front.sepia.ceph.com/lab-extras/

An example of a time we'd want to use this is when a package from CentOS 7.3 has a bugfix we want to test on CentOS 7.2. The RPM can be downloaded from the CentOS 7.2 CM (testing) repo, placed in the CentOS 7 lab-extras repo and installed. Example: http://tracker.ceph.com/issues/18094

How-To

  1. Obtain the RPM from a trusted source
    1. e.g., yum install $package --downloadonly --downloaddir=/root
    2. serve it from http: accessible from the POK lab (say, on soko04, with “python3 -m http.server”)
    3. read https://github.com/ceph/sepia-openshift/blob/main/apt-mirror/README.rst and follow the procedure there to update the repo in question

Installing the package

Since ceph-cm-ansible makes sure the lab-extras repo is present on all testnodes, a quick way to update a single package on all testnodes would be to run an ansible playbook. Here's an example from when nfs-utils was done.

## ansible-playbook thisplaybook.yml --limit="smithi*,mira*"

- hosts:
    - testnodes
  become: true
  tasks:

  - name: Upgrade nfs-utils to lab-extras version
    yum:
      name: nfs-utils
      state: latest
    when: ansible_distribution == 'CentOS'

This updated the version to nfs-utils-1.3.0-0.35.el7.x86_64. You can make sure no hosts got left behind by running ansible -a “rpm -qa nfs-utils” mira | grep -B 1 nfs-utils-1.3.0-0.33.el7.x86_64.

Micron NVMe Firmware Management

This page describes how the Micron NVMe firmware used by trial nodes is managed.

Supported firmware

Drive family Target firmware
Micron 7450 E2MU300
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.

Firmware directory layout

Firmware images are stored in the `lab-extras` repository using the following directory structure:

micron-nvme-firmware/
├── 7450/
│   └── E2MU300/
│       └── Micron_7450_E2MU300_release.ubi
└── 7500/
    └── E3MQ005/
        └── Micron_7500_E3MQ005_release.ubi

When adding support for a new firmware release, create a new version directory instead of replacing the existing files. For example:

7450/
└── E2MU400/
    └── Micron_7450_E2MU400_release.ubi

This page intentionally does not duplicate those instructions.

Updating the Ansible role

When a new firmware version is released:

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.

3. Update the firmware filename if necessary.

4. Verify on a trial node that the firmware is detected and upgraded successfully.

Verifying firmware

Check the currently installed firmware:

nvme list

or

nvme fw-log /dev/nvmeXn1

Example:

Firmware Log for device:nvme0n1
frs1 : E2MU300

or

Firmware Log for device:nvme0n1
frs1 : E3MQ005

Notes

* Slot 1 is read-only on supported Micron drives.

* Firmware is committed to slot 2 using activation action 3.

* The Ansible role skips non-Micron NVMe devices automatically.

tasks/lab-extras.txt · Last modified: 2026/07/16 15:43 by akraitman