Rebase master#13
Merged
VadymYashchenko merged 139 commits intoVadymYashchenko:masterfrom Mar 17, 2022
Merged
Conversation
#9813) #### Why I did it The test plan described in the `How to verify it` section caused an issue when 3 images (instead of 2) were present when executing `show boot` or `sonic-installer list` commands: ``` root@sonic:/home/admin# show boot Current: SONiC-OS-master.0-dirty-20220118.165941 Next: SONiC-OS-master.0-dirty-20220118.165941 Available: SONiC-OS-master.0-dirty-20220118.165941 SONiC-OS-202012.201-a0376a6e5_Internal SONiC-OS-202012.201-a0376a6e5_Internal_RPC ``` #### How I did it Fixed the `sed` pattern to match the current image revision in the `install.sh` script. #### How to verify it Test plan: 1. Install the `imageA` by using ONIE 2. Install the `imageA-rpc` by using `sonic-installer` 3. Reboot the switch 4. Swap to the `imageA` - `sonic-installer set-default imageA` 5. Reboot the switch 6. Install the `imageB` by using `sonic-installer` 7. Check an installed images - `show boot` 8. Reboot the switch 9. Check an installed images - `show boot`
#### Why I did it PR9611 - sonic-scheduler.yang pattern issue #### How I did it Modified the scheduler name pattern string to accept any string #### How to verify it Sonic yang tests
….1300 (#9860) - Why I did it New version of mellanox platform management code available adding support for new platforms and fixing bugs. - How I did it 1. Updated the submodule 2. Updated makefile version references 3. Regenerated SONiC patches
Update submodule sonic-utilities that contains the following commits: [build] allowPartiallySucceededBuilds: true (#2043) [system-health] Remove booting stage in system health service (#2022) [GCU] Mark children of bgp_neighbor as create-only (#2008) [generic_config_updater] Minor update - No logical code change (#2028) [generic-config-updater] Handle failed service restarts (#2020) [debug dump] Missing Dict Key handled in the MatchOptimizer (#2014) [Auto Techsupport] Added Event Driven TS to Command Reference (#1985)
* [AS7726-32X] Add to support mulit PSU in PDDF Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw> * Modify SN offset and include path * Fix device_name to PSU2-EEPROM in PSU2 Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
…g TD3 platform boot issue (#9922)
* Configure scapy to not store sniffed packets Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
sonic-config-engine unit test always fails. let's restrict using cache in sonic-config-engine
Signed-off-by: Andriy Kokhan <andriyx.kokhan@intel.com>
Support saiserver v2 with python3 and thrift 0.13.0 add variables to support the saiserverv2 build different thrift in saithrift depends on saiserver version build differernt versions of saiserver make the saiserver and saiserver docker with version number test done: build two different versions of sasiserver in local build environment add saiserver to buster Co-authored-by: richard.yu <richard.yu@microsoft.comwq>
Added midplane_subnet in chassisdb.conf for interfaces-config.sh to create midplane interface in multi-asic namespaces. Signed-off-by: Sakthivadivu Saravanaraj <sakthivadivu.saravanaraj@nokia.com>
- Why I did it There was a missing file of platform.json on SN4800 SIMx platform - How I did it Add symbolic link to platform.json file from the real SN4800 platform - How to verify it Run SN4800 SIMx and verify that platfrom.json file exist at the following folder: /usr/share/sonic/device/x86_64-nvidia_sn4800_simx-r0
- Why I did it platform.json of 4600C only has 2 CPU core thermal sensors, but there are 4 actually - How I did it Added thermal sensors for CPU core 2 and core 3. - How to verify it Build.
Implement infrastructure that allows enabling address sanitizer for docker containers. Enable address sanitizer for SWSS container. - Why I did it To add a possibility to compile SONiC applications with address sanitizer (ASAN). ASAN is a memory error detector for C/C++. It finds: 1. Use after free (dangling pointer dereference) 2. Heap buffer overflow 3. Stack buffer overflow 4. Global buffer overflow 5. Use after return 6. Use after the scope 7. Initialization order bugs 8. Memory leaks - How I did it By adding new ENABLE_ASAN configuration option. - How to verify it By default ASAN is disabled and the SONiC image is not affected. When ASAN is enabled it inspects all allocation, deallocation, and memory usage that the application does in run time. To verify whether the application has memory errors tests that trigger memory usage of the application should be run. Ideally, the whole regression tests should be run. Memory leaks reports will be placed in /var/log/asan/ directory of SONiC host OS. Signed-off-by: Oleksandr Ivantsiv <oivantsiv@nvidia.com>
… server for BmcMgmtToRRouter (#9938) Signed-off-by: Jing Kan jika@microsoft.com
* [AS4630-54PE] Add to support PDDF Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw> * Fix LGTM alerts * Fix LGTM alerts * Fix LGTM alerts * Add post_device.sh to turn off stk led * Add to support system_health * Correct the wait and timeout mechanism for better CPU usage * Add event.c to support port evt change Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
* [AS7712-32X] Add to support PDDF Signed-off-by: Jostar Yang <jostar_yang@accton.com.tw> * Fix LGTM alerts * Fix AS7712-32X xcvrd busy issue Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
Signed-off-by: Stephen Sun <stephens@nvidia.com>
…eature (#9956) - Why I did it Need to remove old static configs from sai.profile files. New implementation: sonic-net/sonic-swss#1959 New configuration: #9658 - How I did it Remove SAI_VXLAN_SRCPORT_RANGE_ENABLE=1 lines from files per HWSKU - How to verify it When static config is removed following test will fail (src port will be in range 0-255) py.test vxlan/test_vnet_vxlan.py --inventory "../ansible/inventory, ../ansible/veos" --host-pattern (testbed)-t0 --module-path ../ansible/library/ --testbed (testbed)-t0 --testbed_file ../ansible/testbed.csv --allow_recover --assert plain --log-cli-level info --show-capture=no -ra --showlocals --disable_loganalyzer --skip_sanity --upper_bound_udp_port 65535 --lower_bound_udp_port 64128
- Why I did it The chassis name in MSN4410 platform_components.json is not correct - How I did it Fix the chassis name - How to verify it Run relevant platform API test Signed-off-by: Kebo Liu <kebol@nvidia.com>
Update the sonic-snmpagemt submodule to pick up new changes: Fix RFC2737 with update xcvr vendor version key name sonic-net/sonic-snmpagent@4ee573c Fix Queue stat unavailable error seen during SNMP service start sonic-net/sonic-snmpagent@3013597 Modify path of python wheels to be installed sonic-net/sonic-snmpagent@b8ea609 [Voq][Inband] Support the Ethernet-IB port sonic-net/sonic-snmpagent@df615c4 Signed-off-by: Kebo Liu <kebol@nvidia.com>
Updates include the following changes in order to support new Mellanox platforms and drivers (sonic-net/sonic-linux-kernel#259) 10ef390 Update kconfig to support / enable newly backported mellanox patches. 6a949e1 Add backported patches for Mellanox hw-mgmt V.7.0020.1300 e1913f7 Rename and reformat patch headers
…rmhf (#9980) [Build]: Fix hundreds of thousands lines of logs printed in marvell-armhf It is caused by the bad format of the marvell sai package mrvllibsai_armhf_1.7.1-6.deb, increasing the waiting time to reduce the logs, and reduce the waste of the CPU.
ded0344 Return both 'vendor_rev' and 'hardware_rev' keys from get_transceiver_info to support both earlier and later versions of xcvrd b3442cc Change log_error to log_info when transceiver module is transitioned 3d3a73c Fix problem introduced with new SFP caching paradigm 2915746 Add script to reboot all IMMs 17ad221 Fix the position_in_parent for the psu entity 207e731 No longer force read pages at SFP init time b387921 Fixed the voltage and power with rounding to 2 digit decimals Signed-off-by: mlok <marty.lok@nokia.com>
…cker (#9686) * support saiserverv1 and saiserverv2 docker * add saiserver into buster and revert some changes * update thrift version
* [BFN] Implementation API for platform component
SONiC has a concept of "platform components"
this may include - CPLD, FPGA, BIOS, BMC, etc.
These changes are needed to read the version of the BIOS and BMC component.
What I did
Create components.py module
Add funcion for reading componet version to thrift interface
How I did it
The previous implementaion didn't have platform components API, so fwutil return an empty list.
After implementation of the platform component API, we have actual list of platform components and firmware versions
How to verify it
Run manually 'fwutil show status' or run unit tests
Previous command output
Chassis Module Component Version Description
------------------------ -------- ----------- --------- -------------
New command output
Chassis Module Component Version Description
------------------------ -------- ----------- --------- -------------
Chassis1 N/A BIOS 1.2.3 Chassis BIOS
BMC 5.1 Chassis BMC
Signed-off-by: Taras Keryk <tarasx.keryk@intel.com>
* [BFN] Implementation API for platform component
SONiC has a concept of "platform components"
this may include - CPLD, FPGA, BIOS, BMC, etc.
These changes are needed to read the version of the BIOS and BMC component.
What I did
Create components.py module
Add funcion for reading componet version to thrift interface
How I did it
The previous implementaion didn't have platform components API, so fwutil return an empty list.
After implementation of the platform component API, we have actual list of platform components and firmware versions
How to verify it
Run manually 'fwutil show status' or run unit tests
Previous command output
Chassis Module Component Version Description
------------------------ -------- ----------- --------- -------------
New command output
Chassis Module Component Version Description
------------------------ -------- ----------- --------- -------------
Chassis1 N/A BIOS 1.2.3 Chassis BIOS
BMC 5.1 Chassis BMC
Signed-off-by: Taras Keryk <tarasx.keryk@intel.com>
* [BFN] Implementation API for platform component
get chassis name from json
* [BFN] Implementation API for platform component
Updated platform and platrom_components json
* [BFN] Implementation API for platform component
Fixed spaces in component.py
* [BFN] Implementation API for platform component
Fixed exception in component.py
* Update chassis.py
* [BFN] Implementation API for platform component
Fixed spaces in component.py, chassis.py
* [BFN] Implementation API for platform component: Fixed spaces in component.py, chassis.py
* Fixed exception in get_bios_version
) #### Why I did it Fix #9591 #### How I did it Add 'sub_role' to device_metadata yang models. #### How to verify it Run UT for sonc-yang-models.
Why I did it uboot env get and set commands fw_printenv/fw_setenv are not available in bullseye sonic image. Some platforms using them where failing. Ex: sonic-installer commands in marvell-armhf. In case of buster, u-boot-tools was providing these commands. How I did it Added libubootenv-tool which provides these tools along with other uboot tools in build_debian.sh. How to verify it root@localhost:# fw_printenv serverip serverip=10.4.50.39 root@localhost:# fw_setenv serverip 10.4.50.38 root@localhost:~# fw_printenv serverip serverip=10.4.50.38 Change-Id: I558f8737f41d83d3e8527ce340391ae8f978b6d8 Signed-off-by: Pavan Naregundi <pnaregundi@marvell.com>
e56e9b4 Fix CVE-2021-3121 warning (#96) bf1be4f [ci]: Support code diff coverage threshold 50% (#94) 64e516c Ported Marvell armhf build on x86 for debian buster to use cross-compilation instead of qemu emulation (#80) e426388 [ci]: Support azp code coverage (#87)
[Build]: Fix /proc not mounted issue
…0208) Signed-off-by: Taras Keryk <tarasx.keryk@intel.com> Why I did it The previous implementaion of API for platform component didn't have the new thrift files How I did it Add the new thrift-generated: pltfm_mgr_rpc.py, ttypes.py How to verify it Run manually 'fwutil show status' or run unit tests Previous command output had no information about components New command output Chassis Module Component Version Description ------------------------ -------- ----------- --------- ------------- Chassis1 N/A BIOS 1.2.3 Chassis BIOS BMC 5.1 Chassis BMC
Correct libsaithrift dependency package name from LIBTHRIFT_DEV_0_14_1 THRIFT_COMPILER_0_14_1 to LIBTHRIFT_0_14_1_DEV THRIFT_0_14_1_COMPILER How I did it How to verify it Test Done: make BLDENV=buster SAITHRIFT_V2=y -f Makefile.work target/debs/buster/saiserverv2_0.9.4_amd64.deb
Why I did it In parallel of this change Arista added a custom logrotate configuration as part of its driver library. Having 2 logrotate configuration for the same log file triggers an issue. Fixes aristanetworks/sonic#38 How I did it Arista merged a few changes in sonic-buildimage which added a logrotate configuration aristanetworks/sonic@e43c797 It is therefore the right path to remove the arista.log line from the logrotate.d/rsyslog configuration. How to verify it Logrotate works without any error message, arista log rotation happens and arista daemons still append logs once file was truncated.
…#10211) [Build]: fix some version info missing in version control files issue
[Build]: Clean up pip cache
Why I did it This fix is to address issue: sonic-net/sonic-mgmt#5280 In the sonic-mgmt Dockerfile, python package allure-pytest is installed after ENV USER $user. Consequently the package is installed to path /home/$user/.local and is only available to the $user account. If we use root account in sonic-mgmt docker container to run tests, any script importing the allure package will fail with ImportError. We need to install the allure-pytest package to global directory instead of user local directory. How I did it Update the sonic-mgmt Dockerfile to ensure that the allure-pytest package is installed to global directory How to verify it Build a new sonic-mgmt docker image based on the changes. Use sonic-mgmt docker container of the newly built image to run test scripts that depend on the allure-pytest package. No ImportError is raised.
Why I did it Fix the debian packages installing in parallel issue. Add apt hook command to support apt to print no version control info.
[Build]: only install grpc in amd64 Unblock marvell-armhf build.
…of dockerhub. (#10166) * Add variable to reset default docker registry * fix bug in docker version control
- Why I did it To implement blocking feature state change. - How I did it Record the actual feature state in STATE DB from hostcfg. - How to verify it UT + verification by running on the switch and checking STATE DB. Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
When mounting the partition that contains `/host` during initramfs, the mount binary available there (coming from busybox) tries each filesystem in `/proc/filesystems` and sees which one succeeds. During this time, there may be some error messages logged into dmesg because some of the incorrect filesystems failed to mount the partition. Specify the filesystem type explicitly so that initramfs knows it's that type, and we know what filesystem will always get used there. Fixes #9998 Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
Why I did it The marvel-armhf build is hung, it does not exit after waiting for a long time. It is caused by the process /etc/entropy.py which is started by the postinst script in target/debs/buster/sonic-platform-nokia-7215_1.0_armhf.deb
…0219) This can save 6 sec for teamd LAG restoration - the time between: ``` Mar 9 13:51:10.467757 r-panther-13 WARNING teamd#teamd_PortChannel1[28]: Got SIGUSR1. Mar 9 13:52:33.310707 r-panther-13 INFO teamd#teamd_PortChannel1[27]: carrier changed to UP ``` - Why I did it Optimize warm boot. Specifically reduce the time needed for LAG restoration. - How I did it Kill teamd docker after graceful shutdown of teamd processes. - How to verify it Run warm reboot. Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Update sonic-swss with the following changes: 29d5d8d Use abort instead of exit in case calling SAI API failure (#2170) 12f980c Fix issue config qos reload causing orchagent aborted via tracking dependencies among QoS tables (#2116) 6e5ed1c [chassis][syncd][sai] Adjusting response timeout during syncd init (#2159) 0a99f54 Try get port operational speed from STATE DB (#2119) 828cccf [crm] Use sai_object_type_get_availability() API to get counters (#2098) 18c73a1 Allow IPv4 link-local nexthops (#1903) Signed-off-by: Stephen Sun <stephens@nvidia.com>
…port (#9950) Signed-off-by: mlok <marty.lok@nokia.com>
…10078) #### Why I did it Moved Configuration.md from swss to yang folder. The configuration schema should be present along with yang models and when users add yang model they could update configuration document as well.
* Using SFP refactoring framework in PDDF sfp class * Fixing a typo error
# Why I did it Reduce the disk space taken up during bootup and runtime. # How I did it 1. Remove python package cache from the base image and from the containers. 2. During bootup, if logs are to be stored in memory, then don't create the `var-log.ext4` file just to delete it later during bootup. 3. For the partition containing `/host`, don't reserve any blocks for just the root user. This just makes sure all disk space is available for all users, if needed during upgrades (for example). * Remove pip2 and pip3 caches from some containers Only containers which appeared to have a significant pip cache size are included here. Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com> * Don't create var-log.ext4 if we're storing logs in memory Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com> * Run tune2fs on the device containing /host to not reserve any blocks for just the root user Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
…ocker container (#10234) Why I did it Migration of sonic-mgmt codebase from Python 2 to Python 3 How I did it Added scapy dependencies to the env-python3 virtual environment. How to verify it Run test case: py.test --testbed=testbed-t0 --inventory=../ansible/lab --testbed_file=../ansible/testbed.csv --host-pattern=testbed-t0 -- module-path=../ansible/library lldp Signed-off-by: Oleksandr Kozodoi <oleksandrx.kozodoi@intel.com>
This file contains hidden or 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
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.
Why I did it
How I did it
How to verify it
Which release branch to backport (provide reason below if selected)
Description for the changelog
A picture of a cute animal (not mandatory but encouraged)