Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

TEST SUITE USER GUIDE

Red Hat Enterprise Linux Hardware Certification 8.45

For Use with Red Hat Enterprise Linux Hardware Certification

Red Hat Customer Content Services

Abstract

The Test Suite User Guide explains the procedures necessary to certify hardware on Red Hat Enterprise software. It gives an overview of the entire certification process, explains how to set up the certification environment, test the systems or components being certified, and submit the results to Red Hat for verification. The guide also provides the background information including the test methodology and results evaluation. Last updated: October 08, 2021.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code and documentation. We are beginning with these four terms: master, slave, blacklist, and whitelist. Due to the enormity of this endeavor, these changes will be gradually implemented over upcoming releases. For more details on making our language more inclusive, see our CTO Chris Wright’s message.

Chapter 1. Introduction to Red Hat certification program

Use this guide to certify your company’s hardware products to run one or more of Red Hat’s products.

1.1. Understand Red Hat certification

The Red Hat Certification Program ensures compatibility of Red Hat’s partner’s hardware and software products with Red Hat Enterprise Linux, Red Hat OpenStack Platform, Red Hat Gluster Storage, Red Hat Enterprise Linux for Real Time, and other Red Hat software products. The program has three main elements:

  • Test suite: Tests for hardware or software undergoing certification.
  • Red Hat Certification Ecosystem: Explore and find certified products including Hardware, Software, Cloud and service providers.
  • A joint support relationship between Red Hat and the vendor whose hardware or software is undergoing certification.

1.2. Overview of certification process

Hardware certification covers the testing of servers, desktops/workstations, laptops, and individual components to run Red Hat Enterprise Linux, Red Hat OpenStack Platform Compute, Red Hat Gluster Storage, and Red Hat Enterprise Linux for Real Time.

Prerequisites

  1. You must establish a certification relationship with Red Hat.
  2. Set up a test environment consisting of the partner’s product and the Red Hat product combination to be certified.
  3. Do preliminary testing to ensure this combination works well.
  4. Install the redhat-certification tool.

Procedure

  1. Create a certification request for a specific system or hardware component using redhat-certification.
  2. Red Hat’s certification team applies the certification policies to the hardware specifications to create the official test plan. The RHEL 8 test plan consists of tests and features that will be published based on the identified components and their specifications submitted to Red Hat.
  3. Run the tests specified in the official test plan and submit results using redhat-certification to Red Hat for analysis.
  4. The certification team analyzes the test results and marks credit as appropriate and communicates any required retesting.
  5. Provide Red Hat with a representative hardware sample that covers the items that are being certified.
  6. When all tests have passing results, the certification is complete and the entry is made visible to the public on the external Red Hat Hardware Certification website at Certifications.

Additional Resources

For more information about Certification Assistance, see Give feedback and get help.

1.3. Give feedback and get help

Partners who have a dedicated support resource that is an assigned Engineering Partner Manager, Engineering Account Manager, or Technical Account Manager can open a support case using the same tool they use to request support for other Red Hat products.

Partners who do not have a dedicated support resource can open a support case using Red Hat Customer Portal under the following instances:

  • To report issues and get help with the certification process
  • To submit feedback and request enhancements in the certification toolset and documentation
  • To receive assistance on the Red Hat product on which your product or application is being certified. To receive Red Hat product assistance, it is mandatory to have the required product entitlements and subscriptions which are separate from certification-specific entitlements and subscriptions

To open a support case using Red Hat Customer Portal Interface, complete the following steps:

  1. Log in to the Red Hat Customer Portal using the Red Hat account credentials that are also used to access other Red Hat assets like Red Hat Connect for Technology Partners and software subscriptions.
  2. Click Open a Support Case on the Red Hat Customer Portal Home Page.
  3. Complete the Support Case Form with special attention to the following fields:

    • From the Product field, select the name of the Red Hat product on which your product/application is being certified, based on the following details:

      • For Red Hat OpenStack Platform Certification, select Red Hat OpenStack Platform.
      • For Certified Cloud and Service Provider (CCSP) Certification, select Red Hat Enterprise Linux.
      • For Red Hat Container Certification, select Red Hat Enterprise Linux.
      • For Red Hat Hardware Certification, select Red Hat Enterprise Linux.
    • From the Product Version field, select the version of the product.
    • In the Problem Statement field, type a problem statement/issue or feedback using the following format: {Partner Certification} (The Issue/Problem or Feedback).

      Replace (The Issue/Problem or Feedback) with either the issue/problem faced in the certification process/Red Hat product or feedback on the certification toolset/documentation.

      For example: {Partner Certification} Error occurred while submitting certification test results using Red Hat Certification application

Complete the remaining form using the details How do I open and manage a support case on the Customer Portal?.

Note

Red Hat recommends that you are a Red Hat Certified Engineer or hold equivalent experience before starting the certification process.

1.4. Additional Resources

Chapter 2. Certification prerequisites

2.1. Program membership, accounts, and entitlements

Red Hat requires a relationship agreement that is specific to the type of certification being performed before we can accept certification requests. This relationship can be documented in a section or subsection of an OEM or other partnership agreement, or it can be established by an independent certification agreement. The creation of an OEM or other partnership agreement is not covered here, as that is something handled by other groups. Talk with your assigned Red Hat representative if you want to know more about partnerships beyond hardware certification. If you would like to establish an independent hardware certification agreement, you can do so using the following steps:⁠

  1. Purchase membership in the Red Hat Certification Program.

    Email your sales contact and ask to purchase membership in the program. If you do not have a sales contact at Red Hat, email your technical account manager, partner manager, or send an email to cert-ops@redhat.com for assistance purchasing program membership. Please provide the following information:

    1. Text indicating that you wish to purchase membership in the Red Hat Hardware Certification Program
    2. Contact information for the person who will be placing the order
    3. Your company’s legal name
    4. Billing address (Please do not include credit card information.)

      A Red Hat sales representative will contact you to complete the purchasing process, which includes the creation of an account on Red Hat Customer Portal.

  2. Create a Red Hat Customer Portal account and login.

    1. Navigate to Red Hat Customer Portal.
    2. Select Register in the menu and follow the instructions.

      Make sure that you create a company account and not a personal account. The account created during this step is also used to sign in to the Red Hat Hardware Catalog when working with certification requests.

      Note

      The certification test suite uses Red Hat Customer Portal single sign-on (SSO) credentials to log in to the Red Hat Certification site and the Red Hat Certification test suite. If you already have a Customer Portal login skip this step. If you do not have a login but your company has logins on the Portal, please ask your company’s organization administrator to create a login for you under the company’s account.

      Note

      A Red Hat Customer Portal organization administrator in your organization will have the permissions to create an SSO account for your organization. If you are not familiar with the Red Hat Customer Portal organization administrator for your organization, try contacting your engineering account manager or engineering partner manager for assistance.

  3. Obtain required Red Hat Certification Catalog permissions.

    1. File a support request to have certification creation permissions added to your Red Hat Customer Portal login.

      If you have an assigned technical account manager (TAM) or engineering partner manager (EPM), file a request through Red Hat Bugzilla.

      If you do not have a TAM, file a request through Red Hat’s Customer Portal. Include your Red Hat Customer Portal account user name in the request.

      After this request has been approved and you log in to the Red Hat certification(rh-cert) web user interface, the Create link will appear in the rh-cert menu. This allows you to create a new certification request.

      Note

      It is mandatory to obtain Red Hat Certification permissions on your Red Hat Customer Portal account before it can be used for certification purposes.

2.2. Product requirements

Perform hardware certification using drivers provided by Red Hat. Any hardware requiring third-party drivers for enablement is not eligible for certification.

Chapter 3. Opening a new certification case by using Red Hat Certification portal

Prerequisites

  • You have established a certification relationship with Red Hat.
  • You have the user login credentials.
  • You have the vendor and products linked to your user login.

Procedure

  1. Log in to Red Hat Certification Portal.
  2. On the homepage, click Open Certification.

    A new window will display.

    1. Click Next.
    2. Select the Partner from the drop-down list.
    3. On the Product drop-down list, select your product name.

      If your product does not appear, create it by entering its name in the Product field. Then, select it.

    4. In the What kind of product is this? section, select the check box applicable to your product.

      Your product might qualify for more than one ecosystem.

    5. Click Next.
    6. Enter the Make.

      The Model appears automatically based on the previous inputs.

    7. Select the applicable check box under Which category best describes your product?
    8. Optional: Enter the Product URL.
    9. Optional: Enter the Support URL.
    10. Optional: Enter the Specification URL.
    11. Click Next.

      A new product gets created based on the inputs you provided in the previous steps.

    12. The Partner Product appears by default based on the inputs in the previous steps.
    13. Select Red Hat Certification from the drop-down list, and click Next.
    14. Review the information you provided and click Next.

Verification

A message displays that a new certification case for your product is created.

Next steps

Red Hat will prepare your test plan based on the product specification you provided.

In the meantime, see Set up the test environment to prepare the systems for running tests.

Chapter 4. Setting up the test environment

The first step towards certifying your product is setting up the environment where you can run the tests.

The test environment consists of at least two systems:

4.1. Setting up a system that acts as a host under test

A system on which the product that needs certification is installed or configured is referred to as the host under test (HUT).

Prerequisites

  1. The HUT has RHEL version 8 or 9 installed.

Procedure

  1. Configure the Red Hat Certification repository:

    1. Use your RHN credentials to register your system using Red Hat Subscription Management:

      # subscription-manager register
    2. Display the list of available subscriptions for your system:

      # subscription-manager list --available*
    3. Search for the subscription which provides the Red Hat Certification (for RHEL Server) repository and make a note of the subscription and its Pool ID.
    4. Attach the subscription to your system:

      # subscription-manager attach --pool=<pool_ID>

      Replace the pool_ID with the Pool ID of the subscription.

    5. Subscribe to the Red Hat Certification channel:

      • On RHEL 8:

        # subscription-manager repos --enable=cert-1-for-rhel-8-<HOSTTYPE>-rpms

        Replace HOSTTYPE with the system architecture. To find out the system architecture, run

        uname -m

        Example:

        # subscription-manager repos --enable=cert-1-for-rhel-8-x86_64-rpms
      • On RHEL 9:

        # subscription-manager repos --enable=cert-1-for-rhel-9-<HOSTTYPE>-rpms

        Replace HOSTTYPE with the system architecture. To find out the system architecture, run

        uname -m

        Example:

        # subscription-manager repos --enable=cert-1-for-rhel-9-x86_64-rpms

4.2. Setting up a system that acts as a test server

Some of the tests running on the host under test (HUT) require a second system to pass. This second system is known as the test server.

For example, the test that checks bandwidth, transfers data from one system to another, in order to pass.

Prerequisites

  1. The test server has RHEL version 8 or 9 installed.

Procedure

  1. Configure the Red Hat Certification repository:

    1. Use your RHN credentials to register your system using Red Hat Subscription Management:

      # subscription-manager register
    2. Display the list of available subscriptions for your system:

      # subscription-manager list --available*
    3. Search for the subscription which provides the Red Hat Certification (for RHEL Server) repository and make a note of the subscription and its Pool ID.
    4. Attach the subscription to your system:

      # subscription-manager attach --pool=<pool_ID>

      Replace the pool_ID with the Pool ID of the subscription.

    5. Subscribe to the Red Hat Certification channel:

      • On RHEL 8:

        # subscription-manager repos --enable=cert-1-for-rhel-8-<HOSTTYPE>-rpms

        Replace HOSTTYPE with the system architecture. To find out the system architecture, run

        uname -m

        Example:

        # subscription-manager repos --enable=cert-1-for-rhel-8-x86_64-rpms
      • On RHEL 9:

        # subscription-manager repos --enable=cert-1-for-rhel-9-<HOSTTYPE>-rpms

        Replace HOSTTYPE with the system architecture. To find out the system architecture, run

        uname -m

        Example:

        # subscription-manager repos --enable=cert-1-for-rhel-9-x86_64-rpms

Chapter 5. Downloading the test plan from Red Hat Certification Portal

Procedure

  1. Log in to Red Hat Certification portal.
  2. Search for the case number related to your product certification, and copy it.
  3. Click Cases → enter the product case number.
  4. Optional: Click Test Plans.

    The test plan displays a list of components that will be tested during the test run.

  5. Click Download Test Plan.

Next steps

If you plan to use Cockpit to run the tests, see Configuring the systems and running tests by using Cockpit. Otherwise, if you plan to use CLI to run the tests, see Configuring the systems and running tests by using CLI.

Chapter 6. Configuring the systems and running tests by using Cockpit

To run the certification tests by using Cockpit you need to upload the test plan to the HUT and the test server first. After running the tests, download the results and review them.

6.1. Setting up the Cockpit server

Cockpit is a RHEL tool that lets you change the configuration of your systems as well as monitor their resources from a user-friendly web-based interface.

Note
  • You must set up Cockpit on a new system, which is separate from the host under test and test server.
  • Ensure that the Cockpit has access to both the host under test and the test server.

For more information on installing and configuring Cockpit, see Getting Started with Cockpit and Introducing Cockpit.

Prerequisites

  • The Cockpit server has RHEL version 8 or 9 installed.
  • You have installed the Cockpit plugin on your system.
  • You have enabled the Cockpit service.

Procedure

  1. Log in to the system where you installed Cockpit.
  2. Install the Cockpit RPM provided by the Red Hat Certification team.

    # yum install redhat-certification-cockpit

You must run Cockpit on port 9090.

6.2. Adding the host under test and the test server to Cockpit

Adding the host under test (HUT) and test server to Cockpit lets the two systems communicate by using passwordless SSH.

Repeat this procedure for adding both the systems one by one.

Prerequisites

  • You have the IP address or hostname of the HUT and the test server.

Procedure

  1. Enter http://<Cockpit_system_IP>:9090/ in your browser to launch the Cockpit web application.
  2. Enter the username and password, and then click Login.
  3. Click the down-arrow on the logged-in cockpit user name→Add new host.

    The dialog box displays.

  4. In the Host field, enter the IP address or hostname of the system.
  5. In the User name field, enter the name you want to assign to this system.
  6. Optional: Select the predefined color or select a new color of your choice for the host added.
  7. Click Add.
  8. Click Accept key and connect to let Cockpit communicate with the system through passwordless SSH.
  9. Enter the Password.
  10. Select the Authorize SSH Key check box.
  11. Click Log in.

Verification

On the left panel, click ToolsRed Hat Certification.
Verify that the system you just added displays under the Hosts section on the right.

6.3. Using the test plan to prepare the host under test for testing

Provisioning the host under test performs a number of operations, such as setting up passwordless SSH communication with the cockpit, installing the required packages on your system based on the certification type, and creating a final test plan to run, which is a list of common tests taken from both the test plan provided by Red Hat and tests generated on discovering the system requirements.

For instance, required hardware packages will be installed if the test plan is designed for certifying a hardware product.

Procedure

  1. Enter http://<Cockpit_system_IP>:9090/ in your browser address bar to launch the Cockpit web application.
  2. Enter the username and password, and then click Login.
  3. Select ToolsRed Hat Certification in the left panel.
  4. Click the Hosts tab, and then click the host under test on which you want to run the tests.
  5. Click Provision.

    A dialog box appears.

    1. Click Upload, and then select the new test plan .xml file. Then, click Next. A successful upload message is displayed.

      Optionally, if you want to reuse the previously uploaded test plan, then select it again to reupload.

      Note

      During the certification process, if you receive a redesigned test plan for the ongoing product certification, then you can upload it following the previous step. However, you must run rhcert-cli clean all in the Terminal tab before proceeding.

    2. In the Role field, select Host under test and click Submit. By default, the file is uploaded to path:`/var/rhcert/plans/<testplanfile.xml>`

6.4. Using the test plan to prepare the test server for testing

Running the Provision Host command enables and starts the rhcertd service, which configures services specified in the test suite on the test server, such as iperf for network testing, and an nfs mount point used in kdump testing.

Procedure

  1. Enter http://<Cockpit_system_IP>:9090/ in your browser address bar to launch the Cockpit web application.
  2. Enter the username and password, and then click Login.
  3. Select ToolsRed Hat Certification in the left panel.
  4. Click the Hosts tab, and then click the host under test on which you want to run the tests.
  5. Click Provision.

    A dialog box appears.

    1. Click Upload, and then select the new test plan .xml file. Then, click Next. A successful upload message is displayed.

      Optionally, if you want to reuse the previously uploaded test plan, then select it again to reupload.

      Note

      During the certification process, if you receive a redesigned test plan for the ongoing product certification, then you can upload it following the previous step. However, you must run rhcert-cli clean all in the Terminal tab before proceeding.

    2. In the Role field, select Test server and click Submit. By default, the file is uploaded to path:`/var/rhcert/plans/<testplanfile.xml>`

6.5. Running the certification tests using Cockpit

Procedure

  1. Enter http://<Cockpit_system_IP>:9090/ in your browser address bar to launch the Cockpit web application.
  2. Enter the username and password, and click Login.
  3. Select ToolsRed Hat Certification in the left panel.
  4. Click the Hosts tab and click on the host on which you want to run the tests.
  5. Click the Terminal tab and select Run.

    A list of recommended tests based on the test plan uploaded displays. The final test plan to run is a list of common tests taken from both the test plan provided by Red Hat and tests generated on discovering the system requirements.

  6. When prompted, choose whether to run each test by typing yes or no.

    You can also run particular tests from the list by typing select.

6.6. Reviewing and downloading the results file of the executed test plan

Procedure

  1. Enter http://<Cockpit_system_IP>:9090/ in your browser address bar to launch the Cockpit web application.
  2. Enter the username and password, and then click Login.
  3. Select ToolsRed Hat Certification in the left panel.
  4. Click the Result Files tab to view the test results generated.

    1. Optional: Click Preview to view the pass and fail results of each test.
    2. Click Download beside the result files. By default, the result file is saved as /var/rhcert/save/hostname-date-time.xml.

Chapter 7. Configuring the systems and running tests by using CLI

To run the certification tests by using CLI you need to upload the test plan to the HUT and the test server first. After running the tests, download the results and review them.

7.1. Using the test plan to prepare the host under test for testing

Running the provision command performs a number of operations, such as setting up passwordless SSH communication with the test server, installing the required packages on your system based on the certification type, and creating a final test plan to run, which is a list of common tests taken from both the test plan provided by Red Hat and tests generated on discovering the system requirements.

For instance, required hardware packages will be installed if the test plan is designed for certifying a hardware product.

Prerequisites

  • You have the hostname or the IP address of the test server.

Procedure

  1. Run the provision command:

    # rhcert-provision
  2. When prompted, enter the path of the test plan saved on your system.
  3. When prompted, provide the hostname or the IP address of the test server to set up passwordless SSH. You will be prompted only the first time you add a new system.

7.2. Using the test plan to prepare the test server for testing

Running the Provision command enables and starts the rhcertd service, which configures services specified in the test suite on the test server, such as iperf for network testing, and an nfs mount point used in kdump testing.

Prerequisites

Procedure

  1. Run the provision command by defining the role, “test server”, to the system you are adding.

    This is required only for provisioning the test server.

    # rhcert-provision --role test-server <path_to_test_plan_document>

    Replace <path_to_test_plan_document> with the test plan file saved on your system.

  2. When prompted, provide the hostname or IP address of the host under test set up passwordless SSH.

    You will be prompted only the first time you add this system.

7.3. Running the certification tests using CLI

Procedure

  1. Run the following command:

    # rhcert-run
  2. When prompted, choose whether to run each test by typing yes or no.

    You can also run particular tests from the list by typing select.

7.4. Reviewing and downloading the results file of the executed test plan

Procedure

  1. Run the following command:
# rhcert-cli save

Chapter 8. Uploading the results file of the executed test plan to Red Hat Certification portal

Prerequisites

  • You have downloaded the test results file from either Cockpit or the HUT directly.

Procedure

  1. Log in to Red Hat Certification portal.
  2. On the homepage, enter the product case number in the search bar.

    Select the case number from the list that is displayed.

  3. On the Summary tab, under the Files section, click Upload.

Next steps

Red Hat will review the results file you submitted and suggest the next steps. For more information, visit Red Hat Certification portal.

Chapter 9. Certification workflow

9.1. Adding certifications to previously certified hardware

This process is used, for example, when creating a certification request for RHEL 8 on a system that already has an in-progress or completed RHEL 7 certification request.

Procedure

  1. Log in to Red Hat Certification and click the New Certification button.
  2. Select the Red Hat product, version, and platform for certification and click Next.
  3. Select a vendor, make, and name of the product to be certified from the dropdown lists and click Next.

After the request is created, monitor the request for questions from the review team as they create the official test plan.

9.2. Changing features or hardware in an existing certification

A supplemental certification is used when new hardware or features are added to an existing certified system or component. When you create a supplemental certification and provide an updated specification. The Red Hat certification team will review the specification for any updated hardware or features, and add these new components and requirements to the specification and test plan of the supplemental certification.

Procedure

  1. Click on the existing hardware certification.
  2. Click Product.
  3. Click Product Details.
  4. In the Attachment field, click Browse to attach the specification file for the new supplemental component. Select is this a specification.

    Once the Red Hat certification team adds the supplemental components based on the specification file, perform the following steps to create the Supplemental certification:

  5. Go to the hardware cert web page that have two sections Product and Certification.
  6. Click Certification.
  7. Click the Related Certification tab for creating supplemental certification.

    Red Hat certification team adds the test plan to the newly generated certification.

  8. In the Related Certification tab go to the Supplemental Certifications section click the New Certification button to create a new Supplemental certification.

After the supplemental certification is successfully created, Partners can start testing on it.

Note

With RHEL 8, if the features are not tested or failed Partners can perform supplemental certification for the features that were not certified. After the additional features are certified, these features will be added to the certification catalog.

9.3. Creating a system pass-through certificate using existing specification file

A system pass-through certification essentially creates a copy of a certified system, listing it under a different vendor name, a different make, or a different model.

Pass-through is used when a vendor sells their system to a partner who then rebrands it, or if a vendor sells two or more systems where one system is a superset of the other(s).In such situation, the vendor should have tested the existing system certification as that covers all the hardware in the new Pass through certification.

Procedure

  1. Create a system certification. See Opening a new certification case by using Red Hat Certification portal
  2. Select the Vendor, Make, and Name. Click the New Product button. This will take you to Choose the Certification Program web page.
  3. Select the Vendor and Program as Hardware. Click the Next button. This will take you to Define the Red Hat Hardware Certification Vendor Product web page.
  4. Fill in all the relevant details. From the drop down list of the Category field, select the category as System.

This creates the System Certification. The Red Hat certification team certifies and publishes the newly created System Certification. After the certificate is certified and published, it becomes public for other partners to refer it as a pass through component.

Note

For RHEL 8, all pass-through certifications include a test plan where the features of the pass-through certification are clarified.

9.3.1. Copying an existing system certification to a new entry

Procedure

  1. To create the Pass through certification, go to the Red Hat certification web user interface, click the existing hardware system certification that is certified. Click the Certification Section. In the, Related Certification tab, go to the Pass through Certification section and click the New Certification button.
  2. In the Vendor field select the Vendor whose product you need to pass-through. In the Make field select the make that you need to pass through.
  3. Click the Create button. This will generate a request to create a pass through system specification and a pass through certification for the generated specification.

If the original system specifications and the pass-through system specifications are identical or have no differences, no additional testing will be required. If differences are found, the Red Hat certification team will discuss with you what should be done to account for them.

9.3.2. Creating a system pass-through certificate using existing specification file

Procedure

  1. Go to the Red Hat certification web user interface, click the existing hardware system certification that is certified. Click the Certification Section.
  2. In the Related Certification tab, go to the Pass through Certification section and choose the pass through specification file that has been created.

This will create the second pass-through certificate using the same specification entry.

9.4. Creating and publishing a component pass-through certification

A component pass-through certification essentially creates a copy of a certified component, listing it under a different vendor name, a different make, or a different model. This type of pass-through is used when a system vendor wants to include a component that has already been certified by a component vendor, when a component vendor sells their components to a third party who rebrands them, or if a vendor sells two or more components where one system is a superset of the others.

Procedure

  1. Create a system certification. See Opening a new certification case by using Red Hat Certification portal.
  2. Select the Vendor, Make and Name. Click the New Product button.This will take you to Choose the Certification Program web page.
  3. Select the Vendor and Program as Hardware. Click the Next button. This will take you to Define the Red Hat Hardware Certification Vendor Product web page.
  4. Fill in all the relevant details. From the drop down list of Category, select the category as Component/Peripheral.

This creates the Component certification. The Red Hat certification team certifies and publishes the newly created Component certification. After the certificate is certified and published, it becomes public for other partners to refer it as a pass through component.

9.4.1. Copying an existing component certification to a new entry

Procedure

  1. To copy the Component certification, go to the Red Hat Certification web user interface, click the existing hardware system certification that is certified. Click the Certification section. In the Related Certification tab, go to the Pass through Certification section and click the New Certification button.
  2. In the Vendor field select the Component Vendor whose product you need to pass-through. In the Make field select the Component Make that you need to pass through.

    Note

    Here, the Component Vendor and the Component Make are the fields that gets generated while performing Steps 1 to 4 of Creating and Publishing a Component Certification.

    If the original component specifications and the pass-through component specifications are identical then, no additional testing will be required. If there are differences found, the Red Hat certification team will discuss with you what should be done to account for them.

Chapter 10. Layered product certifications

10.1. Certifying layered products

Layered product certifications are built up on a completed Red Hat Enterprise Linux certification and list a system as Certified for additional Red Hat software products. At this time, we offer layered product certifications for Red Hat OpenStack Platform Compute, Red Hat Gluster Server, and Red Hat Enterprise Linux for Real Time.

You can create Layered Product Certifications either by Automatic generation of a Layered Cert or Manual creation of a Layered Cert

Procedure

  • Generating a Layered Cert Automatically:

    A layered cert can be generated automatically only if the status of the hardware cert is Certified. The Red Hat certification team makes the hardware cert Public for it to be listed on the Red Hat Certification web user interface. Following are the steps to auto generate a hardware layered cert:

    1. Click on the hardware cert that has to be certified and made public on the Red Hat Certification web user interface.
    2. Click the Dialog tab.
    3. In the New Comment text box enter the comment (for example,“Please certify and make the cert public”).
    4. Click the Add Comment button.

After you add comment for the requested hardware cert, the Red Hat certification team certifies and makes the certificate public. You will receive an email once the cert is certified and public.

Login to the Red Hat Certification web user interface. The new auto created layered certs will be listed on the web user interface. If not, click the Refresh button, the new certs should be downloaded.

  • Creating a Layered Cert Manually:

    A layered cert can be manually created for hardware certs that has the status In Progress. Following are the steps to manually create the layered cert:

    1. Click on the hardware cert that has to be certified from the Red Hat Certification web user interface.
    2. Click the Dialog tab.
    3. In the New Comment text box enter the comment for the Red Hat certification team to certify the hardware cert. For example “Please certify the hardware cert”.
    4. Click the Add Comment button.

After the request is completed by the Red Hat certification team, you can manually create the layered cert from the Red Hat Certification web user interface in either of the following two ways:

  1. Selecting the Hardware Cert:

    1. From the Red Hat Certification web user interface, click the hardware cert that is certified from the Red Hat certification and needs Layered cert.
    2. Click the Related Certification tab.
    3. In Layered Certifications section, click the New Certification button. This will take you to the New Layered Certification web page.
    4. Select the Product and Version from the drop down list.
    5. Click Create button.
  2. Using the New Certification button:

    1. From the Red Hat Certification web user interface, click the New Certification button. This will take you to Choose the Red Hat certification web page.
    2. From the Product drop-down list, select the Layered Product. The Version and Platform value gets generated automatically. However, partners can select the version and platform fields according to their requirement. Click Next button. This will take you to Choose the product to be certified web page.
    3. Select the Vendor, Make, and Name items from the drop-down list. Click Next button.

    A notification of the requested Hardware certification for the new product is displayed. The newly created layered cert will be visible on the Red Hat Certification web user interface.

10.1.1. Certifying for Red Hat OpenStack Platform Compute

A certification entry for Red Hat OpenStack Platform Compute is automatically created for every Red Hat Enterprise Linux 7 x86_64 server certification request. No additional tests beyond Red Hat Enterprise Linux certification are needed to achieve the Red Hat OpenStack Platform Compute certification. Your system will be marked Certified for both Red Hat Enterprise Linux and Red Hat OpenStack Platform Compute on successful completion of the Red Hat Enterprise Linux certification, assuming no issues are present that would cause problems running the OpenStack Platform Compute node. If you have any questions about this, please contact your Red Hat Support representative.

10.1.2. Certifying for Red Hat Gluster Storage

A certification entry for Red Hat Storage Server is automatically created for every Red Hat Enterprise Linux 7, and 8 x86_64 server certification request.

No additional testing beyond the normal Red Hat Enterprise Linux certification tests are required to receive this certification, but a specification review will be performed by the review team before the certification can be granted.

Additional resources

10.1.3. Certifying for Red Hat Enterprise Linux for real time

Red Hat Enterprise Linux for Real Time is used for time-critical workloads that need to execute in a defined, predictable way.

Any server that is certified to run Red Hat Enterprise Linux 7 or Red Hat Enterprise Linux 8, AMD64 and Intel 64 architecture, is eligible to be certified for real time.

10.1.4. Certifying Red Hat OpenStack Platform for real time applications

Red Hat Openstack Platform for Real-Time Applications is designed to deliver ultra-low latency for performance-sensitive environments.

Red Hat OpenStack Platform for Real-Time Applications Certification, relatively verifies that the cyclic test performed on a VM using a dedicated pinned CPU does not exceed a maximum latency as defined in the Red Hat Hardware Program Policy Guide.

You are expected to perform the fv_real-time test when the kernel Real-Time (kernel-rt) is running and the supported full virtualization is enabled by the machine. If the SUT is not connected to the internet, Partner will need to download the qcow2 image to the LTS.

Procedure

Run the following commands as root to download the qcow2 image:

Note

RHEL 8 qcow2 image

cd /var/www/rhcert/
mkdir -p store/transfer/fv-images/RHEL8/
cd store/transfer/fv-images/RHEL8/
wget <partner ftp url>/hwcert/fv-images/RHEL8/rhel-kvm-rt-image.qcow2.tar.bz2
cd -
chown -R --reference=store store
rhcertd restart

RHEL 7 qcow2 image

cd /var/www/rhcert/
mkdir -p store/transfer/fv-images/RHEL7/
cd store/transfer/fv-images/RHEL7/
wget <partner ftp url>/hwcert/fv-images/RHEL7/rhel-kvm-rt-image.qcow2.tar.bz2
cd -
chown -R --reference=store store
rhcertd restart
Important

While the test is running, the connection to the SUT may be lost as the machine will reboot automatically for the configuration changes performed by the test to take effect. This test takes over 12 hours to complete and maximum latency could be 40 microsecond or less.

Chapter 11. Leveraging

Leveraging is the reuse of passing test results from hardware in a certified system to cover testing of identical hardware in a new certification request. It can only be used for certain optional items, and these items must be identical. You cannot leverage test results for a new model component with the test results from an old model, no matter how similar they are; the items must be an exact match. Furthermore, leveraging can only be used on tests that your organization or its agent has performed.

11.1. Rules for Leveraging from system certification for same vendor

Following are the guidelines that should be taken care of while performing leveraging from system or component certification in case of same vendor:

  1. Components must be identical.
  2. Results generated must be from hardware of identical architecture.
  3. System leveraging component results must certify the same major release.
  4. Cross-vendor leveraging can not be performed for leveraging from system certification.

For example,

  • Acme Computers can leverage the passing test results from any of its component to cover the identical item of another Acme system

But,

  • Acme Computers cannot refer the test results from certifications performed by the Cloverleaf Industries

11.2. Rules for leveraging from system certification for different vendors

  1. In a scenario where a component manufacturer creates pass-through of original certification using Vendor, Make, and Model information of the component as sold by the reseller the following guidelines should be considered:

    1. In the Advanced tab select Create using Pass-Through of the original certification, just like the system pass-through certification
    2. If many resellers are using the same component, component manufacturer should create one pass-through for each reseller
    3. If a reseller uses multiple names for the same card, component manufacturer should create one pass-through for each name
  2. After the Red Hat certification team confirms the hardware used are identical and the pass-through certification is complete by using the specification file documentation, the certification will be published or unpublished.
  3. Reseller should use certification ID of their pass-through in the appropriate Leverage field of their system certification requests that contain this hardware.

11.3. Generating test result ID for leveraging from system certification

Following are the steps for generating a test result ID for leveraging from system certification.

Procedure

  1. Create the source hardware product and certification from Red Hat Certification web user interface.
  2. To add components to the newly created certification, from the Red Hat Certification web user interface, click the hardware cert that is certified. Click on the Product section and click the Product Details tab.
  3. In the Attachments section, click the Choose File button to upload the specification file. The specification file consists of the component(s) that needs to be added.
  4. Select the is this a specification checkbox, and add a brief note in the Attachment Description textbox. For example, "this is a spec.file".
  5. From the Red Hat Certification web user interface, click the hardware cert that is certified. Click the Certification Section. In the Progress tab you will see the test plan is generated with respect to the components.

    The Red Hat certification team reviews and adds the components mentioned in the specification file, and later creates a test plan for the added components.

  6. Click the Run button to run tests for the components shown in the table. This will take you to the Testing tab.
  7. Click Add Test System. This will take you Select Host web page.
  8. Select the host for which you want the test to run and click the Test button.
  9. In the Testing tab, click the Continue Testing button, this will generate the list of components.
  10. Select the components for which you want to run the test and click the Run Selected button.
  11. Once the test run is completed, you will get the message Finished test run.
  12. Click on the test, the components on which the tests were run will have the results as PASS. To submit the test results to Red Hat certification team, from Actions field select Submit from the drop down list. This will take you to the Submitting File web page.
  13. Click the Submit button.

    The Red Hat certification team approves the test results. The approved test results generates a test result id that is associated with the component.

  14. From the Red Hat Certification web user interface, click the hardware cert that is certified. Click the Certification Section. In the Progress tab, you will see the Test Plan Credit as Confirmed. The Test Result column will show the generated Test Result ID.

11.4. Leveraging from existing component

If you want to create a new certification using the same components, you can leverage that component in two ways:

Procedure

  1. Leveraging by copying Result ID

    See Generating test result ID for leveraging from system certification.

    The Red Hat Certification team approves the components to leverage mentioned in the specification file.

    1. From the Red Hat Certification web user interface, click the hardware cert that is certified and whose test result id you will leverage. Click the Certification Section. In the Progress tab, go to the Test Result column that shows the generated Test Result ID of the component that you will leverage. Copy the test result id by selecting the ID.
    2. If the ID is successfully copied, you will get a message “Copied Leverage Information from System Certification<the_component_name>”.
    3. From the Red Hat Certification web user interface, click the hardware cert on which you want to add the leverage component.
    4. Click the Certification Section. In the Progress tab, go to the Test Result column and click on the Test Result ID to apply the copied Test Result ID.

      If the leverage ID is successfully applied you will get a message “Leverage of System Test successfully applied”.

  2. Leveraging using Result ID or Certification ID

    1. Click on the Certification section. In the Progress tab, go to the Test Result ID column and click on the Leverage Result.
    2. On the Leverage Result window choose Result ID or Certification ID from Leverage Using drop-down.

      Note

      Use Result ID for leveraging using test result ID and choose Certification ID for leveraging using the pass-through certificate.

    3. Enter Leverage ID and click Submit.

      You will get a success message if Leveraging is successful, else a failure message is displayed if submitted ID has an error.

Chapter 12. Reviewing test results and completing certifications

12.1. Red Hat review of test results

After you submit your results, the review team will analyze their contents and award credit for each passing test that is part of the test plan.

As they verify each passing test, the team sets each test plan item to Confirmed on the certification site’s test plan, which you can see under the Results tab on the catalog. This allows you to see at a glance which tests are outstanding and which have been verified as passing.

If any problems are found, the review team will update the certification request with a question, which will automatically be emailed to the person who submitted the cert.

You can see all the discussion, and respond to or ask any questions, on the Dialog tab of the certification.

12.2. Completing certifications

A certification is complete once all the items on the official test plan have been reviewed and found to have passing results. At this point the certification can be closed and published, or closed and left unpublished.

Supplemental certifications always remain unpublished, and system or component certs can also be closed and left unpublished if the vendor does not want to publicly advertise the certification status or the existence of the system/component (most certifications are closed and published).

The system information and the discussions between the tester and review team will not be visible to the general public in a published cert. All that customers can see when viewing published certs is basic information about the system.

Note

For RHEL 8, submit a comment if you want to request publication before reaching 100% feature coverage and if you have met the success criteria specified in the policy guide.

Appendix A. Tests

In this section we give more detailed information about each of the tests for hardware certification. Each test section uses the following format:

What the test covers

This section lists the types of hardware that this particular test is run on.

What the test does

This section explains what the test scripts do. Remember, all the tests are python scripts and can be viewed in the directory /usr/lib/python2.7/site-packages/rhcert/suites/hwcert/tests if you want to know exactly what commands we are executing in the tests.

Preparing for the test

This section talks about the steps necessary to prepare for the test. For example, it talks about having a USB device on hand for the USB test and blank discs on hand for rewritable optical drive tests.

Executing the test

This section identifies whether the test is interactive or non-interactive and explains what command is necessary to run the test.

Run Time

This section explains how long a run of this test will take. Timing information for the info test is mentioned in each section as it is a required test for every run of the test suite.

A.1. 1GigEthernet

What the test covers

The 1GigEthernet test is run on all wired Ethernet connections with a maximum connection speed of 1 gigabit/sec. Connection speed is determined by parsing the "Speed" line in the output of ethtool.

What the test does

This test adds link speed detection to the existing network test. In addition to passing all the existing network test items, this test must detect a throughput of 1Gb/s (with a margin for overhead) in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.2. 10GigEthernet

What the test covers

The 10GigEthernet test is run on all wired Ethernet connections with a maximum connection speed of 10 gigabits/sec. Connection speed is determined by parsing the "Speed" line in the output of ethtool.

What the test does

This test adds link speed detection to the existing network test. In addition to passing all the existing network test items, this test must detect a throughput of 10Gb/s (with a margin for overhead) in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.3. 20GigEthernet

What the test covers

The 20GigEthernet test is run on all wired Ethernet connections with a maximum connection speed of 20 gigabits/sec. Connection speed is determined by parsing the "Speed" line in the output of ethtool.

What the test does

This test adds link speed detection to the existing network test. In addition to passing all the existing network test items, this test must detect a throughput of 20Gb/s (with a margin for overhead) in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.4. 25GigEthernet

What the test covers

The 25GigEthernet test is run on all wired Ethernet connections with a maximum connection speed of 25 gigabits/sec. Connection speed is determined by parsing the "Speed" line in the output of ethtool.

What the test does

This test adds link speed detection to the existing network test. In addition to passing all the existing network test items, this test must detect a throughput of 25Gb/s (with a margin for overhead) in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.5. 40GigEthernet

What the test covers

The 40GigEthernet test is run on all wired Ethernet connections with a maximum connection speed of 40 gigabits/sec. Connection speed is determined by parsing the "Speed" line in the output of ethtool.

What the test does

This test adds link speed detection to the existing network test. In addition to passing all the existing network test items, this test must detect a throughput of 40Gb/s (with a margin for overhead) in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.6. 50GigEthernet

What the test covers

The 50GigEthernet test is run on all wired Ethernet connections with a maximum connection speed of 50 gigabits/sec. Connection speed is determined by parsing the "Speed" line in the output of ethtool.

What the test does

This test adds link speed detection to the existing network test. In addition to passing all the existing network test items, this test must detect a throughput of 50Gb/s (with a margin for overhead) in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.7. 100GigEthernet

What the test covers

The 100GigEthernet test is run on all wired Ethernet connections with a maximum connection speed of 100 gigabits/sec. Connection speed is determined by parsing the "Speed" line in the output of ethtool.

What the test does

This test adds link speed detection to the existing network test. In addition to passing all the existing network test items, this test must detect a throughput of 100Gb/s (with a margin for overhead) in order to pass.

Note

For systems with 50 and 100Gb/s Ethernet options, testing is not required until September 9th 2016. A knowledgebase entry will be added to certifications without passing test results.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.8. 200GigEthernet

What the test covers

The 200GigEthernet test is run on all wired Ethernet connections with a maximum connection speed of 200 Gigabits/sec. Connection speed is determined by parsing the "Speed" line in the output of ethtool.

What the test does

This test adds link speed detection to the existing network test. In addition to passing all the existing network test items, this test must detect a throughput of 200Gb/s (with a margin for overhead) in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.9. ACPI keys

What the test covers

The ACPI keys test captures a variety of input events from the system integrated keyboard.

What the test does

The test captures the following:

  • ACPI-related signals such as power, suspend, and sleep.
  • Key presses that send signals associated with global keyboard shortcuts such as <Meta+E>, which opens the file browser.

Executing the test

The test is interactive. Select the check box beside the hwcert/ACPI keys test, click Run Selected, and confirm to run the test. This test requires capturing all input events. During the test, press all the non-standard and multimedia keys on the device.

Press the Escape key at any time to end the test and to see a list of keys. The test is successful if all the keys that you tested appear in the list.

Run time

The test takes less than 5 minutes to finish. Any other mandatory or selected tests will add to the overall run time.

A.10. Audio

What the test covers

Removable sound cards and integrated sound devices are tested with the audio test. The test is scheduled when the hardware detection routines find the following strings in the udev database:

E: SUBSYSTEM=sound
E: SOUND_INITIALIZED=1

You can see these strings and the strings that trigger the scheduling of the other tests in this guide in the output of the command udevadm info --export-db.

What the test does

The test plays a prerecorded sound (guitar chords or a recorded voice) while simultaneously recording it to a file, then it plays back the recording and asks if you could hear the sound.

Preparing for the test

Before you begin your test run, you should ensure that the audio test is scheduled and that the system can play and record sound. Contact your support contact at Red Hat for further assistance if the test does not appear on a system with installed audio devices. If the test is correctly scheduled, continue on to learn how to manually test the playback and record functions of your sound device.

With built-in speakers present or speakers/headphones plugged into the headphone/line-out jack, playback can be confirmed before testing in these ways:

  1. In Red Hat Enterprise Linux 7, right-click on the volume icon at the top of the GUI window and choose Sound SettingsWith the tool open, click on the btn:[Output] tab, select the sound card you wish to test, and adjust the output volume to an appropriate level. Next, click the btn:[Test Speakers] button. In the window that appears, click the test buttons to generate sounds. Close the test window and exit the sound settings when finished.

If no sound can be heard, ensure that the speakers are plugged in to the correct port. You can use any line-out or headphone jack (we have no requirement for which port you must use). Make sure sound is not muted and try adjusting the volume on the speakers and in the operating system itself.

If the audio device has record capabilities, these should also be tested before attempting to run the test. Plug a microphone into one of the Line-in or Mic jacks on the system, or you can use the built-in microphone if you are testing a laptop. Again, we don’t require you to use a specific input jack; as long as one works, the test will pass.

  1. In Red Hat Enterprise Linux 7, right-click on the volume icon at the top of the GUI window and choose Sound Settings. With the tool open, click the Input tab, select the appropriate input, and adjust the input volume to 100%. Tap the mic or blow on it, and watch the Input level graphic. If you see it moving, the microphone is set up properly. If it does not move, try another input selection and/or microphone port to plug the microphone into.

Contact your support person if you are unable to either hear sound or see the input level display move, as this will lead to a failure of the audio test. If you are able to successfully play sounds and see movement on the input level display when making sounds near the microphone, continue to the next section to learn how to run the test.

Executing the test

The audio test is interactive. Before you execute a test run that includes an audio test, connect the microphone you used for your manual test and place it in front of the speakers, or ensure that the built-in microphone is free of obstructions. Alternatively, you can connect the line-out jack directly to the mic/line-in jack with a patch cable if you are testing in a noisy environment. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. The interactive steps are as follows:

  1. The system will play sounds and ask if you heard them. Answer y or n as appropriate. If you decide to use a direct connection between output and input rather than speakers and a microphone, you will need to choose y for the answer regardless, as your speakers will be bypassed by the patch cable.
  2. The system will next play back the file it recorded. If you heard the sound, answer y when prompted. Otherwise, answer n.

Run time

The audio test takes less than 1 minute for simultaneous playback and record, then the playback of the recorded sound. The required info test will add about a minute to the overall run time.

A.11. backlight

What the test covers

The backlight test runs when it detects an attached display on the system and support of software backlight control is available.

What the test does

The test ensures that the backlight control is functioning as expected by adjusting the display brightness of the attached display to the minimum and then maximum values.

Preparing for the test

  • Ensure that the system under test is running RHEL 8.0 or later.
  • Ensure that the system has backlight support and the display is connected to the system.

Executing the test

The test is interactive. Select the check box beside the hwcert/backlight test, click Run Selected, and confirm to run the test. After confirmation, the display brightness will change from the maximum to minimum and back. The test will pass after you confirm that the display brightness is changing as expected.

Run time

This test takes less than a minute to run. Any other mandatory or selected tests will add to the overall run time.

A.12. Battery

What the test covers

The battery test is only valid for systems that can be powered by a built-in battery use an AC adapter. It does not test external batteries like those found in a UPS, additional internal batteries like the BIOS battery or battery-backed cache, or any other kind of battery that is not providing primary, internal power to the system. The test is scheduled when the hardware detection routines find the following string in the udev database:

POWER_SUPPLY_TYPE=Battery

What the test does

The test does all its work based on the status of the AC adapter. Testing begins with the AC adapter attached to the system. The test scripts verify the status of the AC adapter and that the battery is present. Then the tester is asked to unplug the adapter, which will cause the battery to begin discharging. The test scripts verify this.

Preparing for the test

The battery test requires that the system be connected via an AC adapter when the test is launched. Ensure that the battery is discharged for 20 minutes prior to starting the test.

Executing the test

The battery test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. When the test begins, it will display the current status of the battery (capacity and charging status) and ask for the AC adapter to be unplugged until the battery discharges for 10 mWh. The test will automatically end at that point and the tester should plug the AC adapter back in.

Run time

The time of the battery test varies depending on the discharge and recharge speeds of the battery. It takes about 3 minutes on a 2012-era laptop that emphasizes portability and long battery life over screen size and computing power. Because this test is run on laptops, a suspend test must accompany the required info test for each run. The suspend test will add approximately 6 minutes to each test run, and info will add another minute.

A.13. bluetooth

What the test covers

The bluetooth test is supported on RHEL 8 systems with a bluetooth v3, v4, or v5 controller.

What the test does

The test uses rfkill command to check the availability of bluetooth controller in the system. It then runs hciconfig or btmgmt command to get the bluetooth controller version. Afterward, the test verifies if the controller can scan, discover, pair with, select and trust another selected and aligned bluetooth v3, v4, or v5 device by using the bluetoothctl command tool. If the SUT has multiple bluetooth controllers, the bluetooth test is planned automatically for each bluetooth controller.

Preparing for the test

Before you begin the test, ensure to:

  • Have a device that supports the same or later versions of Bluetooth as the controller.
  • Enable Bluetooth on both the SUT and the pairing device.
  • Pair the devices manually by using the settings application to confirm connectivity.
  • Unpair the devices.

Executing the test

The test is interactive. Select the check box beside the hwcert/bluetooth test and click Run Selected. Then, select the device for which you want to test the bluetooth functionality.

Run time

The test takes around 5 minutes to complete. However, the time can vary depending on the bluetooth network connectivity.

A.14. Bluray

What the test covers

The Bluray test runs on the following media and related drive types:

  • Read-only media and drives (BD-ROM)
  • Write-once media and drives (BD-R)
  • Rewritable media and drives (BD-RE)

Based on information from the udev command, the test suite determines which optical drive tests (Blu-ray, DVD, or CD-ROM) to schedule and the type of media to test (read-only, writable, and rewritable). For example, the test suite will plan the following tests for a Blu-ray drive with rewriting capabilities that can also read DVD and CD-ROM discs:

  • A rewrite (erase, write, and read) test for Blu-ray media
  • A read test for DVD media
  • A read test for CD-ROM media

You only need to run the Bluray test once for a given drive.

What the test does

The test performs the following tasks depending on the capabilities of the drive:

  • Read-only drives - First, it reads data from a disc and copies it to the hard disk. Then, it compares the data on the disc to the copy on the hard disk. If all file checksums match, the test passes.
  • Drives with writing capabilities - First, it reads data from the hard disk and writes it to a writable blank disc. Then, it compares the data on the hard disk to the copy on the disc. If all file checksums match, the test passes.
  • Drives with rewriting capabilities - First, it erases all information from the rewritable disc. Then, it reads data from the hard disk and writes it to the rewritable disc. Finally, it compares the data on the hard disk to the copy on the disc. If the erasing operation is successful and all file checksums match, the test passes.

Executing the test

Select the checkbox beside the hwcert/Bluray test and click Run selected. Follow the instructions on screen to insert the appropriate media and to close the drive’s tray if appropriate.

Run time

The run time for the Bluray test depends on the speed of the media and the drive. For a 2x 25G BD-RE disc, the test finishes in approximately 14 minutes.

A.15. CD ROM

What the test covers

The CD ROM test runs on the following media and related drive types:

  • Read-only media and drives (CD-ROM)
  • Write-once media and drives (CD-R)
  • Rewritable media and drives (CD-RW)

Based on information from the udev command, the test suite determines which optical drive tests (Blu-ray, DVD, or CD-ROM) to schedule and the type of media to test (read-only, writable, and rewritable). For example, the test suite will plan the following tests for a Blu-ray drive with rewriting capabilities that can also read DVD and CD-ROM discs:

  • A rewrite (erase, write, and read) test for Blu-ray media
  • A read test for DVD media
  • A read test for CD-ROM media

You only need to run the CD ROM test once for a given drive.

What the test does

The test performs the following tasks depending on the capabilities of the drive:

  • Read-only drives - First, it reads data from a disc and copies it to the hard disk. Then, it compares the data on the disc to the copy on the hard disk. If all file checksums match, the test passes.
  • Drives with writing capabilities - First, it reads data from the hard disk and writes it to a writable blank disc. Then, it compares the data on the hard disk to the copy on the disc. If all file checksums match, the test passes.
  • Drives with rewriting capabilities - First, it erases all information from the rewritable disc. Then, it reads data from the hard disk and writes it to the rewritable disc. Finally, it compares the data on the hard disk to the copy on the disc. If the erasing operation is successful and all file checksums match, the test passes.

Executing the test

Select the checkbox beside the hwcert/CD ROM test and click Run selected. Follow the instructions on screen to insert the appropriate media and to close the drive’s tray if appropriate.

Run time

The run time for the CD ROM test is dependent on the speed of the media and drive. For a 12x 714MB CD-RW disc, the test finishes in approximately 7 minutes.

A.16. Core

What the test covers

The core test examines the system’s CPUs and ensures that they are capable of functioning properly under load.

What the test does

The core test is actually composed of two separate routines. The first test is designed to detect clock jitter. Jitter is a condition that occurs when the system clocks are out of sync with each other. The system clocks are not the same as the CPU clock speed, which is just another way to refer to the speed at which the CPUs are operating. The jitter test uses the getimeofday() function to obtain the time as observed by each logical CPU and then analyzes the returned values. If all the CPU clocks are within .2 nanoseconds of each other, the test passes. The tolerances for the jitter test are very tight. In order to get good results it’s important that the rhcert tests are the only loads running on a system at the time the test is executed. Any other compute loads that are present could interfere with the timing and cause the test to fail. The jitter test also checks to see which clock source the kernel is using. It will print a warning in the logs if an Intel processor is not using TSC, but this will not affect the PASS/FAIL status of the test.

The second routine run in the core test is a CPU load test. It’s the test provided by the required stress package. The stress program, which is available for use outside the rhcert suite if you are looking for a way to stress test a system, launches several simultaneous activities on the system and then monitors for any failures. Specifically it instructs each logical CPU to calculate square roots, it puts the system under memory pressure by using malloc() and free() routines to reserve and free memory respectively, and it forces writes to disk by calling sync(). These activities continue for 10 minutes, and if no failures occur within that time period, the test passes. Please see the stress manpage if you are interested in using it outside of hardware certification testing.

Preparing for the test

The only preparation for the core test is to install a CPU that meets the requirements that are stated in the Policy Guide.

Executing the test

The core test is non-interactive. Check the checkbox next to the test and click Run Selected to perform the test.

Run time, bare-metal

The core test itself takes about 12 minutes to run on a bare-metal system. The jitter portion of the test takes a minute or two and the stress portion runs for exactly 10 minutes. The required info test will add about a minute to the overall run time.

Run time, full-virt guest

The fv_core test takes slightly longer than the bare-metal version, about 14 minutes, to run in a KVM guest. The added time is due to guest startup/shutdown activities and the required info test that runs in the guest. The required info test on the bare-metal system will add about a minute to the overall run time.

Note

A note about FV testing times: The first time you run any full-virt test, the test tool will need to acquire the FV guest files. If these files are located on the local test server and you are using 1GbE or faster networking, that will take only a minute or two to transfer the ~300MB of guest files. If the files are retrieved from the Red Hat FTP server, which happens automatically if the guest files are not installed and not found on the local test server, the first runtime will depend on the speed of the FTP transfer. Once the guest files are available on the SUT they will be used for all subsequent runs of fv_* tests.

A.17. CPU scaling

What the test covers

The cpuscaling test examines a CPU’s ability to increase and decrease its clock speed according to the compute demands placed on it.

What the test does

The test exercises the CPUs at varying frequencies using different scaling governors (the set of instructions that tell the CPU when to change to higher or lower clock speeds and how fast to do so) and measures the difference in the time that it takes to complete a standardized workload. The test is scheduled when the hardware detection routines find the following directories in /sys containing more than one cpu frequency:

/sys/devices/system/cpu/cpuX/cpufreq

The cpuscaling test is planned once per package, rather than being listed once per logical CPU. When the test is run, it will determine topology via /sys/devices/system/cpu/cpuX/topology/physical_package_id, and run the test in parallel for all the logical CPUs in a particular package.

The test runs the turbostat command first to gather the processor statistics. On supported architectures, turbostat checks if the advance statistics columns are visible in the turbostat output file, but returns a warning if the file does not contain the columns. The test then attempts to execute the cstate subtest and if it fails, executes pstate subtest.

The test procedure for each CPU package is as follows:

The test uses the values found in the sysfs filesystem to determine the maximum and minimum CPU frequencies. You can see these values for any system with this command:

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

There will always be at least two frequencies displayed here, a maximum and a minimum, but some processors are capable of finer CPU speed control and will show more than two values in the file. Any additional CPU speeds between the max and min are not specifically used during the test, though they may be used as the CPU transitions between max and min frequencies. The test procedure is as follows:

  1. The test records the maximum and minimum processor speeds from the file /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies.
  2. The userspace governor is selected and maximum frequency is chosen.
  3. Maximum speed is confirmed by reading all processors' /sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq value. If this value does not match the selected frequency, the test will report a failure.
  4. Every processor in the package is given the simultaneous task of calculating pi to 2x10^12 digits. The value for the pi calculation was chosen because it takes a meaningful amount of time to complete (about 30 seconds).
  5. The amount of time it took to calculate pi is recorded for each CPU, and an average is calculated for the package.
  6. The userspace governor is selected and the minimum speed is set.
  7. Minimum speed is confirmed by sysfs data, with a failure occurring if any CPU is not at the requested speed.
  8. The same pi calculation is performed by every processor in the package and the results recorded.
  9. The ondemand governor is chosen, which throttles the CPU between minimum and maximum speeds depending on workload.
  10. Minimum speed is confirmed by sysfs data, with a failure occurring if any CPU is not at the requested speed.
  11. The same pi calculation is performed by every processor in the package and the results recorded.
  12. The performance governor is chosen, which forces the CPU to maximum speed at all times.
  13. Maximum speed is confirmed by sysfs data, with a failure occurring if any CPU is not at the requested speed.
  14. The same pi calculation is performed by every processor processor and the results recorded.

Now the analysis is performed on the three subsections. In steps one through eight we obtain the pi calculation times at maximum and minimum CPU speeds. The difference in the time it takes to calculate pi at the two speeds should be proportional to the difference in CPU speed. For example, if a hypothetical test system had a max frequency of 2GHz and a min of 1GHz and it took the system 30 seconds to run the pi calculation at max speed, we would expect the system to take 60 seconds at min speed to calculate pi. We know that for various reasons perfect results will not be obtained, so we allow for a 10% margin of error (faster or slower than expected) on the results. In our hypothetical example, this means that the minimum speed run could take between 54 and 66 seconds and still be considered a passing test (90% of 60 = 54 and 110% of 60 = 66).

In steps nine through eleven, we test the pi calculation time using the ondemand governor. This confirms that the system can quickly increase the CPU speed to the maximum when work is being done. We take the calculation time obtained in step eleven and compare it to the maximum speed calculation time we obtained back in step five. A passing test has those two values differing by no more than 10%.

In steps twelve through fourteen, we test the pi calculation using the performance governor. This confirms that the system can hold the CPU at maximum frequency at all times. We take the pi calculation time obtained in step 14 and compare it to the maximum speed calculation time we obtained back in step five. Again, a passing test has those two values differing by no more than 10%.

An additional portion of the cpuscaling test runs when an Intel processor with the TurboBoost feature is detected by the presence of the ida CPU flag in /proc/cpuinfo. This test chooses one of the CPUs in each package, omitting CPU0 for housekeeping purposes, and measures the performance using the ondemand governor at maximum speed. It expects a result of at least 5% faster performance than the previous test, when all the cores in the package were being tested in parallel.

Preparing for the test

To prepare for the test, ensure that CPU frequency scaling is enabled in the BIOS and ensure that a CPU is installed that meets the requirements explained in the Policy Guide.

Executing the test

The cpuscaling test is non-interactive. Check the checkbox next to the test and click the Run Selected button to perform the test.

Run time

The cpuscaling test takes about 42 minutes for a 2013-era, single CPU, 6-core/12-thread 3.3GHz Intel-based workstation running Red Hat Enterprise Linux 6.4, AMD64 and Intel 64. Systems with higher core counts and more populated sockets will take longer. The required info test will add about a minute to the overall run time.

A.18. DVD

What the test covers

The DVD test runs on the following media and related drive types:

  • Read-only media and drives (DVD-ROM)
  • Write-once media and drives (DVD+R and DVD-R)
  • Rewritable media and drives (DVD+RW and DVD-RW)

Based on information from the udev command, the test suite determines which optical drive tests (Blu-ray, DVD, or CD-ROM) to schedule and the type of media to test (read-only, writable, and rewritable). For example, the test suite will plan the following tests for a Blu-ray drive with rewriting capabilities that can also read DVD and CD-ROM discs:

  • A rewrite (erase, write, and read) test for Blu-ray media
  • A read test for DVD media
  • A read test for CD-ROM media

If your drives support both the DVD-RW and DVD+RW formats, you can use either type of disc during the test. You do not need to test both formats. Moreover, you only need to run the DVD test once for a given drive.

What the test does

The test performs the following tasks depending on the capabilities of the drive:

  • Read-only drives - First, it reads data from a disc and copies it to the hard disk. Then, it compares the data on the disc to the copy on the hard disk. If all file checksums match, the test passes.
  • Drives with writing capabilities - First, it reads data from the hard disk and writes it to a writable blank disc. Then, it compares the data on the hard disk to the copy on the disc. If all file checksums match, the test passes.
  • Drives with rewriting capabilities - First, it erases all information from the rewritable disc. Then, it reads data from the hard disk and writes it to the rewritable disc. Finally, it compares the data on the hard disk to the copy on the disc. If the erasing operation is successful and all file checksums match, the test passes.

Executing the test

Select the checkbox beside the hwcert/DVD test and click Run selected. Follow the instructions on screen to insert the appropriate media and to close the drive’s tray if appropriate.

Run time

The run time for the DVD test is dependent on the speed of the media and drive. For a 4x 4.7GB DVD-RW disc, the test finishes in approximately 13 minutes.

A.19. Ethernet

What the test covers

The Ethernet test only appears when the speed of a network device is not recognized by the test suite. This may be due to an unplugged cable or some other fault is preventing the proper detection of the connection speed. Please exit the test suite, check your connection, and run the test suite again when the device is properly connected. If the problem persists, contact your Red Hat support representative for assistance.

The example below shows a system with two gigabit Ethernet devices, eth0 and eth1. Device eth0 is properly connected, but eth1 is not plugged in.

The output of the ethtool command shows the expected gigabit Ethernet speed of 1000Mb/s for eth0:

# ethtool eth0
Settings for eth0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 2
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: on
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

But on eth1 the ethtool command shows an unknown speed, which would cause the Ethernet test to be planned.

# ethtool eth1
Settings for eth1:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: Unknown!
	Duplex: Unknown! (255)
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: Unknown
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: no

A.20. Expresscard

What the test covers

The expresscard test looks for devices with both types of ExpressCard interfaces, USB and PCI Express (PCIe), and confirms that the system can communicate through both. ExpressCard slot detection is not as straightforward as detecting other devices in the system. ExpressCard was specifically designed to not require any kind of dedicated bridge device. It’s merely a novel form factor interface that combines PCIe and USB. Because of this, there is no specific "ExpressCard slot" entry that we can see in the output of udev. We decided to schedule the test on systems that contain a battery, USB and PCIe interfaces, as we have seen no devices other than ExpressCard-containing laptops with this combination of hardware.

What the test does

The test first takes a snapshot of all the devices on the USB and PCIe buses using the lsusb and lspci commands. It then asks the tester how many ExpressCard slots are present in the system. The tester is asked to insert a card in one of the slots. The system scans the USB and PCIe buses and compares the results to the original lsusb and lspci output to detect any new devices. If a USB device is detected, the system asks you to remove the card and insert a card with a PCIe interface into the same slot. If a PCIe-based card is detected, the system asks you to remove it and insert a USB-based card into the same slot. If a card is inserted with both interfaces (a docking station card, for example), it fulfills both testing requirements for the slot at once. This procedure is repeated for all slots in the system.

Preparing for the test

You will need ExpressCard cards with USB and PCIe buses. This can be two separate cards or one card with both interfaces. Remove all ExpressCard cards before running the test.

Executing the test

The expresscard test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the Run Selected to continue. It will prompt you to remove all ExpressCards, then ask for permission to load the PCI Express hotplug module (pciehp) if it is not loaded. PCIe hotplug capabilities are needed in order to add or remove PCIe-based ExpressCard cards while the system is running. Next the test will ask you for the number of ExpressCard slots in the system, followed by prompts to insert and remove cards with both types of interfaces (USB and PCIe) in any order.

A.21. fingerprintreader test

What the test covers

The fingerprintreader test is planned if the system has a built-in or plugin fingerprint reader. The test is supported to run on RHEL 7 and RHEL 8 systems.

What the test does

This test verifies that a fingerprint reader can scan, enroll, and verify the enrolled fingerprints in the fingerprint manager.

Preparing for the test

Ensure that the fingerprint reader is connected to the system.

Executing the test

This test is interactive. Select the check box beside the hwcert/fingerprint test and click Run Selected. The test will start detecting the fingerprint reader and then prompt you to place and scan your right index finger several times on the fingerprint reader until the enrollment completes. For verification, you will be prompted to scan the finger again for matching it with the enrolled fingerprint.

Run time

The test takes around a couple of minutes to complete until the reader finishes scanning and shows the enroll-complete state.

A.22. fv_core

The fv_core test is a wrapper that launches the FV guest and runs a core test on it.

Additional resources

  • For more information about the test methodology and run times, see core.

A.23. fv_cpu_pinning

CPU pinning is a method to dedicate system resources to a particular process. For example, an application may be locked to a particular logical core to reduce task switching.

Virtualized (fv) CPU pinning method is similar except that pinning is done to a virtual CPU (vCPU) inside a KVM-based virtual machine to a physical core on the host machine.

What the test covers

The fv_cpu_pinning test validates that a vCPU of the guest virtual machine (VM) can be configured and pinned to a dedicated CPU of the host machine. This test is run on a host machine and is supported on RHEL 8 for feature qualification on RHEL 8 based RHV 4 releases.

What the test does

The fv_cpu_pinning test runs three subtests: Setup guest VM VCPU, Perform FV CPU Pinning, and verify FV CPU Pinning. The Setup guest VM VCPU subtest counts the number of logical cores of the host machine and isolates the last numbered core among those to dedicate it to the VM. The Perform FV CPU Pinning subtest further pins the vCPU of the VM to the CPU in the host machine. The test then verifies the pinning using commands, virt vcpupin and vcpuinfo, and checking the /proc directory information. Finally, the verify FV CPU Pinning uses the load test to verify if the guest VM vCPU workload is handled by the pinned CPU only.

Preparing for the test

There are no special requirements to run this test.

Executing the test

The fv_cpu_pinning test is non-interactive. Check the checkbox next to the test and click the Run Selected button to perform the test.

Run time

The fv_cpu_pinning test takes around 5 minutes to complete. Any other mandatory or selected tests will add to the overall run ti

A.24. fv_live_migration

What the test covers

The fv_live_migration test checks the ability of a system under test (SUT) to migrate a running virtual machine to a local test server (LTS). This test is supported to run on RHEL versions 8 and 9.

What the test does

The test performs multiple subtests to complete the migration of a running virtual machine from the SUT to LTS. Successful completion of the test requires all of the subtests to pass. The test checks if the SUT meets the requirements for migration, configures a virtual machine, and starts it on the SUT. It then migrates the running virtual machine from the SUT to the LTS. After migration, verifies the virtual machine is no longer running on the SUT and is running on the LTS. Finally, the test migrates the running virtual machine from the LTS back to the SUT and checks again that the virtual machine is running on the SUT and no longer running on the LTS.

Preparing for the test

Ensure that LTS and SUT are running Red Hat Enterprise Linux 8, and the redhat-certification-hardware package is installed on the LTS and SUT.

Add the hostname in the respective /etc/hosts file in both LTS and SUT and make the hostname alias for the fully qualified name as shown below:

  • <IP address of SUT> <hostname of SUT>
  • <IP address of LTS> <hostname of LTS>

Executing the test

The test is non-interactive. Currently, this test can be planned and executed manually via CLI only.

On RHEL 8:

# rhcert-cli plan --add -t fv_live_migration
# rhcert-cli run -t fv_live_migration

On RHEL 9:

# rhcert-cli run --test fv_live_migration --server=<server name>

Run time

The test takes around 5 minutes to complete. However, the time might decrease or increase if the LTS and SUT belong to the same or a different lab or network respectively.

A.25. fv_memory

The fv_memory test is a wrapper that launches the FV guest and runs a memory test on it.

Additional resources

  • For more information about the test methodology and runtime, see memory.

A.26. fv_network

What the test covers

The fv_network test is a wrapper that launches the guest virtual machine and then runs a network test on a network passthrough device. This test is run on a host machine that has a network device allocated to the test virtual machine. The test is supported to run on RHEL 7 only.

What the test does

This test verifies that the hardware network device is functioning as expected within the virtual machine.

Preparing for the test

Ensure that the SUT has more than one NIC. Configure the network device passthrough for one of the NIC. For passthrough configuration, see Physically shared devices in Types of virtual devices section in Red Hat Enterprise Linux 8 Configuring and Managing Virtualization. The guest VM should be configured to use the passthrough NIC and obtain an IP address.The network assigned to the guest should be routable to the LTS. This can be verified by pinging the VM and LTS in both directions.

Executing the test

The fv_network test is non-interactive. After properly assigning a VF to the guest, check the checkbox next to the test and click the Run Selected button to perform the test.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.27. fv_pcie_storage_passthrough

What the test covers

The fv_pcie_storage_passthrough test is used to verify that control over a PCIe-based storage device, such as SAS and SATA, in the host machine can be transferred to a virtual machine. The test is supported on Red Hat Enterprise Linux 8 and must be run on a host machine. This test is planned automatically if the host supports device passthrough and has IOMMU enabled.

What the test does

The test performs multiple subtests to attach a host machine’s HBA device to a virtual machine and then run the storage tests inside the virtual machine. Successful completion of the test requires all of the subtests to pass. The test validates if the PCIe device connected to the host machine can be assigned to appear natively in the guest virtual machine, configures the guest virtual machine to use the passthrough PCIe device, and executes the fv storage that launches the virtual machine and ensures the device is functioning as expected inside it.

Preparing for the test

Ensure that the host machine supports device passthrough and has IOMMU enabled. To configure, see Configuring a Host for PCI Passthrough.

Note

Do not run the test on the storage devices with the root partition of the host machine.

Executing the test

The test is non-interactive. Select the check box beside the test you want to run, and then click Run Selected.

Run time

The test takes around 30 minutes to run.

A.28. fv_usb_network_passthrough

What the test covers

The fv_usb_network_passthrough test is used to verify that control over a USB-attached network device in the host machine can be transferred to a virtual machine. The test is supported on Red Hat Enterprise Linux version 8 and above and must be run on a host machine. This test is planned automatically if the host machine supports device passthrough and has IOMMU enabled.

What the test does

The test performs multiple subtests to attach a host machine’s USB device to a virtual machine and then run the network tests inside the virtual machine. Successful completion of the test requires all of the subtests to pass. The test validates if the USB device connected to the host machine can be assigned to appear natively in the guest virtual machine, configures the guest virtual machine to use the passthrough USB device, and executes the fv network that launches the virtual machine and ensures the device is functioning as expected inside it.

Preparing for the test

  • Ensure that the USB device is plugged into the SUT that supports device passthrough and has IOMMU enabled. To configure, see Configuring a Host for PCI Passthrough .
  • Ensure that the SUT has a minimum of two NIC and both networks are routable to the LTS.

Executing the test

The test is non-interactive. Select the check box beside the test you want to run, and then click Run Selected.

Note

If the test fails due to network bandwidth issues, then you might have to increase the CPUs and RAM allocated to the virtual machine to achieve higher bandwidth.

Run time

The test takes around 90 minutes to run, but will vary in length depending on the size and speed of the USB device and connection.

A.29. fv_usb_storage_passthrough

What the test covers

The fv_usb_storage_passthrough test is used to verify that control over a USB-attached storage device, in the host machine can be transferred to a virtual machine. The test is supported on Red Hat Enterprise Linux 8 and must be run on a host machine. This test is planned automatically if the host supports device passthrough and has IOMMU enabled.

What the test does

The test performs multiple sub tests to attach a host machine’s USB device to a virtual machine and then run the storage tests inside the virtual machine. Successful completion of the test requires all of the subtests to pass. The test validates if the USB device connected to the host machine can be assigned to appear natively in the guest virtual machine, configures the guest virtual machine to use the passthrough USB device, and executes the fv storage that launches the virtual machine and ensures the device is functioning as expected inside it.

Preparing for the test

Ensure that the USB device is plugged into the host machine that supports device passthrough and has IOMMU enabled. To configure, see Configuring a Host for PCI Passthrough section in the Red Hat Virtualization Administration Guide.

Executing the test

The test is non-interactive. Select the check box beside the test you want to run, and then click Run Selected.

Run time

The test takes around 90 minutes to run, but will vary in length depending on the size and speed of the USB device and connection.

A.30. fv_pcie_network_passthrough

What the test covers

The fv_pcie_network_passthrough test is used to verify that control over a PCIe-based network device, such as NIC, LOMs, ALOMs, in the host machine can be transferred to a virtual machine. The test is supported on Red Hat Enterprise Linux version 8 and above, and must be run on a host machine. This test is planned automatically if the host machine supports device passthrough and has IOMMU enabled.

What the test does

The test performs multiple subtests to attach a host machine’s network device to a virtual machine and then run the network tests inside the virtual machine. Successful completion of the test requires all of the subtests to pass. The test validates if the PCIe device connected to the host machine can be assigned to appear natively in the guest virtual machine, configures the guest virtual machine to use the passthrough PCIe device, and executes the fv network that launches the virtual machine and ensures the device is functioning as expected inside it.

Preparing for the test

  • Ensure that the system under test (SUT) supports device passthrough and has IOMMU enabled. To configure, see Configuring a Host for PCI Passthrough section in the Red Hat Virtualization Administration Guide.
  • Ensure that the SUT has a minimum of two NIC and both networks are routable to the LTS.

Executing the test

The test is non-interactive. Select the check box beside the test you want to run, and then click Run Selected.

Note

If the test fails due to network bandwidth issues, then you might have to increase the CPUs and RAM allocated to the virtual machine to achieve higher bandwidth.

Run time

The test takes around 30 minutes to run.

A.31. fv_storage

The fv_storage test is a wrapper that launches the FV guest and runs the storage test on it. The test is supported to run on RHEL 7 only.

Additional resources

  • For more information on the rest of the test functionality, see STORAGE.

A.32. infiniband connection

What the test does

The Infiniband Connection test runs the following subtests to ensure a baseline functionality using, when appropriate, the ip address selected from the dropdown at the onset of the test:

  1. Ping test

    Runs ping from the starting IP address of the device being tested on the SUT to the selected IP address of the LTS.

  2. Rping test

    Runs rping on LTS and SUT using the selected LTS IP address, then compares results to verify it ran to completion.

  3. Rcopy test

    Runs rcopy on LTS and SUT, sending a randomly generated file and comparing md5sums on LTS and SUT to verify successful transfer.

  4. Rdma-ndd service test

    Verifies stop, start and restart service commands function as expected.

  5. Opensm service test

    Verifies stop, start and restart service commands function as expected.

  6. LID verification test

    Verifies that the LID for the device is set and not the default value.

  7. Smpquery test

    Runs smpquery on LTS using device and port for another verification the device/port has been registered with the fabric.

  8. ib_write_bw

    Run ib_write_bw from the SUT to the selected IP address of the LTS to test the InfiniBand write bandwidth and verify if it can reach the required bandwidth.

  9. ib_read_bw

    Run ib_read_bw from the SUT to the selected IP address of the LTS to test the InfiniBand read bandwidth and verify if it can reach the required bandwidth.

  10. ib_send_bw

    Run ib_send_bw from the SUT to the selected IP address of the LTS to test the InfiniBand read bandwidth and verify if it can reach the required bandwidth.

Preparing for the test

Ensure that the LTS and SUT are separate machines, on the same fabric(s).

Executing the test

This is an interactive test. Check the box next to the test name to indicate it is among the tests to run. Click Run Selected to continue. You will be prompted with a dropdown to select an ip address (an ip address of LTS) in which to perform the tests using. Select an ip address corresponding to a device on the same fabric of the SUT device you are running the test for.

Manually adding and running the test

Use the following command to manually add the InfinibandConnectionTest:

  • Infiniband_QDR
rhcert-cli plan --add --test Infiniband_QDR --device <device
name>_devicePort_<port number>
  • Infiniband_FDR
rhcert-cli plan --add --test Infiniband_FDR --device <device name>_devicePort_<port number>
  • Infiniband_EDR
rhcert-cli plan --add --test Infiniband_EDR --device <device name>_devicePort_<port number>
  • Infiniband_HDR
rhcert-cli plan --add --test Infiniband_HDR --device <device name>_devicePort_<port number>
  • Infiniband_Socket_Direct
rhcert-cli plan --add --test Infiniband_Socket_Direct

Use the following command to manually run the InfinibandConnectionTest:

  • Infiniband_QDR
rhcert-cli run --test Infiniband_QDR --server <LTS IP addr>
  • Infiniband_FDR
rhcert-cli run --test Infiniband_FDR --server <LTS IP addr>
  • Infiniband_EDR
rhcert-cli run --test Infiniband_EDR --server <LTS IP addr>
  • Infiniband_HDR
rhcert-cli run --test Infiniband_HDR --server <LTS IP addr>
  • Infiniband_Socket_Direct
rhcert-cli run --test Infiniband_Socket_Direct --server <LTS IP addr>

Run time

This test takes less than 10 minutes to run.

Additional resources

A.33. info

What the test does

The info test is a part of all results packages. It’s run automatically along with any other test that is being performed and is a required part of every results package. If you attempt to submit a package that contains no info test, the package will be rejected. The test performs several different tasks. If any of these tasks fail, the info test fails:

  1. Confirm that /proc/sys/kernel/tainted is zero, indicating a non-tainted kernel.
  2. Confirm that package verification with rpm -V shows that no files have been modified.
  3. Confirm that rpm -qa kernel shows that the buildhost of the kernel package is a redhat.com machine.
  4. Record the boot parameters from /proc/cmdline for later analysis by our review team.
  5. Confirm that rpm -V redhat-certification shows that no modifications have been made to any of the certification test suite files.
  6. Confirm that all the modules shown by lsmod show up in a listing of the kernel files with the command rpm -ql kernel.
  7. Confirm that all modules are on the kABI stablelist.
  8. Confirm that the module vendor and buildhost are appropriate Red Hat entries.
  9. Confirm that the kernel is the GA kernel of the Red Hat minor release. The verification is attempted with data from the redhat-certification-information package. Internet verification (direct routing/dns resolution have to work, or environment variable 'ftp_proxy=http://proxy.domain:80' has to be set) is attempted if the kernel is not present in the redhat-certification-information package.
  10. Checks for any known hardware vulnerabilities reported by the kernel. The test reads the files at this directory /sys/devices/system/cpu/vulnerabilities/ and exits with a warning if the files contain word “Vulnerable”.
  11. Confirms if the system has any offline CPUs by checking the output of lscpu command.
  12. Confirms if Simultaneous Multithreading (SMT) is available, enabled, and active in the system.

After performing those tasks, the system gathers a sosreport and the output of dmidecode. These are used by our review team to help them in their analysis of the test results.

Run time

The info test takes around 1 minute on a 2013-era, single CPU, 3.3GHz, 6-core/12-thread Intel workstation with 8 GB of RAM running Red Hat Enterprise Linux 6.4, AMD64 and Intel 64 that was installed using the kickstart files in this guide. The time will vary depending on the speed of the machine and the quantity of RPM files that are installed.

A.34. intel_sst

What the test covers

The intel_sst test is a CPU frequency scaling test that exercises Intel’s Speed Select Technology (SST) and is supported on Red Hat Enterprise Linux (RHEL) 8 only. This feature is used to customize the per-core performance to match CPU to the workload and allocate performance. This enables you to boost the performance of targeted applications at runtime.

What the test does

The intel_sst test runs on SST-enabled systems only and supports the following features:

  • Speed Select Base Freq (SST-BF) - Allows specific cores to run higher base frequency (P1) by reducing the base frequencies (P1) of other cores.
  • Frequency Prioritization (SST-CP) - Allows specific cores to clock higher by reducing the frequency of cores running lower-priority software.

The test checks if the above features are supported and configured on the system. Based on the result, it will execute only one subtest of the respective feature.

Preparing for the test

You must run this test on Intel chipset architectures only.

  • To use the Intel® SST-BF functionality on a Red Hat Enterprise Linux (RHEL) based platform.

    Prerequisites:

    1. Enable the Intel® SST-BF feature in the BIOS
    2. Configure the kernel parameters - intel_idle.max_cstate=1
  • To use the Intel® SST-CP functionality on a Red Hat Enterprise Linux (RHEL) based platform.

    Prerequisites:

    1. Enable the Intel® SST-CP feature in the BIOS
    2. Configure the kernel parameters - intel_idle.max_cstate=1 intel_pstate=disable

Executing the test

This test is non-interactive. Check the checkbox next to the test and click the Run Selected button to perform the test.

Run time

This test takes around 5 minutes to complete. Any other mandatory or selected tests will add to the overall run time.

A.35. iPXE

What the iPXE test covers

The iPXE test is an interactive test and runs on Red Hat Enterprise Linux (RHEL) 8 machines having x86 arch. The RHEL 8 machine should boot in the UEFI boot mode.

If the efi directory exists the machine is running in the UEFI boot mode. Run the following command to determine if your machine is running in UEFI mode:

 ls /sys/firmware/efi/

What the test does

iPXE is the leading open source network boot firmware. It provides a full PXE implementation enhanced with additional features such as boot from HTTP, SAN, and Wireless Network. This test checks if the underlying NIC supports iPXE by using the HTTP boot.

While performing the iPXE the test server does not return any bootable image. The boot screen will display an error could not boot, this is an expected error message. The test server will boot with the next boot loader that is with the RHEL OS.

Preparing for the test

  • Ensure that the host under test is in the UEFI boot mode. iPXE tests the interface that it finds first, thus, on the host under test, ensure the interface which needs to be tested is plugged in.
  • Ensure that httpd service is not running on the test server while running this test, as this test uses port 80 to communicate with the test server.

Executing the test

  1. Provision the system.

    # rhcert-provision
    1. When prompted, enter the path of the test plan saved on your system.
    2. When prompted, provide the hostname or the IP address of the test server to allow passwordless SSH to set up. You will be prompted only the first time you add a new system.
  2. The ipxe test does not appear in the test plan, so you must use the following commands to plan and execute it manually, respectively.

    # rhcert-cli plan --add --test iPXE
    # rhcert-cli run --test iPXE
  3. The test will first configure the host under test (HUT) for iPXE test. It will save the MAC details of HUT, then it will create a new boot loader with ipxe binary and mark the boot loader as the next boot. After that, it will prompt for a reboot, press Yes to continue. The test server will display waiting for a response after it sends the reboot command.
  4. The SUT will be rebooted to the new boot loader, which in turn loads the iPXE prompt and do a GET request to see if it is able to reach the test server. As it is just a GET requets the boot will fail and the system will fall back to the next boot loader i.e. RHEL OS.
  5. The test server will continuously monitor the host under test to see if it has rebooted. After the reboot, the test will continue. The test will first revert the boot changes done for iPXE and then verify if iPXE boot was successful.
  6. It will compare the MAC address received from the GET request of iPXE boot with the MAC already saved. If the MAC matches the iPXE test is successful.

Run time

The test takes less than 5 minutes to run. Any other mandatory or selected tests will add to the overall run time.

A.36. iwarp connection

What the test does

The IWarp connection test runs the following subtests to ensure a baseline functionality using, when appropriate, the IP address selected from the dropdown at the onset of the test:

  1. Ping test - Runs ping from the starting IP address of the device being tested on the SUT to the selected IP address of the LTS.
  2. Rping test - Runs rping on LTS and SUT using the selected LTS IP address, then compares results to verify it ran to completion.
  3. Rcopy test - Runs rcopy on LTS and SUT, sending a randomly generated file and comparing md5sums on LTS and SUT to verify successful transfer.
  4. Ethtool test - Runs the ethtool command passing in the detected net device of the roce device.

Preparing for the test

Ensure that the LTS and SUT are separate machines, on the same fabric(s).

Executing the test

This is an interactive test. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. You will be prompted with a dropdown to select an ip address (an ip address of LTS) in which to perform the tests using. Select an ip address corresponding to a device on the same fabric of the SUT device you are running the test for.

Manually adding and running the test

Use the following commands to manually add the IWarpConnectiontest:

  • 10GigiWarp
rhcert-cli plan --add --test 10GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 20GigiWarp
rhcert-cli plan --add --test 20GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 25GigiWarp
rhcert-cli plan --add --test 25GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 40GigiWarp
rhcert-cli plan --add --test 40GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 50GigiWarp
rhcert-cli plan --add --test 50GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 100GigiWarp.
rhcert-cli plan --add --test 100GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 200GigiWarp
rhcert-cli plan --add --test 200GigiWarp --device <device name>_devicePort_<port number>_netDevice_<net device here>

Use the following command to manually run the IWarpConnectionTest:

  • 10GigiWarp
rhcert-cli run --test 10Gigiwarp --server <LTS IP addr>
  • 20GigiWarp
rhcert-cli run --test 20GigiWarp --server <LTS IP addr>
  • 25GigiWarp
rhcert-cli run --test 25GigiWarp --server <LTS IP addr>
  • 40GigiWarp
rhcert-cli run --test 40GigiWarp --server <LTS IP addr>
  • 50GigiWarp
rhcert-cli run --test 50GigiWarp --server <LTS IP addr>
  • 100GigiWarp.
rhcert-cli run --test 100GigiWarp --server <LTS IP addr>
  • 200GigiWarp
rhcert-cli run --test 200GigiWarp --server <LTS IP addr>

Run time

This test takes less than 10 minutes to run.

Additional resources

A.37. kdump

What the test covers

The kdump test verifies the ability of a system to capture a vmcore after a crash using the kdump utility. There are two entries in the local test plan, one for local core file storage and one for the remote copying of a vmcore via NFS to the test server.

What the test does

The test will crash the system and write a vmcore to /var/crash. It will crash the system a second time and write a vmcore to the /var/www/hwcert/export directory on the network / kdump server system. After each of the two actions occurs, the test server program will confirm that the system only did the things it was scheduled to do, e.g. it checks that only two reboots occurred when each panic was triggered.

Preparing for the test

Ensure that the system is connected to the network before running the test. All parameters will be automatically set by the test server.

Executing the test

The kdump test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. The system will ask you to click the btn:[Yes] or btn:[No] button to trigger the crash when the kdump test is run. The discs will sync and the vmcore file will be saved. You will see a series of messages including "Waiting for response", "Waiting for connection", and finally, "ready" as the test server waits for completion of the task. After the core is saved, the system under test will reboot and the rhcert application will be ready for the next test. The rhcert server will verify the vmcore file is present and valid. It will then repeat the crash, this time exporting the vmcore file to the test server, when you click the button next to the NFS version of tes test.

Run time

The kdump test run time is highly variable. It is dependent on the amount of RAM in the SUT, the speed of the disks in both the SUT and the test server, the speed of the network connection to the test server, and the time it takes to reboot the SUT. For a 2013-era workstation with 8GB of RAM, a 7200 RPM 6Gb/s SATA drive, a gigabit Ethernet connection to the test server and a 1.5 minute reboot time, a local kdump test can complete in about 4 minutes, including the reboot. The same 2013-era workstation can complete a NFS kdump test in about 5 minutes to a similarly equipped network test server. The required info test will add about a minute to the overall run time.

A.38. lid

What the test covers

The lid test is only valid for systems that have integrated displays and therefore have a lid that can be opened and closed. The lid is detected by searching the udev database for a device with "lid" in its name:

E: NAME="Lid Switch"

What the test does

The test ensures that the system can determine when its lid is closed and when it is open via parameters in udev, and that it can turn off the display’s backlight when the lid is closed.

Preparing for the test

To prepare for the test, ensure that the power management settings do not put the system to sleep or into hibernation when the lid is closed. In Red Hat Enterprise Linux 7, use the Tweak Tool to disable suspend or hibernate on lid close. Make sure the lid is open before you start the test run.

Executing the test

The lid test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. You will be asked if you are ready to begin the test, so answer Yes to continue. Close the lid when prompted, watching to see if the backlight turns off. You may have to look through the small space between the keyboard and lid when the laptop is closed to verify that the backlight has turned off. Answer Yes if the backlight turns off or No if the backlight does not turn off.

Run time

The lid test takes about 30 seconds to perform, essentially the time it takes to close the lid just enough to have the backlight turn off. Because this test is run on laptops, a suspend test must accompany the required info test for each run. The suspend test will add approximately 6 minutes to each test run, and info will add another minute.

A.39. Memory

What the memory test covers

The memory test is used to test system RAM. It does not test USB flash memory, SSD storage devices or any other type of RAM-based hardware, it only tests main memory.

A memory per CPU core check has been added to the planning process to verify that the SUT meets the RHEL minimum requirement memory standards. It is a planning condition for several of the hardware certification tests, including the ones for memory, core, realtime, and all the full-virtualization tests. This change applies to both RHEL 7 and RHEL 8.

If the memory per CPU core check does not pass, the above-mentioned tests will not be planned automatically. However, these tests can be planned manually via CLI.

What the test does: The test uses the file /proc/meminfo to determine how much memory is installed in the system. Once it knows how much is installed, it checks to see if the system architecture is 32-bit or 64-bit. Then it determines if swap space is available or if there is no swap partition. The test runs either once or twice with slightly different settings depending on whether or not the system has a swap file:

  1. If swap is available, allocate more RAM to the memory test than is actually installed in the system. This forces the use of swap space during the run.
  2. Regardless of swap presence, allocate as much RAM as possible to the memory test while staying below the limit that would force out of memory (OOM) kills. This version of the test always runs.

In both iterations of the memory test, malloc() is used to allocate RAM, the RAM is dirtied with a write of an arbitrary hex string (0xDEADBEEF), and a test is performed to ensure that 0xDEADBEEF is actually stored in RAM at the expected addresses. The test calls free() to release RAM when testing is complete. Multiple threads or multiple processes will be used to allocate the RAM depending on whether the process size is greater than or less than the amount of memory to be tested.

Preparing for the test

Install the correct amount of RAM in the system in accordance with the rules in the Policy Guide.

Executing the test

The memory test is non-interactive. Check the checkbox next to the test and click Run Selected to perform the test.

Run time, bare-metal

The memory test takes about 16 minutes to run on a 2013-era, single CPU, 6-core/12-thread 3.3GHz Intel-based workstation with 8GB of RAM running Red Hat Enterprise Linux, AMD64 and Intel 64. The test will take longer on systems with more RAM. The required info test will add about a minute to the overall run time.

Run time, full-virt guest

The fv_memory test takes slightly longer than the bare-metal version, about 18 minutes, to run in a guest. The added time is due to guest startup/shutdown activities and the required info test that runs in the guest. The required info test on the bare-metal system will add about a minute to the overall run time. The fv_memory test run times will not vary as widely from machine to machine as the bare-metal memory tests, as the amount of RAM assigned to our pre-built guest is always the same. There will be variations caused by the speed of the underlying real system, but the amount of RAM in use during the test won’t change from machine to machine.

Creating and Activating Swap for EC2: Partners can perform the following steps to create and activate swap for EC2

sudo dd if=/dev/zero of=/swapfile bs=1M count=8000
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
swapon -s
edit file /etc/fstab and add the following line:
/swapfile swap swap defaults 0 0
write file and quit/exit
Note

A note about FV testing times: The first time you run any full-virt test, the system under test will need to acquire the FV guest files. If these files are located on the local test server and you are using 1GbE or faster networking, that will take only a minute or two to transfer the ~300MB of guest files. If the files are retrieved from the Red Hat FTP server, which happens automatically if the guest files are not installed or not found on the local test server, the first runtime will depend on the speed of the FTP transfer. Once the guest files are installed, they will be used for all subsequent runs of fv_* tests.

A.40. network

What the test covers

The network test is used to test devices whose function is transferring data over a TCP/IP network. The network test not only includes non-qualified network test but also qualified variants to cover multiple connection speeds and bandwidths of both wired and wireless implementations as listed:

  • 1GigEthernet - The network test with added speed detection for 1 gigabit Ethernet connections.
  • 10GigEthernet - The network test with added speed detection for 10 gigabit Ethernet connections.
  • 20GigEthernet - The network test with added speed detection for 20 gigabit Ethernet connections.
  • 25GigEthernet - The network test with added speed detection for 25 gigabit Ethernet connections.
  • 40GigEthernet - The network test with added speed detection for 40 gigabit Ethernet connections.
  • 50GigEthernet - The network test with added speed detection for 50 gigabit Ethernet connections.
  • 100GigEthernet - The network test with added speed detection for 100 gigabit Ethernet connections.
  • 200GigEthernet - The network test with added speed detection for 200 gigabit Ethernet connections.

    Note

    If you see a test named Ethernet in your local test plan, that is an indication that the test suite did not recognize the speed for that device. Please check the connection before attempting to test that particular device.

  • WirelessG - The network test with added speed detection for 802.11g wireless Ethernet connections.
  • WirelessN - The network test with added speed detection for 802.11n wireless Ethernet connections.
  • WirelessAC - The network test with added speed detection for 802.11ac wireless Ethernet connections.
  • WirelessAX - The network test with added speed detection for 802.11ax wireless Ethernet connections.

What the test does

The test gathers information on all the network devices and runs this procedure:

  1. Bounce the interface (ifdown, ifup) being tested, as long as the root partition is not on an NFS mount. If we were running on NFS root, the system would never come back after losing its connection to root.
  2. ifdown all interfaces not under test.
  3. Create a test file of random data (using /dev/urandom) the size of which is tuned to the speed of your NIC.
  4. TCP testing - The TCP latency test uses iperf3 tool to test the TCP latency between the LTS and SUT. This test watches to see if the system runs into any OS timeouts, which would cause the test to fail. It’s followed by a TCP bandwidth test which uses iperf tool to test the bandwidth between LTS and SUT. For wired devices, we expect the speed to be close to the theoretical maximum.
  5. UDP testing - The UDP latency test uses iperf3 tool to test the UDP latency between the LTS and SUT, and the script watches to see if the system runs into any OS timeouts.
  6. File transfer testing - The script transfers a file from the system under test (SUT) to the remote system, local test server (LTS) and then transfers it back to the SUT to check if the transfer works properly. On RHEL 7 and RHEL 8, the test uses HTTP, while on RHEL 9, the test uses SCP.
  7. ICMP (ping) test - The script causes a ping flood at the default packet size to make sure nothing in the system fails (the system should not restart/reset or oops or anything else that indicates the inability to withstand a ping flood.). 5000 packets are sent, and a 100% success rate is expected. The test will retry 5 times for an acceptable success rate.
  8. The final action of the test is to bring all interfaces back to where they started, either active or inactive depending on their state when the test was launched.

Preparing for testing wired devices

You may test as many network devices from the official test plan as you wish in each run of the test suite. Connect each device at its native (maximum) speed or the test will fail. Ensure that the hwcert network test server is up and running before beginning, and make sure that each network device has an IP address assigned either statically or via DHCP.

The network test uses iperf tool to perform the TCP and UDP subtests. The iperf tool requires multiple firewall ports to be open.

To update the firewall ports on the RHEL 7 LTS, launch Red Hat certification web UI in a browser and log in, then click Server settings > Environment > Configuration section > Firewall status, and click Open Ports.

If the firewall ports are not open on RHEL 9 LTS, you will be prompted to open the firewall ports during the test run.

Note

By default, ports 52001-52101 will be opened. If you want to change the default ports, update the iperf-port and total-iperf-ports values in the configuration file at path /etc/rhcert.xml file.

<server listener-port="8009" iperf-port="52001" total-iperf-ports="100">

If any network devices support partitioning, we need to see them demonstrate both full-speed data transfer and the partitioning function in one or more runs of the network test. This requirement will be accounted for in the official test plan by having two entries for each NIC that supports partitioning. If the NIC can run at full speed while it’s partitioned, please configure a partition with the NIC running at its native speed and perform your network tests in that configuration. This single test run will satisfy both official test plan entries for the NIC.

If the NIC cannot run at full speed while it’s partitioned, please perform one network test without partitioning so that we can see full-speed operation, and then perform another network test with partitioning enabled so that we can see a demonstration of the partitioning function. We recommend that you choose either 1Gb/s or 10Gb/s for your partitioned configuration so that it conforms to one of our existing network speed tests.

Preparing for testing wireless Ethernet devices

In Red Hat Enterprise Linux 7, any system with a supported wireless card will automatically receive any necessary firmware package(s) at install time and all configuration of the cards can be done with the NetworkManager graphical tool. Simply select an SSID on a test network that does not require any additional user input during up/down operations (no authentication requests, VPN login, etc.) and you can run the test as explained in the "Executing the test" section below.

Note

Based on the wireless card which is being tested, the wireless access point that you connect to should be capable of performing WirelessG, WirelessN and WirelessAC network tests.

Executing the test

The network test is non-interactive. Check the checkbox next to the test and click Run Selected button to perform the test.

Run time

The network test takes about 2 minutes for each PCIe-based, gigabit, wired Ethernet card that is being tested. We’ll add 10GbE test times and wireless times at a future date. The required info test will add about a minute to the overall run time.

Additional resources

  • For more information on the rest of the test functionality, see Ethernet.

A.41. NVMe over Fabric tests

NVMe over Fabrics, also known as NVMe-oF and non-volatile memory express over fabrics, is a protocol specification designed to connect hosts to storage across a network fabric using the NVMe protocol.

The protocol is designed to enable data transfers between a host computer and a target solid-state storage device or system over a network - accomplished through NVMe message-based commands. Data transfers can be transferred through methods such as Ethernet or InfiniBand.

A.41.1. nvme_infiniband

What the test covers

The nvme_infiniband test verifies the access and use of NVMe SSD drives over the RDMA network. The test is supported to run on RHEL 8. The system under test is configured as an NVMe client, and the lab agent system is configured as an NVMe target.

What the test does

The test runs multiple subtests to:

  1. Verify that necessary kernel modules are loaded, and that the NVMe client is connected to the NVMe target.
  2. Establish and confirm the connection between NVMe target and client by running discovery, disconnect, and connect commands.
  3. Detect the network interface used to connect to the storage device in the target system and accordingly run one type of test from each of the STORAGE and infiniband connection tests.

For the NVMe over Fabric storage test, the test is executed on the NVMe client system but the NVMe device physically resides on the NVMe target host. Both NVMe client and target hosts communicate using the RDMA protocol.

Preparing for the test

Before you begin the test, ensure that the:

  • NVMe client is running RHEL 8.x or 9.x.
  • NVMe target and NVMe client systems are configured properly and are part of the RDMA network.
  • NVMe client and NVMe target are running the same RHEL version, otherwise, communication between NVMe client on RHEL 9.0 to NVMe target on RHEL 8.5 will result in an error, Invalid MNAN value 1024 attempting nvme connect.

Executing the test

The test is non-interactive. Currently, this test can be planned and executed via CLI only.

Run time

This test takes about 15 minutes to run. Any other mandatory or selected tests will add to the overall run time.

A.41.2. nvme_iwarp

What the test covers

The nvme_iwarp test verifies the access and use of NVMe SSD drives over the RDMA network. The test is supported to run on RHEL 8. The system under test is configured as an NVMe client, and the lab agent system is configured as an NVMe target.

What the test does

The test runs multiple subtests to:

  1. Verify that necessary kernel modules are loaded, and that the NVMe client is connected to the NVMe target.
  2. Establish and confirm the connection between NVMe target and client by running discovery, disconnect, and connect commands.
  3. Detect the network interface used to connect to the storage device in the target system and accordingly run one type of test from each of the STORAGE and iwarp connection tests.

For the NVMe over Fabric storage test, the test is executed on the NVMe client system but the NVMe device physically resides on the NVMe target host. Both NVMe client and target hosts communicate using the RDMA protocol.

Preparing for the test

Before you begin the test, ensure that the:

  • NVMe client is running RHEL 8.x or 9.x.
  • NVMe target and NVMe client systems are configured properly and are part of the RDMA network.
  • NVMe client and NVMe target are running the same RHEL version, otherwise, communication between NVMe client on RHEL 9.0 to NVMe target on RHEL 8.5 will result in an error, Invalid MNAN value 1024 attempting nvme connect.

Executing the test

The test is non-interactive. Currently, this test can be planned and executed via CLI only.

Run time

This test takes about 15 minutes to run. Any other mandatory or selected tests will add to the overall run time.

A.41.3. nvme_omnipath

What the test covers

The nvme_omnipath test verifies the access and use of NVMe SSD drives over the RDMA network. The test is supported to run on RHEL 8. The system under test is configured as an NVMe client, and the lab agent system is configured as an NVMe target.

What the test does

The test runs multiple subtests to:

  1. Verify that necessary kernel modules are loaded, and that the NVMe client is connected to the NVMe target.
  2. Establish and confirm the connection between NVMe target and client by running discovery, disconnect, and connect commands.
  3. Detect the network interface used to connect to the storage device in the target system and accordingly run one type of test from each of the STORAGE and omnipath connection tests.

For the NVMe over Fabric storage test, the test is executed on the NVMe client system but the NVMe device physically resides on the NVMe target host. Both NVMe client and target hosts communicate using the RDMA protocol.

Preparing for the test

Before you begin the test, ensure that the:

  • NVMe client is running RHEL 8.x or 9.x.
  • NVMe target and NVMe client systems are configured properly and are part of the RDMA network.
  • NVMe client and NVMe target are running the same RHEL version, otherwise, communication between NVMe client on RHEL 9.0 to NVMe target on RHEL 8.5 will result in an error, Invalid MNAN value 1024 attempting nvme connect.

Executing the test

The test is non-interactive. Currently, this test can be planned and executed via CLI only.

Run time

This test takes about 15 minutes to run. Any other mandatory or selected tests will add to the overall run time.

A.41.4. nvme_roce

What the test covers

The nvme_roce test verifies the access and use of NVMe SSD drives over the RDMA network. The test is supported to run on RHEL 8. The system under test is configured as an NVMe client, and the lab agent system is configured as an NVMe target.

What the test does

The test runs multiple subtests to:

  1. Verify that necessary kernel modules are loaded, and that the NVMe client is connected to the NVMe target.
  2. Establish and confirm the connection between NVMe target and client by running discovery, disconnect, and connect commands.
  3. Detect the network interface used to connect to the storage device in the target system and accordingly run one type of test from each of the STORAGE and RoCE connection tests.

For the NVMe over Fabric storage test, the test is executed on the NVMe client system but the NVMe device physically resides on the NVMe target host. Both NVMe client and target hosts communicate using the RDMA protocol.

Preparing for the test

Before you begin the test, ensure that the:

  • NVMe client is running RHEL 8.x or 9.x.
  • NVMe target and NVMe client systems are configured properly and are part of the RDMA network.
  • NVMe client and NVMe target are running the same RHEL version, otherwise, communication between NVMe client on RHEL 9.0 to NVMe target on RHEL 8.5 will result in an error, Invalid MNAN value 1024 attempting nvme connect.

Executing the test

The test is non-interactive. Currently, this test can be planned and executed via CLI only.

Run time

This test takes about 15 minutes to run. Any other mandatory or selected tests will add to the overall run time.

A.41.5. nvme_tcp

What the test covers

The nvme_tcp test verifies the access and use of NVMe SSD drives over the TCP network. The test is currently available as a Technology Preview and is supported to run on RHEL 8. The system under test is configured as an NVMe client, and the lab agent system is configured as an NVMe target.

What the test does

The test runs multiple subtests to:

  1. Verify that necessary kernel modules are loaded, and that the NVMe client is connected to the NVMe target.
  2. Establish and confirm the connection between NVMe target and client by running discovery, disconnect, and connect commands.
  3. Detect the network interface used to connect to the storage device in the target system and accordingly run one type of test from each of the STORAGE and NETWORK tests.

For the NVMe over Fabric storage test, the test is executed on the NVMe client system but the NVMe device physically resides on the NVMe target host. Both NVMe client and target hosts communicate using the TCP protocol.

Preparing for the test

Before you begin the test, ensure that the:

  • NVMe client is running RHEL 8.x.
  • NVMe target and NVMe client systems are configured properly and are part of the RDMA network.
Note

The default TCP port number for NVMe over TCP is 8009. The default TCP port number for NVMe over RDMA is 4420. You can use any TCP port number that does not conflict with other current applications. If there is a port conflict, then reconfigure the NVMe port number 8009 with a different TCP port number.

Executing the test

The test is non-interactive. Currently, this test can be planned and executed via CLI only.

Run time

This test takes about 10 minutes to run. Any other mandatory or selected tests will add to the overall run time.

A.42. omnipath connection

What the test does

The Omnipath Connection test runs the following subtests to ensure a baseline functionality using, when appropriate, the ip address selected from the dropdown at the onset of the test:

  1. Ping test - Runs ping from the starting IP address of the device being tested on the SUT to the selected IP address of the LTS.
  2. Rping test - Runs rping on LTS and SUT using the selected LTS IP address, then compares results to verify it ran to completion.
  3. Rcopy test - Runs rcopy on LTS and SUT, sending a randomly generated file and comparing md5sums on LTS and SUT to verify successful transfer.
  4. Rdma-ndd service test - Verifies stop, start and restart service commands function as expected.
  5. Opensm service test - Verifies stop, start and restart service commands function as expected.
  6. LID verification test - Verifies that the LID for the device is set and not the default value.
  7. Link speed test - Verifies that the detected link speed is 100Gb.
  8. Smpquery test - Runs spmquery on LTS using device and port for another verification the device/port has been registered with the fabric.

Preparing for the test

Ensure that the LTS and SUT are separate machines, on the same fabric. You need to install opa-basic-tools on the LTS from the Downloads section of Red Hat customer portal web page.

Executing the test

This is an interactive test. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. You will be prompted with a dropdown to select an ip address (an ip address of LTS) in which to perform the tests using. Select an ip address corresponding to a device on the same fabric of the SUT device you are running the test for.

Manually adding and running the test

Use the following command to manually add the OminpathConnectionTest:

rhcert-cli plan --add --test Omnipath --device <device name>_devicePort_<port number>

Use the following command to manually run the OmnipathConnectionTest:

rhcert-cli run --test Omnipath --server <LTS IP addr>

Run time

This test takes less than 10 minutes to run.

Additional resources

A.43. power_stop test

What the test covers

The Suspend-to-Idle state which, when enabled, allows a processor to be in the deepest idle state while the system is suspended. It freezes user space and puts all I/O devices into low-power states, thereby saving power consumption on systems.

The power_stop test is designed to verify if enabling these Stop (or idle) states work as expected on a ppc64le CPU architecture machine, specifically on Power9 based systems.

What the test does

The test uses the lsprop command to collect information of all the idle-stop states that a particular system supports, and cpupower command to enable and disable those states. The test observes the usage and duration counter increment of each cpu idle state to affirm if it’s enabled or not.

Success Criteria:

Change in the usage and duration parameter values for the stop state before and after enabling it.

  • PASS: If every state increases its counter parameter values
  • WARN: If any one state fails to increase its counter parameter values
  • FAIL: If any of the state does not increases its counter
  • REVIEW: any other unknown issue

Preparing for the test

Ensure your system meets the following requirements for the test to get planned automatically:

  • The system under test is running RHEL 8.x
  • The underlying architecture is ppc64le
  • The CPU Model is POWER9
Note

This test is not supported and will fail when executed on any other RHEL version and architecture.

Executing the test

The test is non-interactive. On WebUI, select the check box beside the power_stop test and click Run Selected.

Run time

The test takes less than five minutes to finish, but can vary depending on the number of CPU Idle Stop states.

A.44. profiler

The profiler test collects the performance metric from the system under test and determines whether the metrics are collected from the software or the hardware Performance Monitoring Unit (PMU) supported by the RHEL Kernel. If the metrics are hardware-based, the test further determines if the PMU includes per core counters only or includes per package counters also. The profiler test is divided into three tests, profiler_hardware_core, profiler_hardware_uncore, and profiler_software.

A.44.1. profiler_hardware_core

What the test covers

The profiler_hardware_core test collects performance metrics using hardware-based per core counters by checking the cycle events. The core events measure the functions of a processor core, for example, the L2 cache. The test is supported on RHEL 7 and later.

What the test does

The test is planned if core hardware event counters are found and locate the cpu*cycles files in the /sys/devices directory by running the find /sys/devices/* -type f -name 'cpu*cycles' command.

The test executes multiple commands to accumulate the sample of 'cycle' events, checks if the 'cpu cycle' event was detected, and checks if the samples were collected.

Note

This test is not intended to be exhaustive and, it does not test every possible core counter-event that a given processor may or may not have.

Preparing for the test

There are no special requirements to run this test.

Executing the test

The test is non-interactive. Check the checkbox beside the hwcert/profiler_hardware_core test and click Run Selected to perform the test.

Run time

The test takes approximately 30 seconds. Any other mandatory or selected tests will add to the overall run time.

A.44.2. profiler_hardware_uncore

What the test covers

The profiler_hardware_uncore test collects performance metrics using hardware-based package-wide counters. The uncore events measure the functions of a processor that are outside the core but are inside the package, for example, a memory controller. The test is supported on RHEL 8 and later.

What the test does

The test is planned if uncore hardware event counters are found. The test passes if it finds any uncore events and collects statistics for any one event. The test fails if it finds uncore events but does not collect statistics as those events are not supported.

The test executes multiple commands to collect the list of uncore events and the uncore events statistics.

Note

This test is not intended to be exhaustive and, it does not test every possible uncore counter-event that a given processor may or may not have.

Preparing for the test

There are no special requirements to run this test.

Executing the test

The test is non-interactive. Check the checkbox beside the hwcert/profiler_hardware_uncore test and click Run Selected to perform the test.

Run time

The test takes approximately 30 seconds. Any other mandatory or selected tests will add to the overall run time.

A.44.3. profiler_software

What the test covers

The profiler_software test collects performance metrics using software-based counters by checking the cpu_clock events. The test is supported on RHEL 7 and later. Software counters can be certified using this test. However, for customers with high-performance requirements, this test could be limiting.

What the test does

The test is planned if no core hardware event counters are found.

The test executes multiple commands to accumulate the sample of cpu-clock events, checks if the cpu-clock event was detected, and checks if the samples were collected.

Preparing for the test

There are no special requirements to run this test.

Executing the test

The test is non-interactive. Check the checkbox beside the hwcert/profiler_software test and click Run Selected to perform the test.

Run time

The test takes approximately 30 seconds. Any other mandatory or selected tests will add to the overall run time.

A.45. realtime

Note

This test only runs when certifying hardware on the Red Hat Enterprise Linux for Real Time product on Red Hat Enterprise Linux 7 and 8.

What the test covers

The realtime test covers the testing of systems running Red Hat Enterprise Linux for Real Time with two sets of tests: one to find system management mode-based execution delays, and one to determine the latency of servicing timer events.

What the test does

The first portion of the test loads a special kernel module named hwlat_detector.ko. This module creates a kernel thread which polls the Timestamp Counter Register (TSC), looking for intervals between consecutive reads which exceed a specified threshold. Gaps in consecutive TSC reads mean that the system was interrupted between the reads and executed other code, usually System Management Mode (SMM) code defined by the system BIOS.

The second part of the test starts a program named cyclictest, which starts a measurement thread per cpu, running at a high realtime priority. These threads have a period (100 microseconds) where they perform the following calculation:

  1. get a timestamp (t1)
  2. sleep for period
  3. get a second timestamp (t2)
  4. latency = t2 - (t1 + period)
  5. goto 1

The latency is the time difference between the theoretical wakeup time (t1+period) and the actual wakeup time (t2). Each measurement thread tracks minimum, maximum and average latency as well as reporting each datapoint.

Once cyclictest is running, rteval starts a pair of system loads, one being a parallel linux kernel compile and the other being a scheduler benchmark called hackbench.

When the run is complete, rteval performs a statistical analysis of the data points, calculating mean, mode, median, variance and standard deviation.

Preparing for the test

Install and boot the realtime kernel-rt kernel before adding the system to the certification. The command will detect that the running kernel is a realtime kernel and will schedule the realtime test to be run.

Running the test

The realtime test is non-interactive. Check the checkbox next to the test and click the Run Selected button to perform the test. The test will only appear when the system is running the rt-kernel.

Run time

The system management mode portion of the test runs for two hours. The timer event analysis portion of the test runs for twelve hours on all machines. The required info test will add about a minute to the overall run time.

A.46. reboot (Optional)

What the test covers

The reboot test confirms the ability of a system to reboot when prompted. It is not required for certification at this time.

What the test does

The test issues a shutdown -r 0 command to immediately reboot the system with no delay.

Preparing for the test

Ensure that the system can be rebooted before running this test by closing any running applications.

Executing the test

The reboot test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. You will be asked Ready to restart? when you reach the reboot portion of the test program. Answer y if you are ready to perform the test. The system will reboot and after coming back up, the test server will verify that the reboot completed successfully.

A.47. RoCE connection

What the test does

The Omnipath Connection test runs the following subtests to ensure a baseline functionality using, when appropriate, the ip address selected from the dropdown at the onset of the test:

  1. Ping test - Runs ping from the starting IP address of the device being tested on the SUT to the selected IP address of the LTS.
  2. Rping test - Runs rping on LTS and SUT using the selected LTS IP address, then compares results to verify it ran to completion.
  3. Rcopy test - Runs rcopy on LTS and SUT, sending a randomly generated file and comparing md5sums on LTS and SUT to verify successful transfer.
  4. Ethtool test - Runs the ethtool command passing in the detected net device of the roce device.

Preparing for the test

Ensure that the LTS and SUT are separate machines, on the same fabric(s).

Executing the test

This is an interactive test. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. You will be prompted with a dropdown to select an ip address (an ip address of LTS) in which to perform the tests using. Select an ip address corresponding to a device on the same fabric of the SUT device you are running the test for.

Manually adding and running the test

Use the following command to manually add the RoCEConnectionTest:

  • 10GigRoCE
rhcert-cli plan --add --test 10GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 20GigRoCE
rhcert-cli plan --add --test 20GigRoCE --device <device
name>_devicePort_<port number>_netDevice_<net device here>
  • 25GigRoCE
rhcert-cli plan --add --test 25GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 40GigRoCE
rhcert-cli plan --add --test 40GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 50GigRoCE
rhcert-cli plan --add --test 50GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 100GigRoCE
rhcert-cli plan --add --test 100GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device here>
  • 200GigRoCE
rhcert-cli plan --add --test 200GigRoCE --device <device name>_devicePort_<port number>_netDevice_<net device here>

Use the following command to manually run the RoCEConnectionTest:

  • 10GigRoCE
rhcert-cli run --test 10GigRoCE --server <LTS IP addr>
  • 20GigRoCE
rhcert-cli run --test 20GigRoCE --server <LTS IP addr>
  • 25GigRoCE
rhcert-cli run --test 25GigRoCE --server <LTS IP addr>
  • 40GigRoCE
rhcert-cli run --test 40GigRoCE --server <LTS IP addr>
  • 50GigRoCE
rhcert-cli run --test 50GigRoCE --server <LTS IP addr>
  • 100GigRoCE.
rhcert-cli run --test 100GigRoCE --server <LTS IP addr>
  • 200GigRoCE
rhcert-cli run --test 200GigRoCE --server <LTS IP addr>

Additional resources

A.48. SATA

What the SATA test covers

There are many different kinds of persistent on-line storage devices available in systems today.

What the test does

The SATA test is designed to test anything that reports an ID_TYPE of "disk" in the udev database. This test is for SATA drives. The hwcert/storage/SATA test gets planned if:

  • the controller name of any disk mentions SATA, or
  • the lsscsi transport for the host that disks are connected to mentions SATA

If the above two criteria do not meet, then the storage test would get planned for the detected device.

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.49. SATA_SSD

What the SATA_SSD test covers

This test will run if it determines the storage unit of interest is SSD and its interface is SATA.

What the SATA_SSD test does

The test finds the SCSI storage type and identifies connected storage interface on the location more /sys/block/sdap/queue/rotational. The test is planned if the rotational bit is set to zero for SSD.

Following are the device parameter values that would be printed as part of the test:

  • logical_block_size - Used to address a location on the device
  • physical_block_size - Smallest unit on which the device can operate
  • minimum_io_size - Minimum unit preferred for random input/output of device’s
  • optimal_io_size - It is the preferred unit of device’s for streaming input/output
  • alignment_offset - It is offset value from the underlying physical alignment

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.50. M2_SATA

What the M2_SATA test covers

This test will run if it determines the interface is SATA and attached through an M2 connection.

Manually adding and running the test

Use the following command to manually add the M2_SATA test:

rhcert-cli plan --add --test M2_SATA --device host0

Following are the device parameter values that would be printed as part of the test:

  • logical_block_size - Used to address a location on the device
  • physical_block_size - Smallest unit on which the device can operate
  • minimum_io_size - Minimum unit preferred for random input/output of device’s
  • optimal_io_size - It is the preferred unit of device’s for streaming input/output
  • alignment_offset - It is offset value from the underlying physical alignment

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.51. U2_SATA

What the U2_SATA test covers

This test will run if it determines the interface is SATA and attached through a U2 connection.

Manually adding and running the test

Use the following command to manually add the U2_SATA test:

rhcert-cli plan --add --test U2_SATA --device host0

Following are the device parameter values that would be printed as part of the test:

  • logical_block_size - Used to address a location on the device
  • physical_block_size - Smallest unit on which the device can operate
  • minimum_io_size - Minimum unit preferred for random input/output of device’s
  • optimal_io_size - It is the preferred unit of device’s for streaming input/output
  • alignment_offset - It is offset value from the underlying physical alignment

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.52. SAS

What the SAS test covers

There are many different kinds of persistent on-line storage devices available in systems today.

What the test does

The SAS test is designed to test anything that reports an ID_TYPE of "disk" in the udev database. This test is for SAS drives. The hwcert/storage/SAS test gets planned if:

  • the controller name of any disk should mention SAS, or
  • the lsscsi transport for the host that disks are connected to should mentions SAS

If the above two criteria do not meet, then the storage test would get planned for the detected device.

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.53. SAS_SSD

What the SAS_SSD test covers

This test will run if it determines the storage unit of interest is SSD and its interface is SAS.

What the SAS_SSD test does

The test finds the SCSI storage type and identifies connected storage interface on the location more /sys/block/sdap/queue/rotational. The test is planned if the rotational bit is set to zero for SSD.

Following are the device parameter values that are printed as part of the test:

  • logical_block_size - Used to address a location on the device
  • physical_block_size - Smallest unit on which the device can operate
  • minimum_io_size - Minimum unit preferred for random input/output of device’s
  • optimal_io_size - It is the preferred unit of device’s for streaming input/output
  • alignment_offset - It is offset value from the underlying physical alignment

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.54. PCIE_NVMe

What the PCIe_NVMe test covers

This test will run if it determines the interface is NVMe and attached through a PCIE connection.

What the PCIe_NVMe test does

This test gets planned if logical device host name string contains " nvme[0-9] "

Following are the device parameter values that would be printed as part of the test:

  • logical_block_size - Used to address a location on the device
  • physical_block_size - Smallest unit on which the device can operate
  • minimum_io_size - Minimum unit preferred for random input/output of device’s
  • optimal_io_size - It is the preferred unit of device’s for streaming input/output
  • alignment_offset - It is offset value from the underlying physical alignment

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.55. M2_NVMe

What the M2_NVMe test covers

This test will run if it determines the interface is NVMe and attached through an M2 connection.

Manually adding and running the test

Use the following command to manually add the M2_NVMe test:

rhcert-cli plan --add --test M2_NVMe --device nvme0

Following are the device parameter values that would be printed as part of the test:

  • logical_block_size - Used to address a location on the device
  • physical_block_size - Smallest unit on which the device can operate
  • minimum_io_size - Minimum unit preferred for random input/output of device’s
  • optimal_io_size - It is the preferred unit of device’s for streaming input/output
  • alignment_offset - It is offset value from the underlying physical alignment

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.56. U2_NVMe

What the U2_NVMe test covers

This test will run if it determines the interface is NVMe and attached through a U2 connection.

Manually adding and running the test

Use the following command to manually add the U2_NVMe test:

rhcert-cli plan --add --test U2_NVMe --device nvme0

Following are the device parameter values that would be printed as part of the test:

  • logical_block_size - Used to address a location on the device
  • physical_block_size - Smallest unit on which the device can operate
  • minimum_io_size - Minimum unit preferred for random input/output of device’s
  • optimal_io_size - It is the preferred unit of device’s for streaming input/output
  • alignment_offset - It is offset value from the underlying physical alignment

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.57. NVDIMM

What the NVDIMM test covers

This test operates like any other SSD non-rotational storage test and identifies the NVDIMM storage devices

What the test does

The test gets planned for storage device if:

  • There exist namespaces (non-volatile memory devices) for that disk device reported by "ndctl list"
  • It reports the "DEVTYPE" of the sda is equal to 'disk'

Following are the device parameter values that would be printed as part of the test:

  • logical_block_size - Used to address a location on the device
  • physical_block_size - Smallest unit on which the device can operate
  • minimum_io_size - Minimum unit preferred for random input/output of device’s
  • optimal_io_size - It is the preferred unit of device’s for streaming input/output
  • alignment_offset - It is offset value from the underlying physical alignment

Additional resources

  • For more information about what the test does and preparing for the test see STORAGE.

A.58. STORAGE

What the storage test covers

There are many different kinds of persistent on-line storage devices available in systems today. The STORAGE test is designed to test anything that reports an ID_TYPE of "disk" in the udev database. This includes IDE, SCSI, SATA, SAS, and SSD drives, PCIe SSD block storage devices, as well as SD media, xD media, MemoryStick and MMC cards. The test plan script reads through the udev database and looks for storage devices that meet the above criteria. When it finds one, it records the device and its parent and compares it to the parents of any other recorded devices. It does this to ensure that only devices with unique parents are tested. If the parent has not been seen before, the device is added to the test plan. This speeds up testing as only one device per controller will be tested, as per the Policy Guide.

What the test does

The STORAGE test performs the following actions on all storage devices with a unique parent:

  1. The script looks through the partition table to locate a swap partition that is not on an LVM or software RAID device. If found, it will deactivate it with swapoff and use that space for the test. If no swap is present, the system can still test the drive if it is completely blank (no partitions). Note that the swap device must be active in order for this to work (the test reads /proc/swaps to find the swap partitions) and that the swap partition must not be inside any kind of software-based container (no LVM or software RAID, but hardware RAID would work as it would be invisible to the system).
  2. The tool creates a filesystem on the device, either in a swap partition on the blank drive.
  3. The filesystem is mounted and the fio or dt command is used to test the device. The fio or dt command is an I/O test program and is a generic test tool capable of testing, reading, and writing to devices. Multiple sets of test patterns verify the functionality of storage devices.
  4. After the mounted filesystem test, the filesystem is unmounted and a dt test is performed against the block device, ignoring the file system. The dt test uses the "direct" parameter to handle this.
Note

The Storage test uses the dt package on RHEL 7.4 and older versions, and fio package on RHEL 7.5 and later versions.

Preparing for the test

You should install all the drives and storage controllers that are listed on the official test plan. In the case of multiple storage options, as many as can fit into the system at one time can be tested in a single run, or each storage device can be installed individually and have its own run of the storage test. You can decide on the order of testing and number of controllers present for each test. Each logical drive attached to the system must contain a swap partition in addition to any other partitions, or be totally blank. This is to provide the test with a location to create a filesystem and run the tests. The use of swap partitions will lead to a much quicker test, as devices left blank are tested in their entirety. They will almost always be significantly larger than a swap partition placed on the drive.

Note

If testing an SD media card, use the fastest card you can obtain. While a Class 4 SD card may take 8 hours or more to run the test, a Class 10 or UHS 1/2 card can complete the test run in 30 minutes or less.

When it comes to choosing storage devices for the official test plan, the rule that the review team operates by is "one test per code path". What we mean by that is that we want to see a storage test run using every driver that a controller can use. The scenario of multiple drivers for the same controller usually involves RAID storage of some type. It’s common for storage controllers to use one driver when in regular disk mode and another when in RAID mode. Some even use multiple drivers depending on the RAID mode that they are in. The review team will analyze all storage hardware to determine the drivers that need to be used in order to fulfill all the testing requirements. That’s why you may see the same storage device listed more than once in the official test plan. Complete information on storage device testing is available in the Policy Guide.

Executing the test

The storage test is non-interactive. Check the checkbox next to the test and click Run Selected button to perform the test.

Host bus adapter host0 has storage devices sda, sda1, sda2, sda3
Which disk would you like to test:  (sda|sda1|sda2|sda3|all)

Run time, bare-metal

The storage test takes approximately 22 minutes on a 6Gb/s SATA hard drive installed in a 2013-era workstation system. The same test takes approximately 3 minutes on a 6Gb/s SATA solid-state drive installed in a 2013-era workstation system. The required info test will add about a minute to the overall run time.

Additional resources

A.59. Special keys

What the test covers

The Special keys test captures a variety of input events from the system integrated keyboard. This test runs on systems with batteries only.

What the test does

The test captures the following:

  • Non-ACPI-related signals such as volume up and down, volume mute, display backlight brightness up and down, and more.
  • Key presses that send signals associated with global keyboard shortcuts, such as <Meta+E>, which opens the file browser.

Executing the test

The test is interactive. Select the checkbox beside the hwcert/Special keys test, click Run Selected, and confirm to run the test. This test requires capturing all input events. During the test, press all the non-standard and multimedia keys on the device.

Press the Escape key at any time to end the test and see a list of keys. The test is successful if all the keys that you tested appear in the list.

Run time

The test takes less than 5 minutes to finish. Any other mandatory or selected tests will add to the overall run time.

A.60. suspend (Laptops only)

What the test covers

The suspend test covers suspend/resume from S3 sleep state (suspend to RAM) and suspend/resume from S4 hibernation (suspend to disk). The test also covers freeze (suspend to idle - s2idle) state that allows more energy to be saved. This test is only scheduled on systems that have built-in batteries, like laptops, so it won’t be present on any other type of system.

Important

The suspend to RAM and suspend to disk abilities are essential characteristics of laptops. We therefore schedule an automated suspend test at the beginning of all certification test runs on a laptop. This ensures that all hardware functions normally post-resume. The test will always run on a laptop, much like the info test, regardless of what tests are scheduled.

What the test does

The test queries the /sys/power/state file and determines which states are supported by the hardware. If it sees "mem" in the file, it schedules the S3 sleep test. If it sees "disk" in the file, it schedules the S4 hibernation test. If it sees both, it schedules both. What follows is the procedure for a system that supports both S3 and S4 states. If your system does not support both types it will only run the tests related to the supported type.

Important

For RHEL 8 machines, the suspend states are written in /sys/power/state file. Whereas, RHEL 7 implements the pm-utils command.

  • If S3 sleep is supported, the script uses the pm-suspend command to suspend to RAM. The tester wakes the system up after it sleeps and the scripts check the exit code of pm-suspend to verify that the system woke up correctly. Testing then continues on the test server interface.
  • If S4 hibernation is supported, the script uses the use the pm-suspend command to suspend to disk. The tester wakes the system up after it hibernates and the scripts check the exit code of pm-suspend to verify that the system woke up correctly. Testing then continues on the test server interface.
  • If S3 sleep is supported, the tester is prompted to press the key that manually invokes it (a kbd:[Fn]+kbd:[F-key] combination or dedicated kbd:[Sleep] key) if such a key is present. The tester wakes the system up after it sleeps and the scripts check the exit code of pm-suspend to verify that the system woke up correctly. Testing then continues on the test server interface. If the system has no suspend key, this section can be skipped.
  • If S4 hibernation is supported, the tester is prompted to press the key that manually invokes it (a kbd:[Fn]+kbd:[F-key] combination or dedicated kbd:[Hibernate] key) if such a key is present. The tester wakes the system up after it hibernates and the scripts check the exit code of pm-suspend to verify that the system woke up correctly. Testing then continues on the test server interface. If the system has no suspend key, this section can be skipped.

Preparing for the test

Ensure that a swap file large enough to hold the contents of RAM was created when the system was installed. Someone must be present at the system under test in order to wake it up from suspend and hibernate.

Executing the test

The suspend test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. The test server GUI will display a status of suspend? when the test runs. Click on the suspend? status link or the Continue Testing button and then click the Yes button to suspend the laptop.

The test server will display waiting for response after it sends the suspend command. Check the laptop and confirm that it has completed suspending, then press the power button or any other key that will wake it from suspend. The test server will continuously monitor the system under test to see if it has awakened. Once it has woken up, the test server GUI will display the question Has resume completed?. Press the Yes or No button to tell the test server what happened.

The server will then continue to the hibernate test. Again, click the Yes button under the suspend? question to put the laptop into hibernate mode.

The test server will display waiting for response after it sends the hibernate command. Check the laptop and confirm that it has completed hibernating, then press the power button or any other key that will wake it from hibernation. The test server will continuously monitor the system under test to see if it has awakened. Once it has woken up, the test server GUI will display the question has resume completed?. Press the Yes or No button to tell the test server what happened.

Next the test server will ask you if the system has a keyboard key that will cause the system under test to suspend. If it does, click the Yes button under the question Does this system have a function key (Fn) to suspend the system to mem?. Follow the procedure described above to verify suspend and wake the system up to continue with testing.

Finally the test server will ask you if the system has a keyboard key that will cause the system under test to hibernate. If it does, click the Yes button under the question Does this system have a function key (Fn) to suspend the system to disk? Follow the procedure described above to verify hibernation and wake the system up to continue with any additional tests you have scheduled.

Run time

The suspend test takes about 6 minutes on a 2012-era laptop with 4GB of RAM and a non-SSD hard drive. This is the time for a full series of tests, including both pm-suspend-based and function-key-based suspend and hibernate runs. The time will vary depending on the speed at which the laptop can write to disk, the amount and speed of the RAM installed, and the capability of the laptop to enter suspend and hibernate states through function keys. The required info test will add about a minute to the overall run time.

Additional resources

A.61. tape

What the test covers

The tape test covers all types of tape drives. Any robots associated with the drives are not tested by this test.

What the test does

The test uses the mt command to rewind the tape, then it does a tar of the /usr directory and stores it on the tape. A tar compare is used to determine if the data on the tape matches the data on the disk. If the data matches, the test passes.

Preparing for the test

Insert a tape of the appropriate size into the drive.

Executing the test

The tape test is non-interactive. Check the checkbox next to the test and click Run Selected to perform the test.

A.62. Thunderbolt3

What the test covers

The Thunderbolt3 test covers Thunderbolt 3 ports from a hot plug and basic functionality standpoint, ensuring that all ports can be accessed by the OS and devices attached to the ports are properly added and removed.

What the test does

The purpose of the test is to ensure that all Thunderbolt 3 ports present in a system function as expected. It asks for the number of available Thunderbolt3 ports and then asks the tester to plug and unplug a Thunderbolt 3 device into each port. The test watches for Thunderbolt 3 device attach and detach events and records them. If it detects both plug and unplug events for the number of unique ports the tester entered, the test will pass. Note, while Thunderbolt 3 devices use the same physical connector as USB C devices, USB C devices are not Thunderbolt 3 devices. The test will not pass if USB C devices are used including USB C devices that claim compatibility with Thunderbolt 3 ports. Only Thunderbolt 3 devices can be used for this test.

Preparing for the test

Count the available Thunderbolt3 ports and have an available Thunderbolt3 device to use during the test.

Executing the test

The Thunderbolt3 test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the Run Selected button to continue. When prompted by the system, enter the number of available Thunderbolt3 ports present on the system. The system will ask for a Thunderbolt3 device to be plugged into a port and will then pause until the tester presses y to continue. The system will then ask for the device to be unplugged and again will pause until the tester presses y to continue. These steps repeat for the number of ports that were entered. Note that there is no right or wrong order for testing the ports, but each port must be tested only once.

Run time

The Thunderbolt3 test takes about 15 seconds per Thunderbolt3 port. This includes the time to manually plug in the device, scan the port, unplug the device, and scan the port again. Any other mandatory or selected tests will add to the overall run time.

A.63. Thunderbolt4

What the test covers

The Thunderbolt4 test covers Thunderbolt 4 ports from a hot plug and basic functionality standpoint, ensuring that all ports can be accessed by the OS and devices attached to the ports are properly added and removed.

What the test does

The purpose of the test is to ensure that all Thunderbolt 4 ports present in a system function as expected. It asks for the number of available Thunderbolt4 ports and then asks the tester to plug and unplug a Thunderbolt 4 device into each port. The test watches for Thunderbolt 4 device attach and detach events and records them. If it detects both plug and unplug events for the number of unique ports the tester entered, the test will pass. Note, while Thunderbolt 4 devices use the same physical connector as USB C devices, USB C devices are not Thunderbolt 4 devices. The test will not pass if USB C devices are used including USB C devices that claim compatibility with Thunderbolt 4 ports. Only Thunderbolt 4 devices can be used for this test. This test also validates that the generation of connection between the host and the connected device is Thunderbolt 4.

Preparing for the test

Count the available Thunderbolt4 ports and have an available Thunderbolt4 device to use during the test.

Executing the test

The Thunderbolt4 test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the Run Selected button to continue. When prompted by the system, enter the number of available Thunderbolt4 ports present on the system. The system will ask for a Thunderbolt4 device to be plugged into a port and will then pause until the tester presses y to continue. The system will then ask for the device to be unplugged and again will pause until the tester presses y to continue. These steps repeat for the number of ports that were entered. Note that there is no right or wrong order for testing the ports, but each port must be tested only once.

Run time

The Thunderbolt4 test takes about 15 seconds per Thunderbolt4 port. This includes the time to manually plug in the device, scan the port, unplug the device, and scan the port again. Any other mandatory or selected tests will add to the overall run time.

A.64. USB2

What the test covers

The USB2 test covers USB2 ports from a basic functionality standpoint, ensuring that all ports can be accessed by the OS.

What the test does

The purpose of the test is to ensure that all USB2 ports present in a system function as expected. It asks for the number of available USB2 ports (minus any that are in use for keyboard/mouse, etc.) and then asks the tester to plug and unplug a USB2 device into each port. The test watches for attach and detach events and records them. If it detects both plug and unplug events for the number of unique ports the tester entered, the test will pass.

Preparing for the test

Count the available USB2 ports and have a spare USB2 device available to use during the test. You may need to trace the USB ports from the motherboard header(s) to distinguish between USB2 and USB3 ports.

Executing the test

The USB2 test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. When prompted by the system, enter the number of available USB2 ports present on the system. Don’t count any that are currently in use by keyboards or mice. The system will ask for the test USB2 device to be plugged into a port and will then pause until the tester presses y to continue. The system will then ask for the device to be unplugged and again will pause until the tester presses y to continue. These steps repeat for the number of ports that were entered. Note that there is no right or wrong order for testing the ports, but each port must be tested only once.

Run time

The USB2 test takes about 15 seconds per USB2 port. This includes the time to manually plug in the device, scan the port, unplug the device, and scan the port again. The required info test will add about a minute to the overall run time.

A.65. USB3

What the test covers

The USB3 test covers USB3 ports from a basic functionality standpoint, ensuring that all ports can be enumerated, accessed, and hot plugged by the OS. The USB3 test supports three different speed-based tests, for each 5Gbps, 10Gbps, and 20Gbps. All three tests are planned if the system supports USB3. Successful credit for each test will result in the corresponding feature included in the Red Hat Ecosystem Catalog for the certification. The tests and their success criteria are as follows:

Success criteria:

  • USB3_5Gbps - The test will pass when the device transfer speed is 5Gbps.
  • USB3_10Gbps - The test will pass when the device transfer speed is 10Gbps.
  • USB3_20Gbps - The test will pass when the device transfer speed is 20Gbps.

What the test does

The purpose of the test is to ensure that all USB3 ports present in a system function as expected. It asks for the number of available USB3 ports (minus any that are in use for keyboard/mouse, etc.) and then asks the tester to plug and unplug a USB3 device into each port. The test watches for attach and detach events and records them. If it detects both plug and unplug events for the number of unique ports the tester entered, the test will pass.

Preparing for the test

Count the available USB3 ports and have an available USB3 device to use during the testing. You may need to trace the USB ports from the motherboard header(s) to distinguish between USB2 and USB3 ports. Ensure that the line speed of the device matches the expected speed of the test, that is, 5Gbps, 10 Gbps, or 20Gbps.

Executing the test

The USB3 test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. When prompted by the system, enter the number of available USB3 ports present on the system. Don’t count any that are currently in use by keyboards or mice. The system will ask for the test USB3 device to be plugged into a port and will then pause until the tester presses y to continue. The system will then ask for the device to be unplugged and again will pause until the tester presses y to continue. These steps repeat for the number of ports that were entered. Note that there is no right or wrong order for testing the ports, but each port must be tested only once.

Run time

The USB3 test takes about 15 seconds per USB3 port. This includes the time to manually plug in the device, scan the port, unplug the device, and scan the port again. The required info test will add about a minute to the overall run time.

A.66. USB4

What the test covers

The USB4 test covers USB4 ports from a basic functionality standpoint, ensuring that all ports can be enumerated, accessed, and hot plugged by the OS. The USB4 test supports two different speed-based tests, one for 20Gbps and one for 40Gbps. Both tests are planned if the system supports USB4. Successful credit for each test will result in the corresponding feature included in the Red Hat Ecosystem Catalog for the certification. The tests and their success criteria are as follows:

Success criteria

  • USB4_20Gbps - The test will pass when the device transfer speed is 20Gbps.
  • USB4_40Gbps - The test will pass when the device transfer speed is 40Gbps.

What the test does

The purpose of the test is to ensure that all USB4 ports present in a system function as expected. It asks for the number of available USB4 ports (minus any that are in use for keyboard/mouse, etc.) and then asks the tester to plug and unplug a USB4 device into each port. The test watches for attach and detach events and records them. If it detects both plug and unplug events for the number of unique ports the tester entered, the test will pass.

Preparing for the test:

Count the available USB4 ports and have an available USB4 device to use during the testing. You may need to trace the USB ports from the motherboard header(s) to distinguish between USB2, USB3, and USB4 ports. Ensure that the line speed of the device matches the expected speed of the test, that is, 20Gbps or 40Gbps.

Executing the test

The USB4 test is interactive. Check the box next to the test name to indicate it is among the tests to run. Click the button Run Selected to continue. When prompted by the system, enter the number of available USB4 ports present on the system. Don’t count any that are currently in use by keyboards or mice. The system will ask for the test USB4 device to be plugged into a port and will then pause until the tester presses y to continue. The system will then ask for the device to be unplugged and again will pause until the tester presses y to continue. These steps repeat for the number of ports that were entered. Note that there is no right or wrong order for testing the ports, but each port must be tested only once.

Run time

The USB4 test takes about 15 seconds per USB4 port. This includes the time to manually plug in the device, scan the port, unplug the device, and scan the port again. The required info test will add about a minute to the overall run time.

A.67. VIDEO

What the test covers

This test is supported on RHEL 7, RHEL 8, and RHEL 9 systems.

For RHEL 7 and RHEL 8, the VIDEO test checks for all removable or integrated video hardware on the motherboard. Devices are selected for testing by their PCI class ID. Specifically, the test checks for a device with a PCI class as Display Controller in the udev command output.

For RHEL 9, The VIDEO test remains the same. However, for framebuffer graphic solutions, the test is planned after it identifies if the display kernel driver is in use as a framebuffer and if direct rendering is not supported using the glxinfo command.

What the test does

The test runs multiple subtests:

  1. Check Connections - Logs the xrandr command output. This subtest is optional, and its failure does not affect the overall test result.
  2. Set Configuration - Checks the necessary configuration prerequisites like setting the display depth, flags, and configurations for the next subtest.
  3. The X Server Test - Starts another display server using the new configuration file and runs the glxgears, a lightweight MESA OpenGL demonstration program to check the performance.
  4. Log Module and Drivers - Runs xdpyinfo to determine the screen resolution and color depth. Along with that, the configuration file created at the start of the test should allow the system to run at the maximum resolution capability.

Finally, the test uses grep to search through the /var/log/Xorg.0.log logfile to determine in-use modules and drivers.

Preparing for the test

  • Ensure that the monitor and video card in the system can run at a resolution of 1024x768 with a color depth of 24 bits per pixel (bpp). Higher resolutions or color depths are also acceptable. Check the xrandr command output for 1024x768 at 24 bpp or higher to confirm.
  • If you do not see all the resolutions that the card or monitor combination can generate, ensure to remove any KVM switches between the monitor and video card.

Executing the test

The test is non-interactive. Select the check box beside the hwcert/video test and click Run Selected. First, the test system screen will go blank, and then a series of test patterns from the x11perf test program will appear. When the test finishes, it will return to the desktop or the virtual terminal screen.

Run time

The test takes about 1 minute to complete. Any other mandatory or selected tests will add to the overall run time.

A.68. VIDEO_DRM

What the test covers

The VIDEO_DRM test verifies the graphics controller, which utilizes a native DRM kernel driver with basic graphics support. This test is supported on RHEL 9.

The test will plan if:

  • The display driver in use is identified as a kernel mode-setting driver.
  • The display driver is not a framebuffer.
  • The direct rendering is not supported as identified by the glxinfo command, and the OpenGL renderer string is llvmpipe.

What the test does

The test verifies the functionality of the graphics controller similar to the VIDEO test.

Preparing for the test

  • Ensure that the monitor and video card in the system can run at a resolution of 1024x768 with a color depth of 24 bits per pixel (bpp). Higher resolutions or color depths are also acceptable. Check the xrandr command output for 1024x768 at 24 bpp or higher to confirm.
  • If you do not see all the resolutions that the card or monitor combination can generate, ensure to remove any KVM switches between the monitor and video card.

Executing the test

The test is non-interactive. Select the check box beside the hwcert/video test and click Run Selected. First, the test system screen will go blank, and then a series of test patterns from the x11perf test program will appear. When the test finishes, it will return to the desktop or the virtual terminal screen.

Run time

The test takes about 1 minute to complete. Any other mandatory or selected tests will add to the overall run time.

A.69. VIDEO_DRM_3D

What the test covers

The VIDEO_DRM_3D test verifies the graphics controller, which utilizes a native DRM kernel driver with accelerated graphics support. This test is supported on RHEL 9.

The test will plan if:

  • The display driver in use is identified as a kernel mode-setting driver.
  • The display driver is not a framebuffer.
  • The direct rendering is supported as identified by the glxinfo command, and the OpenGL renderer string is not llvmpipe.

The test uses Prime GPU Offloading technology to execute all the video test subtests.

What the test does

The test verifies the functionality of the graphics controller similar to the VIDEO test. In addition, the test runs the following subtests:

  1. Vulkaninfo test - Logs the vulkaninfo command output to collect the Vulkan information such as device properties of identified GPUs, Vulkan extensions supported by each GPU, recognized layers, supported image formats, and format properties.
  2. Glmark2 benchmarking test - Runs the glmark2 command to generate the score based on the OpenGL 2.0 & ES 2.0 benchmark set of tests and confirms the 3D capabilities. The subtest executes the utility two times with a different set of parameters, first with the Hardware renderer and later with the Software renderer. If the Hardware renderer command-run results in a better score than software, the test passes successfully, confirming the display controller has better 3D capabilities, otherwise fails.

Preparing for the test

  • Ensure that the monitor and video card in the system can run at a resolution of 1024x768 with a color depth of 24 bits per pixel (bpp). Higher resolutions or color depths are also acceptable. Check the xrandr command output for 1024x768 at 24 bpp or higher to confirm.
  • If you do not see all the resolutions that the card or monitor combination can generate, ensure to remove any KVM switches between the monitor and video card.

Executing the test

The test is non-interactive. Select the check box beside the hwcert/video test and click Run Selected. First, the test system screen will go blank, and then a series of test patterns from the x11perf test program will appear. When the test finishes, it will return to the desktop or the virtual terminal screen.

Run time

The test takes about 1 minute to complete. Any other mandatory or selected tests will add to the overall run time.

A.70. WirelessG

What the test covers

The WirelessG test is run on all wireless Ethernet connections with a maximum connection speed of 802.11g.

What the test does

This is a new test that combines the existing wlan and network tests. In addition to passing all the existing network test items, this test must detect a "g" link type as reported by iw and demonstrate a minimum throughput of 22Mb/s in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.71. WirelessN

What the test covers

The WirelessN test is run on all wireless Ethernet connections with a maximum connection speed of 802.11n.

What the test does

This is a new test that combines the existing wlan and network tests. In addition to passing all the existing network test items, this test must detect an "n" link type as reported by iw and demonstrate a minimum throughput of 100Mb/s in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.72. WirelessAC (Red Hat Enterprise Linux 7 and 8 only)

What the test covers

The WirelessAC test is run on all wireless Ethernet connections with a maximum connection speed of 802.11ac.

What the test does

This is a new test that combines the existing wlan and network tests. In addition to passing all the existing network test items, this test must detect an "ac" link type as reported by iw and demonstrate a minimum throughput of 300Mb/s in order to pass.

Additional resources

  • For more information on the rest of the test functionality, see network.

A.73. WirelessAX (Superseded by WiFi6)

What the test covers

The WirelessAX test is run on all wireless Ethernet connections with a maximum connection speed of 802.11ax.

What the test does

The test detects "ax" link type reported by iw and matches the product name having "wifi 6" or "AX" to decide the device has AX Support. The test for Wireless AX is also planned if the device passes Wireless AC Test and demonstrates a minimum throughput of 1200 Mb/s in order to pass. This test is not planned automatically but can be planned manually via CLI. Instead, WiFi6 test is planned automatically.

A.74. WiFi6

What the test covers

The WiFi6 test is run on all wireless Ethernet connections with a maximum connection speed of 802.11ax.

What the test does

The test detects "ax" link type reported by iw and matches the product name having "wifi 6" or "AX" to decide the device has AX Support. The test for WiFi6 is also planned if the device passes Wireless AC Test and demonstrates a minimum throughput of 1200 Mb/s in order to pass.

A.75. Manually Adding Tests

On rare occasions, tests may fail to plan due to problems with hardware detection or other issues with the hardware, OS, or test scripts. If this happens you should get in touch with your Red Hat support contact for further assistance. They will likely ask you to open a support ticket for the issue, and then explain how to manually add a test to your local test plan using the rhcert-cli command on the SUT. Any modifications you make to the local test plan will be sent to the LTS, so you can continue to use the web interface on the LTS to run your tests. The command is run as follows:

# rhcert-cli plan --add --test=<testname> --device=<devicename> --udi-<udi>

The options for the rhcert-cli command used here are:

  • plan - Modify the test plan
  • --add - Add an item to the test plan
  • --test=<testname> - The test to be added. The test names are as follows:

    • hwcert/suspend
    • hwcert/audio
    • hwcert/battery
    • hwcert/lid
    • hwcert/usbbase/expresscard
    • hwcert/usbbase/usbbase/usb2
    • hwcert/usbbase/usbbase/usb3
    • hwcert/kdump
    • hwcert/network/Ethernet/100MegEthernet
    • hwcert/network/Ethernet/1GigEthernet
    • hwcert/network/Ethernet/10GigEthernet
    • hwcert/network/Ethernet/40GigEthernet
    • hwcert/network/wlan/WirelessG
    • hwcert/network/wlan/WirelessN
    • hwcert/network/wlan/WirelessAC (available in Red Hat Enterprise Linux 7 only)
    • hwcert/memory
    • hwcert/core
    • hwcert/cpuscaling
    • hwcert/fvtest/fv_core
    • hwcert/fvtest/fv_live_migration
    • hwcert/fvtest/fv_memory
    • hwcert/fvtest/fv_network
    • hwcert/fvtest/fv_storage
    • hwcert/fvtest/fv_pcie_storage_passthrough
    • hwcert/fvtest/fv_pcie_network_passthrough
    • hwcert/fvtest/fv_usb_storage_passthrough
    • hwcert/fvtest/fv_usb_network_passthrough
    • hwcert/fvtest/fv_cpu_pinning
    • hwcert/profiler
    • hwcert/storage
    • hwcert/video
    • hwcert/info
    • hwcert/optical/bluray
    • hwcert/optical/dvd
    • hwcert/optical/cdrom
    • hwcert/fencing
    • hwcert/realtime
    • hwcert/reboot
    • hwcert/tape
    • hwcert/rdma/Infiniband_QDR
    • hwcert/rdma/Infiniband_FDR
    • hwcert/rdma/Infiniband_EDR
    • hwcert/rdma/Infiniband_HDR
    • hwcert/rdma/Infiniband_Socket_Direct
    • hwcert/rdma/10GigRoCE
    • hwcert/rdma/20GigRoCE
    • hwcert/rdma/25GigRoCE
    • hwcert/rdma/40GigRoCE
    • hwcert/rdma/50GigRoCE
    • hwcert/rdma/100GigRoCE
    • hwcert/rdma/200GigRoCE
    • hwcert/rdma/10GigiWarp
    • hwcert/rdma/20GigiWarp
    • hwcert/rdma/25GigiWarp
    • hwcert/rdma/40GigiWarp
    • hwcert/rdma/50GigiWarp
    • hwcert/rdma/100GigiWarp
    • hwcert/rdma/200GigiWarp
    • hwcert/rdma/Omnipath
    • hwcert/network/Ethernet/2_5GigEthernet
    • hwcert/network/Ethernet/5GigEthernet
    • hwcert/network/Ethernet/20GigEthernet
    • hwcert/network/Ethernet/25GigEthernet-
    • hwcert/network/Ethernet/50GigEthernet
    • hwcert/network/Ethernet/100GigEthernet
    • hwcert/network/Ethernet/200GigEthernet
    • rhcert/self-check
    • hwcert/sosreport
    • hwcert/storage/U2 SATA
    • hwcert/storage/M2 SATA
    • hwcert/storage/SATA_SSD
    • hwcert/storage/SATA
    • hwcert/storage/SAS_SSD
    • hwcert/storage/SAS
    • hwcert/storage/U2_NVME
    • hwcert/storage/M2_NVME
    • hwcert/storage/PCIE_NVME
    • hwcert/storage/NVDIMM
    • hwcert/storage/STORAGE
  • The other options are only needed if a device must be specified, like in the network and storage tests that need to be told which device to run on. There are various places you would need to look to determine the device name or UDI that would be used here. Support can help determine the proper name or UDI. Once found, you would use one of the following two options to specify the device:

    • --device=<devicename> - The device that should be tested, identified by a device name such as "enp0s25" or "host0".
    • --udi=<UDI> - The unique device ID of the device to be tested, identified by a UDI string.

Revised on 2022-06-10 18:23:23 UTC

Legal Notice

Copyright © 2022 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.