{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":727157957,"defaultBranch":"master","name":"sonic-utilities","ownerLogin":"mssonicbld","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-12-04T09:56:11.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/79238446?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726596941.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"852294e0b39580e2b7a772f8b46a8aa4ae667b07","ref":"refs/heads/cherry/202405/3486","pushedAt":"2024-09-17T18:15:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Move from bootctl to mokutil when checking for Secure Boot status (#3486)\n\n#### What I did\r\nMoved to use mokutil instead of bootctl as bootctl is no longer available in Bookworm.\r\nThis affected reboot scripts, and upgrade scenario.\r\n\r\n#### How I did it\r\nChange calls to _bootctl status_ with _mokutil --sb-state_\r\n\r\n#### How to verify it\r\nAfter fixing the scripts to check reboot:\r\n\r\nroot@sn5600:/home/admin# soft-reboot\r\n\r\nSECURE_UPGRADE_ENABLED=1\r\n[[ CHECK_SECURE_UPGRADE_ENABLED -ne 0 ]]\r\nload_kernel_secure\r\ninvoke_kexec -s\r\npacket_write_wait: port 22: Broken pipe\r\nadmin@sn5600:~$ show reboot-cause\r\nUser issued 'soft-reboot' command [User: admin, Time: Tue Jul 23 11:06:43 PM UTC 2024]","shortMessageHtmlLink":"Move from bootctl to mokutil when checking for Secure Boot status (so…"}},{"before":null,"after":"14e0664f47a2f52ecf89f7f38b44973b365891e9","ref":"refs/heads/cherry/202311/3485","pushedAt":"2024-09-11T22:38:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[sfputil] Configure the debug loopback mode only on the relevant lanes of the logical port (#3485)\n\n* [sfputil] Configure the debug loopback mode only on the relevant lanes of the logical port\r\n\r\nSigned-off-by: xinyu ","shortMessageHtmlLink":"[sfputil] Configure the debug loopback mode only on the relevant lane…"}},{"before":null,"after":"e9a6b9638cbba9ca5e234fee7f428e8217298251","ref":"refs/heads/cherry/202311/3433","pushedAt":"2024-09-11T05:23:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"sonic-installer: enhance next image detection for Aboot (#3433)\n\nThe Aboot bootloader relies of the SWI= keyword argument in the\r\nboot-config file to know which image to boot.\r\nThis value is also used by sonic-installer to figure to extract the next\r\nimage that will be executed.\r\nThe current code has an issue as it only expects the next image to match\r\nthe installation path of a SONiC image but not anything else.\r\n\r\nThis means that `SWI=flash:sonic-aboot-broadcom.swi` is not valid and\r\ncan therefore be a problem when trying to install a new image via cold\r\nreboot.\r\n\r\nAdditionally a missing or empty boot-config would generate a python\r\nbacktrace instead of gracefully recovering from this state.","shortMessageHtmlLink":"sonic-installer: enhance next image detection for Aboot (sonic-net#3433)"}},{"before":null,"after":"1fd29a8490c8fcb67f67de4a606edea46f146d7e","ref":"refs/heads/cherry/202405/3433","pushedAt":"2024-09-11T05:23:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"sonic-installer: enhance next image detection for Aboot (#3433)\n\nThe Aboot bootloader relies of the SWI= keyword argument in the\r\nboot-config file to know which image to boot.\r\nThis value is also used by sonic-installer to figure to extract the next\r\nimage that will be executed.\r\nThe current code has an issue as it only expects the next image to match\r\nthe installation path of a SONiC image but not anything else.\r\n\r\nThis means that `SWI=flash:sonic-aboot-broadcom.swi` is not valid and\r\ncan therefore be a problem when trying to install a new image via cold\r\nreboot.\r\n\r\nAdditionally a missing or empty boot-config would generate a python\r\nbacktrace instead of gracefully recovering from this state.","shortMessageHtmlLink":"sonic-installer: enhance next image detection for Aboot (sonic-net#3433)"}},{"before":null,"after":"4c0cc25a0f0e57f3c4ca22cdb286494213f20ef9","ref":"refs/heads/cherry/202405/3525","pushedAt":"2024-09-11T00:31:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Fix ntp conf file path (#3525)","shortMessageHtmlLink":"Fix ntp conf file path (sonic-net#3525)"}},{"before":null,"after":"f02fdf0d4ad673467e50c6f7c2d66d12b324c15f","ref":"refs/heads/cherry/202405/3501","pushedAt":"2024-09-06T21:52:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[Mellanox] Add CMIS Host Management Files to 'show techsupport' Dumps (#3501)\n\n- What I did\r\nFor Mellanox platforms, I added the following CMIS host management-related files to the 'show techsupport' dumps (if they exist): sai.profile, pmon_daemon_control.json, media_settings.json, optics_si_settings.json, and autoneg.status.\r\n\r\n- How I did it\r\nI copied the relevant files from the SKU/platform folder and ran the 'show interface autoneg status' command to store the auto-negotiation status for all ports.\r\n\r\n- How to verify it\r\nRun 'show techsupport' and verify that autoneg.status is located in the 'dumps' directory and that the other files are present in the cmis-host-mgmt path within the generated dump.","shortMessageHtmlLink":"[Mellanox] Add CMIS Host Management Files to 'show techsupport' Dumps ("}},{"before":null,"after":"a800f23a6c1d8aeeceace980b9c08f765fedc72c","ref":"refs/heads/cherry/202405/3489","pushedAt":"2024-09-06T21:44:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Skip default lanes dup check (#3489)\n\n* Add namespace check for multiasic\r\n* Skip Default lane duplication check.","shortMessageHtmlLink":"Skip default lanes dup check (sonic-net#3489)"}},{"before":null,"after":"1ef0e715617802c1a542d1fe86d5cb2610ae6cce","ref":"refs/heads/cherry/202405/3479","pushedAt":"2024-09-06T21:44:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[qos reload] Fix \"config qos reload\" overriding entire CONFIG_DB (#3479)\n\nFixes sonic-net/sonic-buildimage#15894\r\n\r\n- What I did\r\nconfig qos reload command uses a combination of sonic-cfggen's flags -d and --write-to-db that makes it override entire CONFIG_DB, updating every key. This leads to issues with Orchs, daemons that do not support updating keys in CONFIG_DB. Best case, it causes errors in logs.\r\n\r\n- How I did it\r\nFirst, render templates to temporary files, then load those files into CONFIG_DB.\r\nAlso, fixed an issue where using dry_run option only produced QOS config but not the buffer configuration and updated test files accordingly.\r\n\r\n- How to verify it\r\nRun on switch:\r\n\r\nroot@sonic/home/admin# config qos reload\r\nRunning command: /usr/local/bin/sonic-cfggen -d -t /usr/share/sonic/device/x86_64-mlnx_msn2100-r0/ACS-MSN2100/buffers_dynamic.json.j2,/tmp/cfg_buffer.json -t /usr/share/sonic/device/x86_64-mlnx_msn2100-r0/ACS-MSN2100/qos.json.j2,/tmp/cfg_qos.json -y /etc/sonic/sonic_version.yml\r\nRunning command: /usr/local/bin/sonic-cfggen -j /tmp/cfg_buffer.json -j /tmp/cfg_qos.json --write-to-db\r\n\r\nSigned-off-by: Stepan Blyschak ","shortMessageHtmlLink":"[qos reload] Fix \"config qos reload\" overriding entire CONFIG_DB (son…"}},{"before":null,"after":"ac0e2caff7bc96884208f644a679cd4476a531d9","ref":"refs/heads/cherry/202405/3446","pushedAt":"2024-09-06T21:44:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Remove redundant mmuconfig file (#3446)","shortMessageHtmlLink":"Remove redundant mmuconfig file (sonic-net#3446)"}},{"before":null,"after":"b68627cdf134bf32c219be9d0a5f35f30f2478b0","ref":"refs/heads/cherry/202405/3483","pushedAt":"2024-09-06T21:43:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[chassis][cli] Fix config chassis module startup/shutdown command for fabric module (#3483)\n\n* [chassis][cli] Fix config chassis module starup/shutdown command for fabric module\r\n\r\nSigned-off-by: mlok \r\n\r\n* Address review comment: modify UT to test if the run_command parameter type is list\r\n\r\nSigned-off-by: mlok \r\n\r\n---------\r\n\r\nSigned-off-by: mlok ","shortMessageHtmlLink":"[chassis][cli] Fix config chassis module startup/shutdown command for…"}},{"before":null,"after":"eb8d04b3c0426676cce224ea20be1be12e58cd93","ref":"refs/heads/cherry/202405/3488","pushedAt":"2024-09-06T21:42:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Enable show interfacess counters on chassis supervisor (#3488)\n\nWhat I did\r\nI modify the portstat script and the implementation of Class Porstat to enable the Chassis Supervisor to collect port counters from linecards. By doing so, \"show interfaces counters\" on the Chassis Supervisor can now collect port counters from linecards and display them on the CLI.\r\n\r\nHow I did it\r\nI made the Class Portstat aware of chassis environment and added logic to collect port counters from linecards through \"GET_LINECARD_COUNTER|pull\" signal in CHASSIS_STATE_DB. And I also added an agent on every linecard to collect port counters and send them to CHASSIS_STATE_DB on the Chassis Supervisor.\r\n\r\nNote: the agent is not part of this PR. The current agent used in my test is only for internal use in MSFT.\r\n\r\nHow to verify it\r\nRun it on a SONiC Chassis Supervisor and make sure the Linecards are equipped with agents to publish port counters to CHASSIS_STATE_DB.","shortMessageHtmlLink":"Enable show interfacess counters on chassis supervisor (sonic-net#3488)"}},{"before":null,"after":"41f8c5703148e186908a9ace15adf3a49cdfe967","ref":"refs/heads/cherry/202405/3492","pushedAt":"2024-09-06T21:41:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Add back the option f to the reboot script (#3492)\n\n- What I did\r\nAdd back the support to call reboot -f\r\nThe support for this option was accidentally removed as part of this PR #3203\r\nThe same PR for 202311 doesn't have this mistake - #3204\r\n\r\n- How I did it\r\n\r\n- How to verify it\r\nCall reboot -f","shortMessageHtmlLink":"Add back the option f to the reboot script (sonic-net#3492)"}},{"before":null,"after":"562cb2364cb7d51d37981412f59ceffe88052f1b","ref":"refs/heads/cherry/202311/3490","pushedAt":"2024-09-06T16:23:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Exit early if YANG validation fails in Golden Config (#3490)\n\nWhat I did\r\nExit early if golden config fails YANG validation\r\n\r\nHow I did it\r\nCheck before stop service in load_minigraph\r\n\r\nHow to verify it\r\nUnit test\r\n\r\nPrevious command output (if the output of","shortMessageHtmlLink":"Exit early if YANG validation fails in Golden Config (sonic-net#3490)"}},{"before":null,"after":"3a06971ea37374379a1b7d4747ae9001269fda7a","ref":"refs/heads/cherry/202405/3490","pushedAt":"2024-09-05T02:29:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Exit early if YANG validation fails in Golden Config (#3490)\n\nWhat I did\r\nExit early if golden config fails YANG validation\r\n\r\nHow I did it\r\nCheck before stop service in load_minigraph\r\n\r\nHow to verify it\r\nUnit test\r\n\r\nPrevious command output (if the output of","shortMessageHtmlLink":"Exit early if YANG validation fails in Golden Config (sonic-net#3490)"}},{"before":null,"after":"b074b6c5b966054d51afce4bba593d1b444813d9","ref":"refs/heads/cherry/202405/3454","pushedAt":"2024-09-03T16:48:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[reboot]: Allow reboot to happen regardless vendor hook errors (#3454)\n\n* [reboot]: Allow reboot to happen regardless vendor hook errors.\r\n\r\nSigned-off-by: Nazarii Hnydyn \r\n\r\n* [reboot]: Handle review comments.\r\n\r\nSigned-off-by: Nazarii Hnydyn \r\n\r\n---------\r\n\r\nSigned-off-by: Nazarii Hnydyn ","shortMessageHtmlLink":"[reboot]: Allow reboot to happen regardless vendor hook errors (sonic…"}},{"before":null,"after":"f5d0f0cd3ed96e7027dca5818bb2f10fdc42c72a","ref":"refs/heads/cherry/202311/3367","pushedAt":"2024-08-28T05:02:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[config] no op if Golden Config is invalid (#3367)\n\nADO: 27941719\r\n\r\nWhat I did\r\nImprove Golden Config workflow and make sure no op if invalid config detected\r\n\r\nHow I did it\r\nAdd table dependency check right after Golden Config path is enabled\r\n\r\nHow to verify it\r\nUnit test","shortMessageHtmlLink":"[config] no op if Golden Config is invalid (sonic-net#3367)"}},{"before":null,"after":"46b312d9cfeee73431c6767b786defc601ad0d36","ref":"refs/heads/cherry/202311/3169","pushedAt":"2024-08-28T02:56:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[config] Check golden config exist early if flag is set (#3169)\n\n### What I did\r\nFix https://github.com/sonic-net/sonic-utilities/issues/3164\r\nCheck Golden Config earlier before service is down.\r\n#### How I did it\r\nMove the check at the begining\r\n#### How to verify it\r\nUnit test","shortMessageHtmlLink":"[config] Check golden config exist early if flag is set (sonic-net#3169)"}},{"before":null,"after":"83118719015ad03c3eb3cfbc67c431ca1bb17885","ref":"refs/heads/cherry/202405/3484","pushedAt":"2024-08-23T21:48:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Add timeout for rexec's get_password (#3484)\n\n### What I did\r\n\r\nI added a timeout setting for the get_password function in rexec module so that automatic pipelines that does not expect password input will not get blocked. The current timeout setting is 10 sec.\r\n\r\n#### How I did it\r\n\r\nAdd a SIGALRM signal before waiting for password input. \r\n\r\n#### How to verify it\r\n\r\nRun a \"show ip bgp summary\" on SONiC Chassis Supversior and does not input password until it times out.\r\n\r\n#### Previous command output (if the output of a command-line utility has changed)\r\n\r\nBefore adding such a mechanism, if you do not input password when run \"rexec -c \" you will be blocked at the following output:\r\n```\r\nSince the current device is a chassis supervisor, this command will be executed remotely on all linecards\r\nPassword for username 'XXX':\r\n```\r\n\r\n#### New command output (if the output of a command-line utility has changed)\r\nAfter adding such a mechanism, if you do not input password when run \"rexec -c \" you will see a timeout message after 10 seconds.\r\n```\r\nSince the current device is a chassis supervisor, this command will be executed remotely on all linecards\r\nPassword for username 'XXX': \r\nAborted! Timeout when waiting for password input.\r\n```","shortMessageHtmlLink":"Add timeout for rexec's get_password (sonic-net#3484)"}},{"before":null,"after":"be6d0a94b6119c63f8f90e7c14c80b65db98f6fd","ref":"refs/heads/cherry/202405/3424","pushedAt":"2024-08-23T21:43:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[Bug Fix] Fix disk check test and drops group test (#3424)\n\n* tests/disk_check_test.py: remove temp files during teardown\r\n\r\n- modify teardown_class() to remove /tmp/tmp*\r\n\r\n* tests/drops_group_test.py: add code to remove temporary files when setting up test class\r\n\r\n- add a remove_tmp_dropstat_file() function as a helper to clean the cache\r\n- add an invocation of remove_tmp_dropstat_file() in setup_class() of TestDropCounters class\r\n\r\n* tests/disk_check_test.py: fix the subprocess command in the teardown_class() function\r\n\r\n* tests/disk_check_test.py: fix formatting for pre-commit check\r\n\r\n* tests/drops_group_test.py: fix formatting for pre-commit check","shortMessageHtmlLink":"[Bug Fix] Fix disk check test and drops group test (sonic-net#3424)"}},{"before":null,"after":"3b521307938663922cfaa2eec01cf1d523c04c00","ref":"refs/heads/cherry/202405/3367","pushedAt":"2024-08-23T21:42:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[config] no op if Golden Config is invalid (#3367)\n\nADO: 27941719\r\n\r\nWhat I did\r\nImprove Golden Config workflow and make sure no op if invalid config detected\r\n\r\nHow I did it\r\nAdd table dependency check right after Golden Config path is enabled\r\n\r\nHow to verify it\r\nUnit test","shortMessageHtmlLink":"[config] no op if Golden Config is invalid (sonic-net#3367)"}},{"before":null,"after":"c971d1ca17a90f016b8ad50416634391a51b36d6","ref":"refs/heads/cherry/202405/3475","pushedAt":"2024-08-23T21:41:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Add lock to config reload/load_minigraph (#3475)\n\nWhat I did\r\nIn some cases, if multiple config reload/load_minigraph are running in parallel, they might leave the system in an error state.\r\nIn this PR, a flock is added to config reload/load_minigraph so they will not run in parallel.\r\nThe file lock is binding to /etc/sonic/reload.lock.\r\n\r\nThis is to fix issue: #19855\r\n\r\nMicrosoft ADO (number only): 28877643\r\nSigned-off-by: Longxiang Lyu lolv@microsoft.com\r\n\r\nHow I did it\r\nAdd flock utility and decoate the reload and load_minigraph with the try_lock to ensure the lock is acquired before reload/load_minigraph.\r\n\r\nHow to verify it\r\nUT and on testbed.\r\n\r\nNew command output (if the output of a command-line utility has changed)\r\nreload with locking success\r\n# config reload\r\nAcquired lock on /etc/sonic/reload.lock\r\nClear current config and reload config in config_db format from the default config file(s) ? [y/N]: y\r\nDisabling container monitoring ...\r\nStopping SONiC target ...\r\nRunning command: /usr/local/bin/sonic-cfggen -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db.json --write-to-db\r\nRunning command: /usr/local/bin/db_migrator.py -o migrate\r\nRunning command: /usr/local/bin/sonic-cfggen -d -y /etc/sonic/sonic_version.yml -t /usr/share/sonic/templates/sonic-environment.j2,/etc/sonic/sonic-environment\r\nRestarting SONiC target ...\r\nEnabling container monitoring ...\r\nReloading Monit configuration ...\r\nReinitializing monit daemon\r\nReleased lock on /etc/sonic/reload.lock\r\nreload with locking failure\r\n# config reload\r\nFailed to acquire lock on /etc/sonic/reload.lock","shortMessageHtmlLink":"Add lock to config reload/load_minigraph (sonic-net#3475)"}},{"before":null,"after":"165ad0e8b24ccbdd09e89a88413211d680742169","ref":"refs/heads/cherry/202405/3439","pushedAt":"2024-08-22T16:06:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Fix kexec_unload failure on secure boot enabled platforms (#3439)","shortMessageHtmlLink":"Fix kexec_unload failure on secure boot enabled platforms (sonic-net#…"}},{"before":null,"after":"1261930175c464a1c7245372ae456fc12f5e9d51","ref":"refs/heads/cherry/202405/3215","pushedAt":"2024-08-12T17:23:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Fix to use IPv6 linklocal address as snmp agent address (#3215)\n\nWhat I did\r\nIf link local IPv6 address is added as SNMP agent address, it will fail.\r\nThis PR requires changes in snmpd.conf.j2 template here sonic-net/sonic-buildimage#18350\r\n\r\nHow I did it\r\nAppend scope id to ipv6 link local IP address.\r\n\r\nHow to verify it\r\nAble to configure link local ipv6 address as snmp agent address\r\nsudo config snmpagentaddress add fe80::a%eth0","shortMessageHtmlLink":"Fix to use IPv6 linklocal address as snmp agent address (sonic-net#3215)"}},{"before":"a4b00e5eafad1a035e723ade9d5bd945816cbb62","after":"8e9c44558f837bca68af986b8fdd51203245f2fe","ref":"refs/heads/cherry/202405/3357","pushedAt":"2024-08-02T21:53:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[DPB]Fixing return code of breakout command on failure (#3357)","shortMessageHtmlLink":"[DPB]Fixing return code of breakout command on failure (sonic-net#3357)"}},{"before":null,"after":"0095835754713e19e6a85c290da91de91fb2252b","ref":"refs/heads/cherry/202405/3299","pushedAt":"2024-08-02T21:50:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Add Checkpoint and Rollback for Multi ASIC. (#3299)\n\n#### What I did\r\n\r\nAdd `config` `checkpoint`, `rollback`, `replace`, `list-checkpoints`, `delete-checkpoint` support of Multi ASIC\r\n\r\n#### How I did it\r\nAdd namespace for each of operation to support Multi ASIC.\r\n\r\n#### How to verify it\r\n1. Single ASIC\r\n```admin@str2-msn2700-spy-1:~/gcu$ sudo config checkpoint 20240522-xincun\r\nConfig Rollbacker: Config checkpoint starting.\r\nConfig Rollbacker: Checkpoint name: 20240522-xincun.\r\nConfig Rollbacker: Getting current config db.\r\nConfig Rollbacker: Getting checkpoint full-path.\r\nConfig Rollbacker: Ensuring checkpoint directory exist.\r\nConfig Rollbacker: Saving config db content to /etc/sonic/checkpoints/20240522-xincun.cp.json.\r\nConfig Rollbacker: Config checkpoint completed.\r\nCheckpoint created successfully.\r\n\r\nadmin@str2-msn2700-spy-1:~/gcu$ sudo config list-checkpoints \r\n[\r\n \"20240522-xincun\"\r\n]\r\n\r\nadmin@str2-msn2700-spy-1:~/gcu$ sudo config rollback 20240522-xincun\r\nConfig Rollbacker: Config rollbacking starting.\r\nConfig Rollbacker: Checkpoint name: 20240522-xincun.\r\nConfig Rollbacker: Verifying '20240522-xincun' exists.\r\nConfig Rollbacker: Loading checkpoint into memory.\r\nConfig Rollbacker: Replacing config using 'Config Replacer'.\r\nConfig Replacer: Config replacement starting.\r\nConfig Replacer: Target config length: 71214.\r\nConfig Replacer: Getting current config db.\r\nConfig Replacer: Generating patch between target config and current config db.\r\nConfig Replacer: Applying patch using 'Patch Applier'.\r\nPatch Applier: localhost: Patch application starting.\r\nPatch Applier: localhost: Patch: []\r\nPatch Applier: localhost getting current config db.\r\nPatch Applier: localhost: simulating the target full config after applying the patch.\r\nPatch Applier: localhost: validating all JsonPatch operations are permitted on the specified fields\r\nPatch Applier: localhost: validating target config does not have empty tables,\r\n since they do not show up in ConfigDb.\r\nPatch Applier: localhost: sorting patch updates.\r\nPatch Applier: The localhost patch was converted into 0 changes.\r\nPatch Applier: localhost: applying 0 changes in order.\r\nPatch Applier: localhost: verifying patch updates are reflected on ConfigDB.\r\nPatch Applier: localhost patch application completed.\r\nConfig Replacer: Verifying config replacement is reflected on ConfigDB.\r\nConfig Replacer: Config replacement completed.\r\nConfig Rollbacker: Config rollbacking completed.\r\nConfig rolled back successfully.\r\n\r\nadmin@str2-msn2700-spy-1:~/gcu$ sudo config delete-checkpoint 20240522-xincun\r\nConfig Rollbacker: Deleting checkpoint starting.\r\nConfig Rollbacker: Checkpoint name: 20240522-xincun.\r\nConfig Rollbacker: Checking checkpoint exists.\r\nConfig Rollbacker: Deleting checkpoint.\r\nConfig Rollbacker: Deleting checkpoint completed.\r\nCheckpoint deleted successfully.\r\n\r\nadmin@str2-msn2700-spy-1:~/gcu$ sudo config list-checkpoints \r\n[]\r\n```\r\n\r\n2. Multi ASIC\r\n```\r\nstli@str2-7250-2-lc01:~/gcu$ sudo config checkpoint 20240522-xincun\r\nMultiASICConfigRollbacker: Config checkpoint starting.\r\nMultiASICConfigRollbacker: Checkpoint name: 20240522-xincun.\r\nMultiASICConfigRollbacker: Getting current config db.\r\nMultiASICConfigRollbacker: Getting current asic0 config db.\r\nMultiASICConfigRollbacker: Getting current asic1 config db.\r\nMultiASICConfigRollbacker: Getting checkpoint full-path.\r\nMultiASICConfigRollbacker: Ensuring checkpoint directory exist.\r\nMultiASICConfigRollbacker: Saving config db content to /etc/sonic/checkpoints/20240522-xincun.cp.json.\r\nMultiASICConfigRollbacker: Config checkpoint completed.\r\nCheckpoint created successfully.\r\nstli@str2-7250-2-lc01:~/gcu$ sudo config list-checkpoints \r\n[\r\n \"20240522-xincun\"\r\n]\r\n\r\nstli@str2-7250-2-lc01:~/gcu$ sudo config rollback 20240522-xincun\r\nMultiASICConfigRollbacker: Config rollbacking starting.\r\nMultiASICConfigRollbacker: Checkpoint name: 20240522-xincun.\r\nMultiASICConfigRollbacker: Verifying '20240522-xincun' exists.\r\nMultiASICConfigRollbacker: Loading checkpoint '20240522-xincun' into memory.\r\nMultiASICConfigRollbacker: Replacing config '20240522-xincun' using 'Config Replacer'.\r\nConfig Replacer: Config replacement starting.\r\nConfig Replacer: Target config length: 38147.\r\nConfig Replacer: Getting current config db.\r\nConfig Replacer: Generating patch between target config and current config db.\r\nConfig Replacer: Applying patch using 'Patch Applier'.\r\nPatch Applier: localhost: Patch application starting.\r\nPatch Applier: localhost: Patch: []\r\nPatch Applier: localhost getting current config db.\r\nPatch Applier: localhost: simulating the target full config after applying the patch.\r\nPatch Applier: localhost: validating all JsonPatch operations are permitted on the specified fields\r\nPatch Applier: localhost: validating target config does not have empty tables,\r\n since they do not show up in ConfigDb.\r\nPatch Applier: localhost: sorting patch updates.\r\nPatch Applier: The localhost patch was converted into 0 changes.\r\nPatch Applier: localhost: applying 0 changes in order.\r\nPatch Applier: localhost: verifying patch updates are reflected on ConfigDB.\r\nPatch Applier: localhost patch application completed.\r\nConfig Replacer: Verifying config replacement is reflected on ConfigDB.\r\nConfig Replacer: Config replacement completed.\r\nConfig Replacer: Config replacement starting.\r\nConfig Replacer: Target config length: 97546.\r\nConfig Replacer: Getting current config db.\r\nConfig Replacer: Generating patch between target config and current config db.\r\nConfig Replacer: Applying patch using 'Patch Applier'.\r\nPatch Applier: asic0: Patch application starting.\r\nPatch Applier: asic0: Patch: []\r\nPatch Applier: asic0 getting current config db.\r\nPatch Applier: asic0: simulating the target full config after applying the patch.\r\nPatch Applier: asic0: validating all JsonPatch operations are permitted on the specified fields\r\nPatch Applier: asic0: validating target config does not have empty tables,\r\n since they do not show up in ConfigDb.\r\nPatch Applier: asic0: sorting patch updates.\r\nPatch Applier: The asic0 patch was converted into 0 changes.\r\nPatch Applier: asic0: applying 0 changes in order.\r\nPatch Applier: asic0: verifying patch updates are reflected on ConfigDB.\r\nPatch Applier: asic0 patch application completed.\r\nConfig Replacer: Verifying config replacement is reflected on ConfigDB.\r\nConfig Replacer: Config replacement completed.\r\nConfig Replacer: Config replacement starting.\r\nConfig Replacer: Target config length: 97713.\r\nConfig Replacer: Getting current config db.\r\nConfig Replacer: Generating patch between target config and current config db.\r\nConfig Replacer: Applying patch using 'Patch Applier'.\r\nPatch Applier: asic1: Patch application starting.\r\nPatch Applier: asic1: Patch: []\r\nPatch Applier: asic1 getting current config db.\r\nPatch Applier: asic1: simulating the target full config after applying the patch.\r\nPatch Applier: asic1: validating all JsonPatch operations are permitted on the specified fields\r\nPatch Applier: asic1: validating target config does not have empty tables,\r\n since they do not show up in ConfigDb.\r\nPatch Applier: asic1: sorting patch updates.\r\nPatch Applier: The asic1 patch was converted into 0 changes.\r\nPatch Applier: asic1: applying 0 changes in order.\r\nPatch Applier: asic1: verifying patch updates are reflected on ConfigDB.\r\nPatch Applier: asic1 patch application completed.\r\nConfig Replacer: Verifying config replacement is reflected on ConfigDB.\r\nConfig Replacer: Config replacement completed.\r\nMultiASICConfigRollbacker: Config rollbacking completed.\r\nConfig rolled back successfully.\r\n\r\nstli@str2-7250-2-lc01:~/gcu$ sudo config delete-checkpoint 20240522-xincun\r\nMultiASICConfigRollbacker: Deleting checkpoint starting.\r\nMultiASICConfigRollbacker: Checkpoint name: 20240522-xincun.\r\nMultiASICConfigRollbacker: Checking checkpoint: 20240522-xincun exists.\r\nMultiASICConfigRollbacker: Deleting checkpoint: 20240522-xincun.\r\nMultiASICConfigRollbacker: Deleting checkpoint: 20240522-xincun completed.\r\nCheckpoint deleted successfully.\r\nstli@str2-7250-2-lc01:~/gcu$ sudo config list-checkpoints \r\n[]\r\n\r\nstli@str2-7250-2-lc01:~/gcu$ sudo config replace 20240522-xincun.cp.json \r\nConfig Replacer: Config replacement starting.\r\nConfig Replacer: Target config length: 38147.\r\nConfig Replacer: Getting current config db.\r\nConfig Replacer: Generating patch between target config and current config db.\r\nConfig Replacer: Applying patch using 'Patch Applier'.\r\nPatch Applier: localhost: Patch application starting.\r\nPatch Applier: localhost: Patch: []\r\nPatch Applier: localhost getting current config db.\r\nPatch Applier: localhost: simulating the target full config after applying the patch.\r\nPatch Applier: localhost: validating all JsonPatch operations are permitted on the specified fields\r\nPatch Applier: localhost: validating target config does not have empty tables,\r\n since they do not show up in ConfigDb.\r\nPatch Applier: localhost: sorting patch updates.\r\nPatch Applier: The localhost patch was converted into 0 changes.\r\nPatch Applier: localhost: applying 0 changes in order.\r\nPatch Applier: localhost: verifying patch updates are reflected on ConfigDB.\r\nPatch Applier: localhost patch application completed.\r\nConfig Replacer: Verifying config replacement is reflected on ConfigDB.\r\nConfig Replacer: Config replacement completed.\r\nConfig Replacer: Config replacement starting.\r\nConfig Replacer: Target config length: 97546.\r\nConfig Replacer: Getting current config db.\r\nConfig Replacer: Generating patch between target config and current config db.\r\nConfig Replacer: Applying patch using 'Patch Applier'.\r\nPatch Applier: asic0: Patch application starting.\r\nPatch Applier: asic0: Patch: []\r\nPatch Applier: asic0 getting current config db.\r\nPatch Applier: asic0: simulating the target full config after applying the patch.\r\nPatch Applier: asic0: validating all JsonPatch operations are permitted on the specified fields\r\nPatch Applier: asic0: validating target config does not have empty tables,\r\n since they do not show up in ConfigDb.\r\nPatch Applier: asic0: sorting patch updates.\r\nPatch Applier: The asic0 patch was converted into 0 changes.\r\nPatch Applier: asic0: applying 0 changes in order.\r\nPatch Applier: asic0: verifying patch updates are reflected on ConfigDB.\r\nPatch Applier: asic0 patch application completed.\r\nConfig Replacer: Verifying config replacement is reflected on ConfigDB.\r\nConfig Replacer: Config replacement completed.\r\nConfig Replacer: Config replacement starting.\r\nConfig Replacer: Target config length: 97713.\r\nConfig Replacer: Getting current config db.\r\nConfig Replacer: Generating patch between target config and current config db.\r\nConfig Replacer: Applying patch using 'Patch Applier'.\r\nPatch Applier: asic1: Patch application starting.\r\nPatch Applier: asic1: Patch: []\r\nPatch Applier: asic1 getting current config db.\r\nPatch Applier: asic1: simulating the target full config after applying the patch.\r\nPatch Applier: asic1: validating all JsonPatch operations are permitted on the specified fields\r\nPatch Applier: asic1: validating target config does not have empty tables,\r\n since they do not show up in ConfigDb.\r\nPatch Applier: asic1: sorting patch updates.\r\nPatch Applier: The asic1 patch was converted into 0 changes.\r\nPatch Applier: asic1: applying 0 changes in order.\r\nPatch Applier: asic1: verifying patch updates are reflected on ConfigDB.\r\nPatch Applier: asic1 patch application completed.\r\nConfig Replacer: Verifying config replacement is reflected on ConfigDB.\r\nConfig Replacer: Config replacement completed.\r\nConfig replaced successfully.\r\n```","shortMessageHtmlLink":"Add Checkpoint and Rollback for Multi ASIC. (sonic-net#3299)"}},{"before":null,"after":"40a2069a879b80d44e870c83551680faa1921026","ref":"refs/heads/cherry/202405/3342","pushedAt":"2024-08-02T21:47:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[fast-reboot] Backup database after syncd/swss stopped (#3342)\n\n- What I did\r\nBackup DB after syncd and swss are stopped. I observed an issue with fast-reboot that in a rare circumstances a queued FDB event might be written to ASIC_DB by a thread inside syncd after a call to FLUSHDB ASIC_DB was made.\r\nThat left ASIC_DB only with one record about that FDB entry and caused syncd to crash at start:\r\n\r\nMar 15 13:28:42.765108 sonic NOTICE syncd#SAI: :- Syncd: syncd started\r\nMar 15 13:28:42.765268 sonic NOTICE syncd#SAI: :- onSyncdStart: performing hard reinit since COLD start was performed\r\nMar 15 13:28:42.765451 sonic NOTICE syncd#SAI: :- readAsicState: loaded 1 switches\r\nMar 15 13:28:42.765465 sonic NOTICE syncd#SAI: :- readAsicState: switch VID: oid:0x21000000000000\r\nMar 15 13:28:42.765465 sonic NOTICE syncd#SAI: :- readAsicState: read asic state took 0.000205 sec\r\nMar 15 13:28:42.766364 sonic NOTICE syncd#SAI: :- onSyncdStart: on syncd start took 0.001097 sec\r\nMar 15 13:28:42.766376 sonic ERR syncd#SAI: :- run: Runtime error during syncd init: map::at\r\nMar 15 13:28:42.766376 sonic NOTICE syncd#SAI: :- sendShutdownRequest: sending switch_shutdown_request notification to OA for switch: oid:0x0\r\nMar 15 13:28:42.766518 sonic NOTICE syncd#SAI: :- sendShutdownRequestAfterException: notification send successfully\r\n\r\n- How I did it\r\nBackup DB after syncd/swss have stopped.\r\n\r\n- How to verify it\r\nRun fast-reboot.\r\n\r\nSigned-off-by: Stepan Blyschak ","shortMessageHtmlLink":"[fast-reboot] Backup database after syncd/swss stopped (sonic-net#3342)"}},{"before":null,"after":"f932b5755edcc31f5caaec76bc933958cab20448","ref":"refs/heads/cherry/202405/3356","pushedAt":"2024-08-02T21:46:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[pbh]: Fix show PBH counters when cache is partial (#3356)\n\n* [pbh]: Fix show PBH counters when cache is partial.\r\n\r\nSigned-off-by: Nazarii Hnydyn ","shortMessageHtmlLink":"[pbh]: Fix show PBH counters when cache is partial (sonic-net#3356)"}},{"before":null,"after":"3d69039116c38cae3cf25234bc2ce022e7d90d34","ref":"refs/heads/cherry/202405/3358","pushedAt":"2024-08-02T21:44:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"[chassis][mutli-asic][lldp] \"show lldp table/neighbors\" displays error message in output on multi-asis linecard. (#3358)\n\nModify the lldpshow script to fix the output of the \"show lldp table\" and \"show lldp neighbors\" on the multi-asic Linecard. Fixes sonic-net/sonic-buildimage#19209\r\n\r\n* [mutli-asic][lldp] \"show lldp table\" displays error message in output on multi-asic linecard\r\n\r\n* Added code coverage UT\r\n\r\nSigned-off-by: mlok ","shortMessageHtmlLink":"[chassis][mutli-asic][lldp] \"show lldp table/neighbors\" displays erro…"}},{"before":null,"after":"6eb2fe57b6dac8c47e30337fbe1462af0c04975b","ref":"refs/heads/cherry/202405/3365","pushedAt":"2024-08-02T21:44:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Improve load_mingraph to wait eth0 restart before exit (#3365)\n\n* Improve load_mingraph to wait eth0 restart before exist","shortMessageHtmlLink":"Improve load_mingraph to wait eth0 restart before exit (sonic-net#3365)"}},{"before":null,"after":"9f38f481581f79ebaf5b475f641f1933d3186145","ref":"refs/heads/cherry/202305/3383","pushedAt":"2024-08-02T21:40:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mssonicbld","name":null,"path":"/mssonicbld","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79238446?s=80&v=4"},"commit":{"message":"Add the definition of `log` in `script decode-syseeprom` (#3383)\n\n#### What I did\r\nIf there is something wrong getting eeprom while exectuing script `decode-syseeprom`, it will raise an exception and log the error. There was no definition of `log` in script `decode-syseeprom`, which will raise such error \r\n```\r\nTraceback (most recent call last):\r\n File \"/usr/local/bin/decode-syseeprom\", line 264, in \r\n sys.exit(main())\r\n ^^^^^^\r\n File \"/usr/local/bin/decode-syseeprom\", line 246, in main\r\n print_serial(use_db)\r\n File \"/usr/local/bin/decode-syseeprom\", line 171, in print_serial\r\n eeprom = instantiate_eeprom_object()\r\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n File \"/usr/local/bin/decode-syseeprom\", line 36, in instantiate_eeprom_object\r\n log.log_error('Failed to obtain EEPROM object due to {}'.format(repr(e)))\r\n ^^^\r\nNameError: name 'log' is not defined\r\n```\r\nIn this PR, I add the definition of log to avoid such error. \r\n\r\n#### How I did it\r\nAdd the definition of log. \r\n\r\n#### How to verify it\r\n```\r\nadmin@vlab-01:~$ sudo decode-syseeprom -s \r\nFailed to read system EEPROM info\r\n```","shortMessageHtmlLink":"Add the definition of log in script decode-syseeprom (sonic-net#3383"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEuNq39AA","startCursor":null,"endCursor":null}},"title":"Activity · mssonicbld/sonic-utilities"}