Table of Contents

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. rsync -azvP --rsync-path='sudo rsync' package.rpm gitbuilder.ceph.com:/home/apt-mirror/mirror/lab-extras/centos7/x86_64/
  3. ssh gitbuilder.ceph.com
  4. createrepo --update /home/apt-mirror/mirror/lab-extras/centos7/

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.