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
yum install $package --downloadonly --downloaddir=/rootSince 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.
This page describes how the Micron NVMe firmware used by trial nodes is managed.
| 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 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.
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.
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
* 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.