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}}
Pip install
$ 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
Obtain DAOS RPMs - multiple options
Build them from sources
Download them from a PR or recent successful master PR
E.g. https://build.hpdd.intel.com/job/daos-stack/job/daos/job/master/5259/artifact/artifacts/
Replace “5259“ with your PR number
Select the appropriate OS sub-directory
Use the repositories in the snapshot image to find the RPM version
$ sudo dnf list --showduplicates daos
Install DAOS RPMs on each node
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
Optionally install other RPMs as needed for testing
Latest master builds can be found at https://build.hpdd.intel.com/job/daos-stack/
Can also use the repositories in the snapshot image
$ sudo dnf list --showduplicates ior
Running functional tests with RPMs
Set python environment for avocado modules, e.g.,
export PYTHONPATH=/usr/lib64/python3.6/site-packages/
Note: /usr/ directory in the above path might be /usr/local, if the python modules were not installed by superuser.
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>
Run the test
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>
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>
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.