forked from sonic-net/sonic-utilities
-
Notifications
You must be signed in to change notification settings - Fork 0
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
[pull] master from sonic-net:master #5
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…KUs if the buffer configuration is empty (#3114) ### What I did Do not touch the buffer model on generic SKUs if the buffer configuration is empty. #### How I did it Set the buffer model to traditional on generic SKUs in Mellanox db migrator only if the buffer configuration is not default and not empty. #### How to verify it Manually and mock test. ### Details #### Buffer configuration contains two parts: 1. the buffer model in `DEVICE_METADATA|localhost` which is from `init_cfg.json` and can be updated by Mellanox buffer migrator 2. the buffer pools, profiles, PGs, and queues which are renderred from the buffer templates in `config qos reload` There was a logic to update the buffer model in Mellanox buffer migrator: if the buffer configuration is not default, the buffer model is set to traditional. However, if a device is installed from ONIE, the buffer configuration is also empty. As a result, the traditional buffer manager starts after the device is installed from ONIE, and it requires to restart the buffer manager to switch to the dynamic model. This can be done only by `config reload`. It didn't matter since it was required to execute `config qos reload` to complete buffer configuration which required `config save` and `config reload` in any case due to issue sonic-net/sonic-buildimage#9088. Now that the issue has been fixed and `config reload` isn't required anymore to complete `config qos reload`, we should avoid setting the buffer model to traditional in such case, otherwise `config reload` is still required to switch the buffer model. Verified the following scenarios: 1. non-default configuration generic SKU upgrade from 202305: warm/cold boot: expected: traditional model 2. default configuration generic SKU upgrade from 201911/202305: warm/cold boot: expected: dynamic model 3. install from ONIE: expected: dynamic model 4. MSFT SKU upgrade from 201911 by cold boot/ from 202012 by warm boot: expected: traditional model
### What I did Account for static routes in route_check.py when checking route offload status. #### How I did it skip routes that are "connected" or "kernel". #### How to verify it Run on 202311, make sure it reports Loopback IPv6 address as missing.
…client.eth0.pid does not exist" (#3149) * Fix load_mgmt_config not exit when dhclient.eth0.pid not exists Signed-off-by: Mai Bui <maibui@microsoft.com> * add UT Signed-off-by: Mai Bui <maibui@microsoft.com> --------- Signed-off-by: Mai Bui <maibui@microsoft.com>
…ump utility. (#3091) - What I did Add support of the nvidia-bluefield platform to generate-dump utility to collect platform-specific dumps on NVIDIA Bluefield DPU. - How I did it Extend platform-specific section of generate-dump utility - How to verify it Run "show techsupport" command to generate dump file. Verify that platform-dump directory exists in the created dump file.
…3153) * Fix the sfputil treats page number as decimal instead of hexadecimal (#22) Fix the sfputil treats page number as decimal instead of hexadecimal Signed-off-by: Kebo Liu <kebol@nvidia.com> * remove unreachable code Signed-off-by: Kebo Liu <kebol@nvidia.com> --------- Signed-off-by: Kebo Liu <kebol@nvidia.com>
…SIC (#3158) This PR #3099 fixes the case where on chassis Linecard there are no BGP neighbors. However, if the Linecard has neighbors on one ASIC but not on other, the command show bgp summary displayed no neighbors. This PR fixes this. How I did it Add check in bgp_util to create empty peer list only once Add UT to cover this case
* [show] Update show run all to cover all asic config in masic * per comment
### What I did Fix #3164 Check Golden Config earlier before service is down. #### How I did it Move the check at the begining #### How to verify it Unit test
* Fix sfputil invalid namesapce error * Add test case for loading port configuration * Improve cov
Signed-off-by: Mihir Patel <patelmi@microsoft.com>
…le (#3177) * Retrieve firmware version fields from TRANSCEIVER_FIRMWARE_INFO table Signed-off-by: Mihir Patel <patelmi@microsoft.com> * Fixed test failures * Removed update_firmware_info_to_state_db function * Revert "Removed update_firmware_info_to_state_db function" This reverts commit 68f52a2. --------- Signed-off-by: Mihir Patel <patelmi@microsoft.com>
* Fix for switchport mode PR * Fix for cli.py * Fix for indentation * Fix for error * Fix * Fixing indentation errors * Fix for error * Fix for failures * Fix for errors * Fix for port version * Fix for DB migrator versions * Fix for db migrator version function * Fixing versions * Fix for cli.py * Fix for vlan_test.py * Fix for failures * Fix for unexpected characters * Fixing error message * Fix for routed port
…3186) MSFT ADO: 26918588 This change is to add ERR logs generated during warm-reboot script to syslog. Currently the ERR logs are sent in stdout and a corresponding entry is not added to syslog. This makes it difficult to debug issues when stdout is not readily available. How I did it Modified existing error function to add the log entry to syslog. How to verify it Verified manually on physical device
ADO: 26732148 #### What I did Add YANG hard depdency check for AAA and TACPLUS table #### How I did it Add a special check #### How to verify it Unit test
…ateTask thread (#3187) * CLI to skip polling for periodic infomration for a port in DomInfoUpdateTask thread Signed-off-by: Mihir Patel <patelmi@microsoft.com> * Fixed unit-test failure * Modified dom_status to dom_polling * Modified comment for failing the command --------- Signed-off-by: Mihir Patel <patelmi@microsoft.com>
#### What I did Add alerting for YANG validation when load_minigraph during override. This is to alert early if golden config is invalid which will breaks GCU feature. #### How I did it Add alerting when `is_yang_config_validation_enabled` is not set during load_minigraph with override #### How to verify it Unit test
What I did The bug can be reproduced by the following command: root@bjw-can-7215-6:/home/admin# sonic-installer set-fips Command: /usr/bin/fw_setenv linuxargs net.ifnames=0 loopfstype=squashfs loop=image-fips-armhf-202305.88981472-dde4d1d844/fs.squashfs systemd.unified_cgroup_hierarchy=0 varlog_size=4096 loglevel=4 logs_inram=on sonic_fips=1 Error: illegal character '=' in variable name "loopfstype=squashfs" How I did it It is to set the variable linuxargs to the the environment value cmdline, as the part of the Linux Kernel Cmdline. The environment variable cannot be split.
…ATE_DB is empty (#3199) * Add skip_action_validation option to acl-loader
### What I did Handle the SAI key value pair if it is present in sai common profile rather than specific profile for mellanox platforms. The concept of common sai profile is introduced in sonic-net/sonic-buildimage#18074 . After this the techsupport started to fail because of the absence of SAI_DUMP_STORE_PATH #### How I did it Check if the variable is not present in platform specific file and then read the common file. If the common file is not accessible due to syncd being down, fallback to default path which is hardcoded. #### How to verify it Running techsupport and ensuring it exits with code 0
…ssue on the Supervisor (#3194) Signed-off-by: mlok <marty.lok@nokia.com>
### What I did Handle exception in show ip interfaces command when executed during config reload. Sometimes during config reload the interfaces are removed and if show ip interfaces was executed during this time we may get the below traceback. The interface would exist when the call multi_asic_get_ip_intf_from_ns was made but would have been removed in the subsequent for loop which tries to get ip interface data for each interface ``` show ip interfaces Traceback (most recent call last): File "/usr/local/bin/ipintutil", line 276, in main() File "/usr/local/bin/ipintutil", line 269, in main ip_intfs = get_ip_intfs(af, namespace, display) File "/usr/local/bin/ipintutil", line 232, in get_ip_intfs ip_intfs_in_ns = get_ip_intfs_in_namespace(af, namespace, display) File "/usr/local/bin/ipintutil", line 153, in get_ip_intfs_in_namespace ipaddresses = multi_asic_util.multi_asic_get_ip_intf_addr_from_ns(namespace, iface) File "/usr/local/lib/python3.9/dist-packages/utilities_common/multi_asic.py", line 186, in multi_asic_get_ip_intf_addr_from_ns ipaddresses = netifaces.ifaddresses(iface) ValueError: You must specify a valid interface name. ``` #### How I did it Adding try exception block so that if an interface is not present, it would be skipped. #### How to verify it Running show ip interface command and performing config reload in parallel
…atchdog arm before the reboot (#3203) Signed-off-by: vadymhlushko-mlnx <vadymh@nvidia.com>
Basically port2alias Cli became broken on multi-asic platforms after introduction of sonic-net/sonic-buildimage#10960 which removed the initialization of global DB config from portconfig.py (library side) and expects application to do it, but here application side (port2alias) was not updated accordingly. How I did it Add load_db_config call to port2alias for initialization
* Add support for chassis in qos reload
### What I did Enhanced route_check.py script to cover multi-asic platforms. Accordingly enhanced the test files as well. MSFT ADO: 25416673 #### How I did it Enhanced the route_check.py script to take additional optional parameter(--n/namespace). Without this parameter, the check will be run on all asics in multi-asic platforms. Different connections to DBs are modified accordingly to connect to relevant ns dbs. Result will be encapsulated under different namespace. For single asic, results will be displayed under Default-Namespace(""). testData and the testfiles are enhanced accordinly. #### How to verify it 1. Verified that all pytest UT cases are passing. 2. Verified the route_check_test.sh script on single asic and multi-asic platforms. 3. Verified Monit routecheck outputs by simulating a failure scenario on both single asic and multi-asic platforms. output from Monit Check: **Single Asic:** xxx/usr/local/bin# monit status routecheck Monit 5.20.0 uptime: 1d 20h 32m Program 'routeCheck' status Status failed monitoring status Monitored monitoring mode active on reboot start last exit value 255 last output Failure results: {{ "": { "missed_ROUTE_TABLE_routes": [ "20c0:d9b8:99:80::/64" ] } }} Failed. Look at reported mismatches above add: { "": [] } del: { "": [] } data collected Tue, 12 Dec 2023 20:30:11 ''' **Multi Asic:** ''' /bin# monit status routecheck Monit 5.20.0 uptime: 1d 23h 51m Program 'routeCheck' status Status failed monitoring status Monitored monitoring mode active on reboot start last exit value 255 last output Failure results: {{ "asic0": { "missed_ROUTE_TABLE_routes": [ "1.0.0.0/16" ] }, "asic1": { "missed_ROUTE_TABLE_routes": [ "1.0.0.0/16" ] }, "asic2": { "missed_ROUTE_TABLE_routes": [ "1.0.0.0/16" ] } }} Failed. Look at reported mismatches above add: { "asic0": [], "asic1": [], "asic2": [] } del: { "asic0": [], "asic1": [], "asic2": [] } data collected Tue, 12 Dec 2023 23:54:23 '''
…ature (#2932) * Add "state" field in CONFIG_DB fabric_monitor table as a toggle of the fabric port monitoring feature. The command to set this is "config fabric port monitor state <enable/disable>" --------- Signed-off-by: Jie Feng <jfeng@arista.com>
…3238) Signed-off-by: Mihir Patel <patelmi@microsoft.com>
…onfiguration (#3021) What I did Added CLI commands for Banner feature according to HLD: sonic-net/SONiC#1361 How I did it Added CLI commands to: Enable/disable Banner feature Configure Banner messages: login/motd/logout Related show command How to verify it Manual testing
* Added function to check if disk is SATA * Fixed eval bug unconvered by UT * Changed logger to syslogger; fixed UT failures * Added checks for partitions and filtered_disks; fixed static analysis issues * Fix static analysis errors E303, E711 * Changed information delivery semantics per review comment * Reverted syslogger to logger to maintain backward compatibility The syslogger-to-logger change is unrelated to the sonic-utilities change and breaks backwards compatibility. It should be a separate commit once SysLogger is in all the older versions. * Changed Disk 'type' --> 'Type' for uniformity * Made the fields look uniform * Disk Type Support for eMMC devices * Removed old sonic_ssd import
Currently the Vnet_route_check fails if a user calls it witout sudo with the following error. ``` Traceback (most recent call last): File "/usr/local/bin/vnet_route_check.py", line 401, in <module> sys.exit(main()) File "/usr/local/bin/vnet_route_check.py", line 364, in main if not check_vnet_cfg(): File "/usr/local/bin/vnet_route_check.py", line 77, in check_vnet_cfg db = swsscommon.DBConnector('APPL_DB', 0) File "/usr/lib/python3/dist-packages/swsscommon/swsscommon.py", line 1656, in __init__ _swsscommon.DBConnector_swiginit(self, _swsscommon.new_DBConnector(*args)) RuntimeError: Unable to connect to redis (unix-socket): Cannot assign requested address ``` #### What I did The **route_check** script accesses the same DB tables but is able to run without the sudo rights. To solve this problem I have changed the **Vnet_route_check** to use a TCP socket to connect to the DB as done in **route_check**. As a result the script doesn't fail with a run time error. #### How I did it #### How to verify it create a new user on a T1 device which has no docker or sudoers privilage. run vnet_route check. it should fail. #### Previous command output (if the output of a command-line utility has changed) ``` Traceback (most recent call last): File "/usr/local/bin/vnet_route_check.py", line 401, in <module> sys.exit(main()) File "/usr/local/bin/vnet_route_check.py", line 364, in main if not check_vnet_cfg(): File "/usr/local/bin/vnet_route_check.py", line 77, in check_vnet_cfg db = swsscommon.DBConnector('APPL_DB', 0) File "/usr/lib/python3/dist-packages/swsscommon/swsscommon.py", line 1656, in __init__ _swsscommon.DBConnector_swiginit(self, _swsscommon.new_DBConnector(*args)) RuntimeError: Unable to connect to redis (unix-socket): Cannot assign requested address ```
* Add CLI for bmp configdb entity Enable/Disable. * Add CLI for bmp configdb entity Enable/Disable. * Use pytest.mark.parametrize to reduce duplicated code * Use pytest.mark.parametrize to reduce duplicated code
…3557) #### What I did Add support of the pensando-dpu platform to generate-dump utility to collect platform-specific dumps on Pensando DPU. #### How I did it Extend platform-specific section of generate-dump utility #### How to verify it Run "show techsupport" command to generate dump file. Verify that `{dpu_container}_techsupport` directory exists in the created dump file. #### show techsupport command output logs:- ``` { cat }; docker exec syncd saidump | dummy_cleanup_method &> '/var/dump/sonic_dump_sonic_20240910_045531/dump/saidump'" mkdir: created directory '/root/dpu_dump' timeout --foreground 5m sudo docker exec polaris touch /data/techsupport//DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz timeout --foreground 5m sudo docker cp polaris:/data/techsupport//DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz /root/dpu_dump mkdir: created directory '/var/dump/sonic_dump_sonic_20240910_045531/polaris_techsupport' removed '/root/dpu_dump/DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz' removed directory '/root/dpu_dump' timeout --foreground 5m bash -c "dummy_cleanup_method () { cat }; echo 10/09/2024 04:57:43:857701 | dummy_cleanup_method &> '/var/dump/sonic_dump_sonic_20240910_045531/dump/date.counter_2'" ``` ``` sonic_dump_sonic_20240910_045531/proc/iomem sonic_dump_sonic_20240910_045531/polaris_techsupport/ sonic_dump_sonic_20240910_045531/polaris_techsupport/DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz sonic_dump_sonic_20240910_045531/core/ ``` ``` root@sonic:/home/admin# cd /var/dump/ root@sonic:/var/dump# ls sonic_dump_sonic_20240910_045531.tar.gz root@sonic:/var/dump# tar -xzf sonic_dump_sonic_20240910_045531.tar.gz root@sonic:/var/dump# cd sonic_dump_sonic_20240910_045531/ root@sonic:/var/dump/sonic_dump_sonic_20240910_045531# cd polaris_techsupport/ root@sonic:/var/dump/sonic_dump_sonic_20240910_045531/polaris_techsupport# ls DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz root@sonic:/var/dump/sonic_dump_sonic_20240910_045531/polaris_techsupport# ``` #### /usr/local/bin/generate_dump -n output ``` { cat }; docker exec syncd saidump | dummy_cleanup_method &> '/var/dump/sonic_dump_sonic_20240910_050411/dump/saidump'" mkdir -p /root/dpu_dump docker exec polaris /nic/tools/collect_techsupport.sh rm -rf /root/dpu_dump mkdir -p /var/dump/sonic_dump_sonic_20240910_050411/dump timeout --foreground 5m bash -c "dummy_cleanup_method () { cat }; echo 10/09/2024 05:04:40:130209 | dummy_cleanup_method &> '/var/dump/sonic_dump_sonic_20240910_050411/dump/date.counter_2'" ```
This PR fixes sonic-net/sonic-buildimage#18773 How I did it Parallely execute route_check on each Asic. Parallelly fetch ipv4 routes and ipv6 routes. How to verify it execute "time route_check.py" on T2 chassis having 32k v4+32k v6 routes. Results: Before: Checking routes for namespaces: ['asic0', 'asic1'] real 3m16.387s user 1m26.084s sys 0m7.275s After: time route_check.py real 1m30.675s user 1m33.777s sys 0m8.209s
What I did Bypass stdin input for config reload to avoid double json read which will cause issue How I did it Add a bypass check How to verify it UT and manual test
What I did Changed the data type casting to float if count coming is too large or in scientific notation . How I did it made it float then type cast to int for display purpose How to verify it Manually passed big value and see the count output if it breaks or works
#### What I did Addressing the [issue 20508](sonic-net/sonic-buildimage#20508). ADO: 29979987 #### How I did it Remove temp file as intermediate steps. #### How to verify it ``` admin@str2-7250-lc1-2:~$ cat test.json [ { "op": "add", "path": "/asic0/BGP_DEVICE_GLOBAL/STATE/idf_isolation_state", "value": "unisolated" } ] admin@str2-7250-lc1-2:~$ sudo config apply-patch test.json sonic_yang(6):Note: Below table(s) have no YANG models: DHCP_SERVER sonic_yang(6):Note: Below table(s) have no YANG models: LOGGER sonic_yang(6):Note: Below table(s) have no YANG models: LOGGER Patch Applier: asic0: Patch application starting. Patch Applier: asic0: Patch: [{"op": "add", "path": "/BGP_DEVICE_GLOBAL/STATE/idf_isolation_state", "value": "unisolated"}] Patch Applier: asic0 getting current config db. Patch Applier: asic0: simulating the target full config after applying the patch. Patch Applier: asic0: validating all JsonPatch operations are permitted on the specified fields Patch Applier: asic0: validating target config does not have empty tables, since they do not show up in ConfigDb. Patch Applier: asic0: sorting patch updates. Patch Applier: The asic0 patch was converted into 1 change: Patch Applier: asic0: applying 1 change in order: Patch Applier: * [{"op": "replace", "path": "/BGP_DEVICE_GLOBAL/STATE/idf_isolation_state", "value": "unisolated"}] Patch Applier: asic0: verifying patch updates are reflected on ConfigDB. Patch Applier: asic0 patch application completed. Patch applied successfully. admin@str2-7250-lc1-2:~$ show ver SONiC Software Version: SONiC.20220532.72 SONiC OS Version: 11 Distribution: Debian 11.9 Kernel: 5.10.0-23-2-amd64 Build commit: 7766169087 Build date: Fri Oct 4 00:15:40 UTC 2024 Built by: azureuser@98b2318ac000000 Platform: x86_64-nokia_ixr7250e_36x400g-r0 HwSKU: Nokia-IXR7250E-36x100G ASIC: broadcom ASIC Count: 2 Serial Number: NS220304200 Model Number: 3HE12578AARA01 Hardware Revision: 56 Uptime: 05:08:45 up 2 days, 10:16, 1 user, load average: 1.64, 1.82, 1.74 Date: Fri 25 Oct 2024 05:08:45 Docker images: REPOSITORY TAG IMAGE ID SIZE docker-mux 20220532.72 a27de04f0900 375MB docker-mux latest a27de04f0900 375MB docker-macsec latest 9cad4ac054db 372MB docker-sonic-restapi 20220532.72 2dc9b6c42cdb 345MB docker-sonic-restapi latest 2dc9b6c42cdb 345MB docker-orchagent 20220532.72 560867c70e69 360MB docker-orchagent latest 560867c70e69 360MB docker-fpm-frr 20220532.72 525aad3b1670 367MB docker-fpm-frr latest 525aad3b1670 367MB docker-teamd 20220532.72 9bc2875ba21c 343MB docker-teamd latest 9bc2875ba21c 343MB docker-syncd-brcm-dnx 20220532.72 58ee35f9df5b 674MB docker-syncd-brcm-dnx latest 58ee35f9df5b 674MB docker-gbsyncd-credo 20220532.72 5084ec39b3fc 346MB docker-gbsyncd-credo latest 5084ec39b3fc 346MB docker-gbsyncd-broncos 20220532.72 f1011e5ed75c 374MB docker-gbsyncd-broncos latest f1011e5ed75c 374MB docker-dhcp-relay latest 137faf5f4038 337MB docker-platform-monitor 20220532.72 41d6954ab85a 452MB docker-platform-monitor latest 41d6954ab85a 452MB docker-snmp 20220532.72 916f66a40a77 376MB docker-snmp latest 916f66a40a77 376MB docker-sonic-telemetry 20220532.72 e8037e0fd00c 407MB docker-sonic-telemetry latest e8037e0fd00c 407MB docker-router-advertiser 20220532.72 a5afbccec5da 327MB docker-router-advertiser latest a5afbccec5da 327MB docker-lldp 20220532.72 01386dd544cf 369MB docker-lldp latest 01386dd544cf 369MB docker-database 20220532.72 2da62f2abd04 327MB docker-database latest 2da62f2abd04 327MB docker-acms 20220532.72 264a51a7a259 374MB docker-acms latest 264a51a7a259 374MB k8s.gcr.io/pause 3.5 ed210e3e4a5b 683kB ```
#### What I did Addressing issue [#20377](sonic-net/sonic-buildimage#20377). The issue caused by unescape in JsonPointer implementation which followed [RFC 6901](https://www.rfc-editor.org/rfc/rfc6901) ```python pointer = jsonpointer.JsonPointer(path) ... class JsonPointer(object): """A JSON Pointer that can reference parts of a JSON document""" # Array indices must not contain: # leading zeros, signs, spaces, decimals, etc _RE_ARRAY_INDEX = re.compile('0|[1-9][0-9]*$') _RE_INVALID_ESCAPE = re.compile('(~[^01]|~$)') def __init__(self, pointer): # validate escapes invalid_escape = self._RE_INVALID_ESCAPE.search(pointer) if invalid_escape: raise JsonPointerException('Found invalid escape {}'.format( invalid_escape.group())) parts = pointer.split('/') if parts.pop(0) != '': raise JsonPointerException('Location must start with /') parts = [unescape(part) for part in parts] self.parts = parts ``` #### How I did it Re-escape `/` to `~1` to match the real key in json, and [JsonPatch](https://www.rfc-editor.org/rfc/rfc6902#appendix-A.14) will handle it correctly. #### How to verify it ```shell admin@str2-7250-lc1-2:~$ cat link.json [ { "op": "add", "path": "/asic1/PORTCHANNEL_INTERFACE/PortChannel106|10.0.0.6~131", "value": {} } ] admin@str2-7250-lc1-2:~$ sudo config apply-patch link.json sonic_yang(6):Note: Below table(s) have no YANG models: DHCP_SERVER sonic_yang(6):Note: Below table(s) have no YANG models: LOGGER sonic_yang(6):Note: Below table(s) have no YANG models: LOGGER Patch Applier: asic1: Patch application starting. Patch Applier: asic1: Patch: [{"op": "add", "path": "/PORTCHANNEL_INTERFACE/PortChannel106|10.0.0.6~131", "value": {}}] Patch Applier: asic1 getting current config db. Patch Applier: asic1: simulating the target full config after applying the patch. Patch Applier: asic1: validating all JsonPatch operations are permitted on the specified fields Patch Applier: asic1: validating target config does not have empty tables, since they do not show up in ConfigDb. Patch Applier: asic1: sorting patch updates. Patch Applier: The asic1 patch was converted into 0 changes. Patch Applier: asic1: applying 0 changes in order. Patch Applier: asic1: verifying patch updates are reflected on ConfigDB. Patch Applier: asic1 patch application completed. Patch applied successfully. ```
…g it before starting (#3344) What I did Add logic to disable the feature before stopping and enabling it before starting in order to properly clean the systemd symlinks to avoid issues with delayed attribute explained in the How to verify it section. How I did it Add the systemctl disable ... after the systemctl stop... and the systemctl enable ... before the systemctl start .. for some feature. How to verify it Add repository for some featureX sonic-package-manager repository <featureX> <URL> Install featureX version 1.0.0 where the delayed flag is equal to false (delayed flag means - the feature will be started right after the system boots or after the PortInitDone event) sonic-package-manager install featureX==1.0.0 -y Enable the feature in SONiC config feature state featureX enabled Install featureX version 1.0.1 where the delayed flag is equal to true sonic-package-manager install featureX==1.0.1 -y Check the manifest file to verify the delayed field value sonic-package-manager show package manifest featureX config save -y reboot Check that the featureX is delayed on the system start
Update Mellanox-SN5600-C256X1 to be Mellanox-SN5600-C256S1 in gcu_field_operation_validators.conf.json
What I did Add unit test/runtime alert for db_migrator.py/load_minigraph: ConfigDB passing yang validation How I did it Use subprocess to run yang validation, and then warm-reboot performance will not change. Check /etc/sonic/mgmt_test_mark, this mark_file means this device is under end to end test. For unit test, db_migrator will wait for validation result and raise exception. For end to end test, db_migrator will wait for validation result and raise exception. How to verify it Run unit test and run end to end test
During the show techsupport, generate_dump calls techsupport_cleanup with current generated file. The techsupport_cleanup verifies the file path provided for file last modification timestamp and on success only proceeds to cleanup. It expects the file to be modified within last 20 secs. Sometimes when file is big, gzip takes more that 20 sec. Due to this, the last modify timestamp to current time stamp diff is greater than 20 and verify_recent_file_creation fails causing cleanup to fail. How I did it touch the tarfile after finishing the gzip to refresh modify timestamp. How to verify it run show techsupport
* PVST co pr commit * PVST co pr commit * Trigger Pipelines * Fix for pre-commit * Fix pre-commit failures * fix pre-commit failures * fix pre-commit failures * fix pre-commit failures * pre-commit fixes * pre-commit fixes * pre-commit fixes * pre-commit fixes * fix precommit failures * fix precommit failures * fix precommit failures * fix precommit failures * fix precommit failures * fix precommit failures * fix precommit failures * fix precommit failures * fix precommit failures * Fix stp test failures * Fix stp test failures * Fix stp test failures * fix precommit failures * fix precommit failures * fix precommit failures * Fix stp test failures * Fixing spacing errors in stp_test * Fix stp test failures * Fix stp test failures * Fix stp test failures * Fix stp test failures * Fix stp test failures * Fix stp test failures * Remove svscode settings * Addressed review comments * Addressed review comments * Addressed review comments * Addressed review comments * Fix test errors * Fix test issues * Fix test issues * Fix test issues * Fix test issues * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * fix test failures * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix failures * Fix failures * Fix failures * Fix failures * Fix failures * Fix failures * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * fix errors * fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Fix errors * Addressing review comments * Addressing review comments * Addressing review comments * Addressing review comments * Addressing review comments * Addressing review comments --------- Co-authored-by: Rida Hanif <rida.hanif@xflowresearch.com> Co-authored-by: ridahanif96 <ridahanif958@gmail.com> Co-authored-by: Wajahat Razi <wajahat37@gmail.com>
Add Mellanox-SN5600-C224O8 SKU to Spectrum-4 list in gcu_field_operation_validators.conf.json
Fetch boot arguments from the next boot image by reading it from uboot environment variables. Signed-off-by: Parthiv Shah <parthiv@marvell.com>
* Supports FRR-VRRP configuration Signed-off-by: philo <philo@micasnetworks.com> * Supports FRR-VRRP configuration Signed-off-by: philo <philo@micasnetworks.com> * Update main.py * Update vrrp_test.py * Update main.py * Update vrrp_test.py * Update main.py * update vrrp_test.py Signed-off-by: philo <philo@micasnetworks.com> * update vrrp_test.py Signed-off-by: philo <philo@micasnetworks.com> * update vrrp_test.py Signed-off-by: philo <philo@micasnetworks.com> * fix Static Analysis Signed-off-by: philo <philo@micasnetworks.com> * del vrrp instance shutdown and startup commonds Signed-off-by: philo <philo@micasnetworks.com> * Update main.py * update config/main.py Signed-off-by: philo <philo@micasnetworks.com> --------- Signed-off-by: philo <philo@micasnetworks.com>
* Add port FEC BER show changes Signed-off-by: vincent ng <vincent.ng@arista.com> * Add port FEC BER show changes Signed-off-by: vincent ng <vincent.ng@arista.com> * Add port FEC BER show changes Signed-off-by: vincent ng <vincent.ng@arista.com> * Add port FEC BER show changes Signed-off-by: vincent ng <vincent.ng@arista.com> * Add port FEC BER show changes Signed-off-by: vincent ng <vincent.ng@arista.com> --------- Signed-off-by: vincent ng <vincent.ng@arista.com>
…3610) * Extra delay between running firmware and updating firmware version Signed-off-by: Stephen Sun <stephens@nvidia.com> * Fix review comments Signed-off-by: Stephen Sun <stephens@nvidia.com> --------- Signed-off-by: Stephen Sun <stephens@nvidia.com>
Fix the object name and because of which, counterpoll show for ENI is not working
…lders (#3631) - What I did Support saving folders. - How I did it Add a check to the save_file command, if the path that was provided is to a folder, use an appropriate method. - How to verify it Previously when a folder was given to be saved using this function, an empty file with the folder name would be created.
This PR is accompanied by sonic-net/sonic-swss-common#931 and sonic-net/sonic-buildimage#20108 What I did Validate interface name length does not exceed the limitation of IFNAMSIZ to align to kernel restrictions. How I did it Add validation checks in the relevant config functions for the following interface types: vxlan vlan vrf loopback subinterface portchannel How to verify it UT tests added Previous command output (if the output of a command-line utility has changed) New command output (if the output of a command-line utility has changed)
#### What I did Added support for the following DASH objects for the dump utility: `dash_acl_group` `dash_acl_out` `dash_acl_rule` `dash_appliance` `dash_prefix_tag` `dash_eni` `dash_qos` `dash_route` `dash_route_rule` `dash_vnet_mapping` `dash_vnet` This PR also adds Match infra update in order to consider Dash objects, so new match requests can be created with the fields present in the dash objects to obtain the fields/keys. #### How I did it Added `protobuf` library and `libdashapi` to `sonic-utilities`, this is required as the dash objects are stored in the APPL_DB in protobuf format, and we need the .proto files which are available in the `libdashapi` package. We also use `redis` package instead of the `SonicV2Connector` since `SonicV2Connector` `get_all` function from the connector considers null terminated strings so the complete protobuf data is not obtained using `get_all` function #### How to verify it `dump state all <dash_object>` Examples: ``` admin@sonic:~$ dump state dash_vnet Vnet1 -t +-------------------+-----------+--------------------------------------------------------------------------------------------+ | dash_vnet_table | DB_NAME | DUMP | +===================+===========+============================================================================================+ | Vnet1 | APPL_DB | +-----------------------+----------------------------------------------------+ | | | | | Keys | field-value pairs | | | | | +=======================+====================================================+ | | | | | DASH_VNET_TABLE:Vnet1 | +---------+--------------------------------------+ | | | | | | | | field | value | | | | | | | | |---------+--------------------------------------| | | | | | | | | vni | 50 | | | | | | | | | guid | 5526cce8-26ab-4193-b946-ccc0e8f930b0 | | | | | | | | +---------+--------------------------------------+ | | | | | +-----------------------+----------------------------------------------------+ | +-------------------+-----------+--------------------------------------------------------------------------------------------+ | Vnet1 | ASIC_DB | +------------------------------------------------------+---------------------------------+ | | | | | Keys | field-value pairs | | | | | +======================================================+=================================+ | | | | | ASIC_STATE:SAI_OBJECT_TYPE_VNET:oid:0x7a000000000021 | +-------------------+---------+ | | | | | | | | field | value | | | | | | | | |-------------------+---------| | | | | | | | | SAI_VNET_ATTR_VNI | 100 | | | | | | | | +-------------------+---------+ | | | | | +------------------------------------------------------+---------------------------------+ | | | | +----------------------+--------------------+ | | | | | vid | rid | | | | | +======================+====================+ | | | | | oid:0x7a000000000021 | oid:0xffff70009130 | | | | | +----------------------+--------------------+ | +-------------------+-----------+--------------------------------------------------------------------------------------------+ ``` ``` admin@sonic:~$ dump state dash_acl_rule all { "group1:rule1": { "APPL_DB": { "keys": [ { "DASH_ACL_RULE_TABLE:group1:rule1": { "action": "ACTION_PERMIT", "terminating": true, "src_addr": [ "0.0.0.0/0" ], "dst_addr": [ "0.0.0.0/0" ], "src_port": [ { "value": 80 } ], "dst_port": [ { "value": 5005 } ] } } ], "tables_not_found": [] } } } ```
…lities (#3056) [cisco|express-boot]: Add support for cisco express boot in sonic-utilities
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )