Building/Testing DAOS under HPE environment
First setup your reserved system:
Domain: all systems are on the daos.hpc.amslabs.hpecorp.net domain.
Proxy: proxy.houston.hpecorp.net port 8080
Reserve a node [https://hpe.sharepoint.com/:x:/r/teams/core_daos/_layouts/15/Doc.aspx?sourcedoc=%7BF7B07B18-0A0E-407D-A1AE-0DC2C90DCD4F%7D&file=Fort%20Collins%20System%20Reservations.xlsx&action=default&mobileredirect=true ] and connect to the node and install an image as root:
RESERVED_USER=ldap_user restore_partition.sh daos_ci-rocky8. Root Password: <same as Intel. Check with DAOS team>
Sample local machine ~/.ssh/config file something like this:
HPE-L9MTFKF0GW:~ padmanra$ cat ~/.ssh/config host http://github.com Hostname http://ssh.github.com Port 443 PreferredAuthentications publickey,keyboard-interactive ForwardAgent yes Host *.daos.hpc.amslabs.hpecorp.net ForwardAgent yes PreferredAuthentications publickey,password TCPKeepAlive yesMake sure you create an authorized_keys file to the reserved node and update it with the public key information (~/.ssh/).
On the local machine from where you SSH to the reserved node do the following:
ssh-add <path your private> ssh-agent ssh -A <node_name> : This should connect to the node using password less SSH (using your keys).
DAOS SOURCE BUILD STEPS
Perform the following commands (on the reserved node):
python3 -m venv ~/my_venv source ~/my_venv/bin/activate mkdir master; cd master git clone https://github.com/daos-stack/daos.git python3 -m pip install -r daos/requirements-build.txt cd daos If needed install, sudo dnf install -y libpsm2-devel sudo dnf install -y fdupes sudo dnf install -y dpdk-devel sudo dnf install -y pkg-config sudo dnf install -y golang sudo dnf install -y capstone-devel sudo dnf install -y ndctl-devel sudo dnf install -y daxctl-devel sudo dnf install -y pciutils-devel git submodule update --init --recursive export INSTALL_DIR=/home/padmanra/master/daos/install scons-3 COMPILER=gcc SCONS_ENV=full BUILD_TYPE=release TARGET_TYPE=dev PREFIX="$INSTALL_DIR" --build-deps=yes -j8 --config=force install
Now, we have to create an environment file to use the source binaries. [Check with DAOS team for some env.sh [if they provide it, modify it according to your needs].
RUNNING FTEST (on the reserved nodes)
# Repository root
DAOS_REPO_ROOT=/home/<username>/daos
# Where daos is installed
DAOS_INSTALL_ROOT=/home/<username>/daos/install
# Creates the systemd file, which by default uses /usr/bin/daos_server
# So update to point to YOUR daos_server, but still use the /etc config
# This also means if you put YOUR config in /etc then you can start with systemctl!
# Be warned: if you also have daos RPMs installed the linkage will be wrong because the systemctl env is sanitized
sudo cp $DAOS_REPO_ROOT/utils/systemd/daos_server.service /usr/lib/systemd/system/daos_server.service
sudo sed -i "s~ExecStart=.*~ExecStart=$DAOS_INSTALL_ROOT/bin/daos_server start -o /etc/daos/daos_server.yml~g" /usr/lib/systemd/system/daos_server.service
# Similar to daos_server but for daos_agent
sudo cp $DAOS_REPO_ROOT/utils/systemd/daos_agent.service /usr/lib/systemd/system/daos_agent.service
sudo sed -i "s~ExecStart=.*~ExecStart=$DAOS_INSTALL_ROOT/bin/daos_agent start -o /etc/daos/daos_agent.yml~g" /usr/lib/systemd/system/daos_agent.service
# Reload and enable
sudo systemctl daemon-reload
sudo systemctl enable daos_server
sudo systemctl enable daos_agent
# Misc setup not handled by ftest
sudo mkdir -p /etc/daos/certs/clients
sudo useradd daos_server -M
sudo useradd daos_agent -M
# Setup the helper
sudo chown root:daos_server $DAOS_INSTALL_ROOT/bin/daos_server_helper
sudo chmod 4755 $DAOS_INSTALL_ROOT/bin/daos_server_helper
VERIFY
source env.sh (set the enviroment to use the DAOS source binaries)
cd $DAOS_INSTALL_ROOT/lib/daos/TESTING/ftest
# Sample test which uses a single server node.
python3 launch.py -ts brd-51 -pr ofi+tcp test_valid_labels [If this test passes, you are all set]
To install RPMS
sudo dnf clean all
sudo dnf remove -y mpich ior hdf5-mpich hdf5-vol-daos-mpich mercury spdk dpdk
sudo dnf install -y daos-client daos-admin daos daos-client-tests daos-client-tests-openmpi gdb mpich ior hdf5-mpich hdf5-vol-daos-mpich MACSio-mpich mpifileutils-mpich daos-client-debuginfo daos-admin-debuginfo daos-debuginfo daos-client-tests-debuginfo daos-client-tests-openmpi-debuginfo daos-server daos daos-server-debuginfo daos-debuginfo