Rechercher

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

Chapter 34. CSI certification

download PDF

34.1. Working with Container Storage Interface (CSI) certification

Note

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

34.1.1. Introduction to Container Storage Interface

The Container Storage Interface (CSI) allows products on the OpenShift Container Platform to consume storage from storage back ends that implement the CSI interface as persistent storage. CSI drivers are typically shipped as container images. The CSI badge is a specialization within Red Hat OpenShift certification. It is available to storage products that integrate by using a CSI driver 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 CSI products on the Red Hat OpenShift Container platform. After the certification is approved, the certified CSI product will be listed on the Red Hat Ecosystem Catalog and the OperatorHub within the web console in Red Hat OpenShift. The certified CSI operators are identified with the CSI badge. Partners will receive a logo to promote their product certification.

Additional resources

34.1.2. Certification workflow for CSI

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-

34.1.2.1. Certification on-boarding for CSI

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.

34.1.2.2. Certification testing for CSI

To run the 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 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.

34.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.

34.2. Creating a Product

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

34.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.

34.4. Working with the OpenShift Operator Pipeline

Follow the steps to certify your operator before proceeding with the CSI 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.

34.5. Configuring your test environment for running the CSI tests

Before running the CSI tests, verify if the Red Hat OpenShift environment that you use for running the CSI 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. Install the CSI driver by using its Operator.
  3. Install the Red Hat OpenShift Virtualization.
  4. Configure a RHEL host with access to the OpenShift cluster to use as the test client for running the CSI certification tests.
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.

34.6. Accessing the CSI certification tests

The CSI certification tests are packaged in a container and are included in the OpenShift End-to-End repository. To retrieve the current version of the tests, navigate to the Red Hat Ecosystem catalog and follow the instructions available on the Get this image tab.

When accessing the OpenShift End-to-End Tests container, make sure to pull the corresponding tag of the OpenShift version that you are using for your product certification.

34.7. Setting up the CSI test parameters

The CSI certification tests require the following files to be present on the client host:

  • A kubeconfig.yaml file with credentials to access the OpenShift cluster under test. This file is automatically created during the OpenShift installation, but you can recreate a copy by using the following command:

    $ oc config view --raw > kubeconfig.yaml
  • A manifest.yaml file that describes the capabilities of your driver. This file is used to determine the tests that must be executed. For more information, see the example file.

34.8. Running the CSI tests

On the test client, place the kubeconfig.yaml and manifest.yaml files 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 TEST_CSI_DRIVER_FILES=/data/manifest.yaml /usr/bin/openshift-tests run openshift/csi --junit-dir /data/results”

If you execute the tests on a version of OpenShift previous to the latest release, make sure to add the right tag to the container image name:registry.redhat.io/openshift4/ose-tests:<tag>. See OpenShift End-to-End Tests repository page for a list of available tags.

Verification Steps

  1. The output of the command includes a summary of the tests for the CSI capabilities and for container native virtualization (CNV) in OpenShift. Following is a sample output:

    Storage Capabilities (guaranteed only on full CSI test suite with 0 fails)
    ============================================================
    Driver short name: ceph-test
    Driver name: test.rbd.csi.ceph.com
    Storage class: ceph-rbd-sc.yaml
    Supported OpenShift / CSI features:
    Persistent volumes: true
    Raw block mode: true
    FSGroup: true
    Executable files on a volume: true
    Volume snapshots: true
    Volume cloning: true
    Use volume from multiple pods on a node:true
    ReadWriteMany access mode: true
    Volume expansion for controller: true
    Volume expansion for node: true
    Volume limits: true
    Volume can run on single node: true
    Topology: true
    Supported CNV features:
    Raw block VM disks: true
    Live migration: true
    VM snapshots: true
    Storage-assisted cloning: true

    The detailed results will be placed in the results subdirectory.

  2. If you want to see a list of the tests that are run for CSI certification, run the following command:

    podman run -v `pwd`:/data:z --rm -it registry.redhat.io/openshift4/ose-tests sh -c "KUBECONFIG=/data/kubeconfig.yaml TEST_CSI_DRIVER_FILES=/data/manifest.yaml /usr/bin/openshift-tests run --dry-run openshift/csi
Note

Execute separate tests for each supported storage protocol.

34.9. Submitting CSI test results

Make sure to have the following ready before submitting your test results:

  • Contents in the results directory
  • manifest.yaml file
  • Output of the following commands:

    $ oc get clusterversion -o yaml

    and

    $ podman image list registry.redhat.io/openshift4/ose-tests

    Follow the procedure to submit the result files 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 CSI tests are completed successfully. If a particular test does not apply to the certified product, include an explanation along with the result submission.

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

When you submit the CSI 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 CSI 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 CSI operator to this listing. Also add any additional certified containers used by your CSI 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 CSI operator is now available for public access on the Red Hat Ecosystem Catalog. The certified CSI 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.