Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Requirements

  • One or more nodes, typically a wolf/boro node, provisioned with a supported OS snapshot

    [user@wolf-ssh-2 ~]$ nodemgr install --profile daos_ci-el8.3 --nodes=<node>
  • Verify password-less ssh access between all nodes

  • Enable sudo access for your account on each node

    • Create a sudoers file for your user:

      [root@<node> ~]# visudo /etc/sudoers.d/<username>
    • Include the following in this file (replace <username> w/ your username):

      <username> ALL=(ALL) NOPASSWD:ALL
  • Install avocado (LTS release >= 69) on the node from which you will be running the tests

    • RPM installation (RECOMMENDED; currently supported on CentOS 8; others coming soon)

      $ sudo dnf install python3-avocado{,-plugins-{output-html,varianter-yaml-to-mux}}

If RPMs do not exist for your OS use pip to install avocado

$ sudo pip3 install "avocado-framework<70.0" $ sudo pip3 install "avocado-framework-plugin-result-html<70.0" $ sudo pip3 install "avocado-framework-plugin-varianter-yaml-to-mux<70.0"

Additional steps may be required per OS. See ci/provisioning/post_provision_config_nodes_*.sh for details.

  • Avoid removing any packages that will also uninstall ipa-client

RPM Install Steps

  1. Obtain DAOS RPMs - multiple options

    1. Build them from sources

    2. Download them from a PR or recent successful master PR

      1. E.g. https://build.hpdd.intel.com/job/daos-stack/job/daos/job/master/5259/artifact/artifacts/

        1. Replace “5259“ with your PR number

        2. Select the appropriate OS sub-directory

    3. Use the repositories in the snapshot image to find the RPM version

      $ sudo dnf list --showduplicates daos
  2. Install DAOS RPMs on each node

    1. The following command will install the daos, daos-client, daos-server, and daos-tests RPMs on one host (similar to CI).

      $ sudo dnf install ~/rpm/daos{,-{client,server,tests}}-<version>.rpm
  3. Optionally install other RPMs as needed for testing

    1. Latest master builds can be found at https://build.hpdd.intel.com/job/daos-stack/

      1. Example IOR: https://build.hpdd.intel.com/job/daos-stack/job/ior/job/master/lastSuccessfulBuild/artifact/artifacts/

    2. Can also use the repositories in the snapshot image

      $ sudo dnf list --showduplicates ior

Running functional tests with RPMs

  1. Apply any python test code changes in the RPM install path (owned by root)

    sudo vi /usr/lib/daos/TESTING/ftest/<dir>/<file>
    sudo cp <modified_file> /usr/lib/daos/TESTING/ftest/<dir>
  2. Run the test

    1. When running with unique server and client nodes

      cd /usr/lib/daos/TESTING/ftest
      ./launch.py -crispa -ts <server_nodes> -tc <client_nodes> <test_tag_or_file>
    2. When running with nodes that can perform any role

      cd /usr/lib/daos/TESTING/ftest
      ./launch.py -crispa -ts <all_nodes> <test_tag_or_file>
  3. View results

    less ~/avocado/job-results/latest/job.log

Using the ‘-a’ launch.py command line option requires the installation of the daos-tests RPMs on each host specified in by the ‘-ts’ and ‘-tc’ arguments.

If a test requests more hosts than are available the ‘-d’ launch.py command line option can be used to run the test on less servers/clients w/o modifying the test yaml file.

  • No labels