Repository: red-hat-storage/cephci
Pull request #4651: 8.1 nvmeof scale test suite
Author: login: rahullepakshi
Labels: name: nvmeof
Created: 2025-04-07T14:46:07Z | Merged: 2025-04-15T06:32:18Z

 Scale test suite including all new features from 8.1

-  GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
-  GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
-  GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
-  GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
-  5 initiator nodes
-  Bare Metal conf TBD


Diff:
diff --git a/suites/squid/nvmeof/tier-3_8-1-nvmeof_1-group_4-gw_scale.yaml b/suites/squid/nvmeof/tier-2_8-1-nvmeof_cross-feature.yaml
similarity index 81%
rename from suites/squid/nvmeof/tier-3_8-1-nvmeof_1-group_4-gw_scale.yaml
rename to suites/squid/nvmeof/tier-2_8-1-nvmeof_cross-feature.yaml
index 484d6c90549..ef0d5b39547 100644
--- a/suites/squid/nvmeof/tier-3_8-1-nvmeof_1-group_4-gw_scale.yaml
+++ b/suites/squid/nvmeof/tier-2_8-1-nvmeof_cross-feature.yaml
@@ -1,7 +1,6 @@
-# Scale test suite including all new features from 8.1
-# 1 GW group with 4 GWs and 128 subsystems with 20 namespaces each and 5 initiator nodes
+# Test suite including all new features from 8.1
+# 1 GW group with 4 GWs and 5 subsystems with 10 namespaces each and 5 initiator nodes
 # Test conf at rhos-d conf/squid/nvmeof/ceph_nvmeof_ns-masking-5_client.yaml
-# Bare Metal conf TBD
 tests:
   - test:
       abort-on-fail: true
@@ -42,7 +41,8 @@ tests:
               command: apply
               service: osd
               args:
-                all-available-devices: true
+                placement:
+                  label: osd
       desc: RHCS cluster deployment using cephadm
       destroy-clster: false
       module: test_cephadm.py
@@ -122,13 +122,13 @@ tests:
               service: subsystem
               command: add
               args:
-                subsystems: 128
+                subsystems: 5
                 max-namespaces: 1024
           - config:
               service: listener
               command: add
               args:
-                subsystems: 128
+                subsystems: 5
                 port: 4420
                 group: group1
                 nodes:
@@ -140,13 +140,13 @@ tests:
               service: host
               command: add
               args:
-                subsystems: 128
+                subsystems: 5
                 group: group1
-      desc: GW group with 4 GWs and 128 subsystems
+      desc: GW group with 4 GWs and 5 subsystems
       destroy-cluster: false
       module: test_ceph_nvmeof_gateway_sub_scale.py
       name: Configure subsystems
-      polarion-id: CEPH-83595512                     # This can be replaced with In band authentication functionality at scale
+      polarion-id: CEPH-83595512                     # This shall be replaced with In band authentication functionality
 
   - test:
       abort-on-fail: true
@@ -161,17 +161,18 @@ tests:
           - config:
               command: add
               args:
-                subsystems: 128
-                namespaces: 2560
+                subsystems: 5
+                namespaces: 50
                 pool: rbd
                 image_size: 1T
                 no-auto-visible: true
                 group: group1
+                validate_ns_masking_initiators: true
           - config:
               command: add_host
               args:
-                subsystems: 128
-                namespaces: 2560
+                subsystems: 5
+                namespaces: 50
                 initiators:
                   - node8
                   - node9
@@ -179,11 +180,12 @@ tests:
                   - node11
                   - node12
                 group: group1
+                validate_ns_masking_initiators: true
           - config:
               command: del_host
               args:
-                subsystems: 128
-                namespaces: 2560
+                subsystems: 5
+                namespaces: 50
                 initiators:
                   - node8
                   - node9
@@ -191,28 +193,31 @@ tests:
                   - node11
                   - node12
                 group: group1
+                validate_ns_masking_initiators: true
           - config:
               command: change_visibility
               args:
-                subsystems: 128
-                namespaces: 2560
+                subsystems: 5
+                namespaces: 50
                 auto-visible: 'yes'
                 group: group1
+                validate_ns_masking_initiators: true
           - config:
               command: change_visibility
               args:
-                subsystems: 128
-                namespaces: 2560
+                subsystems: 5
+                namespaces: 50
                 auto-visible: 'no'
                 group: group1
+                validate_ns_masking_initiators: true
         initiators:
           - node8
           - node9
           - node10
           - node11
           - node12
-      desc: e2e NS masking on 2560 namespaces 128 subsystems and 5 initiators
+      desc: e2e NS masking on 50 namespaces and 5 initiators
       destroy-cluster: false
       module: test_ceph_nvmeof_ns_masking.py
-      name: Test E2E nvmeof namespace masking at scale
-      polarion-id: CEPH-83609782
+      name: Test E2E nvmeof namespace masking
+      polarion-id: CEPH-83609777
diff --git a/suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml b/suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
new file mode 100644
index 00000000000..204820aa927
--- /dev/null
+++ b/suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
@@ -0,0 +1,520 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                placement:
+                  label: osd
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - rbd pool init nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd1
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd1
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd2
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd2
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd3
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd3
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd4
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd4
+      desc: create rbd pools for nvmeof service and data
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: create NVMeoF and data pools
+      polarion-id: CEPH-83595696
+
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node4
+                    - node5
+                    - node6
+                    - node7
+                    - node8
+                    - node9
+                    - node10
+                    - node11
+                    - node12
+              pos_args:
+                - nvmeof_pool
+                - group1
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node13
+                    - node14
+                    - node15
+                    - node16
+                    - node17
+                    - node18
+                    - node19
+                    - node20
+              pos_args:
+                - nvmeof_pool
+                - group2
+          - config:                        # Group 3 with no In band authentication - to be used for vmware testing
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node21
+                    - node22
+                    - node23
+                    - node24
+                    - node25
+                    - node26
+                    - node27
+                    - node28
+              pos_args:
+                - nvmeof_pool
+                - group3
+          - config:                       # Group 4 with no spdk huge pages
+              command: apply_spec
+              service: orch
+              validate-spec-services: true
+              specs:
+                - service_type: nvmeof
+                  service_id: nvmeof_pool.group4
+                  placement:
+                    nodes:
+                      - node29
+                      - node30
+                      - node31
+                      - node32
+                      - node33
+                      - node34
+                      - node35
+                      - node36
+                  spec:
+                    pool: nvmeof_pool
+                    group: group4
+                    spdk_mem_size: 4096
+      desc: deploy NVMeoF service for 4 GW groups with 8 GWs
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: deploy 4 NVMeoF services
+      polarion-id: CEPH-83595696
+
+# Group 1 configuration  - All 8.1 features
+  - test:
+      abort-on-fail: true
+      config:
+        node: node4
+        rbd_pool: rbd1
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group1
+                nodes:
+                  - node4
+                  - node5
+                  - node6
+                  - node7
+                  - node8
+                  - node9
+                  - node10
+                  - node11
+                  - node12
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group1
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group1
+      polarion-id: CEPH-83595512                     # This shall be replaced with In band authentication functionality at scale
+
+  - test:
+      abort-on-fail: true
+      config:
+        nodes:
+          - node4
+        rbd_pool: rbd
+        do_not_create_image: true
+        rep-pool-only: true
+        service: namespace
+        steps:
+          - config:
+              command: add
+              args:
+                subsystems: 76
+                namespaces: 2048
+                pool: rbd1
+                image_size: 1T
+                no-auto-visible: true
+                group: group1
+          - config:
+              command: add_host
+              args:
+                subsystems: 76
+                namespaces: 1520
+                initiators:
+                  - node41
+                  - node42
+                  - node43
+                  - node44
+                  - node45
+                group: group1
+        initiators:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+      desc: NS masking on 1520 namespaces 76 subsystems and 5 initiators
+      destroy-cluster: false
+      module: test_ceph_nvmeof_ns_masking.py
+      name: Test E2E nvmeof namespace masking at scale
+      polarion-id: CEPH-83609782
+
+# Group 2 configuration  - In band, NS masking, set_QOS
+  - test:
+      abort-on-fail: true
+      config:
+        node: node13
+        rbd_pool: rbd2
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group2
+                nodes:
+                  - node13
+                  - node14
+                  - node15
+                  - node16
+                  - node17
+                  - node18
+                  - node19
+                  - node20
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group2
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group2
+      polarion-id: CEPH-83595512                     # This shall be replaced with In band authentication functionality at scale
+
+  - test:
+      abort-on-fail: true
+      config:
+        nodes:
+          - node13
+        rbd_pool: rbd
+        do_not_create_image: true
+        rep-pool-only: true
+        service: namespace
+        steps:
+          - config:
+              command: add
+              args:
+                subsystems: 76
+                namespaces: 1520
+                pool: rbd2
+                image_size: 1T
+                no-auto-visible: true
+                group: group2
+        initiators:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+      desc: NS masking on 1520 namespaces 76 subsystems and 5 initiators
+      destroy-cluster: false
+      module: test_ceph_nvmeof_ns_masking.py
+      name: Test E2E nvmeof namespace masking at scale
+      polarion-id: CEPH-83609782             # Set QOS can be added after this test
+
+# Group 3 configuration
+# placeholder for manually running VMware use cases on a set of baremetal nodes assigned to group3
+  - test:
+      abort-on-fail: true
+      config:
+        node: node21
+        rbd_pool: rbd3
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group3
+                nodes:
+                  - node21
+                  - node22
+                  - node23
+                  - node24
+                  - node25
+                  - node26
+                  - node27
+                  - node28
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group3
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group3
+      polarion-id: CEPH-83595512
+
+  - test:
+      abort-on-fail: true
+      config:
+        nodes:
+          - node21
+        rbd_pool: rbd3
+        do_not_create_image: true
+        rep-pool-only: true
+        service: namespace
+        steps:
+          - config:
+              command: add
+              args:
+                subsystems: 76
+                namespaces: 1520
+                pool: rbd3
+                image_size: 1T
+                no-auto-visible: true
+                group: group3
+        initiators:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+      desc: NS masking on 1520 namespaces 76 subsystems and 5 initiators
+      destroy-cluster: false
+      module: test_ceph_nvmeof_ns_masking.py
+      name: Test E2E nvmeof namespace masking at scale
+      polarion-id: CEPH-83609782
+
+# Group 4 configuration  - scale with nohugepage support
+  - test:
+      abort-on-fail: true
+      config:
+        node: node29
+        rbd_pool: rbd4
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group4
+                nodes:
+                  - node29
+                  - node30
+                  - node31
+                  - node32
+                  - node33
+                  - node34
+                  - node35
+                  - node36
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group4
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group4
+      polarion-id: CEPH-83595512
+
+  - test:
+      abort-on-fail: true
+      config:
+        nodes:
+          - node29
+        rbd_pool: rbd4
+        do_not_create_image: true
+        rep-pool-only: true
+        service: namespace
+        steps:
+          - config:
+              command: add
+              args:
+                subsystems: 76
+                namespaces: 1520
+                pool: rbd4
+                image_size: 1T
+                no-auto-visible: true
+                group: group4
+        initiators:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+      desc: NS masking on 1520 namespaces 76 subsystems and 5 initiators
+      destroy-cluster: false
+      module: test_ceph_nvmeof_ns_masking.py
+      name: Test E2E nvmeof namespace masking at scale
+      polarion-id: CEPH-83609782


Reviews:
user: login: HaruChebrolu
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-09T05:35:32Z
user: login: HaruChebrolu
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-09T05:46:01Z
user: login: sunilkumarn417
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-09T08:47:48Z
user: login: rahullepakshi
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-09T11:14:12Z
user: login: rahullepakshi
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-09T12:58:29Z
user: login: manasagowri
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-10T16:10:31Z
user: login: rahullepakshi
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-10T16:29:31Z
user: login: rahullepakshi
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-10T16:29:44Z
user: login: manasagowri
body: Looks good to me. But @rahullepakshi You will verify the OSD deployment with testing once you have the baremetal setup right?

If that's the case, I am okay to merge this. Otherwise you can get the logs if that's a requirement for merging the PR.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-15T04:34:57Z
user: login: manasagowri
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-15T04:35:10Z
user: login: HaruChebrolu
body: Design looks good to me. Provided we need to make changes respectively in test modules matching the scale configuration.
Otherwise, LGTM
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-04-15T06:31:44Z

Review comments:
diff_hunk: @@ -0,0 +1,518 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                all-available-devices: true
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - rbd pool init nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd1
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd1
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd2
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd2
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd3
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd3
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd4
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd4
+      desc: create rbd pools for nvmeof service and data
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: create NVMeoF and data pools
+      polarion-id: CEPH-83595696
+
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node4
+                    - node5
+                    - node6
+                    - node7
+                    - node8
+                    - node9
+                    - node10
+                    - node11
+                    - node12
+              pos_args:
+                - nvmeof_pool
+                - group1
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node13
+                    - node14
+                    - node15
+                    - node16
+                    - node17
+                    - node18
+                    - node19
+                    - node20
+              pos_args:
+                - nvmeof_pool
+                - group2
+          - config:                        # Group 3 with no In band authentication - to be used for vmware testing
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node21
+                    - node22
+                    - node23
+                    - node24
+                    - node25
+                    - node26
+                    - node27
+                    - node28
+              pos_args:
+                - nvmeof_pool
+                - group3
+          - config:                       # Group 4 with no spdk huge pages
+              command: apply_spec
+              service: orch
+              validate-spec-services: true
+              specs:
+                - service_type: nvmeof
+                  service_id: nvmeof_pool.group4
+                  placement:
+                    nodes:
+                      - node29
+                      - node30
+                      - node31
+                      - node32
+                      - node33
+                      - node34
+                      - node35
+                      - node36
+                  spec:
+                    pool: nvmeof_pool
+                    group: group4
+                    spdk_mem_size: 4096
+      desc: deploy NVMeoF service for 4 GW groups with 8 GWs
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: deploy 4 NVMeoF services
+      polarion-id: CEPH-83595696
+
+# Group 2 configuration  - All features
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: HaruChebrolu
body: This should be Group1 right!
created_at: 2025-04-09T05:35:32Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,518 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                all-available-devices: true
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - rbd pool init nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd1
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd1
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd2
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd2
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd3
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd3
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd4
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd4
+      desc: create rbd pools for nvmeof service and data
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: create NVMeoF and data pools
+      polarion-id: CEPH-83595696
+
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node4
+                    - node5
+                    - node6
+                    - node7
+                    - node8
+                    - node9
+                    - node10
+                    - node11
+                    - node12
+              pos_args:
+                - nvmeof_pool
+                - group1
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node13
+                    - node14
+                    - node15
+                    - node16
+                    - node17
+                    - node18
+                    - node19
+                    - node20
+              pos_args:
+                - nvmeof_pool
+                - group2
+          - config:                        # Group 3 with no In band authentication - to be used for vmware testing
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node21
+                    - node22
+                    - node23
+                    - node24
+                    - node25
+                    - node26
+                    - node27
+                    - node28
+              pos_args:
+                - nvmeof_pool
+                - group3
+          - config:                       # Group 4 with no spdk huge pages
+              command: apply_spec
+              service: orch
+              validate-spec-services: true
+              specs:
+                - service_type: nvmeof
+                  service_id: nvmeof_pool.group4
+                  placement:
+                    nodes:
+                      - node29
+                      - node30
+                      - node31
+                      - node32
+                      - node33
+                      - node34
+                      - node35
+                      - node36
+                  spec:
+                    pool: nvmeof_pool
+                    group: group4
+                    spdk_mem_size: 4096
+      desc: deploy NVMeoF service for 4 GW groups with 8 GWs
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: deploy 4 NVMeoF services
+      polarion-id: CEPH-83595696
+
+# Group 2 configuration  - All features
+  - test:
+      abort-on-fail: true
+      config:
+        node: node4
+        rbd_pool: rbd1
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group1
+                nodes:
+                  - node4
+                  - node5
+                  - node6
+                  - node7
+                  - node8
+                  - node9
+                  - node10
+                  - node11
+                  - node12
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group1
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group1
+      polarion-id: CEPH-83595512                     # This shall be replaced with In band authentication functionality at scale
+
+  - test:
+      abort-on-fail: true
+      config:
+        nodes:
+          - node4
+        rbd_pool: rbd
+        do_not_create_image: true
+        rep-pool-only: true
+        service: namespace
+        steps:
+          - config:
+              command: add
+              args:
+                subsystems: 76
+                namespaces: 2048
+                pool: rbd1
+                image_size: 1T
+                no-auto-visible: true
+                group: group1
+          - config:
+              command: add_host
+              args:
+                subsystems: 76
+                namespaces: 1520
+                initiators:
+                  - node41
+                  - node42
+                  - node43
+                  - node44
+                  - node45
+                group: group1
+        initiators:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+      desc: NS masking on 1520 namespaces 76 subsystems and 5 initiators
+      destroy-cluster: false
+      module: test_ceph_nvmeof_ns_masking.py
+      name: Test E2E nvmeof namespace masking at scale
+      polarion-id: CEPH-83609782
+
+# Group 2 configuration  - In band, NS masking, set_QOS
+  - test:
+      abort-on-fail: true
+      config:
+        node: node13
+        rbd_pool: rbd2
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group2
+                nodes:
+                  - node13
+                  - node14
+                  - node15
+                  - node16
+                  - node17
+                  - node18
+                  - node19
+                  - node20
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group2
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group2
+      polarion-id: CEPH-83595512                     # This shall be replaced with In band authentication functionality at scale
+
+  - test:
+      abort-on-fail: true
+      config:
+        nodes:
+          - node13
+        rbd_pool: rbd
+        do_not_create_image: true
+        rep-pool-only: true
+        service: namespace
+        steps:
+          - config:
+              command: add
+              args:
+                subsystems: 76
+                namespaces: 1520
+                pool: rbd2
+                image_size: 1T
+                no-auto-visible: true
+                group: group2
+        initiators:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+      desc: NS masking on 1520 namespaces 76 subsystems and 5 initiators
+      destroy-cluster: false
+      module: test_ceph_nvmeof_ns_masking.py
+      name: Test E2E nvmeof namespace masking at scale
+      polarion-id: CEPH-83609782             # Set QOS can be added after this test
+
+# Group 3 configuration - VMware uses cases
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: HaruChebrolu
body: Please make this self explainatory like `this acts as a  placeholder for manually running VMware use cases on a set of baremetal nodes assigned to group3, without requiring any prior configuration`.
created_at: 2025-04-09T05:46:01Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,518 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                all-available-devices: true
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - rbd pool init nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd1
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd1
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd2
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd2
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd3
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd3
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd4
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd4
+      desc: create rbd pools for nvmeof service and data
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: create NVMeoF and data pools
+      polarion-id: CEPH-83595696
+
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node4
+                    - node5
+                    - node6
+                    - node7
+                    - node8
+                    - node9
+                    - node10
+                    - node11
+                    - node12
+              pos_args:
+                - nvmeof_pool
+                - group1
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node13
+                    - node14
+                    - node15
+                    - node16
+                    - node17
+                    - node18
+                    - node19
+                    - node20
+              pos_args:
+                - nvmeof_pool
+                - group2
+          - config:                        # Group 3 with no In band authentication - to be used for vmware testing
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node21
+                    - node22
+                    - node23
+                    - node24
+                    - node25
+                    - node26
+                    - node27
+                    - node28
+              pos_args:
+                - nvmeof_pool
+                - group3
+          - config:                       # Group 4 with no spdk huge pages
+              command: apply_spec
+              service: orch
+              validate-spec-services: true
+              specs:
+                - service_type: nvmeof
+                  service_id: nvmeof_pool.group4
+                  placement:
+                    nodes:
+                      - node29
+                      - node30
+                      - node31
+                      - node32
+                      - node33
+                      - node34
+                      - node35
+                      - node36
+                  spec:
+                    pool: nvmeof_pool
+                    group: group4
+                    spdk_mem_size: 4096
+      desc: deploy NVMeoF service for 4 GW groups with 8 GWs
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: deploy 4 NVMeoF services
+      polarion-id: CEPH-83595696
+
+# Group 2 configuration  - All features
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: rahullepakshi
body: correct
created_at: 2025-04-09T06:59:38Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,7 +1,6 @@
-# Scale test suite including all new features from 8.1
-# 1 GW group with 4 GWs and 128 subsystems with 20 namespaces each and 5 initiator nodes
+# Test suite including all new features from 8.1
path: suites/squid/nvmeof/tier-2_8-1-nvmeof_cross-feature.yaml
user: login: sunilkumarn417
body: Lets change the PR title, to `scale testing`  as we discussed last time.
created_at: 2025-04-09T08:40:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,519 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                all-available-devices: true
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: sunilkumarn417
body: suggesting to call this module as and when required for the pool and service creation. or in any specific test case.
we can combine `deploy NVMeoF service for 4 GW groups with 8 GWs` and `create rbd pools for nvmeof service and data` in one test case and try to call it from any one of the test case.
created_at: 2025-04-09T08:44:06Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,519 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                all-available-devices: true
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - rbd pool init nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd1
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd1
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd2
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd2
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd3
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd3
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd4
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd4
+      desc: create rbd pools for nvmeof service and data
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: create NVMeoF and data pools
+      polarion-id: CEPH-83595696
+
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node4
+                    - node5
+                    - node6
+                    - node7
+                    - node8
+                    - node9
+                    - node10
+                    - node11
+                    - node12
+              pos_args:
+                - nvmeof_pool
+                - group1
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node13
+                    - node14
+                    - node15
+                    - node16
+                    - node17
+                    - node18
+                    - node19
+                    - node20
+              pos_args:
+                - nvmeof_pool
+                - group2
+          - config:                        # Group 3 with no In band authentication - to be used for vmware testing
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node21
+                    - node22
+                    - node23
+                    - node24
+                    - node25
+                    - node26
+                    - node27
+                    - node28
+              pos_args:
+                - nvmeof_pool
+                - group3
+          - config:                       # Group 4 with no spdk huge pages
+              command: apply_spec
+              service: orch
+              validate-spec-services: true
+              specs:
+                - service_type: nvmeof
+                  service_id: nvmeof_pool.group4
+                  placement:
+                    nodes:
+                      - node29
+                      - node30
+                      - node31
+                      - node32
+                      - node33
+                      - node34
+                      - node35
+                      - node36
+                  spec:
+                    pool: nvmeof_pool
+                    group: group4
+                    spdk_mem_size: 4096
+      desc: deploy NVMeoF service for 4 GW groups with 8 GWs
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: deploy 4 NVMeoF services
+      polarion-id: CEPH-83595696
+
+# Group 1 configuration  - All 8.1 features
+  - test:
+      abort-on-fail: true
+      config:
+        node: node4
+        rbd_pool: rbd1
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group1
+                nodes:
+                  - node4
+                  - node5
+                  - node6
+                  - node7
+                  - node8
+                  - node9
+                  - node10
+                  - node11
+                  - node12
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group1
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group1
+      polarion-id: CEPH-83595512                     # This shall be replaced with In band authentication functionality at scale
+
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: sunilkumarn417
body: In this case, are we assume any test case defined below should be using above service and modify their test case accordingly?
created_at: 2025-04-09T08:45:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,519 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                all-available-devices: true
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - rbd pool init nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd1
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd1
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd2
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd2
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd3
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd3
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd4
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd4
+      desc: create rbd pools for nvmeof service and data
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: create NVMeoF and data pools
+      polarion-id: CEPH-83595696
+
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node4
+                    - node5
+                    - node6
+                    - node7
+                    - node8
+                    - node9
+                    - node10
+                    - node11
+                    - node12
+              pos_args:
+                - nvmeof_pool
+                - group1
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node13
+                    - node14
+                    - node15
+                    - node16
+                    - node17
+                    - node18
+                    - node19
+                    - node20
+              pos_args:
+                - nvmeof_pool
+                - group2
+          - config:                        # Group 3 with no In band authentication - to be used for vmware testing
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node21
+                    - node22
+                    - node23
+                    - node24
+                    - node25
+                    - node26
+                    - node27
+                    - node28
+              pos_args:
+                - nvmeof_pool
+                - group3
+          - config:                       # Group 4 with no spdk huge pages
+              command: apply_spec
+              service: orch
+              validate-spec-services: true
+              specs:
+                - service_type: nvmeof
+                  service_id: nvmeof_pool.group4
+                  placement:
+                    nodes:
+                      - node29
+                      - node30
+                      - node31
+                      - node32
+                      - node33
+                      - node34
+                      - node35
+                      - node36
+                  spec:
+                    pool: nvmeof_pool
+                    group: group4
+                    spdk_mem_size: 4096
+      desc: deploy NVMeoF service for 4 GW groups with 8 GWs
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: deploy 4 NVMeoF services
+      polarion-id: CEPH-83595696
+
+# Group 1 configuration  - All 8.1 features
+  - test:
+      abort-on-fail: true
+      config:
+        node: node4
+        rbd_pool: rbd1
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group1
+                nodes:
+                  - node4
+                  - node5
+                  - node6
+                  - node7
+                  - node8
+                  - node9
+                  - node10
+                  - node11
+                  - node12
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group1
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group1
+      polarion-id: CEPH-83595512                     # This shall be replaced with In band authentication functionality at scale
+
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: sunilkumarn417
body: I think it would be confusing to others to add their test cases considering what subsystems and other entities they need to work with.
created_at: 2025-04-09T08:46:52Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,7 +1,6 @@
-# Scale test suite including all new features from 8.1
-# 1 GW group with 4 GWs and 128 subsystems with 20 namespaces each and 5 initiator nodes
+# Test suite including all new features from 8.1
path: suites/squid/nvmeof/tier-2_8-1-nvmeof_cross-feature.yaml
user: login: rahullepakshi
body: DONE
created_at: 2025-04-09T10:17:23Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,519 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                all-available-devices: true
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - rbd pool init nvmeof_pool
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd1
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd1
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd2
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd2
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd3
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd3
+          - config:
+              command: shell
+              args:
+                - ceph osd pool create rbd4
+          - config:
+              command: shell
+              args:
+                - rbd pool init rbd4
+      desc: create rbd pools for nvmeof service and data
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: create NVMeoF and data pools
+      polarion-id: CEPH-83595696
+
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node4
+                    - node5
+                    - node6
+                    - node7
+                    - node8
+                    - node9
+                    - node10
+                    - node11
+                    - node12
+              pos_args:
+                - nvmeof_pool
+                - group1
+          - config:
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node13
+                    - node14
+                    - node15
+                    - node16
+                    - node17
+                    - node18
+                    - node19
+                    - node20
+              pos_args:
+                - nvmeof_pool
+                - group2
+          - config:                        # Group 3 with no In band authentication - to be used for vmware testing
+              command: apply
+              service: nvmeof
+              args:
+                placement:
+                  nodes:
+                    - node21
+                    - node22
+                    - node23
+                    - node24
+                    - node25
+                    - node26
+                    - node27
+                    - node28
+              pos_args:
+                - nvmeof_pool
+                - group3
+          - config:                       # Group 4 with no spdk huge pages
+              command: apply_spec
+              service: orch
+              validate-spec-services: true
+              specs:
+                - service_type: nvmeof
+                  service_id: nvmeof_pool.group4
+                  placement:
+                    nodes:
+                      - node29
+                      - node30
+                      - node31
+                      - node32
+                      - node33
+                      - node34
+                      - node35
+                      - node36
+                  spec:
+                    pool: nvmeof_pool
+                    group: group4
+                    spdk_mem_size: 4096
+      desc: deploy NVMeoF service for 4 GW groups with 8 GWs
+      destroy-cluster: false
+      do-not-skip-tc: true
+      module: test_cephadm.py
+      name: deploy 4 NVMeoF services
+      polarion-id: CEPH-83595696
+
+# Group 1 configuration  - All 8.1 features
+  - test:
+      abort-on-fail: true
+      config:
+        node: node4
+        rbd_pool: rbd1
+        do_not_create_image: true
+        rep-pool-only: true
+        steps:
+          - config:
+              service: subsystem
+              command: add
+              args:
+                subsystems: 76
+                max-namespaces: 2048
+          - config:
+              service: listener
+              command: add
+              args:
+                subsystems: 76
+                port: 4420
+                group: group1
+                nodes:
+                  - node4
+                  - node5
+                  - node6
+                  - node7
+                  - node8
+                  - node9
+                  - node10
+                  - node11
+                  - node12
+          - config:
+              service: host
+              command: add
+              args:
+                subsystems: 76
+                group: group1
+      desc: GW group with 8 GWs and 76 subsystems
+      destroy-cluster: false
+      module: test_ceph_nvmeof_gateway_sub_scale.py
+      name: Configure 76 subsystems on group1
+      polarion-id: CEPH-83595512                     # This shall be replaced with In band authentication functionality at scale
+
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: rahullepakshi
body: Yes, any test case confined to that GW group must be modified accordingly - especially scale numbers capped to 60% of max limit. This is what decided in the meeting 
created_at: 2025-04-09T11:12:49Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,519 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
+              command: apply
+              service: osd
+              args:
+                all-available-devices: true
+      desc: RHCS cluster deployment using cephadm
+      destroy-clster: false
+      module: test_cephadm.py
+      name: deploy cluster
+
+  - test:
+      abort-on-fail: true
+      config:
+        command: add
+        id: client.1
+        nodes:
+          - node41
+          - node42
+          - node43
+          - node44
+          - node45
+        install_packages:
+          - ceph-common
+        copy_admin_keyring: true
+      desc: Setup client on NVMEoF gateway
+      destroy-cluster: false
+      module: test_client.py
+      name: configure Ceph client for NVMe tests
+      polarion-id: CEPH-83573758
+  - test:
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: rahullepakshi
body: I would wish to have them as separate tests because creating pools acts as pre-requisite for service deployment and if pool creation fails I do not want to say test case "deploy NVMeoF service for 4 GW groups with 8 GWs" or vice versa as they are different entities
created_at: 2025-04-09T12:58:29Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,7 +1,6 @@
-# Scale test suite including all new features from 8.1
-# 1 GW group with 4 GWs and 128 subsystems with 20 namespaces each and 5 initiator nodes
+# Test suite including all new features from 8.1
+# 1 GW group with 4 GWs and 5 subsystems with 10 namespaces each and 5 initiator nodes
 # Test conf at rhos-d conf/squid/nvmeof/ceph_nvmeof_ns-masking-5_client.yaml
-# Bare Metal conf TBD
 tests:
   - test:
       abort-on-fail: true
path: suites/squid/nvmeof/tier-2_8-1-nvmeof_cross-feature.yaml
user: login: manasagowri
body: In this test case, we are deploying OSDs on all available devices, does that mean this scenario considers NVMe collocated with OSDs on all NVMe nodes?
Or are we taking care of that in config file by giving nodes without free disks to deploy OSDs for NVMe, so that they won't be collocated?
created_at: 2025-04-10T16:07:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,519 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: manasagowri
body: In this test case, we are deploying OSDs on all available devices, does that mean this scenario considers NVMe collocated with OSDs on all NVMe nodes?
Or are we taking care of that in config file by giving nodes without free disks to deploy OSDs for NVMe, so that they won't be collocated?
created_at: 2025-04-10T16:08:45Z
author_association: CONTRIBUTOR
diff_hunk: @@ -1,7 +1,6 @@
-# Scale test suite including all new features from 8.1
-# 1 GW group with 4 GWs and 128 subsystems with 20 namespaces each and 5 initiator nodes
+# Test suite including all new features from 8.1
+# 1 GW group with 4 GWs and 5 subsystems with 10 namespaces each and 5 initiator nodes
 # Test conf at rhos-d conf/squid/nvmeof/ceph_nvmeof_ns-masking-5_client.yaml
-# Bare Metal conf TBD
 tests:
   - test:
       abort-on-fail: true
path: suites/squid/nvmeof/tier-2_8-1-nvmeof_cross-feature.yaml
user: login: rahullepakshi
body: Good point @manasagowri We cannot take care in config without disks are these are BMs. But I also heard there are some limitations with osd without "all_avaialable devices". But for now I changed to labels and I will get corresponding config and test once Bare Metal is free
created_at: 2025-04-10T16:29:31Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,519 @@
+# Scale test suite including all new features from 8.1
+# GW group 1 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1
+# GW group 2 with 8 GWs and 76 subsystems with 1520 namespaces - all new features of 8.1 + set_qos
+# GW group 3 with 8 GWs and 76 subsystems with 1520 namespaces - No Inband , vmware use cases
+# GW group 4 with 8 GWs and 76 subsystems with 1520 namespaces - scale with no huge pages
+# 5 initiator nodes
+# Bare Metal conf TBD
+
+tests:
+  - test:
+      abort-on-fail: true
+      module: install_prereq.py
+      name: install ceph pre-requisites
+  - test:
+      abort-on-fail: true
+      config:
+        verify_cluster_health: true
+        steps:
+          - config:
+              command: bootstrap
+              service: cephadm
+              args:
+                mon-ip: node1
+                registry-url: registry.redhat.io
+                allow-fqdn-hostname: true
+                log-to-file: true
+          - config:
+              command: add_hosts
+              service: host
+              args:
+                attach_ip_address: true
+                labels: apply-all-labels
+          - config:
+              command: apply
+              service: mgr
+              args:
+                placement:
+                  label: mgr
+          - config:
+              command: apply
+              service: mon
+              args:
+                placement:
+                  label: mon
+          - config:
path: suites/squid/nvmeof/tier-3_8-1-nvmeof_4-group_8-gw_scale.yaml
user: login: rahullepakshi
body: Same as above. changed it to labels
created_at: 2025-04-10T16:29:44Z
author_association: CONTRIBUTOR

PR comments:
user: login: HaruChebrolu
created_at: 2025-04-10T15:16:12Z
body: Design is okay to me, however we need to make relative changes in test modules wrt to scale numbers
author_association: CONTRIBUTOR
user: login: jprakash-redhat
created_at: 2025-04-10T15:30:46Z
body: Design is looks good to me
author_association: CONTRIBUTOR
user: login: rahullepakshi
created_at: 2025-04-15T05:11:06Z
body: > Looks good to me. But @rahullepakshi You will verify the OSD deployment with testing once you have the baremetal setup right?
> 
> If that's the case, I am okay to merge this. Otherwise you can get the logs if that's a requirement for merging the PR.

Yes @manasagowri  I will verify OSD deployment. For each GW group there will be 4 nodes collocated and 4 independent. And one GW group will be without OSDs completely
author_association: CONTRIBUTOR