Building/Testing DAOS under HPE environment

Building/Testing DAOS under HPE environment

 

First setup your reserved system:

 

  • 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:

    1. 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 yes
  • Make 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