OEC-Hardware — это инструмент для тестирования совместимости оборудования, предоставляемый сообществом openEuler. Он проверяет совместимость серверов, карт и openEuler, но только в отношении основных функций.
Производители оборудования могут использовать OEC-Hardware для проверки совместимости своих продуктов с openEuler. Сообщество предоставляет процесс тестирования на совместимость. Производители оборудования могут обратиться к процессу тестирования на совместимость для адаптации своих продуктов к openEuler.
Для продуктов оборудования, протестированных с помощью инструмента OEC-Hardware, openEuler опубликует список совместимости на своём официальном веб-сайте, а производители оборудования опубликуют информацию о совместимости на своих официальных веб-сайтах.
Если серверы, которые необходимо проверить, используют одну и ту же материнскую плату и относятся к одному поколению процессоров, можно использовать заключение о совместимости по наследованию.
Обычно модель платы определяется на основе квадруплета.
Информация о квадруплете:
vendorID: идентификатор производителя чипа.
deviceID: идентификатор модели чипа.
svID: идентификатор поставщика карты.
ssID: идентификатор модели карты.
Как просмотреть квадруплет:
- Просмотреть на iBMC.
- Выполнить команду **lspci -nvv** в системе.
Можно ли использовать наследование заключения о совместимости платы, определяется следующими пунктами:
Заключение о совместимости не может быть унаследовано.
Заключение о совместимости не может быть унаследованным, поскольку модели чипов одинаковы, но поставщики карт разные.
Различные платы, изготовленные из одного и того же чипа от одного и того же поставщика, могут наследовать заключение о совместимости.
Платы одной серии, изготовленные из одного чипа от одного поставщика, могут унаследовать заключение о совместимости. Поставщик может оценить типичные платы серии.
Поставщики плат могут обратиться к списку совместимости сообщества и к платам, которые адаптируются. Если совместимость... Использование
Необходимые условия:
Файл /usr/share/oech/kernelrelease.json
содержит список всех поддерживаемых версий системы. Чтобы проверить, поддерживается ли текущая версия ядра системой, выполните команду uname -a
.
По умолчанию фреймворк сканирует все сетевые интерфейсы (NIC). Перед тестированием NIC отфильтруйте проверяемые сетевые интерфейсы. Тестовый порт должен быть подключён и находиться в состоянии «вверх». Рекомендуется не использовать служебный сетевой порт для выполнения теста NIC.
Шаблон файла конфигурации для аппаратных тестов находится по адресу /usr/share/oech/lib/config/test_config.yaml
. Прежде чем выполнять тесты fc
, raid
, disk
, ethernet
и infiniband
, настройте их в соответствии с реальной средой. Для других аппаратных тестов настройка не требуется. Если IP-адрес автоматически добавляется инструментом во время теста NIC, после завершения теста необходимо вручную удалить IP-адрес сервера из соображений безопасности.
Порядок действий:
Запустите тестовый фреймворк на клиенте. Выполните команду oech
на клиенте и выберите категорию теста, которая может быть compatible
или virtualization
. Введите номер категории, то есть введите 1, чтобы выбрать категорию совместимости.
# oech
Please select test category.
No. category
1 compatible
2 virtualization
Please select test category No:1
Установите Compatibility Test ID
, Product URL
и Compatibility Test Server
. Рекомендуется установить Compatibility Test ID
как идентификатор проблемы на Gitee (обратите внимание, что идентификатор не может содержать специальные символы), Product URL
— как URL продукта, а Compatibility Test Server
— как доменное имя или IP-адрес сервера, к которому клиент может получить прямой доступ (сервер используется для отображения отчётов о тестах и выполнения сетевых тестов). Номер порта Nginx по умолчанию на сервере равен 80. Если после установки сервера номер порта не был изменён, установите Compatibility Test Server
как служебный IP-адрес сервера. В противном случае установите его как IP-адрес и номер порта, например, 172.167.145.2:90
.
The openEuler Hardware Compatibility Test Suite
Please provide your Compatibility Test ID:
Please provide your Product URL:
Please provide the Compatibility Test Server (Hostname or Ipaddr):
Отображается страница выбора тестового набора. На странице выбора фреймворк автоматически сканирует оборудование и выбирает набор тестов, который можно протестировать в текущей среде. Вы можете ввести edit
, чтобы перейти на страницу выбора теста. 07.714.04.00-rc1 SAS3408 SR150-M
10 да NotRun gpu 0000:03:00.0 amdgpu Navi Radeon PRO W6800
11 да NotRun ipmi
12 да NotRun kabi
13 да NotRun kdump
14 да NotRun memory
15 да NotRun perf
16 да NotRun system
17 да NotRun usb
18 да NotRun watchdog
Ready to begin testing? (run|edit|quit)
Выберите тестовый набор. Опции all
и none
используются для выбора всех тестов и отмены всех соответственно. Обязательный тест system
не может быть отменён. После успешного выполнения теста несколько раз статус system
меняется на Force
. Введите число, чтобы выбрать тестовый набор. Можно ввести только одно число за один раз. После того как вы нажмёте Enter, no
изменится на yes
, указывая, что тестовый набор выбран.
Выберите тесты для запуска:
No. Run-Now? status Class Device driverName driverVersion chipModel boardModel
1 нет NotRun acpi
2 нет NotRun clock
3 нет NotRun cpufreq
4 нет NotRun disk
5 да NotRun ethernet enp3s0 hinic 2.3.2.17 Hi1822 SP580
6 нет NotRun ethernet enp4s0 hinic 2.3.2.17 Hi1822 SP580
7 нет NotRun ethernet enp125s0f0 hns3 HNS GE/10GE/25GE TM210/TM280
8 нет NotRun ethernet enp125s0f1 hns3 HNS GE/10GE/25GE TM210/TM280
9 да NotRun raid 0000:04:00.0 megaraid_sas 07.714.04.00-rc1 SAS3408 SR150-M
10 да NotRun gpu 0000:03:00.0 amdgpu Navi Radeon PRO W6800
11 да NotRun ipmi
12 да NotRun kabi
13 да NotRun kdump
14 да NotRun memory
15 да NotRun perf
16 да NotRun system
17 да NotRun usb
18 да NotRun watchdog
Selection (<number>|all|none|quit|run):
Запустите тесты. После выбора тестового набора введите run
, чтобы запустить тесты.
Загрузите результат теста. После завершения теста вы можете загрузить результат теста на сервер для отображения результата и анализа журнала. Если загрузка не удалась, проверьте конфигурацию сети и загрузите результат теста снова.
...
------------- Summary -------------
ethernet-enp3s0 PASS
system **USB**
Извлекает и устанавливает USB-устройство, чтобы проверить, может ли USB-порт быть определён правильно.
ACPI
Использует acpidump для чтения данных.
FC
Использует FIO для выполнения последовательного/случайного чтения/записи тестов на сервере хранения FC.
RAID
Использует FIO для выполнения последовательных/случайных тестов чтения/записи на жёстких дисках в массиве RAID.
Keycard
Проверяет, можно ли использовать ключ-карту нормально.
GPU
NVIDIA GPU:
AMD GPU:
Примечание: тесты для AMD GPU зависят от GUI. Перед тестами разверните и переключитесь на GUI.
Infiniband
Примечание: перед проведением теста пропускной способности сети убедитесь, что скорость серверного NIC больше или равна скорости клиентского NIC и что тестовая сеть не подвержена влиянию другого трафика.
KABI
Проверяет, изменились ли изменения интерфейса прикладного двоичного интерфейса ядра (kABI) по сравнению со стандартной системой.
VGPU
SPDK
Использует spdk для выполнения последовательного/случайного чтения/записи тестов на SSD.
DPDK
SRPM
Проверяет, соответствует ли исходный RPM (SRPM) текущей версии ОС минимальным требованиям к выбору базового пакета (поддерживаются версии позже 24.03 LTS).
Существующие тестовые случаи виртуализации должны быть обновлены.
Форкните репозиторий исходного кода oec-hardware в личное пространство.
Клонируйте исходный код.
git clone https://gitee.com/${gitee_id}/oec-hardware.git
cd oec-hardware
make && make install
dnf install -y rpm-build
cd oec-hardware
tar jcvf oec-hardware-1.0.0.tar.bz2 *
mkdir -p /root/rpmbuild/SOURCES
cp oec-hardware-1.0.0.tar.bz2 /root/rpmbuild/SOURCES/
rpmbuild -ba oec-hardware.spec
Если категория нового теста уже существует в каталоге tests/
, добавьте тест в категорию. Имя каталога теста должно совпадать с именем функции входа. Например, файл ввода теста ACPI — это acpi.py, и фреймворк Test
наследуется для реализации класса теста. В противном случае добавьте каталог категории и затем добавьте тест в категорию.
Важные переменные-члены или функции в классе теста описаны следующим образом:
test
: основной поток теста. Она обязательна.setup
: настройка среды перед тестом. Используется для инициализации информации об устройстве, которое тестируется. Сетевой тест можно использовать в качестве ссылки.teardown
: очистка среды после завершения теста. Гарантирует, что среда может быть правильно восстановлена независимо от того, успешен тест или нет. Сетевой тест можно использовать в качестве справки.requirements
: массив для хранения имён. Пакеты RPM, от которых зависит тест, автоматически устанавливаются фреймворком перед началом теста.reboot
и rebootup
: если reboot = True
, тестовый набор или тестовый случай перезагрузит систему и продолжит выполнение функции, указанной в rebootup
, после перезагрузки. В качестве примера можно использовать kdump-тест.Оставляйте вопросы в этом репозитории или отправьте электронное письмо по адресу oecompatibility@openeuler.org.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )