From f61b72af2114ca3e722ba38764f30ebb05ea991d Mon Sep 17 00:00:00 2001 From: nazar-garmadiy Date: Mon, 23 Jan 2023 18:59:05 +0200 Subject: [PATCH] Dev 202111 cli nat (#13) * Added hepler function to get list of the disabled components The list of disabled components is store in src/sonic-utilities/exclude-cfg/exclude-cfg.yaml * Used Hedgehog sonic-utilities submodule * Alligned sonic-utilities submodule. Added base infrastructure to get list of the disabled components Moved "clear nat" to separate module - nat.py Disable NAT commands when INCLUDE_NAT is not set --- .gitmodules | 2 +- build_exclude_cfg.py | 34 ++++++++++++++++++++++++++++++++++ slave.mk | 3 +++ src/sonic-utilities | 2 +- 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100755 build_exclude_cfg.py diff --git a/.gitmodules b/.gitmodules index e87cdb1229ef..72db50bccacb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,7 +30,7 @@ url = https://github.com/p4lang/ptf.git [submodule "src/sonic-utilities"] path = src/sonic-utilities - url = https://github.com/sonic-net/sonic-utilities + url = https://github.com/githedgehog/sonic-utilities_dev_202111.git [submodule "platform/broadcom/sonic-platform-modules-arista"] path = platform/broadcom/sonic-platform-modules-arista url = https://github.com/aristanetworks/sonic diff --git a/build_exclude_cfg.py b/build_exclude_cfg.py new file mode 100755 index 000000000000..2eb7407cf768 --- /dev/null +++ b/build_exclude_cfg.py @@ -0,0 +1,34 @@ +#!/usr/bin/python3 + +import yaml + +from build_img_metadata import get_bld_config + +EXCL_CFG_PATH = 'src/sonic-utilities/exclude-cfg/exclude-cfg.yaml' + +#get configuration with excluded components only + +def get_excl_config(): + bld_cfg = {} + excl_cfg = {} + + bld_cfg = get_bld_config() + + for key, val in bld_cfg.items(): + if str(key).startswith("INCLUDE_") and val == "n": + excl_cfg[key] = val + + return excl_cfg + +# Write build metadata into yaml file + +def write_data(path:str, data_dict:dict): + with open(path, 'w') as file: + yaml.dump(data_dict, file) + +def build_excl_cfg(): + excl_data = get_excl_config() + write_data(EXCL_CFG_PATH, excl_data) + +if __name__ == '__main__': + build_excl_cfg() diff --git a/slave.mk b/slave.mk index 02ad9feff747..e7515aa8e76e 100644 --- a/slave.mk +++ b/slave.mk @@ -358,6 +358,9 @@ endif # Overwrite the buildinfo in slave container $(shell sudo scripts/prepare_slave_container_buildinfo.sh $(SLAVE_DIR) $(CONFIGURED_ARCH) $(BLDENV)) +# Create a list with excluded modules that will be disabled +$(shell ./build_exclude_cfg.py) + include Makefile.cache ifeq ($(SONIC_USE_DOCKER_BUILDKIT),y) diff --git a/src/sonic-utilities b/src/sonic-utilities index 8ac281013470..3491ffc62f35 160000 --- a/src/sonic-utilities +++ b/src/sonic-utilities @@ -1 +1 @@ -Subproject commit 8ac2810134709af6d83058dc8e1a1258bcd12b2b +Subproject commit 3491ffc62f35069572c5b807f945bcd3eb2cc5a9