From 0f4311a07378c1bae2b45b82b318afa0a2f5d605 Mon Sep 17 00:00:00 2001 From: pra-moh <49077256+pra-moh@users.noreply.github.com> Date: Sat, 19 Oct 2019 11:38:12 -0700 Subject: [PATCH] Add functional spec for optional feature control enhancement (#487) --- doc/Optional-Feature-Control.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 doc/Optional-Feature-Control.md diff --git a/doc/Optional-Feature-Control.md b/doc/Optional-Feature-Control.md new file mode 100644 index 0000000000..116cab0431 --- /dev/null +++ b/doc/Optional-Feature-Control.md @@ -0,0 +1,19 @@ +# SONiC Optional Feature Control Enhancement # + +## Revision ## + +| Rev | Date | Author | Change Description | +|:---:|:--------:|:-----------:|--------------------| +| 0.1 | 10/10/19 | Pradnya Mohite | Initial version | + +## Scope ## +Add support to enable/disable features in sonic. Features like telemetry agent can be optional and this enhancement will provide a way to control that. + +### Implementation Details ### +* Add feature table in config db. + * Modify sonic-cfggen tool to add table and enable the telemetry feature by default. + * For each feature, key is FEATURE|feature name, status :enabled/disabled. +* Add "config feature enable|disable [feature name]" command line. + * Add support for show and config commands. +* Add feature in hostcfgd to listen for Config DB FEATURE table entry changes, and enable & start or stop & disable the respective service as appropriate. + * When hostcfgd first starts, it reads all entries in the FEATURE table and compares with current status of each service. If there is mismatch, hostcfgd will enable & start or stop & disable as appropriate. \ No newline at end of file