Skip to content

Commit

Permalink
[sonic-yang] fix the feature state type (#9587)
Browse files Browse the repository at this point in the history
- Why I did it
The feature state can be a jinja template, like in this file - https://github.com/Azure/sonic-buildimage/blob/master/files/build_templates/init_cfg.json.j2#L39.
Without this change it is not possible to validate a configuration file.

- How I did it
Relaxes the constraint on feature state. Feature state leaf can be any string.

- How to verify it
Run UT.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
  • Loading branch information
stepanblyschak authored and judyjoseph committed Jan 23, 2022
1 parent 20f39ba commit ea421c1
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 25 deletions.
9 changes: 9 additions & 0 deletions src/sonic-yang-models/tests/files/sample_config_db.json
Original file line number Diff line number Diff line change
Expand Up @@ -1265,6 +1265,15 @@
"high_mem_alert": "disabled",
"state": "enabled",
"set_owner": "kube"
},
"dhcp_relay": {
"auto_restart": "enabled",
"has_global_scope": "false",
"has_per_asic_scope": "true",
"has_timer": "false",
"high_mem_alert": "disabled",
"state": "{% if not (DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['type'] is defined and DEVICE_METADATA['localhost']['type'] != 'ToRRouter') %}enabled{% else %}disabled{% endif %}",
"set_owner": "kube"
}
},
"DHCP_RELAY": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@
"FEATURE_WITH_CORRECT_VALUES": {
"desc": "CONFIG FEATURE TABLE WITH ALL THE CORRECT VALUES"
},
"FEATURE_WITH_INVALID_STATE" : {
"desc": "Referring invalid feature state.",
"eStrKey": "Pattern",
"eStr": ["enabled|disabled|always_enabled|always_disabled"]
},
"FEATURE_WITH_INVALID_BOOLEAN_TYPE" : {
"desc": "Referring invalid feature boolean types.",
"eStrKey": "Pattern",
Expand All @@ -20,4 +15,4 @@
"FEATURE_WITH_NO_OWNER" : {
"desc": "Config feature table without set_owner"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,23 +47,15 @@
"has_global_scope": "false",
"has_per_asic_scope": "true",
"set_owner": "kube"
}
]
}
}
},
"FEATURE_WITH_INVALID_STATE": {
"sonic-feature:sonic-feature": {
"sonic-feature:FEATURE": {
"FEATURE_LIST": [
},
{
"name": "database",
"state": "dontcare",
"auto_restart": "always_enabled",
"name": "dhcp_relay",
"state": "{% if not (DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['type'] is defined and DEVICE_METADATA['localhost']['type'] != 'ToRRouter') %}enabled{% else %}disabled{% endif %}",
"auto_restart": "disabled",
"has_timer": "false",
"has_global_scope": "true",
"has_global_scope": "false",
"has_per_asic_scope": "true",
"set_owner": "local"
"set_owner": "kube"
}
]
}
Expand Down Expand Up @@ -118,4 +110,4 @@
}
}
}
}
}
6 changes: 2 additions & 4 deletions src/sonic-yang-models/yang-models/sonic-feature.yang
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,7 @@ module sonic-feature{

typedef feature-state {
description "configuration to set the feature running state";
type string {
pattern "enabled|disabled|always_enabled|always_disabled";
}
type string;
}

typedef feature-owner {
Expand Down Expand Up @@ -91,4 +89,4 @@ module sonic-feature{
}
}
}
}
}

0 comments on commit ea421c1

Please sign in to comment.