Commit Graph

7797 Commits

Author SHA1 Message Date
Tejaswini Chadaga
ca224863cb
Changes to support TSA from supervisor (#14691)
Why I did it
Support for SONIC chassis isolation using TSA and un-isolation using TSB from supervisor module

Work item tracking
Microsoft ADO (number only): 17826134
How I did it
When TSA is run on the supervisor, it triggers TSA on each of the linecards using the secure rexec infrastructure introduced in sonic-net/sonic-utilities#2701. User password is requested to allow secure login to linecards through ssh, before execution of TSA/TSB on the linecards

TSA of the chassis withdraws routes from all the external BGP neighbors on each linecard, in order to isolate the entire chassis. No route withdrawal is done from the internal BGP sessions between the linecards to prevent transient drops during internal route deletion. With these changes, complete isolation of a single linecard using TSA will not be possible (a separate CLI/script option will be introduced at a later time to achieve this)

Changes also include no-stats option with TSC for quick retrieval of the current system isolation state

This PR also reverts changes in #11403

How to verify it
These changes have a dependency on sonic-net/sonic-utilities#2701 for testing

Run TSA from supervisor module and ensure transition to Maintenance mode on each linecard
Verify that all routes are withdrawn from eBGP neighbors on all linecards
Run TSB from supervisor module and ensure transition to Normal mode on each linecard
Verify that all routes are re-advertised from eBGP neighbors on all linecards
Run TSC no-stats from supervisor and verify that just the system maintenance state is returned from all linecards
2023-04-28 16:28:06 +08:00
mssonicbld
7d3f785c5f [submodule] Update submodule sonic-gnmi to the latest HEAD automatically 2023-04-28 14:34:16 +08:00
Song Yuan
48ed53cbf2
[chassis/arista]: Increase LAG Ids to 1024 (#10519)
Why I did it
Today at most 128 LAGs are supported. This is not sufficient if there are many LAGs with just few ports.

How I did it
Increase LAG Ids to 1024 for DNX device.
2023-04-27 11:28:23 -07:00
Vivek
22b4aac432
[Sys Mon] Fix the service entry delete in state_db because of timer job (#14702)
Why I did it
systemd stop event on service with timers can sometime delete the state_db entry for the corresponding service.

Note: This won't be observed on the latest master label since the dependency on timer was removed with the recent config reload enhancement. However, it is better to have the fix since there might be some systemd services added to system health daemon in the future which may contain timers

root@qa-eth-vt01-4-3700c:/home/admin# systemctl stop snmp
root@qa-eth-vt01-4-3700c:/home/admin# show system-health sysready-status 
System is not ready - one or more services are not up

Service-Name            Service-Status    App-Ready-Status    Down-Reason
----------------------  ----------------  ------------------  -------------
<Truncated>
ssh                     OK                OK                  -
swss                    OK                OK                  -
syncd                   OK                OK                  -
sysstat                 OK                OK                  -
teamd                   OK                OK                  -
telemetry               OK                OK                  -
what-just-happened      OK                OK                  -
ztp                     OK                OK                  -
<Truncated>
Expected

Should see a Down entry for SNMP instead of the entry being deleted from the STATE_DB

root@qa-eth-vt01-4-3700c:/home/admin# show system-health sysready-status 
System is not ready - one or more services are not up

Service-Name            Service-Status    App-Ready-Status    Down-Reason
----------------------  ----------------  ------------------  -------------
<Truncated>
snmp                    Down              Down                Inactive
ssh                     OK                OK                  -
swss                    OK                OK                  -
syncd                   OK                OK                  -
sysstat                 OK                OK                  -
teamd                   OK                OK                  -
telemetry               OK                OK                  -
what-just-happened      OK                OK                  -
ztp                     OK                OK                  -
<Truncated>
How I did it
Happens because the timer is usually a PartOf service and thus a stop on service is propagated to timer. Fixed the logic to handle this

Apr 18 02:06:47.711252 r-lionfish-16 DEBUG healthd: Main process- received event:snmp.service from source:sysbus time:2023-04-17 23:06:47
Apr 18 02:06:47.711347 r-lionfish-16 INFO healthd: check_unit_status for [ snmp.service ] 
Apr 18 02:06:47.722363 r-lionfish-16 INFO healthd: snmp.service service state changed to [inactive/dead]

Apr 18 02:06:47.723230 r-lionfish-16 DEBUG healthd: Main process- received event:snmp.timer from source:sysbus time:2023-04-17 23:06:47
Apr 18 02:06:47.723328 r-lionfish-16 INFO healthd: check_unit_status for [ snmp.timer ] 

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
2023-04-27 09:02:13 -07:00
Marty Y. Lok
a9cc1fb11d
[Nokia][device-data] Modify the Nokia-7250IXRE platform specific reboot script (#14568)
Why I did it

When reboot the chassis by issuing "sudo reboot" on Supervisor card. The internal midplane communication xe0 should be shutdown to avoid double reboot on the linecard.
Added a udev link rule to disable the autoneg on AMD xgbe port Xe0 and Xe1 and make the setting in sync with the peer Broadcom greyhound ports.

How I did it

Modify the Nokia-7250IXRE specific reboot script on the Supervisor card to shutdown the internal interface xe0. Also move reboot linecard code to the top of the script to make sure the notification has been send to Linecard before shutdown the xe0 interface.
Introduced a new rule 80-net-by-driver.link to disable the autoneg on the AMD size. This change requires the latest NDK which contains the change to set the autoneg on the xe0 and xe1 port on the Greyhound.

Signed-off-by: mlok <marty.lok@nokia.com>
2023-04-27 08:53:16 -07:00
Marty Y. Lok
a68b4ef149
[Nokia7250][sonic-platform] Update sonic-platform submodule for Nokia-7150IXRE platform (#14548)
Why I did it

Update sonic-platform submodule for Nokia-7250IXRE Platform. This requires the new NDK 22.9.8 and above

How I did it
Update submodule sonic-platform for Nokia-7250IXRE platform.
c9f316e Disparate process and thread-safe protection for MDIPC transport, and refactored presence logic to better align with SfpStateUpdateTask operation
a3486cc Added _get_module_bulk_info() and cache the info for 5 seconds to optimize the chassisd update.
4b2e729 Fixed the nokia_cmd show qfpga help display
7b87049 Fixed the nokia_cmd show midplane helper dispaly.
83eabea Add "nokia_cmd set ndk-monitor-action" and "nokia_cmd set ndk-log-level" commands
8aad7de Add nokia_cmd show ndk-version
d2c55e3 Modify the psu.py and module.py to optimize the psud running time


Signed-off-by: mlok <marty.lok@nokia.com>
2023-04-27 08:52:22 -07:00
judyjoseph
6370257fa3
[macsec]: show macsec: add --profile option, include profile name in show command output (#13940)
This PR is to add the following

Add a new options "--profile" to the show macsec command, to show all profiles in device
Update the currentl show macsec command, to show profile in each interface o/p. This will tell which macsec profile the interface is attached to.
2023-04-27 08:51:28 -07:00
mssonicbld
9c3b7fe199 [submodule] Update submodule sonic-mgmt-common to the latest HEAD automatically 2023-04-27 16:33:11 +08:00
mssonicbld
74453e6539 [submodule] Update submodule linkmgrd to the latest HEAD automatically 2023-04-27 16:33:04 +08:00
mssonicbld
46bf6c59c1 [submodule] Update submodule sonic-platform-daemons to the latest HEAD automatically 2023-04-27 16:32:58 +08:00
ganglv
010dc39579
If gnmi is included, remove dbus from telemetry (#14853)
#### Why I did it
Remove dbus when telemetry does not use it.

##### Work item tracking
- Microsoft ADO **(number only)**: 17852550

#### How I did it
Use INCLUDE_SYSTEM_GNMI to determine if telemetry needs dbus.

#### How to verify it
Build image and check telemetry container.
2023-04-26 22:18:54 -07:00
ganglv
41a1c13c03
Enable GNMI native write by default (#14845)
#### Why I did it
SONiC master image needs GNMI native write.

#### How I did it
Update rules/config to enable.

#### How to verify it
Run end2end test.
2023-04-26 22:08:07 -07:00
Zhijian Li
77728f5e36
[minigraph-parser] Support ACL interface type BmcData in minigraph parser (#14703)
* Support ACL interface type BmcData in minigraph parser

* Support ACL interface type BmcData in minigraph parser

* add unittest

* Add a global dict for storing the defination of custom acl tables
2023-04-26 16:07:38 -07:00
mssonicbld
46b958f70e [submodule] Update submodule sonic-sairedis to the latest HEAD automatically 2023-04-26 18:33:05 +08:00
mssonicbld
27e1107d2f [submodule] Update submodule linkmgrd to the latest HEAD automatically 2023-04-26 18:32:59 +08:00
mssonicbld
8dfa0410d3 [submodule] Update submodule sonic-platform-common to the latest HEAD automatically 2023-04-26 18:32:53 +08:00
SuvarnaMeenakshi
53ae6a0bf8
[yang-models]: Add YANG model for SNMP_USER table (#14103)
#### Why I did it
Add YANG model for SNMP_USER table defined in the document: https://github.com/sonic-net/SONiC/blob/master/doc/snmp/snmp-schema-addition.md

#### How to verify it
Passed unit-test
2023-04-25 15:49:31 -07:00
Oleksandr Ivantsiv
3cf50ca7fc
[DASH][CRM] Extend the CRM YANG model with DASH attributes. (#14701)
- Why I did it
Extend the CRM YANG model with DASH attributes.

- How I did it
Add new attributes to the existing CRM YANG model.
Implement tests for DASH CRM attributes.

- How to verify it
Build sonic_yang_models packages. The tests will be run automatically.
2023-04-25 10:26:45 +03:00
mssonicbld
4e6131032a
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#14837) 2023-04-25 15:13:19 +08:00
Vivek
1b63543e7f
[Mellanox] Fix the hw-mgmt intg tool case sensitivity for KConfig (#14709)
Fix the script to consider case sensitivity while writing the kconfig

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
2023-04-25 09:17:02 +03:00
Ying Xie
6fc357604e
Revert "[Ragile]Import defusedxml packet (#14815)" (#14830)
This reverts commit c422cab5eb.
2023-04-24 14:10:38 -07:00
DavidZagury
90f45d9774
Change SECURE_UPGRADE_DEV_SIGNING_CERT to SECURE_UPGRADE_SIGNING_CERT (#14591)
Depends on https://github.com/sonic-net/sonic-linux-kernel/pull/315

#### Why I did it
The name SECURE_UPGRADE_DEV_SIGNING_CERT is misleading, this flag is relevant to both to dev and prod signing.

#### How I did it
Rename all mentions of name SECURE_UPGRADE_DEV_SIGNING_CERT to SECURE_UPGRADE_SIGNING_CERT - this is also done with PR in sonic-linux-kernel repository

#### How to verify it
Build SONiC using your own prod script
2023-04-24 11:17:51 -07:00
pettershao-ragilenetworks
c422cab5eb
[Ragile]Import defusedxml packet (#14815)
Why I did it
Import defusedxml packet to fix semgrep error "using defusedxml instead of xml"

How I did it
Add "pip3 install defusedxml" in build_debian.sh

Signed-off-by: pettershao-ragilenetworks <pettershao@ragilenetworks.com>
2023-04-24 08:45:57 -07:00
Stephen Sun
9e56fea091
Temporary WA for the issue that asic_table.json can not be rendered (#13888)
- Why I did it
We suspect the issue #13791 is caused by redis server being temporarily unavailable during system initialization so we do not use -d in sonic-cfggen, for now, to avoid accessing redis server

- How I did it
Provide a string containing required json data when calling sonic-cfggen

- How to verify it
Manually test it

Signed-off-by: Stephen Sun <stephens@nvidia.com>
2023-04-24 17:02:35 +03:00
mssonicbld
5ad844f185 [ci/build]: Upgrade SONiC package versions 2023-04-24 18:33:06 +08:00
Hua Liu
b444a4674e
Fix per-command authorization failed issue when a command with wildcard match more than hundred files. (#14787)
Fix per-command authorization failed issue when a command with wildcard match more than hundred files.


#### Why I did it
When user enable TACACS per-command authorization, and run a command with wildcard , if the command match more than hundreds of files, the per-command authorization will failed with following message:
  *** authorize failed by TACACS+ with given arguments, not executing

The root cause of this issue is because bash will match files with wildcard and replace with wildcard args with matched files. when there are too many files, TACACS plugin will generate a big authorization request, which will be reject by server side. 

##### Work item tracking
- Microsoft ADO **(number only)**: 18074861

#### How I did it
Fix bash patch file, use original user inputs as authorization parameters.

#### How to verify it
Pass all UT.
Create new UT to validate the TACACS authorization request are using original command arguments.
UT PR: https://github.com/sonic-net/sonic-mgmt/pull/8115

#### Which release branch to backport (provide reason below if selected)

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [X] 202205
- [X] 202211

#### Tested branch (Please provide the tested image version)

- [x] 202205.258490-412b83d0f
- [x] 202211.71966120-1b971c54b5


#### Description for the changelog
Fix per-command authorization failed issue when a command with wildcard match more than hundred files.
2023-04-23 22:31:59 -07:00
mssonicbld
81a557885b
[ci/build]: Upgrade SONiC package versions (#14799) 2023-04-22 17:47:40 +08:00
mssonicbld
1a39358e59
[submodule] Update submodule sonic-platform-common to the latest HEAD automatically (#14797) 2023-04-22 15:09:35 +08:00
mssonicbld
0865efe37b
[submodule] Update submodule sonic-swss to the latest HEAD automatically (#14782) 2023-04-22 15:02:29 +08:00
mssonicbld
23bf717f5e
[submodule] Update submodule wpasupplicant/sonic-wpa-supplicant to the latest HEAD automatically (#14798) 2023-04-22 15:00:04 +08:00
Stepan Blyshchak
c258694763
[sonic-host-services] start host service on mgmt-framework/telemetry (#14517)
To start host services only when needed. Otherwise it creates additional load on system at boot.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2023-04-21 11:52:52 -07:00
mssonicbld
ea17174d93
[submodule] Update submodule sonic-ztp to the latest HEAD automatically (#14786) 2023-04-21 15:25:56 +08:00
ganglv
8caa32bc55
[sonic-cfggen] Track missing yang models (#10963)
#### Why I did it
sonic-config-engine unit test needs to detect missing yang models.

#### How I did it
Update unit test, return error for missing yang models.

#### How to verify it
Run unit test for sonic-config-engine
2023-04-20 22:12:11 -07:00
Nikola Dancejic
d4a5c4781b
[yang] add NEIGH yang model (#14521)
#### Why I did it
Yang model for NEIGH table was missing
Fixed https://github.com/sonic-net/sonic-buildimage/issues/13971

#### How I did it
added sonic-neigh.yang model

#### How to verify it
make buildimage

#### Description for the changelog
Adding NEIGH yang model
2023-04-20 17:39:41 -07:00
Justin Sherman
737c42d47d
SONIC_ONLINE_DEBS no longer overwrites local build outputs (#14698)
Closes #14697

Why I did it
When using the dpkg cache feature, debians referenced under SONIC_ONLINE_DEBS always get downloaded, even if the expected debian package already exists under target/. The runs contrary to the design of Makefiles (where presence of the output file indicates it is already built).

This is also counter to the behavior of the SONiC build when dpkg cache is not enabled, causing further confusion.

This behavior also causes problems when doing local development, where we may want to modify the local debian files when evaluating which changes to push to the HTTP repository storing them (Artifactory). With the current behavior, our local changes are always overwritten.

Work item tracking
Microsoft ADO (number only):
How I did it
The SONIC_ONLINE_DEBS rule now skips downloading debians if they already exist under target/.

How to verify it
Populate target/ with locally modified debian packages. Perform the build. Ensure the local modifications remain intact, and are not overwritten.
2023-04-20 21:31:40 +08:00
Stepan Blyshchak
04099f075d
[BGP] support BGP pending FIB suppression (#12853)
Signed-off-by: Stepan Blyschak stepanb@nvidia.com

DEPENDS: #12852

Why I did it
To support BGP pending FIB suppression.

How I did it
I backported patches from FRR 8.4 feature that allows communicating ASIC route status back to FRR.
Also, added a new field in DEVICE_METADATA YANG model table. Added UT for YANG model changes.

How to verify it
Run on the switch.
2023-04-20 19:56:13 +08:00
mssonicbld
b40896b3ba [submodule] Update submodule sonic-restapi to the latest HEAD automatically 2023-04-20 16:34:29 +08:00
mssonicbld
abae9afe57 [submodule] Update submodule sonic-gnmi to the latest HEAD automatically 2023-04-20 16:34:24 +08:00
mssonicbld
86425ae245 [submodule] Update submodule sonic-linux-kernel to the latest HEAD automatically 2023-04-20 16:34:20 +08:00
mssonicbld
7571e0670b [submodule] Update submodule sonic-mgmt-framework to the latest HEAD automatically 2023-04-20 16:34:11 +08:00
mssonicbld
ead7b975f8 [submodule] Update submodule sonic-sairedis to the latest HEAD automatically 2023-04-20 16:34:05 +08:00
mssonicbld
34d1c860b0 [submodule] Update submodule sonic-utilities to the latest HEAD automatically 2023-04-20 16:34:00 +08:00
Hua Liu
a14cc76879
Install python-redis package to docker containers (#14632)
Install python-redis package to docker containers

#### Why I did it
This this bug: https://github.com/sonic-net/sonic-buildimage/issues/14531
The 'flush_unused_database' is part of docker-database, and docker-database does not install python-redis package by itself. it's using redis installed by sonic-py-swsssdk.
So after remove sonic-py-swsssdk from container, this script break.

To this this bug and avoid similer bug happen again, install python-redis to docker containers which removed sonic-py-swsssdk .

#### How I did it
Install python-redis to containers.

#### How to verify it
Pass all UT.
Create new UT to cover this scenario: https://github.com/sonic-net/sonic-mgmt/pull/8032

#### Description for the changelog
Improve sudo cat command for RO user.
2023-04-19 18:14:48 -07:00
mssonicbld
d006219e2d
[ci/build]: Upgrade SONiC package versions (#14718) 2023-04-19 18:59:16 +08:00
mssonicbld
864a254a50 [submodule] Update submodule sonic-swss to the latest HEAD automatically 2023-04-19 16:34:33 +08:00
mssonicbld
6556288ac2 [submodule] Update submodule sonic-utilities to the latest HEAD automatically 2023-04-19 16:34:27 +08:00
vdahiya12
9e2d457a42
[minigraph] add support for changing T1 ports speed from 400G to 100G and vice-versa (#14505)
Open
[minigraph] add support for changing T1 ports speed from 400G to 100G and vice-versa
#14505
vdahiya12 wants to merge 9 commits into sonic-net:master from vdahiya12:dev/vdahiya/minigraph_parser
Conversation 10
Commits 9
Checks 18
Files changed 5
Conversation
vdahiya12
@vdahiya12 vdahiya12 commented 2 weeks ago • 
On SONiC T1 cisco 8101 HwSku, the speed changes are done from 400G to 100G needs to be supported on 400G ports.
To enable this, along with speed change the port lanes need to be changed. This PR has the changes to update the port lanes when such speed change happens.
Basically if Banwidth in minigraph.xml intends to enable a 100G speed on a 400G port, then the appropriate lane change and speed change needs to be invoked in mingraph parser
Example if port_config.ini dicatates the speed to be 400G and minigraph has 100G speed, then this changeneeds to be accommodated

# name         lanes                                      alias   index  speed    channel
Ethernet96     1536,1537,1538,1539,1540,1541,1542,1543    etp12    12       400000     0
 <DeviceLinkBase>
        <ElementType>DeviceInterfaceLink</ElementType>
        <EndDevice>ARISTA01T2</EndDevice>
        <EndPort>Ethernet1</EndPort>
        <StartDevice>Device-8101-01</StartDevice>
        <StartPort>etp12</StartPort>
        <Bandwidth>100000</Bandwidth>
      </DeviceLinkBase>
These platforms today have 400g port with 8 serdes lines, and 100g will operate with 4 serdes lane. When the port speed changes from 400G to 100G the first 4 lanes will be used for 100G port.

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2023-04-19 01:23:19 -07:00
DavidZagury
03bf4ff549
Remove default value from SECURE_UPGRADE_DEV_SIGNING_KEY (#14582)
This is done because when there is a default value, we mount to this path, and this creates this folder on the host.

#### Why I did it
Fix issue that running without overwriting SECURE_UPGRADE_DEV_SIGNING_KEY and SECURE_UPGRADE_DEV_SIGNING_CERT dummy folders are being created on the host.

#### How I did it
Removed the default assignment to SECURE_UPGRADE_DEV_SIGNING_KEY and SECURE_UPGRADE_DEV_SIGNING_CERT

#### How to verify it
Build SONiC using your own prod script
2023-04-18 15:48:47 -07:00
Zain Budhwani
e9a9c9e31f
Update telemetry.sh with threshold config (#14615)
#### Why I did it

Threshold is a new config field passed to telelemetry.go as parameter

#### How I did it

Add check for threshold

#### How to verify it

Modify telemetry.sh, systemctl restart telemetry, telemetry process has threshold of 100
2023-04-18 14:29:30 -07:00
mssonicbld
802a5cff19 [submodule] Update submodule sonic-gnmi to the latest HEAD automatically 2023-04-18 16:34:04 +08:00