From 8de3a60789cb980011db7a1e19725f2f7ca394ad Mon Sep 17 00:00:00 2001 From: liuh-80 Date: Tue, 30 Aug 2022 10:20:48 +0800 Subject: [PATCH] Add design document for "ConfigDB support Yang default value and profiles" --- ...upport_Yang_default_values_and_profiles.md | 382 ++++++++++++++++++ doc/mgmt/images/swss-common-default-value.png | Bin 0 -> 111009 bytes doc/mgmt/images/swss-common-layer.png | Bin 0 -> 28780 bytes doc/mgmt/sonic-profile-delete.yang | 41 ++ 4 files changed, 423 insertions(+) create mode 100644 doc/mgmt/SONiC_ConfigDB_support_Yang_default_values_and_profiles.md create mode 100644 doc/mgmt/images/swss-common-default-value.png create mode 100644 doc/mgmt/images/swss-common-layer.png create mode 100644 doc/mgmt/sonic-profile-delete.yang diff --git a/doc/mgmt/SONiC_ConfigDB_support_Yang_default_values_and_profiles.md b/doc/mgmt/SONiC_ConfigDB_support_Yang_default_values_and_profiles.md new file mode 100644 index 0000000000..2427a5955f --- /dev/null +++ b/doc/mgmt/SONiC_ConfigDB_support_Yang_default_values_and_profiles.md @@ -0,0 +1,382 @@ +# SONiC ConfigDB support Yang default values and profiles + +## Table of Contents + +- [SONiC ConfigDB support Yang default values and profiles](#sonic-configdb-support-yang-default-values-and-profiles) + - [Table of Contents](#table-of-contents) +- [About this Manual](#about-this-manual) + - [Terminologies](#terminologies) + - [Problem Statement](#problem-statement) +- [1 Functional Requirement](#1-functional-requirement) + - [1.1 swss-common return default value from Yang model](#11-swss-common-return-default-value-from-yang-model) + - [1.2 swss-common return profile from profile DB](#12-swss-common-return-profile-from-profile-db) +- [2 Design](#2-design) + - [Current design:](#current-design) + - [2.1 Considerations](#21-considerations) + - [How to get default value](#how-to-get-default-value) + - [How to get profile](#how-to-get-profile) + - [API compatibility](#api-compatibility) + - [2.2 Other solutions for Yang model default value](#22-other-solutions-for-yang-model-default-value) + - [2.3 New class](#23-new-class) + - [2.4 Other code change](#24-other-code-change) + - [2.5 Database Schema](#25-database-schema) + - [2.6 Code example](#26-code-example) +- [3 Reboot](#3-reboot) + - [3.1 Cold-reboot](#31-cold-reboot) + - [3.2 Warm-reboot](#31-warm-reboot) + - [3.3 Fast-reboot](#31-fast-reboot) + - [3.4 Schema upgrade and DB migration](#34-schema-upgrade-and-db-migration) +- [4 Error handling](#4-error-handling) +- [5 Serviceability and Debug](#5-serviceability-and-debug) +- [6 Unit Test](#6-unit-test) +- [7 Migration steps](#7-migration-steps) + - [7.1 Phase 1](#71-phase-1) + - [7.2 Phase 2](#72-phase-2) +- [8 References](#8-references) + - [SONiC YANG MODEL GUIDELINES](#sonic-yang-model-guidelines) + +# About this Manual + +This document provides a detailed description on the new features for: + +- Yang model default value. +- Profile DB. +- swss-common API change. + +## Terminologies + +- Yang model: + + - The Yang model define a hierarchical data structure. + - SONiC Define config DB schema with Yang model, please refer to [SONiC YANG MODEL GUIDELINES](#7-1-sonic-yang-model-guidelines) + +- Default value: + + - Yang model support define default value for configuration items. + - For example, default value for nat_zone: + + ``` + leaf nat_zone { + description "NAT Zone for the vlan interface"; + type uint8 { + range "0..3" { + error-message "Invalid nat zone for the vlan interface."; + error-app-tag nat-zone-invalid; + } + } + default "0"; + } + ``` + +- J2 template: + + - SONiC using Jinja2 template generate configuration files during deply minigraph. + + - For example, buffer config are rendered by J2 template: + + ``` + {%- set default_cable = '40m' %} + {%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "26531072", + "type": "ingress", + "mode": "dynamic", + "xoff": "6291456" + }, + "egress_lossless_pool": { + "size": "32822528", + "type": "egress", + "mode": "static" + } + }, + + ...... + + {%- endmacro %} + ``` + +- Profile + + - Profile is part of OS image, should upgrade with OS upgrade. + - Profile are suggested values based on expirence. + - User can overwrite profile. + +## Problem Statement + +- SONiC still using old default value and config from j2 template after OS upgrade: + - Following config may update after OS upgrade: + - Default value: defined in yang model. + - Profile: defined in j2 template. + - Currently all config stored in config DB, so above configs can't be update after OS upgrade. +- Potential risk, Yang model default value conflict with hardcoded value: + - Default value hardcoded in source code. + - Yang model default value does not be used. +- SONiC utilities not support get user config and all config: + - Vender OS have different show command: + - show running: only return user config. + - show running all: return user config, default value from yang model, and config from j2 template. + - Currently SONiC only support 'show running' +- DB migrator has complex logic and hardcoded config data: + - DB migrator will be run in post startup action. + - DB migrator complex logic and hardcoded config for migrate from every historical version to latest version. This will keep increase and difficult to maintance. + +# 1 Functional Requirement + +## 1.1 swss-common return default value from Yang model + +- Return default value is optional. + - Application can read config without default value, also can read config with default value. +- Backward compatibility with existing code and applications. + +## 1.2 swss-common return profile from profile DB + +- Buffer profile stored in profile tables. + +- Return profile is optional. + + - Application can decide read config with profile or not: + - When application read profile: + - If user overwrite the profile, user config will be return. + - If user not overwrite the profile, profile will be return. + - If user 'delete' the profile, will return nothing. + - When application not read profile, API will only return user config. + - If user overwrite the profile, user config will be return. + - If user not overwrite the profile, will return nothing. + - If user 'delete' the profile, then there also will no user config exist, will return nothing. + +- Backward compatibility with existing code and applications. + + - For backward compatibility when initialize buffer config from minigraph, config will be write to both config tables and profile tables. + - After all code migrate to use profile DB, profile will only write to profile tables. + - Profile support delete/revert operation: + - In some user scenario, user need delete a profile, and also may add config back later. + - For delete operation, data in profile table will not be delete, profile use PROFILE_DELETE table to handle delete/revert: + - When delete a profile item, profile provider will add the item key to PROFILE_DELETE table. + - When read profile, any key in PROFILE_DELETE will not exist in result. + - When user set deleted item back, the item key will be remove from PROFILE_DELETE table. + - For example: + - BUFFER_POOL table are profile: + + ``` + "BUFFER_POOL": { + "ingress_lossless_pool": { + "size": "26531072", + "type": "ingress", + "mode": "dynamic", + "xoff": "6291456" + }, + "egress_lossless_pool": { + "size": "32822528", + "type": "egress", + "mode": "static" + } + } + ``` + - On mellanox devices, when set buffer mode to 'dynamic' mode, buffer manager will use swsscommon API to delete buffer pool to reclam unused buffer resource. + - When delete a profile item 'ingress_lossless_pool', the key of this item will be write to PROFILE_DELETE table. and swsscommon read API will not return this item anymore. + - Revert operation: when user set buffer mode back, buffer manager will write the deleted item back, when this happen, the key of the item will be remove from PROFILE_DELETE table. and swsscommon read API will return this item. + +# 2 Design + +- Config DB design diagram: + + + +- API design diagram: + + + +### Current design: + +- Existing API keeps no change. +- Add decorator API to return default value and profile data. +- Load yang model as lazy as possible. + +## 2.1 Considerations + +### How to get default value + +| | Pros | Cons | +| ------------------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| Get default value from Yang model in read API. | Redis config DB keeps no change. | 3 MB memory per-process because need load Yang model and reference libyang.
50ms to load yang model.
8ms to read default value 10000 times. | +| Write default value to default value DB when write config DB. | Better read performance, Less memory consumption. | Need add new Redis DB for default value. | + +### How to get profile + +- Profile will stored in a new redis database 'PROFILE_DB', database index is 15. +- Profile DB tables will have exactly same name and schema with config DB tables. +- Data will read form profile DB with swsscommon API. +- Profile DB will save and persist for warm-reboot and fast-reboot. + +### API compatibility + +| | Pros | Cons | +| ----------------------------------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| Change API to return default value and profile. | Less code change, all app will get default value and profile automatically. | For default value, there are hardcoded default value may different with Yang model, new default value from config DB may cause code bug. | +| Existing API keeps no change. | When update existing code, can cleanup code to remove hard coded default value. | All apps need code update. | + +## 2.2 Other solutions for Yang model default value + +| | Pros | Cons | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 1. All existing APIs change to return default value.
2. Add new API to get 'real' data from config DB, which not have default value. | Less code change, all app will get default value automatically. | 1. There are hardcoded default value in many different place, the default value of those code may different with default value from Yang model, so new default value from config DB may cause code bug, this is a potential risk.
2. 3 MB memory per-process because need load Yang model.
3. 0.05 second to load yang model | +| 1. Write API change: when write data to config DB, also write default value to 'Default_value_DB'.
2. Read API change: read default value from 'Default_value_DB' and merge with config DB result. | 1. Less memory consumption and better performance when only call read API: read API no need to load yang model.
2. Less code change, all app will get default value automatically. | Hardcoded default value code still need cleanup. | + +## 2.3 New class + +- YangModelLoader class + + - load table name to default value mapping to memory. + +- DefaultValueProvider class + + - Find default value information by table name and config DB key + - Merge default value to API result. + +- ProfileProvider class + + - Read profile from profile DB. + - Merge profile to API result. + +- YangDefaultDecorator python class + +- DecoratorTable c++ class + +- DecoratorSubscriberStateTable c++ class + +## 2.4 Other code change + +- Add new methods to TableEntryEnumerable interface: + - virtual bool hget(const std::string &key, const std::string &field, std::string &value) = 0; + +## 2.5 Database Schema + +- All profile table will have exactly same schema with existing ConfigDB tables. + + - BUFFER_POOL + - BUFFER_PROFILE + +- PROFILE_DELETE Table: + - For usage of this table, please refer to [Backward compatibility with existing code and applications.](#backward-compatibility-with-existing-code-and-applications) + - This table is a config DB table, it will presist cross reboot. When re-render config, this table will be flushed as well as other config DB tables. + - Yang model: [link](./sonic-profile-delete.yang "profile delete table") + ``` + ; Key + itemkey = 1*256VCHAR ; Deleted profile item key. + ``` + +## 2.6 Code example + +- Connector Decorator: + + ``` + from swsscommon.swsscommon import SonicV2Connector, ConfigDBConnector, YangDefaultDecorator + + conn = ConfigDBConnector() + decorator = YangDefaultDecorator(conn) + decorator.connect() + decorator.get_table("VLAN_INTERFACE") + decorator.get_entry("VLAN_INTERFACE", "Vlan1000") + decorator.get_config() + ``` + +- DecoratorTable: + + ``` + from swsscommon.swsscommon import DBConnector, Table, DecoratorTable + + db = DBConnector("CONFIG_DB", 0) + # Still can use Table to read user config: + # table = Table(db, 'VLAN_INTERFACE') + # Use DecoratorTable to read default value, profile and use config: + table = DecoratorTable(db, 'VLAN_INTERFACE') + table.get("Vlan1000") + ``` + +# 3 Reboot + +- + +## 3.1 Cold-reboot + +- Code-reboot will reload minigraph, profile DB will re-render in reload minigraph. + +## 3.2 Warm-reboot + +- Profile DB will presist to file before warm-reboot, will load from saved file after warm-reboot. +- DB migrator will run after warm reboot, will handle OS upgrade in DB migrator. + +## 3.3 Fast-reboot + +- Fast-reboot will reload minigraph, profile DB will re-render in reload minigraph. + +## 3.4 Schema upgrade and DB migration + +- DB migrator will re-render profile DB to handle schema change. + - Profile DB will rendered by cfg-gen command. +- DB migrator code will implify by deprate hardcoded config and complex upgrade logic for profile config. +- Some profile configuration change are disruptive, for example buffer config change,those change need fast-reboot to make sure change refelected on ASIC. + +# 4 Error handling + +- Load yang model: throw exception when found yang model data issue. +- swss-common API: if not found Yang model schema data for a given table name, write warning message to syslog. + +# 5 Serviceability and Debug + +- Debug version will write debug log to syslog. + +# 6 Unit Test + +- All new code will 100% covered by gtest or pytest test case. + +# 7 Migration steps + +## 7.1 Phase 1 + +- swss common API change: + + - support Yang model default value. + - support profile value. + +- Profile DB code change: + + - sonic-cfggen change to support generate profile to PROFILE_DB. + - sonic-util change to support generate profile when load minigraph. + - for backward compatibility, config tables still generate to CONFIG_DB. + - for warm-reboot/fast-reboot, save and persist profile DB. + +## 7.2 Phase 2 + +- Update sonic cli. + + - Add 'show all config' command, which will show following config: + - User config from config DB. + - Yang model default value. + - Profile. + - Add 'show user config' command, which will only show user config. + - For backward compatibility, 'show config' will mapping to 'show all config'. + - This will improve user expirence for debug config related issue. + +- Find out all projects need update by code scan: + + - Any project using swsssdk. + - Any project using swss common c++ lib. + - Any project using swss common python lib. + +- Involve project owner to migrate to new API. + + - If project still using swsssdk, then switch to swsscommon with new API. + - When migrate to new API, also clean up hardcoded default values. + - Fix code in buffer manager for a special case for dynamic buffer profile. + +- Buffer manager change to use profile table class. + + - After this, sonic-cfggen and sonic-util change to not generate profile to CONFIG_DB. + +# 8 References + +## SONiC YANG MODEL GUIDELINES + +https://github.com/Azure/SONiC/blob/master/doc/mgmt/SONiC_YANG_Model_Guidelines.md diff --git a/doc/mgmt/images/swss-common-default-value.png b/doc/mgmt/images/swss-common-default-value.png new file mode 100644 index 0000000000000000000000000000000000000000..07bb7abc4223ce62974f5d69843d7d539da32784 GIT binary patch literal 111009 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/mgmt/images/swss-common-layer.png b/doc/mgmt/images/swss-common-layer.png new file mode 100644 index 0000000000000000000000000000000000000000..493375a9917e89425c2f24926c21eee01bcb4c82 GIT binary patch literal 28780 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 z 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

oGkk`fC9(&!t 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 literal 0 HcmV?d00001 diff --git a/doc/mgmt/sonic-profile-delete.yang b/doc/mgmt/sonic-profile-delete.yang new file mode 100644 index 0000000000..920792243e --- /dev/null +++ b/doc/mgmt/sonic-profile-delete.yang @@ -0,0 +1,41 @@ +module sonic-profile-delete { + namespace "http://github.com/Azure/sonic-acl"; + prefix sacl; + yang-version 1.1; + + import ietf-yang-types { + prefix yang; + } + + import sonic-common { + prefix scommon; + } + + organization + "BRCM"; + + contact + "BRCM"; + + description + "SONIC PROFILE DELETE"; + + revision 2022-07-22 { + description + "Initial revision."; + } + + container sonic-profile-delete { + scommon:db-name "CONFIG_DB"; + + list PROFILE_DELETE { + key "itemkey"; + scommon:key-delim "|"; + scommon:key-pattern "PROFILE_DELETE_TABLE|{itemkey}"; + + leaf itemkey { + type string; + } + } + } +}