OmniLab ATS — это инструмент тестирования, который разработчики и инженеры по тестированию Android могут использовать для запуска стандартных наборов тестов Android, таких как Android Compatibility Test Suite (CTS) . Этот инструмент работает как веб-интерфейс для различных тестовых фреймворков, таких как Trade Federation (TF) и Google Mobly , позволяя запускать CTS и многопользовательские тесты на наборе тестовых устройств с минимальной настройкой, а также устанавливать расписание для непрерывного запуска тестов.
Настройка OmniLab ATS
В этом разделе объясняется, как установить и настроить OmniLab ATS.
OmniLab ATS использует исходный код из следующих мест:
- Исходный код OmniLab ATS
- Исходный код кластера TradeFed
Установить OmniLab ATS
Соблюдайте все требования к аппаратному и программному обеспечению для проводимых вами тестов.
Требования для CTS можно найти на source.android.com .
Для OmniLab ATS нет дополнительных требований к оборудованию, но мы рекомендуем использовать требования к хосту CTS в качестве отправной точки.
Существует два способа установки OmniLab ATS:
- Запустите программу установки .
- Установите его вручную , что потребует установки множества программ и ресурсов.
Установить с помощью программы-установщика
В Ubuntu 20.04+ программа-установщик устанавливает и настраивает все программы и ресурсы, необходимые для запуска OmniLab ATS.
Чтобы использовать программу установки:
Запустите программу установки:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
Запустите
mtt version
, чтобы проверить установленную версию OmniLab ATS CLI.
Установить вручную
Установить Докер
Следуйте инструкциям по установке Docker Community Edition (CE) на ваш компьютер Linux.
Следуйте инструкциям после установки, чтобы управлять Docker как пользователь без прав root .
Возможно, вам придется перезапустить окно терминала или выйти из системы и снова войти в нее, чтобы изменения разрешений вступили в силу.
Установить Python 3
OmniLab ATS CLI проверен на совместимость с версиями Python 3.7–3.11.
Для Ubuntu 16.04 или более ранней версии сначала добавьте репозиторий для Python 3, выполнив одно из следующих действий:
Выполните эту команду:
sudo add-apt-repository ppa:deadsnakes/ppa
Собрать и установить репозиторий из исходного кода .
Чтобы установить Python 3, выполните следующие команды:
sudo apt-get update
sudo apt install python3 python3-distutils
Чтобы установить конкретную версию Python 3 (например, 3.10), выполните следующие команды:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
Получить OmniLab ATS CLI
Загрузите пакет интерфейса командной строки (CLI) здесь.
Запустить OmniLab ATS
Запустите OmniLab ATS с помощью следующей команды:
mtt start
При первом запуске пользовательского интерфейса его появление может занять несколько минут. Интерфейс командной строки (CLI) отображает URL-адрес для доступа к пользовательскому интерфейсу в браузере. По умолчанию URL-адрес — localhost:8000
. При необходимости можно изменить порт по умолчанию при запуске с помощью флага --port
.
Если доступна более новая версия, вы можете обновить её до текущей. Актуальные версии можно найти в примечаниях к выпуску .
Чтобы обновиться до текущей версии, выполните:
mtt start --force_update
Чтобы остановить приложение, выполните:
mtt stop
Чтобы просмотреть список других команд, используйте:
mtt --help
Резервное копирование и восстановление базы данных
Чтобы создать резервную копию базы данных OmniLab ATS, остановите приложение и выполните следующую команду, которая создаст резервную копию текущей базы данных в файле TAR с именем mtt-backup.tar
в вашем домашнем каталоге:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
Для восстановления выполните следующую команду перед запуском приложения:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
Мастер настройки
После первой установки и запуска OmniLab ATS мастер настройки проведёт вас через несколько шагов, чтобы помочь настроить инструмент под вашу среду. Любые внесенные здесь изменения можно будет позже изменить на странице настроек.
Восстановить резервную копию конфигурации
Если у вас есть резервная копия файла конфигурации с другого хоста OmniLab ATS, вы можете загрузить файл, чтобы скопировать любые измененные конфигурации с этого хоста, нажав кнопку « Загрузить файл» .
Рисунок 1. Восстановление резервной копии конфигурации.
Установить учетную запись службы по умолчанию
Вы можете настроить учётную запись сервиса , которую OmniLab ATS будет использовать по умолчанию для доступа к вашим ресурсам (например, Google Cloud Storage, Google Drive). Чтобы аутентифицировать учётную запись сервиса, нажмите «Загрузить ключ учётной записи сервиса» и выберите JSON-файл ключа вашей учётной записи сервиса.
Рисунок 2. Настройка учетной записи службы.
После успешной аутентификации учётной записи службы адрес электронной почты учётной записи появится в правом верхнем углу страницы. Чтобы изменить учётную запись службы, нажмите на её имя, удалите текущую учётную запись по умолчанию и загрузите новый ключ учётной записи службы.
Рисунок 3. Изменение учетной записи службы.
Импорт наборов конфигураций
Набор конфигураций — это набор конфигураций для запуска тестовых наборов, включая связанные действия устройств и каналы сборки. Наборы конфигураций размещаются в определённом контейнере Google Cloud Storage (GCS). После аутентификации канала сборки GCS с помощью вашей учётной записи Google вы увидите список всех доступных вам наборов конфигураций.
Выберите любые наборы конфигураций, которые вы хотите добавить на хост тестовой станции, и нажмите «Импортировать выбранное» .
Рисунок 4. Импорт набора конфигураций.
Включить настройки Wi-Fi
Для некоторых тестов CTS требуется подключение устройства к точке доступа Wi-Fi. Чтобы выбрать сеть Wi-Fi, введите идентификатор SSID и (необязательно) ключ Wi-Fi PSK .
Рисунок 5. Настройки точки доступа Wi-Fi.
После завершения работы мастера настройки страница перезагрузится с применением новых настроек.
Подключить устройство
Для использования устройства для тестирования необходимо включить отладку по USB. Чтобы включить отладку:
Следуйте инструкциям в разделе Включение параметров разработчика и отладки .
Если вы планируете использовать тестовые сборки Android с предустановленными пользовательскими ключами ADB, поместите пользовательские файлы
.adb_key
в каталог~/.android/
.Файлы автоматически загружаются и передаются в ADB для автоматического включения отладки по USB после прошивки устройства для устройств, на которых работают эти сборки.
Подключите устройство к хост-компьютеру с помощью USB.
Устройство появится на вкладке «Устройства» OmniLab ATS в течение одной минуты после обновления веб-интерфейса. На этой вкладке также можно просмотреть состояние устройств.
Рисунок 6. Подключение устройства.
Различные состояния устройства:
- Доступно — устройство подключено и готово к выполнению теста.
- Выделено — устройство подключено и выполняет тест. Каждое устройство может выполнять только один тест одновременно, поэтому перед запуском нового теста устройство должно завершить текущий тест.
Провести тест
Выберите тест
OmniLab ATS поставляется с набором предустановленных конфигураций CTS. Чтобы запустить один из этих тестов, перейдите на вкладку «Наборы тестов» и нажмите «Выполнить тест» для выбранного теста.
Рисунок 7. Выбор теста.
Чтобы изменить или добавить новые тесты, см. раздел Добавление тестов .
Настроить тестовый запуск
Отредактируйте параметры для данного конкретного тестового запуска. Большинство параметров уже заполнены значениями, указанными в выбранной конфигурации теста.
Этот шаг можно выполнить, используя значения по умолчанию, но вы можете изменить любой из параметров, например, Max Retry и Command , в соответствии со своими потребностями.
Рисунок 8. Настройка тестового запуска.
Параметры тестового запуска:
- Имя — имя набора тестов, который вы хотите запустить.
- Количество запусков — количество раз, которое этот тестовый запуск должен быть выполнен по расписанию. Планирование тестовых запусков осуществляется с помощью Trade Federation , которая позволяет выполнять до 20 тестовых запусков параллельно при наличии ресурсов.
- Max Retry — максимальное количество повторных попыток запуска теста, если хотя бы один тест дал сбой. Обычно это значение составляет 4–6 повторных попыток для полного запуска CTS, чтобы избежать нестабильных тестов.
- Время ожидания в очереди — если тестовый запуск находится в состоянии «В очереди» слишком долго, он автоматически отменяется. Укажите здесь время ожидания перед отменой. Значение по умолчанию — 24 часа.
Команда — команда для запуска набора тестов. Здесь можно ввести дополнительные аргументы командной строки. Например, для запуска определённого модуля в CTS 8.1 выполните:
cts-suite -m ShortModuleName
Команда «Повторить» — команда для повторного запуска набора тестов. Здесь можно добавить дополнительные аргументы командной строки. Например, чтобы повторить запуск только определённого модуля в CTS 8.1, используйте:
cts --retry 0 -m ShortModuleName
Аргументы повтора могут отличаться от доступных в исходной команде, поэтому проверьте поддерживаемые параметры на официальном сайте для выбранного набора тестов.
Предыдущий тестовый запуск . Если вы хотите повторно запустить предыдущий тестовый запуск:
Локально — если запуск был запущен на текущем хосте, введите идентификатор тестового запуска, который вы видите при просмотре сведений о тестовом запуске.
Рисунок 9. Локальный предыдущий тестовый запуск.
Удаленно. Если запуск был запущен на другом хосте, загрузите файл с результатами теста, выбрав Удаленно , нажав Загрузить файл с результатами теста и выбрав файл из локального хранилища.
Рисунок 10. Удаленный предыдущий тестовый запуск.
Выберите устройства
Установите флажки, чтобы выбрать устройства, которые будут выделены для запуска набора тестов. Количество шардов должно автоматически измениться в соответствии с количеством выбранных устройств.
Рисунок 11. Выбор устройств.
Чтобы выбрать устройства по атрибутам, отличным от серийных номеров, можно вручную ввести «Характеристики устройства». Например, чтобы выбрать 3 устройства с названием продукта «bramble», введите следующее:
product:bramble;product:bramble;product:bramble
Поддерживаемые атрибуты:
- build_id
- device_serial
- тип_устройства
- имя хоста
- продукт
- вариант_продукта
- sim_state
Для выполнения тестового запуска все выбранные устройства должны находиться в состоянии «Доступно» . После выполнения тестового запуска все устройства переходят в состояние «Выделено» . Тестовый запуск находится в состоянии «В очереди», ожидая, когда устройства станут доступны.
Добавить действия устройства
Действия устройства — это скрипты, которые можно выполнять перед каждым запуском теста. Некоторые действия устройства, например, перепрошивка и перезагрузка, уже настроены. Чтобы создать новые действия устройства, см. раздел Создание нового действия устройства .
Рисунок 12. Действия устройства.
Чтобы добавить действие устройства в тестовый запуск, нажмите «Добавить новое действие» , установите флажки для добавляемых действий и нажмите «Добавить действие(я)» . Действия устройства выполняются последовательно. Вы можете изменить порядок действий, перетаскивая их.
Рисунок 13. Изменение порядка действий.
Установить тестовые ресурсы
Тестовые ресурсы — это файлы, необходимые для выполнения тестового запуска. Например, для запуска CTS требуется файл android-cts*.zip
, а для прошивки устройства — образ сборки.
URL-адрес для загрузки ZIP-файла набора тестов должен по умолчанию соответствовать ссылкам Google Диска, предоставленным партнёрам. Вы можете выбрать другой файл, нажав кнопку «Обзор» . Во всплывающем окне можно ввести ссылку для скачивания файла, использовать файл из аутентифицированного канала сборки или загрузить файл из локального хранилища.
Рисунок 14. Тестовые ресурсы.
Ниже представлено всплывающее окно для выбора тестового ресурса по URL-адресу. Вы можете ввести URL-адрес для скачивания и нажать кнопку «Выбрать» для подтверждения выбора.
Рисунок 15. Селектор тестовых ресурсов — веб-URL.
Если вы загрузили ресурсы в Google Grive, Google Cloud Storage (GCS) или другие каналы, вы также можете перейти на вкладку нужного канала и выбрать ресурсы там. Вот пример выбора ресурса из Google Диска.
Рисунок 16. Тестовый селектор ресурсов — Google Диск.
Помимо выбора файлов, в поле «Имя файла» также поддерживаются подстановочные знаки. Документацию можно найти здесь .
Рисунок 17. Селектор тестовых ресурсов — поддержка шаблонов подстановочных знаков.
Вы также можете выбрать файл из локального хранилища файлов OmniLab ATS. Вы можете загрузить файлы в это хранилище или напрямую использовать локальные файлы и каталоги .
Рисунок 18. Селектор тестовых ресурсов — локальное хранилище файлов.
Добавить конфигурации повторного запуска
Вы можете запланировать повторные запуски, которые начнутся после завершения основного запуска, и загрузить его результаты, но можете использовать другие устройства, действия или ресурсы.
Рисунок 19. Добавление конфигураций повторного запуска.
Начать тестовый запуск
После ввода необходимой для запуска теста информации нажмите кнопку «Начать тест» . Если вся информация верна, тест запустится, и вы будете перенаправлены на страницу для просмотра подробностей и хода выполнения теста.
Рисунок 20. Запуск тестового прогона.
Создайте план тестирования
Планы тестирования используются для создания тестовых запусков по периодическому расписанию. Например, запуск CTS 9.0 каждый день в 17:00. Чтобы создать новый план тестирования, нажмите «Создать новый план тестирования» .
Рисунок 21. Создание плана тестирования.
Настроить план тестирования
Введите название плана тестирования и любые метки, которые вы хотите добавить. Затем выберите расписание для использования.
- Вручную . План тестирования создает тестовые прогоны только тогда, когда пользователь нажимает кнопку «Запустить план тестирования» на странице списка планов тестирования.
- Периодический — план тестирования автоматически планирует тестовые запуски по выбранному периодическому расписанию. Например, можно запланировать тестовый запуск каждый день в 17:00.
- Пользовательский — план тестирования автоматически планирует тестовые запуски на основе заданного выражения cron . Например, чтобы запланировать тестовый запуск каждый день в 17:00, выражение cron будет таким:
0 17 * * *
.
Рисунок 22. Настройка плана тестирования.
Добавить тестовые наборы
Добавьте наборы тестов, которые вы хотите запланировать в плане тестирования, нажав кнопку «+ Добавить конфигурацию тестового запуска» . Выберите набор тестов в раскрывающемся списке «Имя» и нажмите кнопку «Следующий шаг» . Затем выберите устройства, на которых вы хотите запустить тест, и нажмите кнопку «Добавить конфигурацию» . Вы можете добавить несколько конфигураций для каждого плана тестирования.
Рисунок 23. Настройка тестового запуска.
Добавить действия устройства
Добавьте действия устройства, которые должны выполняться перед каждым запуском теста. Подробнее см. в разделе Добавление действий устройства .
Рисунок 24. Добавление действий устройства.
Установить тестовые ресурсы
Добавление тестовых ресурсов в планы тестирования аналогично добавлению их в отдельные тестовые запуски. Подробнее см. в разделе «Настройка тестовых ресурсов» .
Рисунок 25. Настройка тестовых ресурсов.
Посмотреть тестовые прогоны
Список тестовых запусков
Список запланированных тестовых запусков можно посмотреть на странице «Тестовые запуски». Нажмите « Просмотр» , чтобы увидеть более подробную информацию о тестовом запуске.
Вы также можете отфильтровать список, введя строку в строку фильтра и нажав клавишу Enter . Можно использовать несколько фильтров, разделяя их запятыми. Фильтр возвращает все строки, содержащие точный текст (без совпадений подстрок) в любом столбце, за исключением столбцов «Статус» и «Создано» .
Пустой фильтр возвращает все строки. В настоящее время нет возможности отфильтровать строки с пустыми значениями.
Рисунок 26. Список тестовых запусков.
Подробности тестового запуска
Здесь вы можете просмотреть подробную информацию о тестовом запуске, такую как статус, журналы и результаты.
Рисунок 27. Подробности тестового запуска.
Статус тестового запуска
Ход выполнения теста отображается в разделе «Статус». Если есть сопутствующее сообщение, например, ход загрузки, причина отмены или сообщение об ошибке, оно также отображается здесь.
Рисунок 28. Статус тестового запуска.
Состояния тестового прогона:
- Ожидание — Идет загрузка необходимых ресурсов.
- В очереди — тест готов к запуску, как только устройство станет доступно.
- Выполняется — тест выполняется на выделенном устройстве.
- Завершено — Тест завершен, результаты сообщены.
- Отменено — тест был отменен пользователем или истекло время ожидания при попытке найти доступные устройства.
- Ошибка . Произошла ошибка, помешавшая выполнению теста.
Отменить тестовый запуск
Если тестовый запуск не завершён, вы можете отменить его, нажав «Отмена» , а затем « Да» в диалоговом окне подтверждения. Тестовые запуски также автоматически отменяются, если они находятся в состоянии «В очереди» дольше, чем указано в поле queue_timeout_seconds . Отмена тестового запуска в состоянии « Выполняется» может занять несколько минут.
Рисунок 29. Отмена тестового запуска.
Результаты тестового прогона
После завершения тестового прогона результаты собираются и отображаются. Вы можете просмотреть дополнительную информацию, нажав на стрелку для каждого прогона. Нажмите «Просмотреть выходные файлы» , чтобы увидеть собранные тестовые артефакты, такие как test_result.xml
и test_result_failures.html
.
Рисунок 30. Результаты тестового прогона.
Вы можете просматривать текущие журналы хоста и Tradefed на вкладке «Журналы».
Рисунок 31. Вкладка «Журналы».
Результаты по отдельным модулям находятся на вкладке «Результаты теста».
Рисунок 32. Вкладка «Результаты теста».
Вы можете загрузить файлы, используемые в качестве тестовых ресурсов, нажав кнопку Открыть на вкладке Тестовые ресурсы.
Рисунок 33. Вкладка «Ресурсы теста».
Чтобы просмотреть подробную информацию о тестовом запуске, например create_time , перейдите на вкладку Config.
Рисунок 34. Вкладка «Конфигурация».
Расширенные функции
Управление файлами конфигурации
OmniLab ATS использует файлы конфигурации, написанные на YAML , для загрузки предопределённых параметров, таких как тесты, каналы сборки и действия устройств. Вот пример файла конфигурации:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
Настроив экземпляр OmniLab ATS, вы можете поделиться своей конфигурацией с другими пользователями, экспортировав её в файл. Для этого перейдите на страницу настроек и нажмите кнопку «Экспорт» в правом верхнем углу.
Рисунок 35. Управление файлами конфигурации.
После загрузки файла конфигурации поделитесь им с другими пользователями. Они могут добавить файл конфигурации в свой экземпляр OmniLab ATS, нажав кнопку «Импорт» и выбрав файл конфигурации.
Создать новое действие устройства
Действия на устройстве используются для автоматизации процесса настройки устройства. Действия — это скрипты, выполняемые на каждом устройстве, на котором проводится тест, перед каждым запуском теста, в том числе перед повторными попытками. Чтобы просмотреть список доступных действий на устройстве, перейдите на страницу настроек и выберите вкладку «Действия на устройстве». Некоторые действия на устройстве уже настроены, например, перезагрузка и перепрошивка.
Рисунок 36. Вкладка «Действия устройства».
Добавить новое действие устройства
Нажмите Новое действие устройства .
Рисунок 37. Кнопка действия нового устройства.
Введите имя и описание.
Рисунок 38. Название действия устройства.
Нажмите «Добавить целевой подготовитель» .
Введите полное имя класса Trade Federation Target Preparer, например,
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.Рисунок 39. Добавление целевого препаратора.
Список доступных средств подготовки целей можно найти в справочнике com.android.tradefed.targetprep .
Рисунок 40. Список подготовителей целей.
Добавьте любые параметры для использования с подготовителем цели. Чтобы просмотреть доступные параметры, проверьте targetprep на наличие исходного кода для каждого подготовителя цели в AOSP:
Рисунок 41. Пример варианта действия.
Чтобы добавить опцию, нажмите « Добавить опцию целевого подготовительного элемента» и введите необходимые значения.
Рисунок 42. Пример команды действия.
Определите тестовые ресурсы, необходимые для выполнения действия устройства, например, для сборки образов для прошивки. Чтобы добавить определение ресурса, нажмите «Добавить тестовый ресурс» и заполните необходимые поля. Если вы знаете, где находятся ваши файлы, вы можете указать URL-адрес для загрузки по умолчанию, нажав «Обзор» . Если целевые подготовители принимают каталог в качестве тестового ресурса, выберите «Распаковать» . Затем укажите относительный целевой каталог во временном рабочем каталоге и имена файлов для распаковки. Если имена файлов не указаны, все файлы распаковываются из тестового ресурса.
Рисунок 43. Ресурсы теста действий.
Нажмите Обновить .
Рисунок 44. Действие «Сохранить изменения».
Управление тестами
Редактировать тест
Чтобы отредактировать сохранённый тест, перейдите на страницу «Тесты» и нажмите «Изменить» в строке теста, который вы хотите изменить. После изменения конфигурации теста нажмите «Обновить» .
Рисунок 45. Редактирование теста.
Добавить новый тест
Чтобы добавить новый тест, перейдите на страницу «Тесты» и нажмите «Создать новый тест» . Введите необходимую информацию и нажмите «Создать» .
Рисунок 46. Создание теста.
Рисунок 47. Копирование теста.
Экспорт конфигураций хоста
После настройки хоста вы можете экспортировать его конфигурации в файл. Вы можете загрузить этот файл на другие хосты, чтобы скопировать сохранённые конфигурации.
Чтобы экспортировать конфигурации хоста, перейдите на страницу настроек и нажмите «Экспорт» в правом верхнем углу.
Рисунок 48. Экспорт конфигурации хоста.
Чтобы импортировать файл конфигурации хоста, перейдите на страницу настроек и нажмите «Импорт» в правом верхнем углу.
Рисунок 49. Импорт конфигурации хоста.
Использовать локальные файлы и каталоги
Начиная с версии R11, файлы в каталоге $HOME/.ats_storage
автоматически доступны в OmniLab ATS. Скопируйте или переместите файл в этот каталог, и вы сможете выбрать его на вкладке «Локальный файл» при планировании тестового запуска.
cp /path/to/file $HOME/.ats_storage
Рисунок 50. Выбор файла из каталога $HOME/.ats_storage
.
С помощью флага --mount_local_path
можно монтировать дополнительные каталоги в локальное хранилище файлов.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
Рисунок 51. Дополнительные каталоги, смонтированные в локальном файловом хранилище.
Включить многохостовый режим
В режиме Multi-host пользователи могут использовать один хост-контроллер ATS для управления устройствами и тестами на нескольких рабочих хостах ATS.
Рисунок 52. Архитектура многохостового режима.
Для запуска контроллера ATS используйте следующую команду:
mtt start --operation_mode=ON_PREMISE
Проверьте, доступен ли контроллер по адресу
http://${CONTROLLER_HOSTNAME}:8000
.Для запуска воркеров используйте следующую команду:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
Если ваша сеть не позволяет хостам взаимодействовать друг с другом, вам необходимо следовать более сложным инструкциям по настройке, приведенным ниже на ATS Worker.
Подключите два хоста через SSH-туннели. Выберите порты для основного и файлового серверов, например, 9000 и 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
Настройте и запустите ATS.
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
Очиститель файлов
Очистка файлов — это cron-задание, которое запускается каждый час для очистки файлов на основе пользовательских настроек. ATS предлагает две конфигурации по умолчанию для архивации результатов тестовых запусков и удаления временных файлов. В этом руководстве объясняется, как настроить политики и конфигурации для эффективного управления файлами.
Политики
Политика определяет операцию, которую необходимо выполнить над файлами или каталогами, а также критерии выбора целей. Доступные операции представлены в таблице:
Тип операции | Параметры |
---|---|
ARCHIVE | remove_file : Если true , удалить файл после архивации. |
DELETE |
Критерии основаны на атрибутах файла и системной информации. Доступные критерии представлены в таблице:
Тип критерия | Описание | Параметры |
---|---|---|
LAST_MODIFIED_TIME | Фильтрация файлов по дате и времени их последнего изменения. | ttl : Поддерживаются различные виды выражений времени, например, 10m , 2h , 7 days , 4w . Поддерживаемые форматы см. в pytimeparse . |
LAST_ACCESS_TIME | Фильтрация файлов по дате и времени последнего доступа. | То же, что и LAST_MODIFIED_TIME . |
NAME_MATCH | Фильтрация файлов по имени с использованием регулярных выражений. | pattern : регулярное выражение, например, [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip для сопоставления результатов zip-архивов. |
SYSTEM_AVAILABLE_SPACE | Запуск действий в зависимости от доступного пространства в системе. | threshold : активировать действие, когда доступное пространство становится ниже порогового значения, например, 200 (Б), 200KB , 200MB , 200GB , 2TB . |
Рисунок 53. Добавление новой политики очистки файлов.
Конфигурации
Конфигурация объединяет одну или несколько политик с определёнными каталогами. Файлы и каталоги в указанных каталогах обрабатываются на основе заданных политик. Политики применяются в том порядке, в котором они указаны в конфигурации.
Все целевые каталоги должны располагаться в каталоге /data
. Если в вашей конфигурации целевой каталог указан как logs
, он будет интерпретироваться как /data/logs
.
Рисунок 54. Редактирование конфигурации очистителя файлов.
Перезагрузить
Нажатие кнопки «Сбросить настройки» возвращает конфигурацию очистки файлов к состоянию по умолчанию. Это действие удаляет ВСЕ пользовательские элементы.
Рисунок 55. Сброс настроек очистки файлов.
Поддерживать
Отчеты об ошибках
Ваш вклад в OmniLab ATS помогает улучшить разработку инструмента, и нам важно ваше мнение! Подробности о последней версии см. в примечаниях к выпуску OmniLab ATS . Чтобы сообщить об ошибках или предложить свои решения, отправьте отчёт об ошибке . Партнеры должны сообщать об ошибках или предложениях через свои партнёрские каналы.