Skip to content

Remove runtime config update for FEATURE table #20462

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
stepanblyschak opened this issue Oct 10, 2024 · 4 comments
Closed

Remove runtime config update for FEATURE table #20462

stepanblyschak opened this issue Oct 10, 2024 · 4 comments
Assignees
Labels
Issue for 202405 MSFT Triaged this issue has been triaged

Comments

@stepanblyschak
Copy link
Collaborator

stepanblyschak commented Oct 10, 2024

Description

Issue related to #20302

FEATURE config will be updated some time later after load_minigraph. This will result in the FEATURE is inconsistent between the desired config and running config.
The ask it to make it consistent and not more run time update. The fix should also consider the backward compatibility.

Steps to reproduce the issue:

1.Run config load_minigraph -y
2. Record the config right after the command finish.
The FEATURE are the same as the init_cfg.json

admin@sonic:~$ redis-cli -n 4 hgetall "FEATURE|bgp"
 1) "auto_restart"
 2) "enabled"
 3) "check_up_status"
 4) "false"
 5) "support_syslog_rate_limit"
 6) "true"
 7) "delayed"
 8) "False"
 9) "has_per_asic_scope"
10) "True"
11) "high_mem_alert"
12) "disabled"
13) "state"
14) "{% if not DEVICE_RUNTIME_METADATA['ETHERNET_PORTS_PRESENT'] or ('CHASSIS_METADATA' in DEVICE_RUNTIME_METADATA and DEVICE_RUNTIME_METADATA['CHASSIS_METADATA']['module_type'] in ['supervisor']) %}disabled{% else %}enabled{% endif %}"
15) "has_global_scope"
16) "False"
  1. Run command again:
admin@sonic:~$ redis-cli -n 4 hgetall "FEATURE|bgp"
 1) "auto_restart"
 2) "enabled"
 3) "check_up_status"
 4) "false"
 5) "support_syslog_rate_limit"
 6) "true"
 7) "delayed"
 8) "False"
 9) "has_per_asic_scope"
10) "True"
11) "high_mem_alert"
12) "disabled"
13) "state"
14) "enabled"
15) "has_global_scope"
16) "False"

Describe the results you received:

FEATURE field was updated.

Describe the results you expected:

We expect the FEATURE to be consitent and no longer have run time update. This will help us manage the running config of the device.
Currently if we refer the init_cfg.json as the source of truth, it will be wrong.

Output of show version:

SONiC Software Version: SONiC.20231110.21
SONiC OS Version: 11
Distribution: Debian 11.10
Kernel: 5.10.0-23-2-amd64
Build commit: e868b9ca70

Output of show techsupport:

(paste your output here or download and attach the file here )

Additional information you deem important (e.g. issue happens only occasionally):

@stepanblyschak
Copy link
Collaborator Author

@qiluo-msft mentioned a potential solution for this issue offline, @qiluo-msft could you please share it here?

@stepanblyschak
Copy link
Collaborator Author

@qiluo-msft PR that introduced config db write back for FEATURE table - #6700

@wen587
Copy link
Contributor

wen587 commented Nov 19, 2024

Hi @stepanblyschak , this one is different.
If we have static value in config_db, it will not update. For example, we have put a static value in FEATURE state with either enable or disable in golden config during override, it will not change with static value after service start.
FLEX_COUNTER_TABLE is different, if we put below static config like below, it will still be upadted after service start. such as PORT, PFC_WD

 "FLEX_COUNTER_TABLE": {
        "ACL": {
            "FLEX_COUNTER_STATUS": "enable",
            "FLEX_COUNTER_DELAY_STATUS": "true",
            "POLL_INTERVAL": "10000"
        },

@wen587 wen587 closed this as completed Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue for 202405 MSFT Triaged this issue has been triaged
Projects
None yet
Development

No branches or pull requests

5 participants