Commit Graph

1199 Commits

Author SHA1 Message Date
mssonicbld
d5d674e89d
Revert "Fix for fast/cold-boot: call db_migrator only after old config is loaded (#14933)" (#15464) (#15517) 2023-06-17 09:18:08 +08:00
siqbal1986
2d436cc59d
202205 cast for https://github.com/sonic-net/sonic-buildimage/pull/14992 (#15499)
Why I did it
CP of orignal PR #14992 which failed automatic CP.

Work item tracking
Microsoft ADO (number only):21695894
2023-06-16 08:36:18 -07:00
mssonicbld
c4fcd31fa6
enable ethernet backplane port support in port config for packet mode T2 devices (#14533) (#15479) 2023-06-16 03:52:17 +08:00
Liping Xu
40ef03e70b allow docker_inram to kernel cmd list (#15374)
Why I did it
After docker_inram is enabled, the docker folder's default max size is 1.5G.
It's not big enough for some tests which need to install additional docker images or install extra packages.

Work item tracking
Microsoft ADO 24199761:
How I did it
add docker_inram into cmdline_allowlist

How to verify it
sudo sh -c 'echo "docker_inram_size=3000M" >> kernel-cmdline-append'
sudo reboot and check the docker folder size
2023-06-15 14:33:54 +08:00
Saikrishna Arcot
9e16a7a452
Re-add 127.0.0.1/8 when bringing down the interfaces (#15080) (#15462)
* Re-add 127.0.0.1/8 when bringing down the interfaces

With #5353, 127.0.0.1/16 was added to the lo interface, and then
127.0.0.1/8 was removed. However, when bringing down the lo interface,
like during a config reload, 127.0.0.1/16 gets removed, but 127.0.0.1/8
isn't added back to the interface. This means that there's a period of
time where 127.0.0.1 is not available at all, and services that need to
connect to 127.0.01 (such as for redis DB) will fail.

To fix this, when going down, add 127.0.0.1/8. Add this address before
the existing configuration gets removed, so that 127.0.0.1 is available
at all times.

Note that running `ifdown lo` doesn't actually bring down the loopback
interface; the interface always stays "physically" up.

Signed-off-by: Saikrishna Arcot <sarcot@microsoft.com>
2023-06-14 16:28:57 -07:00
mssonicbld
fbe5fe736e
[ci/build]: Upgrade SONiC package versions (#15326) 2023-06-06 15:40:37 -07:00
mssonicbld
b0abe7149a
Fix for fast/cold-boot: call db_migrator only after old config is loaded (#14933) (#15316) 2023-06-03 09:30:12 +08:00
vmittal-msft
723c508a30
Update PG headroom settings ports based on port speed/cable length (#15287)
Why I did it
Update cable length for uplink/downlink ports for chassis and and update PG/pool headroom size accordingly.

Work item tracking
17880812

How I did it
Updated cable length as well as buffer config in HWSKU files.
2023-06-02 15:48:11 -07:00
Samuel Angebault
feb8671601
[202205] Implement zram compression for docker in RAM (#15137)
* [Arista] Fix boot0 code for docker_inram

Enable docker_inram for all systems with 4GB or less of flash.
This is mandatory to allow these systems to store 2 SONiC images.

This change also fixes the missing docker_inram attribute when
installing a new image from SONiC.
Because the SWI image can ship with additional kernel parameters within
such as `sonic_fips=` this lead to a conflict.
To prevent the conflict, the extra kernel parameters from the SWI are
now stored in the file `kernel-cmdline-append` which isn't used anywhere.

* Add optional zram compression for docker_inram

Some devices running SONiC have a small storage device (2G and 4G mainly)
The SONiC image growth over time has made it impossible to install
2 images on a single device.
Some mitigations have been implemented in the past for some devices but
there is a need to do more.

One such mitigation is `docker_inram` which creates a `tmpfs` and
extracts `dockerfs.tar.gz` in it.
This all happens in the SONiC initramfs and by ensuring the installation
process does not extract `dockerfs.tar.gz` on the flash but keep the file as is.

This mitigation does a tradeoff by using more RAM to reduce the disk footprint.
It however creates new issues for devices with 4G of system memory since
the extracted `dockerfs.tar.gz` nears the 1.6G.
Considering debian upgrades (with dual base images) and the continuous
stream of features this is only going to get bigger.

This change introduces an alternative to the `tmpfs` by allowing a system
to extract the `dockerfs.tar.gz` inside a `zram` device thus bringing
compression in play at the detriment of performance.

Introduce 2 new optional kernel parameters to be consumed by SONiC initramfs.
 - `docker_inram_size` which represent the max physical size of the
   `zram` or `tmpfs` volume (defaults to DOCKER_RAMFS_SIZE)
 - `docker_inram_algo` which is the method to use to extract the
   `dockerfs.tar.gz` (defaults to `tmpfs`)
   other values are considered to be compression algorithm for `zram`
   (e.g `zstd`, `zlo-rle`, `lz4`)

Refactored the logic to mount the docker fs in the SONiC initramfs under
the `union-mount` script.
Moved the code into a function to make it cleaner and separated the
inram volume creation and docker extraction.

On Arista platform with a flash smaller or equal to 4GB set
`docker_inram_algo` to `zstd` which produces the best compression ratio
at the detriment of a slower write performance and a similar read
performance to other `zram` compression algorithms.
2023-06-02 08:36:18 -07:00
mssonicbld
6cf6c59c8c
[ci/build]: Upgrade SONiC package versions (#15245) 2023-05-28 20:42:02 +08:00
mssonicbld
d00dd1fca7
[ci/build]: Upgrade SONiC package versions (#15243) 2023-05-27 20:17:51 +08:00
mssonicbld
036b8d1315
[ci/build]: Upgrade SONiC package versions (#15192) 2023-05-23 20:43:44 +08:00
mssonicbld
11226b9ca4
[ci/build]: Upgrade SONiC package versions (#15174) 2023-05-21 20:38:55 +08:00
mssonicbld
80aba31433
[arp_update] Resolve neighbors from config_db (#15006) (#15124) 2023-05-18 08:50:55 +08:00
judyjoseph
b6df524b0f
Add override_config to load_minigraph in config-setup service (#14834) (#15097)
This PR is to handle the override minigraph config by golden_config_db.json file if it is present in the backup location.
2023-05-17 13:17:20 -07:00
Tejaswini Chadaga
a3a041a3cd
Revert "Add load_minigraph option to include traffic-shift-away during config migration (#11403)" (#14881)
This reverts commit 0c7f0aa9b7.
2023-05-03 17:10:15 -07:00
mssonicbld
0ed0df6ddb
[ci/build]: Upgrade SONiC package versions (#14913) 2023-05-02 20:20:59 +08:00
Ying Xie
9ac9908321
Revert "Clear DNS configuration received from DHCP during networking reconfiguration in Linux. (#13516) (#13695)" (#14900)
This reverts commit d1fa414f1b.
2023-05-01 16:48:56 -07:00
mssonicbld
5d9658f503
[ci/build]: Upgrade SONiC package versions (#14839) 2023-04-29 20:49:34 +08:00
mssonicbld
36b6d5824c
[ci/build]: Upgrade SONiC package versions (#14812) 2023-04-23 20:52:29 +08:00
mssonicbld
7cc8c76f0f
Increase wait_for_tunnel() timeout to 90s (#14279) (#14733) 2023-04-20 05:47:12 +08:00
mssonicbld
20bb5daa6a [ci/build]: Upgrade SONiC package versions 2023-04-18 22:39:02 +08:00
mssonicbld
94ba969676
[write standby] force DB connections to use unix socket to connect (#14524) (#14553) 2023-04-18 17:11:59 +08:00
anamehra
0b30826e56 chassis-packet: resolve the missing static routes (#14593)
Why I did it
Fixes #14179
chassis-packet: missing arp entries for static routes causing high orchagent cpu usage

It is observed that some sonic-mgmt test case calls sonic-clear arp, which clears the static arp entries as well. Orchagent or arp_update process does not try to resolve the missing arp entries after clear.

How I did it
arp_update should resolve the missing arp/ndp static route
entries. Added code to check for missing entries and try ping if any
found to resolve it.

How to verify it
After boot or config reload, check ipv4 and ipv4 neigh entries to make sure all static route entries are present
manual validation:
Use sonic-clear arp and sonic-clear ndp to clear all neighbor entries
run arp_update
Check for neigh entries. All entries should be present.
Testing on T0 setup route/for test_static_route.py

The test set the STATIC_ROUTE entry in conifg db without ifname:
sonic-db-cli CONFIG_DB hmset 'STATIC_ROUTE|2.2.2.0/24' nexthop 192.168.0.18,192.168.0.25,192.168.0.23

"STATIC_ROUTE": {
    "2.2.2.0/24": {
        "nexthop": "192.168.0.18,192.168.0.25,192.168.0.23"
    }
},
Validate that the arp_update gets the proper ARP_UPDATE_VARDS using arp_update_vars.j2 template from config db and does not crash:

{ "switch_type": "", "interface": "", "pc_interface" : "PortChannel101 PortChannel102 PortChannel103 PortChannel104 ", "vlan_sub_interface": "", "vlan" : "Vlan1000", "static_route_nexthops": "192.168.0.18 192.168.0.25 192.168.0.23 ", "static_route_ifnames": "" }

validate route/test_static_route.py testcase pass.
2023-04-18 14:34:49 +08:00
mssonicbld
c9d5e20923
[image_config] add rasdaemon.timer (#14300) (#14692) 2023-04-18 12:33:15 +08:00
xumia
1a9d6cdc5a
Support to add SONiC OS Version in device info (#14601) (#14624)
Why I did it
Support to add SONiC OS Version in device info.
It will be used to display the version info in the SONiC command "show version". The version is used to do the FIPS certification. We do not do the FIPS certification on a specific release, but on the SONiC OS Version.

SONiC Software Version: SONiC.master-13812.218661-7d94c0c28
SONiC OS Version: 11
Distribution: Debian 11.6
Kernel: 5.10.0-18-2-amd64
How I did it
2023-04-17 17:30:49 -07:00
mssonicbld
c919e758db
[ci/build]: Upgrade SONiC package versions (#14681) 2023-04-16 20:54:23 +08:00
mssonicbld
32b8764d3b
[ci/build]: Upgrade SONiC package versions (#14674) 2023-04-15 20:36:48 +08:00
mssonicbld
597d37d395
[ci/build]: Upgrade SONiC package versions (#14604) 2023-04-11 21:29:00 +08:00
Ye Jianquan
c55a5a94eb
Revert "chassis-packet: resolve the missing static routes (#14230)" (#14545)
This reverts commit a6d597a811.
2023-04-10 23:40:31 +08:00
mssonicbld
c62ed6800e
[ci/build]: Upgrade SONiC package versions (#14579) 2023-04-09 20:29:39 +08:00
mssonicbld
9680eb9e07
[ci/build]: Upgrade SONiC package versions (#14573) 2023-04-08 20:37:10 +08:00
Dev Ojha
82873c24ce
[202205][Buffer] Added cable length config to buffer config template for EdgeZoneAggregator (#14538)
Why I did it
SONiC currently does not identify 'EdgeZoneAggregator' neighbor. As a result, the buffer profile attached to those interfaces uses the default cable length which could cause ingress packet drops due to insufficient headroom. Hence, there is a need to update the buffer templates to identify such neighbors and assign the same cable length as used by the T1.

How I did it
Modified the buffer template to identify EdgeZoneAggregator as a neighbor device type and assign it the same cable length as a T1/leaf router.

How to verify it
Unit tests pass, and manually checked on a 7260 to see the changes take effect.
2023-04-06 07:52:43 -07:00
mssonicbld
eab159f5e3
Delay mux/sflow/snmp timer after interface-config service (#14506) (#14523) 2023-04-05 15:28:41 +08:00
mssonicbld
8ca2d47aa9 [ci/build]: Upgrade SONiC package versions 2023-04-04 22:32:19 +08:00
Hua Liu
0a58f4f68b Improve sudo cat command for RO user. (#14428)
Improve sudo cat command for RO user.

#### Why I did it
RO user can use sudo command show none syslog files.

#### How I did it
Improve sudo cat command for RO user.

#### How to verify it
Pass all UT.
Manually check fixed code work correctly.

#### Description for the changelog
Improve sudo cat command for RO user.
2023-04-03 16:34:36 +08:00
anamehra
a6d597a811 chassis-packet: resolve the missing static routes (#14230)
arp_update should resolve the missing arp/ndp static route
entries. Added code to check for missing entries and try ping to
resolve the missing entry.

Why I did it
Fixes #14179

chassis-packet: missing arp entries for static routes causing high orchagent cpu usage

It is observed that some sonic-mgmt test case calls sonic-clear arp, which clears the static arp entries as well. Orchagent or arp_update process does not try to resolve the missing arp entries after clear.

How I did it
arp_update should resolve the missing arp/ndp static route
entries. Added code to check for missing entries and try ping if any
found to resolve it.

How to verify it
After boot or config reload, check ipv4 and ipv4 neigh entries to make sure all static route entries are present
manual validation:
Use sonic-clear arp and sonic-clear ndp to clear all neighbor entries
run arp_update
Check for neigh entries. All entries should be present.

Signed-off-by: anamehra <anamehra@cisco.com>
2023-04-03 16:34:21 +08:00
mssonicbld
2b3bea61de
[ci/build]: Upgrade SONiC package versions (#14489) 2023-04-02 20:39:29 +08:00
mssonicbld
40889d25ce
[ci/build]: Upgrade SONiC package versions (#14443) 2023-03-28 20:37:28 +08:00
mssonicbld
16bbbd776a
Set owner after restoring counters folder during warmboot (#13507) (#14435)
Why I did it
After warm reboot, show environment prints the following error:
failed to import plugin show.plugins.macsec: [Errno 13] Permission denied: '/tmp/cache/macsec'

How I did it
Set owner back to admin after restoring counters folder.

How to verify it
sudo warm-reboot, then ensure show environement does not print errors.

Signed-off-by: Oleksandr Kolomeiets <oleksandrx.kolomeiets@intel.com>
Co-authored-by: oleksandrx-kolomeiets <oleksandrx.kolomeiets@intel.com>
2023-03-27 14:57:26 -07:00
mssonicbld
5fb685ebb8
[ci/build]: Upgrade SONiC package versions (#14418) 2023-03-26 20:42:23 +08:00
mssonicbld
f76fbfca5b
[ci/build]: Upgrade SONiC package versions (#14415) 2023-03-25 21:02:51 +08:00
Stepan Blyshchak
e2ed36c764
[202205] Clear teamd-timer when finalizing fast-reboot (#14295)
* Clear teamd-timer when finalizing fast-reboot
* Move config save after finalizing fast/warm reboot
2023-03-22 12:07:58 -07:00
mssonicbld
22b7b68ff0 [ci/build]: Upgrade SONiC package versions 2023-03-21 20:46:04 +08:00
xumia
e5e8d46fe1
[Security] Fix some of vulnerability issue relative python packages (#14269) (#14353)
Why I did it
Fix some of vulnerability issue relative python packages #14269
Pillow: [CVE-2021-27921]
Wheel: [CVE-2022-40898]
lxml: [CVE-2022-2309]

How I did it
2023-03-20 16:52:40 -07:00
mssonicbld
19a89aa6e2
[ci/build]: Upgrade SONiC package versions (#14344) 2023-03-19 20:19:28 +08:00
mssonicbld
3df60a15dd
[ci/build]: Upgrade SONiC package versions (#14314) 2023-03-19 00:04:48 +08:00
mssonicbld
51df8df2a8
[ci/build]: Upgrade SONiC package versions (#14299) 2023-03-18 02:31:30 +08:00
mssonicbld
cac2cf5d24
[storage_backend] Add backend acl service (#14229) (#14281) 2023-03-17 08:50:15 +08:00
Stepan Blyshchak
58937201f9 [swss/syncd] remove dependency on interfaces-config.service (#13084)
- Why I did it
Remove dependency on interfaces-config.service to speed up boot, because interfaces-config.service takes a lot of time on boot.

- How I did it
Changed service files for swss, syncd.

- How to verify it
Boot and check swss/syncd start time comparing to interfaces-config

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2023-03-16 14:37:17 +08:00