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 21 Current »

Running Avocado with VMD device in Ci

  • Once you have your PR ready, Merge samirrav/DAOS-8161 branch to run the test in Ci
  • Ci has Two servers wolf-156/157 and a single CN wolf-180 so you can run a test with 4 daos servers and 1 client
  • Update the test file yaml file small.yaml,
    • VMD stage has Two servers so remove any extra servers
    • VMD stage has single head node which will act as a client so remove the client section from yaml,
    • Replace the bdev_list with variable disk ID which will be replace by Avocado  ["aaaa:aa:aa.a","bbbb:bb:bb.b"] 
--- a/src/tests/ftest/ior/small.yaml
+++ b/src/tests/ftest/ior/small.yaml
@@ -2,19 +2,14 @@ hosts:
   test_servers:
     - server-A
     - server-B
-    - server-C
-    - server-D
-   test_clients:
-    - client-E
-    - client-F
-    - client-G
-    - client-H
 timeout: 700
 server_config:
     name: daos_server
     servers:
         bdev_class: nvme
-        bdev_list: ["0000:81:00.0","0000:da:00.0"]
+        bdev_list: ["aaaa:aa:aa.a","bbbb:bb:bb.b"]
         scm_class: dcpm
         scm_list: ["/dev/pmem0"]

  • Follow example src/tests/ftest/nvme/health.yaml for running multiple servers from same branch  samirrav/DAOS-8161.
  • Change the Tag in test python file For example small.py test was running with large so for VMD it has been changed to run with small VMD cluster

    --- a/src/tests/ftest/ior/small.py
    +++ b/src/tests/ftest/ior/small.py
    @@ -33,7 +33,7 @@ class IorSmall(IorTestBase):
                     multiple client processes in two separate nodes.
    
             :avocado: tags=all,pr,daily_regression
    -        :avocado: tags=hw,large
    +        :avocado: tags=hw,small
             :avocado: tags=daosio,checksum,mpich,dfuse,DAOS_5610
             :avocado: tags=iorsmall
  • Use the following Tag to run the HW small with VMD in Ci and skip most of the other tests and build in CI.
    • Quick-Functional: true
    • Skip-func-hw-test-medium: true
    • Skip-func-hw-test-large: true
    • Skip-scan-centos-rpms: True
    • Skip-scan-centos-15-rpms: True
    • Skip-func-test-vm: true
    • Test-tag-hw-small: iorsmall  <Use the test tag which needs to run with VMD small cluster>
  • Create the PR and that should run the selected TAG in Ci

Running Avocado with VMD device Locally 

Server OS CentOS 8.4:

  • Right now we can not build and run from source so make sure to run test based on RPM 
  • Remove the existing daos bin (Remove the path and lib OR delete the local daos/install folder) 


  • Install daos rpm using the command :
sudo yum install -y daos-client daos-tests daos daos-server daos-debuginfo
  • Test code will be under so do cd /usr/lib/daos/TESTING/ftest/
  • Change the code in the below file


diff --git a/src/tests/ftest/util/command_utils_base.py b/src/tests/ftest/util/command_utils_base.py
index 31e94c1..8b31073 100644
--- a/src/tests/ftest/util/command_utils_base.py
+++ b/src/tests/ftest/util/command_utils_base.py
@@ -415,7 +415,7 @@ class YamlParameters(ObjectWithParameters):
             yaml_data = {}
         for name in self.get_param_names():
             value = getattr(self, name).value
-            if value is not None and value is not False:
+            if value is not None:
                 yaml_data[name] = value

         return yaml_data if self.title is None else {self.title: yaml_data}
diff --git a/src/tests/ftest/util/server_utils_params.py b/src/tests/ftest/util/server_utils_params.py
index 7d68ad1..4bbd033 100644
--- a/src/tests/ftest/util/server_utils_params.py
+++ b/src/tests/ftest/util/server_utils_params.py
@@ -106,6 +106,7 @@ class DaosServerYamlParameters(YamlParameters):

         self.provider = BasicParameter(None, default_provider)
         self.hyperthreads = BasicParameter(None, False)
+        self.disable_vmd = BasicParameter(None, True)
         self.socket_dir = BasicParameter(None, "/var/run/daos_server")
         self.nr_hugepages = BasicParameter(None, 4096)
         self.control_log_mask = BasicParameter(None, "DEBUG")
  • Update the test nvme_health.yaml file


diff --git a/src/tests/ftest/nvme/nvme_health.yaml b/src/tests/ftest/nvme/nvme_health.yaml
index 9ad6c67..5ec7dfe 100644
--- a/src/tests/ftest/nvme/nvme_health.yaml
+++ b/src/tests/ftest/nvme/nvme_health.yaml
@@ -12,24 +12,24 @@ server_config:
     0:
       pinned_numa_node: 0
       nr_xs_helpers: 1
-      fabric_iface: ib0
+      fabric_iface: eth0
       fabric_iface_port: 31317
       log_file: daos_server0.log
       bdev_class: nvme
-      bdev_list: ["0000:81:00.0"]
-      scm_class: dcpm
-      scm_list: ["/dev/pmem0"]
+      bdev_list: ["0000:5d:05.5"]
+      scm_class: ram
+      scm_size: 32
       scm_mount: /mnt/daos0
     1:
       pinned_numa_node: 1
       nr_xs_helpers: 1
-      fabric_iface: ib1
+      fabric_iface: eth0
       fabric_iface_port: 31417
       log_file: daos_server1.log
       bdev_class: nvme
-      bdev_list: ["0000:da:00.0"]
-      scm_class: dcpm
-      scm_list: ["/dev/pmem1"]
+      bdev_list: ["0000:85:05.5"]
+      scm_class: ram
+      scm_size: 32
       scm_mount: /mnt/daos1
   transport_config:
     allow_insecure: True


Execute test Avocado launch command and run nvme_health

  • ./launch.py -c -tc=wolf-[157] -ts=wolf-[157]  nvme_health


Server OS CentOS 8.3:

  • Installed the RPM on server and client  (use the above yum command)- This is needed so avocado can run systemd
  • Build daos on local system
  • Setup the daos_admin permission and SPDK setup script
  • Apply above patch for both test yaml file and util files
  • ./launch.py -c -tc=wolf-[170] -ts=wolf-[157] nvme_health



  • No labels