Skip to content

Commit

Permalink
DAOS-16589 test: Add Hardware Medium VMD test stage. (#15152)
Browse files Browse the repository at this point in the history
Enable a stage for functional tests that require VMD hardware.

Signed-off-by: Phil Henderson <phillip.henderson@intel.com>
  • Loading branch information
phender authored Sep 20, 2024
1 parent c9668f4 commit f2982a2
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 10 deletions.
16 changes: 16 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,9 @@ pipeline {
string(name: 'FUNCTIONAL_HARDWARE_MEDIUM_VERBS_PROVIDER_LABEL',
defaultValue: 'ci_nvme5',
description: 'Label to use for 5 node Functional Hardware Medium Verbs Provider (MD on SSD) stages')
string(name: 'FUNCTIONAL_HARDWARE_MEDIUM_VMD_LABEL',
defaultValue: 'ci_vmd5',
description: 'Label to use for the Functional Hardware Medium VMD stage')
string(name: 'FUNCTIONAL_HARDWARE_MEDIUM_UCX_PROVIDER_LABEL',
defaultValue: 'ci_ofed5',
description: 'Label to use for 5 node Functional Hardware Medium UCX Provider stage')
Expand Down Expand Up @@ -1182,6 +1185,19 @@ pipeline {
run_if_landing: false,
job_status: job_status_internal
),
'Functional Hardware Medium VMD': getFunctionalTestStage(
name: 'Functional Hardware Medium VMD',
pragma_suffix: '-hw-medium-vmd',
label: params.FUNCTIONAL_HARDWARE_MEDIUM_VMD_LABEL,
next_version: next_version,
stage_tags: 'hw_vmd,medium',
/* groovylint-disable-next-line UnnecessaryGetter */
default_tags: startedByTimer() ? 'pr daily_regression' : 'pr',
nvme: 'auto',
run_if_pr: false,
run_if_landing: false,
job_status: job_status_internal
),
'Functional Hardware Medium Verbs Provider': getFunctionalTestStage(
name: 'Functional Hardware Medium Verbs Provider',
pragma_suffix: '-hw-medium-verbs-provider',
Expand Down
11 changes: 7 additions & 4 deletions src/tests/ftest/tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@

THIS_FILE = os.path.realpath(__file__)
FTEST_DIR = os.path.dirname(THIS_FILE)
MANUAL_TAG = ('manual',)
STAGE_TYPE_TAGS = ('vm', 'hw', 'hw_vmd')
STAGE_SIZE_TAGS = ('medium', 'large')
STAGE_FREQUENCY_TAGS = ('all', 'pr', 'daily_regression', 'full_regression')


class LintFailure(Exception):
Expand Down Expand Up @@ -254,7 +258,7 @@ def sorted_tags(tags):
"""
tags_tmp = set(tags)
new_tags = []
for tag in ('all', 'vm', 'hw', 'medium', 'large', 'pr', 'daily_regression', 'full_regression'):
for tag in STAGE_TYPE_TAGS + STAGE_SIZE_TAGS + STAGE_FREQUENCY_TAGS:
if tag in tags_tmp:
new_tags.append(tag)
tags_tmp.remove(tag)
Expand Down Expand Up @@ -283,8 +287,7 @@ def run_linter(paths=None, verbose=False):
tests_wo_hw_vm_manual = []
tests_w_empty_tag = []
tests_wo_a_feature_tag = []
non_feature_tags = set([
'all', 'vm', 'hw', 'medium', 'large', 'pr', 'daily_regression', 'full_regression'])
non_feature_tags = set(STAGE_TYPE_TAGS + STAGE_SIZE_TAGS + STAGE_FREQUENCY_TAGS)
ftest_tag_map = FtestTagMap(paths)
for file_path, classes in iter(ftest_tag_map):
all_files.append(file_path)
Expand All @@ -302,7 +305,7 @@ def run_linter(paths=None, verbose=False):
if _tag.startswith('test_') and _tag != method_name:
test_w_invalid_test_tag.append(method_name)
break
if not set(tags).intersection(set(['vm', 'hw', 'manual'])):
if not set(tags).intersection(set(MANUAL_TAG + STAGE_TYPE_TAGS)):
tests_wo_hw_vm_manual.append(method_name)
if '' in tags:
tests_w_empty_tag.append(method_name)
Expand Down
4 changes: 2 additions & 2 deletions src/tests/ftest/vmd/fault_reintegration.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,8 @@ def test_nvme_fault_reintegration(self):
9. Replace the same drive back.
10. Drive status LED should be off indicating good device is plugged-in.
:avocado: tags=all,manual
:avocado: tags=hw,medium
:avocado: tags=all,full_regression
:avocado: tags=hw_vmd,medium
:avocado: tags=vmd,vmd_led
:avocado: tags=NvmeFaultReintegrate,test_nvme_fault_reintegration
Expand Down
8 changes: 4 additions & 4 deletions src/tests/ftest/vmd/led.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ def get_led_status_value(self, device_id=None):
def test_vmd_led_status(self):
"""Jira ID: DAOS-11290
:avocado: tags=all,manual
:avocado: tags=hw,medium
:avocado: tags=all,full_regression
:avocado: tags=hw_vmd,medium
:avocado: tags=vmd,vmd_led
:avocado: tags=VmdLedStatus,test_vmd_led_status
"""
Expand All @@ -97,8 +97,8 @@ def test_vmd_led_status(self):
def test_vmd_led_faulty(self):
"""Jira ID: DAOS-11290
:avocado: tags=all,manual
:avocado: tags=hw,medium
:avocado: tags=all,full_regression
:avocado: tags=hw_vmd,medium
:avocado: tags=vmd,vmd_led
:avocado: tags=VmdLedStatus,test_vmd_led_faulty
"""
Expand Down

0 comments on commit f2982a2

Please sign in to comment.