Manually Running Functional Tests from RPMs
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.5 --nodes=<node>
Verify password-less ssh access between all nodes
ssh user@<node>
If passwordless ssh is working, you will not be prompted for your password. If you are prompted, please take a review your ssh forwarding. If you still have an issue please submit a ticket to DCO.
Enable sudo access for your account on each node
Log in to your node(s) as root
ssh root@<node>
You will be prompted for the root password. If you do not have this password, please contact your team lead to get it.
Create a sudoers file for your user:
Include the following in this file (replace <username> w/ your username):
Once this is finished, you should be able to ssh in as your user, then use sudo, or sudo -i for everything moving forward.
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)
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
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
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).
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
Running functional tests with RPMs
Apply any python test code changes in the RPM install path (owned by root)
Run the test
When running with unique server and client nodes
When running with nodes that can perform any role
View results
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 ‘-o’ launch.py command line option can be used to run the test on less servers/clients w/o modifying the test yaml file.