1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-oec-hardware

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.en.md

Обзор

Введение в инструмент

OEC-Hardware — это инструмент для тестирования совместимости оборудования, предоставляемый сообществом openEuler. Он проверяет совместимость серверов, карт и openEuler, но только в отношении основных функций.

Производители оборудования могут использовать OEC-Hardware для проверки совместимости своих продуктов с openEuler. Сообщество предоставляет процесс тестирования на совместимость. Производители оборудования могут обратиться к процессу тестирования на совместимость для адаптации своих продуктов к openEuler.

Для продуктов оборудования, протестированных с помощью инструмента OEC-Hardware, openEuler опубликует список совместимости на своём официальном веб-сайте, а производители оборудования опубликуют информацию о совместимости на своих официальных веб-сайтах.

Совместимость, заключение, наследование

Сервер

Если серверы, которые необходимо проверить, используют одну и ту же материнскую плату и относятся к одному поколению процессоров, можно использовать заключение о совместимости по наследованию.

Плата

Обычно модель платы определяется на основе квадруплета.

Информация о квадруплете:
    vendorID: идентификатор производителя чипа.
    deviceID: идентификатор модели чипа.
    svID: идентификатор поставщика карты.
    ssID: идентификатор модели карты.

Как просмотреть квадруплет:
    - Просмотреть на iBMC.
    - Выполнить команду **lspci -nvv** в системе.

Можно ли использовать наследование заключения о совместимости платы, определяется следующими пунктами:

  1. Значения vendorID и deviceID отличаются.

Заключение о совместимости не может быть унаследовано.

  1. Значения vendor ID и deviceID одинаковы, но значения svID различаются.

Заключение о совместимости не может быть унаследованным, поскольку модели чипов одинаковы, но поставщики карт разные.

  1. Значения vendorID, deviceID и svID совпадают.

Различные платы, изготовленные из одного и того же чипа от одного и того же поставщика, могут наследовать заключение о совместимости.

  1. Значения vendorID, deviceID, svID и ssID совпадают.

Платы одной серии, изготовленные из одного чипа от одного поставщика, могут унаследовать заключение о совместимости. Поставщик может оценить типичные платы серии.

Поставщики плат могут обратиться к списку совместимости сообщества и к платам, которые адаптируются. Если совместимость... Использование

Необходимые условия:

  • Файл /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-адрес сервера из соображений безопасности.

Порядок действий:

  1. Запустите тестовый фреймворк на клиенте. Выполните команду oech на клиенте и выберите категорию теста, которая может быть compatible или virtualization. Введите номер категории, то есть введите 1, чтобы выбрать категорию совместимости.

    # oech
    Please select test category.
    No.  category
    1    compatible
    2    virtualization
    Please select test category No:1
  2. Установите 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):
  3. Отображается страница выбора тестового набора. На странице выбора фреймворк автоматически сканирует оборудование и выбирает набор тестов, который можно протестировать в текущей среде. Вы можете ввести 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)

  4. Выберите тестовый набор. Опции 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):
  5. Запустите тесты. После выбора тестового набора введите run, чтобы запустить тесты.

  6. Загрузите результат теста. После завершения теста вы можете загрузить результат теста на сервер для отображения результата и анализа журнала. Если загрузка не удалась, проверьте конфигурацию сети и загрузите результат теста снова.

    ...
    -------------  Summary  -------------
    ethernet-enp3s0                  PASS
    system **USB**
    

Извлекает и устанавливает USB-устройство, чтобы проверить, может ли USB-порт быть определён правильно.

ACPI

Использует acpidump для чтения данных.

FC

Использует FIO для выполнения последовательного/случайного чтения/записи тестов на сервере хранения FC.

RAID

Использует FIO для выполнения последовательных/случайных тестов чтения/записи на жёстких дисках в массиве RAID.

Keycard

Проверяет, можно ли использовать ключ-карту нормально.

GPU

  • NVIDIA GPU:

    • Использует gpu_burn для проведения стресс-теста на GPU.
    • Использует cuda_samples для тестирования основных функций GPU.
  • AMD GPU:

    • Использует radeontop для проверки использования GPU.
    • Использует glmark2 для просмотра информации о экране GPU.
    • Использует glmark2 для проведения стресс-теста на GPU.

Примечание: тесты для AMD GPU зависят от GUI. Перед тестами разверните и переключитесь на GUI.

Infiniband

  • Использует ethtool для получения информации NIC.
  • Использует perftest для тестирования задержки и пропускной способности сети IB.

Примечание: перед проведением теста пропускной способности сети убедитесь, что скорость серверного NIC больше или равна скорости клиентского NIC и что тестовая сеть не подвержена влиянию другого трафика.

KABI

Проверяет, изменились ли изменения интерфейса прикладного двоичного интерфейса ядра (kABI) по сравнению со стандартной системой.

VGPU

  • Тестирует основные функции сервера NVIDIA vGPU.
  • Развёртывает клиентскую виртуальную машину NVIDIA vGPU и тестирует установку драйвера и функции vGPU клиента.
  • Использует сервер vGPU для мониторинга работы клиента.

SPDK

Использует spdk для выполнения последовательного/случайного чтения/записи тестов на SSD.

DPDK

  • Использует dpdk-testpmd для соединения двух Ethernet-портов в режиме loopback. Если внешний генератор трафика недоступен, клиент использует режим Tx-only в качестве источника пакетов данных, а сервер использует режим Rx-only в качестве приёмника пакетов данных для тестирования скорости передачи портов.

SRPM

Проверяет, соответствует ли исходный RPM (SRPM) текущей версии ОС минимальным требованиям к выбору базового пакета (поддерживаются версии позже 24.03 LTS).

Виртуализация

Существующие тестовые случаи виртуализации должны быть обновлены.

Участие разработчика сообщества

Развёртывание среды

  1. Форкните репозиторий исходного кода oec-hardware в личное пространство.

  2. Клонируйте исходный код.

git clone https://gitee.com/${gitee_id}/oec-hardware.git
  1. Перейдите в соответствующий каталог и скомпилируйте и установите программное обеспечение.
cd oec-hardware
make && make install
  1. Упакуйте программное обеспечение. Версия 1.0.0 используется в качестве примера. Для получения подробной информации о упакованной версии см. файл спецификации.
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

Добавление тестов

  1. Если категория нового теста уже существует в каталоге tests/, добавьте тест в категорию. Имя каталога теста должно совпадать с именем функции входа. Например, файл ввода теста ACPI — это acpi.py, и фреймворк Test наследуется для реализации класса теста. В противном случае добавьте каталог категории и затем добавьте тест в категорию.

  2. Важные переменные-члены или функции в классе теста описаны следующим образом:

  • Функция test: основной поток теста. Она обязательна.
  • Функция setup: настройка среды перед тестом. Используется для инициализации информации об устройстве, которое тестируется. Сетевой тест можно использовать в качестве ссылки.
  • Функция teardown: очистка среды после завершения теста. Гарантирует, что среда может быть правильно восстановлена независимо от того, успешен тест или нет. Сетевой тест можно использовать в качестве справки.
  • Переменная requirements: массив для хранения имён. Пакеты RPM, от которых зависит тест, автоматически устанавливаются фреймворком перед началом теста.
  • Переменные reboot и rebootup: если reboot = True, тестовый набор или тестовый случай перезагрузит систему и продолжит выполнение функции, указанной в rebootup, после перезагрузки. В качестве примера можно использовать kdump-тест.
  1. Добавьте результат идентификации теста в файл hwcompatible/compatibility.py. Подробнее о том, как идентифицировать платы, см. на странице https://gitee.com/openeuler/oec-hardware/blob/master/docs/develop_doc/get_board_en.md.

Часто задаваемые вопросы

Оставляйте вопросы в этом репозитории или отправьте электронное письмо по адресу oecompatibility@openeuler.org.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/openeuler-oec-hardware.git
git@api.gitlife.ru:oschina-mirror/openeuler-oec-hardware.git
oschina-mirror
openeuler-oec-hardware
openeuler-oec-hardware
master