diff --git a/rtslib/config.py b/rtslib/config.py index 0420f20..ae08f8a 100644 --- a/rtslib/config.py +++ b/rtslib/config.py @@ -347,6 +347,9 @@ def validate_val(self, value, val_type, parent=None): elif val_type == 'naa': if is_valid_wwn('naa', value): valid_value = value + elif val_type == 'qla2xxx_wwn': + if is_valid_wwn('qla2xxx_wwn', value): + valid_value = value elif val_type == 'backend': if is_valid_backend(value, parent): valid_value = value diff --git a/rtslib/utils.py b/rtslib/utils.py index 6974235..1a21b43 100644 --- a/rtslib/utils.py +++ b/rtslib/utils.py @@ -560,6 +560,10 @@ def is_valid_wwn(wwn_type, wwn, wwn_list=None): and re.match( "[0-9A-Fa-f]{8}(-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$", wwn): return True + elif wwn_type == 'qla2xxx_wwn' \ + and re.match( + "[0-9A-Fa-f]{2}(:[0-9A-Fa-f]{2}){7}$", wwn): + return True else: return False