Данный документ описывает процедуру подключения USB-токена к виртуальной машине на которой будет запускаться Offline ELM. Инструкция актуальна для oVirt версии 4.5.7-0
Для проброса USB-токена в oVirt необходимо выполнить следующие действия:

1. Подключить USB-токен в свободный USB-порт сервера, на котором установлен oVirt Engine.

2. Открыть браузер и войти в Web-интерфейс oVirt Engine. Перейти к списку виртуальных машин в Compute → Virtual Machines.

Рисунок 1 - Начальный экран


3. В списке виртуальных машин найти нужную машину, на которой будет запускаться Offline ELM, и открыть её настройки, кликнув по имени в колонке Name (убедитесь, что виртуальная машина выключена перед добавлением нового USB-устройства).


Рисунок 2 -  Список виртуальных машин


4. Добавление USB-устройства:

4.1 Перейти во вкладку Host Devices и нажать на кнопку Add device

Рисунок 3 - Вкладка Host Devices в панели свойств виртуальной машины


4.2 В открывшемся окне выбрать в поле Pinned Host хост виртуальной машины, в поле Capability — usb_device. Далее необходимо найти USB-токен в появившемся списке, выбрать и перенесите его в таблицу Host Devices to be attached с помощью стрелки, подтвердить добавление нажатием OK

Отображение USB-токена в интерфейсе oVirt может происходить с задержкой после его физического подключения к серверу.

Рисунок 4 - Окно добавления USB-устройства


Рисунок 5 - Подключенный USB-токен к виртуальной машине


5. Для проверки, что USB-токен успешно проброшен в контейнер: 

5.1 Выполнить команду lsusb, чтобы убедиться, что виртуальная машина обнаружила устройство

user@elm:~$ lsusb | grep Rutoken
Bus 002 Device 002: ID 0a89:0030 Aktiv Rutoken ECP

5.2 Перейти в каталог с файлом docker-compose.yml (где запущен Offline ELM) и выполнить команду:

user@elm:~/elm-offline$ ls
config  data  db  docker-compose-cli.yml  docker-compose.yml  dumper.sh  install  log  share

user@elm:~/elm-offline$ docker exec -it elmi-offline-server bash -c "pkcs11-tool -L --module /usr/share/elmi-offline/server/lib/librtpkcs11ecp.so | egrep 'token label[[:space:]]*: ELM token'"
  token label        : ELM token-PQ9smC4V