Rechercher

Ce contenu n'est pas disponible dans la langue sélectionnée.

Chapter 33. CNI certification

download PDF

33.1. Working with Container Network Interface (CNI) certification

Note

To certify a CNI plug-in, it must be configured to be deployed and managed by using an Operator. Before proceeding with the Red Hat CNI Certification, the operator, along with all the containers referenced by your CNI operator bundle, including the plug-in must already be certified and published on the Red Hat Ecosystem Catalog prior to certifying the CNI plug-in.

33.1.1. Introduction to Container Network Interface

Container Network Interface (CNI) is a specification to configure network interfaces in Linux containers. It consists of a specification and libraries for writing plug-ins to configure network interfaces in Linux containers, along with a number of supported plug-ins. CNI is mainly helpful with adding, connecting, deleting and disconnecting containers to networks.

The CNI badge is a specialization within Red Hat OpenShift certification. It is available to products that implement a network function delivered in a container format by using a CNI plug-in with Red Hat OpenShift as the deployment platform.

The products that meet the requirements and complete the certification workflow can be referred to and promoted as Certified CNI on the Red Hat OpenShift Container platform. After the certification is approved, the certified CNI product will be listed on the Red Hat Ecosystem Catalog as well as on the OperatorHub within the web console in Red Hat OpenShift. The certified CNI operators are identified with the CNI badge. Partners will receive a logo to promote their product certification.

33.1.2. Certification workflow for CNI

Note

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

Task Summary

The certification workflow includes three primary steps-

33.1.2.1. Certification on-boarding for CNI

Perform the steps outlined for certification onboarding:

  1. Join the Red Hat Connect for Technology Partner Program.
  2. Agree to the program terms and conditions.
  3. Create your product listing by selecting your desired product category. You can select from the available product categories:

    1. Containerized Application
    2. Standalone Application
    3. OpenStack Infrastructure
  4. Complete your company profile.
  5. Add components to the product listing.
  6. Certify components for your product listing.

Additional resources

For detailed instructions about creating a product listing, see Creating a product listing.

33.1.2.2. Certification testing for CNI

Follow these high-level steps to run a certification test:

  1. Fork the Red Hat upstream repository.
  2. Install and run the Red Hat certification pipeline on your test environment.
  3. Review the test results and troubleshoot, if you face any issues.
  4. Submit the certification results to Red Hat through a pull request.

Additional resources

For detailed instructions about attaching product components and validating the functionality of your CNI operators on Red Hat OpenShift, see Adding certification components.

33.1.2.3. Publishing the product listing on the Red Hat Ecosystem Catalog

When you complete all the certification checks successfully, you can submit the test results to Red Hat. You can turn on or off this results submission step depending on your individual goals. When the test results are submitted, it triggers the Red Hat infrastructure to automatically merge your pull request and publish your operator.

Additional resources

For detailed instructions about publishing the product listing on the Red Hat Ecosystem Catalog, see Publishing the product listing on the Red Hat Ecosystem Catalog.

33.2. Creating a Product

For detailed instructions about creating a product listing, see Creating a product listing.

33.3. Adding certification components

For detailed instructions about attaching product components and validating the functionality of your CNI operators on Red Hat OpenShift, see Adding certification components.

33.4. Working with the OpenShift Operator Pipeline

Follow the steps to certify your operator before proceeding with the CNI certification:

Certified operators are listed in and consumed by customers through the embedded OpenShift operatorHub, providing them the ability to easily deploy and run your solution. Additionally, your product and operator image will be listed on the Red Hat Ecosystem Catalog.

33.5. Configuring your test environment for running the CNI tests

Before running the CNI tests, verify if the Red Hat OpenShift environment that you use for running the CNI tests meets the following criteria:

  1. Use a Red Hat OpenShift version within the full support phase of the life cycle. Red Hat recommends using the latest supported release. For more information on OpenShift releases, see Red Hat OpenShift Container Platform Life Cycle Policy.
  2. Deploy the networking product only by using the documented installation procedure.
  3. Install the Red Hat OpenShift Virtualization.
  4. If you want to test Service Mesh, install the Red Hat Service Mesh operator and the Service Mesh Control Plane (SMCP).
  5. Configure a host with access to the OpenShift cluster to use as the test client for running the CNI certification tests. This environment must include the utilities such as gcc,git, go, make, openssl and sonobuoy.
Important

Run your own product verification tests on the same configuration to ensure that your product functionality works as expected on the Red Hat OpenShift environment.

Red Hat Partner Connect offers free access to software as a program benefit. To know how to obtain a subscription to the Red Hat OpenShift environment, see Red Hat Partner Connect Program Guide.

33.6. Running the CNI tests

  1. To run the Red Hat OpenShift networking conformance test suite, place the kubeconfig.yaml file in the current working directory and run the following command:

    $ podman run -v `pwd`:/data:z --rm -it registry.redhat.io/openshift4/ose-tests sh -c "KUBECONFIG=/data/kubeconfig.yaml /usr/bin/openshift-tests run openshift/network/third-party -o /data/results.txt"

    The command uses the test suite that corresponds to the current minor release of Red Hat OpenShift, for example, 4.x. If you want to run the tests for a previous minor release, use an image tag to indicate the required version. For example, when running the tests for OpenShift 4.6, add the version number to the above command such as, ose-tests:v4.6. See the ose-tests repository page for information on tags available.

  2. Follow the steps to run the Red Hat OpenShift Virtualization conformance test suite:

    1. Download the conformance tests specific to your environment by using the following command:

      $ curl -L https://github.com/kubevirt/kubevirt/releases/download/v<KubeVirt version>/conformance.yaml -o kubevirt-conformance.yaml

      In this command <KubeVirt version> corresponds to the OpenShift Virtualization version that you use. For more details, see the Version mapping table.

    2. Execute the tests by using the following command:

      $ sonobuoy run --skip-preflight --plugin kubevirt-conformance.yaml

      In this command <KubeVirt version> denotes the version of the kubevirt.

    3. Monitor the status of the test by using the following command:

      $ sonobuoy status
    4. When the test run is completed, fetch the results by using the following command:

       $ sonobuoy retrieve

      It generates a compressed tar file.

      Verification steps

      Verify that the tests are completed successfully, by using the following command:

      $ sonobuoy results <tarball>

      The output should look similar to this:

      Plugin: kubevirt-conformance
      Status: passed
      Total: 637
      Passed: 9
      Failed: 0
      Skipped: 628
  3. Follow the steps to run the Red Hat OpenShift Service Mesh test suite:

    1. Clone the Maistra Test tool GitHub repository.
    2. Run the tests as per the instructions provided in the README.md file in the repository. Note that these tests may take approximately 3 hours to complete.

      If you face any issues that cause the suite to fail quickly, inspect the impacted pods by using the following command to check for ImagePullBackOff errors:

      $ describe
    3. After successful test completion, results.xml and test.log files are generated. Submit the files along with the CNI conformance test results to the Red Hat certification team for verification.

33.7. Submitting your CNI operator for certification

Capture the output of the end-to-end CNI tests, the OpenShift Virtualization tests and the Service Mesh tests, if applicable and submit the results through the Red Hat Certification portal.

  1. Log in to the 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.

Before uploading the results ensure that all CNI tests are completed successfully. If a particular test does not apply to the certified product, include an explanation along with the result submission.

33.8. Publishing the product listing on the Red Hat Ecosystem Catalog

When you submit the CNI component for validation through the Red Hat certification portal , the Red Hat certification team reviews and verifies your component for certification. After successful verification, your certified product gets published on the Red Hat Ecosystem Catalog.

Follow the steps to publish your certified CNI operator :

  1. Access the Partner connect web page. My Products web page displays the Product Listings.
  2. Search for the required product listing.
  3. Click the newly created product listing that you wish to publish. Review all the details of your product listing.
  4. Go to the Components tab.
  5. Click Add Component to attach your certified CNI operator to this listing. Also add the certified containers used by your CNI component. All the components must be in Published status.

    The Publish button is enabled when you specify all the required information for the product listing along with the attached components.

  6. Click Publish.

Your certified CNI operator is now available for public access on the Red Hat Ecosystem Catalog. The certified CNI operator will also be listed in the OperatorHub within the web console in OpenShift. Partners will receive a logo to promote their certified product on the Red Hat OpenShift platform.

Note

The Red Hat OpenShift software certification does not conduct functional or performance testing of the Partner’s product outside the Operator constructs and its impact on the Red Hat platform on which it was installed and executed. All aspects of the certification candidate product’s quality assurance remain the Partner’s sole responsibility.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.