Commit Graph

4924 Commits

Author SHA1 Message Date
jusherma
4c0daa80c0 [build] Always use -j1 for libsnmp to avoid race condition (#8324)
I have been seeing intermittent (~40%) build failures with the same error described in PR https://github.com/Azure/sonic-buildimage/pull/6592, even with that fix present

```
/usr/bin/ld: mibgroup/ip-forward-mib/ipCidrRouteTable/.libs/ipCidrRouteTable_interface.o: file not recognized: file truncated
...
libtool:   error: 'mibgroup/ip-forward-mib/inetCidrRouteTable/inetCidrRouteTable_interface.lo' is not a valid libtool object
make[5]: *** [Makefile:1020: libnetsnmpmibs.la] Error 1
make[5]: *** Waiting for unfinished jobs....
```

#### How I did it

Use `-j1` for the libsnmp build regardless of the value of `$(MULTIARCH_QEMU_ENVIRON)`

#### How to verify it

Performed 10 builds of the libsnmp target (`target/debs/buster/libsnmp-base_5.7.3+dfsg-5_all.deb`) with and without this change. Without the change, hit the error 40% of the time. With the change did not see the error at all

Signed-off-by: Justin Sherman <jusherma@cisco.com>
2021-08-05 15:23:18 +00:00
VenkatCisco
3aed7eab8f [pmon]: add python3-jsonschema pmon (#8018)
jsonschema is an implementation of JSON Schema for Python .

Signed-off-by: Venkat Garigipati <venkatg@cisco.com>
2021-08-05 15:23:06 +00:00
VenkatCisco
cb8ff6dba1 [baseimage]: add j2cli to sonic_debian_extension.j2 (#8019)
j2cli provides access to jinja library. cisco platform.py requires j2cli to handle jinja template configuration files.
2021-08-05 15:22:57 +00:00
DavidZagury
0551fed754 [Mellanox][Pcie] Fix issue on pcied with an id that contains only decimal digits was treated as a decimal number (#8309)
A device that contains only decimal digits was mistreated as a decimal integer resulting in failure to find it in the id to bus map.
2021-08-05 15:22:48 +00:00
vdahiya12
5e594043ce [pmon] create and mount firmware directory on PMON for firmware upgrade support on muxcable (#8283)
This PR creates a directory firmware on the HOST with the path /usr/share/sonic/firmware, as well as this is 
mounted on PMON container with the same path /usr/share/sonic/firmware. This is required for firmware 
upgrade support for muxcable as currently by design all Y-Cable API's are called by xcvrd. As such if CLI has 
to transfer a file to PMON we need to mount a directory from host to PMON just for getting the firmware files. 
Hence we require this change.

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-08-05 15:22:41 +00:00
novikauanton
08dc00f817 [iccpd][docker] fix initial startup configuration (#7982)
#### Why I did it
The process of config generation (sonic-cfggen) fails, but the services continue to run with invalid config

#### How I did it
* add exit with error on errors in start.sh script (because supervisord relies on start.sh return code).
* fix jinja template. Jinja use common python expressions under the hood and `has_key` method was removed from dict in py3, so use check by `in` operator as it is supported by both py2 and py3.
#### How to verify it
* compile sonic with enabled iccp. 
* add mclag config to CONFIG_DB. 
    ``` 
    'MC_LAG|1' => {
        "local_ip": "10.0.0.2",
        "peer_ip": "10.0.0.3",
        "peer_link": "Ethernet8",
        "mclag_interface": "Ethernet12" 
    }
* unmaks, enable and start swss and iccpd services in sonic.
* log in into the iccpd container and check the config file `/etc/iccpd/iccpd.conf`
* expected config:
    ```
    mclag_id:1
        local_ip:10.0.0.2
        peer_ip:10.0.0.3
        peer_link:Ethernet8
        mclag_interface:Ethernet12
    system_mac:YOUR_SYSTEM_MAC

#### Description for the changelog
Fixed initial iccpd startup configuration.
2021-08-05 15:21:33 +00:00
Shilong Liu
7aad616832
[build]: Enable reproducible build for git docker (#8331) 2021-08-04 09:59:02 -07:00
Guohan Lu
fa239270c1 Revert "Update default cable len to 0m for TD2 (#8298)"
This reverts commit af2024e567.
2021-08-04 08:40:36 -07:00
lguohan
cb50baeec2 [k8s]: disable http_proxy for docker by default (#8328)
disable http_proxy for docker by default. by default, we should not use proxy.

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-08-04 00:31:27 -07:00
Neetha John
af2024e567 Update default cable len to 0m for TD2 (#8298)
Signed-off-by: Neetha John <nejo@microsoft.com>

As part of the buffer reclamation efforts for TD2, setting the default cable len to 0m which means unused ports will have a cable len of 0m.

Why I did it
To align with the changes in Azure/sonic-swss#1830

How to verify it
With the default cable len set to 0m and the associated changes in swss, CABLE_LENGTH table had '0m' set for unused ports and accordingly more space was reserved for the shared pool
2021-08-03 09:58:46 +00:00
Vivek Reddy
1eaa951966 [Mellanox] [SKU] Fix the shared headroom for 4600C-C64 SKU (#8242)
Removed ingress_lossy_pool from the BUFFER_POOL list
Fx the the egress_lossless_pool_size value

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
2021-08-03 09:58:40 +00:00
mssonicbld
2a41adcdc1
[ci/build]: Upgrade SONiC package versions (#8303) 2021-08-02 02:21:04 +00:00
Neetha John
cb49c6522f
[submodule]: Advance swss submodule pointer (#8288)
This PR includes the following commits

a67d8af [202012][portsorch] fix errors when moving port from one lag to another (Azure/sonic-swss#1819)
04105a4 [debugcounterorch] check if counter type is supported before querying (Azure/sonic-swss#1789)
ac7f5cff Td2: Reclaim buffer from unused ports (Azure/sonic-swss#1830)
f54b7d0 [Dynamic Buffer Calc][202012]Bug fix: Don't create lossless buffer profile for active ports without speed configured  (Azure/sonic-swss#1820)

Signed-off-by: Neetha John <nejo@microsoft.com>
2021-07-30 17:09:35 -07:00
Nazarii Hnydyn
ada56abe6e
[submodule]: Advance sonic-swss & sonic-sairedis. (#8296)
sairedis:
*[recorder] Fix incorrect attribute enum value capability query (#843) d86b051
*[syncd] Fix fdb flood queue size limit check (#863) 3a2af76
*[vslib] implement query for SAI_DEBUG_COUNTER_TYPE enum values (#842) 575dcb4 

swss:
*[portsorch] fix errors when moving port from one lag to anoth… a67d8af
*[debugcounterorch] check if counter type is supported before querying… ( 04105a4
*Td2: Reclaim buffer from unused ports (#1830) ac7f5cf
*[Dynamic Buffer Calc][202012]Bug fix: Don't create lossless buffer pr… f54b7d0 

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2021-07-30 16:24:35 -07:00
Stephen Sun
f1c8a6ab96
[sonic-swss][202012] Update submodule (#8286)
Update submodule for swss

f54b7d0b [Dynamic Buffer Calc][202012]Bug fix: Don't create lossless buffer profile for active ports without speed configured (Azure/sonic-swss#1820)
ac7f5cff Td2: Reclaim buffer from unused ports (Azure/sonic-swss#1830)
04105a4b [debugcounterorch] check if counter type is supported before querying (Azure/sonic-swss#1789)
a67d8af6 [202012][portsorch] fix errors when moving port from one lag to another. (Azure/sonic-swss#1819)
2021-07-30 02:49:40 -07:00
vdahiya12
5651977f65
[sonic-utilities] submodule update (#8284)
This PR updates the following commits

a9606fb [show] fix show muxcable metrics <port> for sorted output (#1731)
7355016 [minigraph][port_config] Use imported config.main and add conditional patch (#1728)
cc1d6e4 [configlet] Python3 compatible syntax for extracting a key from the dict (#1721)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-07-29 07:58:07 -07:00
mssonicbld
cdbcf7da47
[ci/build]: Upgrade SONiC package versions (#8256) 2021-07-28 08:44:24 +00:00
Qi Luo
9642ea0bb9
[sonic-swss-common] Update submodule (#8272)
Includes below commits
```
bf8c832 2021-07-22 | Fix DBInterface blocking operations (#505) (HEAD -> 202012, origin/202012) [Qi Luo]
0e9385f 2021-04-21 | [swig] Implement SonicV2Connector.hmset() (#480) [Qi Luo]
76be49f 2021-07-25 | Modify the hardcode separator ":" to variable. (#473) [PJHsieh]
142ae3c 2021-06-23 | Fix config prompt question issue (#500) [xumia]
e7bebe1 2021-06-14 | Fix repo reference issue (#487) [xumia]
```
2021-07-28 01:27:15 -07:00
Sujin Kang
a8a6d40a14
[Submodule update:202012] sonic-platform-common, sonic-platform-daemons (#8262)
sonic-platform-daemons:
* c90bb29 [202012] Refactor Pcied and add unittest (Azure/sonic-platform-daemons#199)

sonic-platform-common:
* 9a59e19 Revert "Unifying the platform api for get_pcie_aer_stats with PcieBase (Azure/sonic-platform-common#197)" (Azure/sonic-platform-common#207)
* d35960b Revert "Revert "Unifying the platform api for get_pcie_aer_stats with PcieBase (Azure/sonic-platform-common#197)" (Azure/sonic-platform-common#207)" (Azure/sonic-platform-common#210)
2021-07-27 03:49:34 -07:00
DavidZagury
45e100b61b [Mellanox][pcied] Ignore bus on pcie.yaml for Mellanox switches (#8063)
Why I did it
BIOS upgrade on rare cases cannot guarantee bus value remain the same on every BIOS release. Ignoring this field in order for pcied not to fail but still verify device id in a different way. The solution is future proof and will not require changes in code when new BIOS version is available

How I did it
Since bus is not a fixed value (it is determined by the bios version) we are ignoring this field, and instead checking if there is a device that match on all other fields that and in addition has a matching device id.

How to verify it
Verify no errors or failures in pcied on different BIOS version with the same code base.
2021-07-27 10:46:31 +00:00
Christian Svensson
84dcc9d086 [DellEmc] Fix port lanes for 10G ports on alternative S5232 SKUs (#8208)
Backport the fix (444cede11) that was made for the default SKU to the alternative SKUs.

Signed-off-by: Christian Svensson <blue@cmd.nu>
2021-07-27 05:14:33 +00:00
Vivek Reddy
67202cc2bb autorestart inside restapi docker is disabled (#8006)
Fix issue with critical process in the restapi docker restarting immediately after getting killed
Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
2021-07-27 05:14:28 +00:00
Dror Prital
be6cd44ddf Update SDK\FW to version 4.4.3222\2008.3224 (#8247)
*Update SDK\FW Version to 4.4.3222\2008.3224.

Signed-off-by: Dror Prital <drorp@nvidia.com>
2021-07-26 11:05:29 -07:00
jostar-yang
4eab1514ec
[AS5835-54X] Support system-health and remove extra code (#8137)
Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
2021-07-24 18:35:06 -07:00
mssonicbld
814865b2c5
[ci/build]: Upgrade SONiC package versions (#8206) 2021-07-24 12:27:11 +00:00
Wirut Getbamrung
d191dcd2e9
[device/celestica]: Add thermalctld support on Haliburton platform APIs (#6493) (#8217)
- Why I did it

The thermalctld daemon on the Pmon docker requires support from the thermal manager API
- How I did it
Cherry picked from : cfda77b
Removed the old function for detecting a faulty fan.
Removed the old function for detecting excess temperature.
Implement thermal_manager APIs based on ThermalManagerBase
Implement thermal_conditions APIs based on ThermalPolicyConditionBase
Implement thermal_actions APIs based on ThermalPolicyActionBase
Implement thermal_info APIs based on ThermalPolicyInfoBase
Add thermal_policy.json

- How to verify it
Check the fan speed during temperature changes.
Examine events that will occur after the temperature has exceeded the threshold.
Check for events that will occur after the fan is removed or the fan is not working properly.

- Which release branch to backport (provide reason below if selected)
 202012
2021-07-23 06:16:22 -07:00
Shilong Liu
a90280faa5
Add auto-version-upgrade for arm image (#8244) 2021-07-22 19:39:56 +08:00
Shilong Liu
6d24cd6c92
Add reproducible build for armhf and arm64 related versions. (#8224)
* Add version for 202012 branch
2021-07-22 12:31:55 +08:00
Stepan Blyshchak
7eb6abdc7b
[hostcfgd] differentiate between UnitFileState and UnitFilePreset (#8169) (#8228)
It can be that service is not enabled but UnitFilePreset=enabled (case
for Application Extension):

```
    Loaded: loaded (/lib/systemd/system/cpu-report.service; disabled; vendor preset: enabled)
```

This makes existing logic skip enabling the service.

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2021-07-21 01:13:30 -07:00
Renuka Manavalan
91f611157a
cherry-pick PR #8158 & PR #8205 into 202012 (#8235) 2021-07-20 20:52:33 -07:00
tomer-israel
13a62666d9 [WARM-REBOOT] fix issue of watchdog on simx when executing warm-reboot command (#8132)
- Why I did it
to prevent python exception error when executing warm-reboot command on mellanox simulator platform

- How I did it
return None on the watchdog python script on cases that watchdog file is not exist

- How to verify it
warm-reboot is running well without the python error. error message will appear on log on these cases.
in order to avoid this error message we can simulate the watchdog on mellanox simulator platform
2021-07-20 10:18:17 +00:00
vmittal-msft
4b5284858a Updated SONIC buffer pool settings to accomodate SAI adjustment for Arista-7050CX3-32S-C32 (#8159) 2021-07-20 10:18:17 +00:00
Wirut Getbamrung
61fc86d83a [device/celestica]: Add thermalctld support on Haliburton platform APIs (#6493)
- Removed the old function for detecting a faulty fan.
- Removed the old function for detecting excess temperature.
- Implement thermal_manager APIs based on ThermalManagerBase
- Implement thermal_conditions APIs based on ThermalPolicyConditionBase
- Implement thermal_actions APIs based on ThermalPolicyActionBase
- Implement thermal_info APIs based on ThermalPolicyInfoBase
- Add thermal_policy.json
2021-07-20 09:04:27 +00:00
Shilong Liu
21927ec941
Add some versions for build of sonic-slave-stretch on armhf and arm64 arch. (#8221) 2021-07-20 11:23:28 +08:00
Qi Luo
01efb5454e
[sonic-utilities] Update submodule (#8196)
Includes below commits
```
d19829c 2021-07-16 | Revert "[minigraph][port_config] Consume port_config.json while reloading minigraph (#1705)" [Guohan Lu]
cd1f6e6 2021-07-15 | Reworked IP validation in "config interface ip add/remove" command (#1709) [Andriy Kokhan]
66c34c0 2021-07-15 | [minigraph][port_config] Consume port_config.json while reloading minigraph (#1705) [Blueve]
```
2021-07-17 04:19:01 -07:00
mssonicbld
763fcd7eeb
[ci/build]: Upgrade SONiC package versions (#8199) 2021-07-16 14:34:02 +00:00
Neetha John
8acb206778
[202012] [minigraph] Update parsing logic for Storage backend devices (#8004)
Backport #7944 

#### Why I did it
The current logic generates 'VLAN_SUB_INTERFACE' table if the device type is backend and cluster name contains 'str'. This is not a reliable method to determine a storage backend device

#### How I did it
Updated the logic to generate 'VLAN_SUB_INTERFACE' table if any of the following conditions hold true
  1. device is of type backend and ResourceType attribute is None
  2. device is of type backend and ResourceType attribute contains "Storage"
  3. device is of type backend and graph contains "Subinterface" section

Also updated the logic to set "is_storage_device" to True
  1. for Backend, if any of the above conditions hold true
  2. for Frontend, if ResourceType attribute contains "Storage"

#### How to verify it
Added new tests to verify the code changes and built sonic_config_engine-1.0-py3-none-any.whl successfully
2021-07-15 17:33:07 -07:00
mssonicbld
b1728187be
[ci/build]: Upgrade SONiC package versions (#8163) 2021-07-15 14:57:14 +00:00
Blueve
762847c2cf [port_config] Introduce ad-hoc mport_config.json file (#8066)
Signed-off-by: Jing Kan jika@microsoft.com
2021-07-15 12:06:47 +00:00
jusherma
acc0e6b11b [build]: Allow build-time specification of alternative docker registries (#8134)
Why I did it
Allows users to host their own local docker registries and utilize them via the REGISTRY_SERVER and REGISTRY_PORT environmental variables

How I did it
Only set REGISTRY_SERVER and REGISTRY_PORT in rules/config if they are unset.

How to verify it
Export environmental variables REGISTRY_SERVER and REGISTRY_PORT to an alternative docker registry. Export the environmental variable ENABLE_DOCKER_BASE_PULL to y.
Ensure the required sonic-slave docker images are not present locally, but are available in the docker registry
Execute make init and make configure
Confirm that the appropriate docker images were pulled from the appropriate docker registry, and not built locally
2021-07-15 12:06:43 +00:00
lguohan
1d3939b7fe
[submodule]: update sonic-platform-common (#8178)
* 063e915 2021-06-15 | [CI] sonic-config-engine now depends on SONiC YANG packages (#198) (HEAD, origin/202012) [Joe LeVeque]
* 2d36a79 2021-07-13 | Fix Xcvrd crash due to invalid key access in type_of_media_interface, host_electrical_interface, connector_dict (#206) [Prince George]
* 67b8a77 2021-06-18 | Fix decode error when parsing EEPROM fields (#199) [Aravind Mani]
* 238d76b 2021-06-17 | Unifying the platform api for get_pcie_aer_stats with PcieBase (#197) [Sujin Kang]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-07-14 11:34:46 -07:00
gechiang
514f760793
[202012] BRCM SAI 4.3.3.9 Changes for ISSU support and Dual ToR fixes (#8179) 2021-07-14 10:36:15 -07:00
lguohan
90c0dcf9e0
[submodule]: update sonic-platform-daemons (#8180)
* 664f0e2 2021-07-14 | [xrcvd]: Removed undefined symbol 'sfp_status_helper' (#204) (HEAD, origin/202012) [Prince George]
* 1b2d016 2021-06-16 | [CI] sonic-config-engine now depends on SONiC YANG packages (#194) [Joe LeVeque]
* 1cf5996 2021-07-14 | Introduce mgmtinit delay after transceiver module insertion (#201) [Prince George]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-07-14 08:07:37 -07:00
Guohan Lu
faf2cc2dac [submodule]: update sonic-linux-kernel
* deb716f 2021-07-14 | [Marvell] CPU1 failure on continuous reboot  (#228) (HEAD, origin/202012) [Rajkumar-Marvell]

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-07-14 00:32:23 -07:00
DavidZagury
cf33a50c57
[sonic-utilities] Update submodule (#8168)
Update:
> 2ca493b 2021-07-13 create sniffer folder if not exist (Azure/sonic-utilities#1659) 
> 1695104 2021-07-07 [show priority-group drop counters] Remove backup with cached PG drop counters after 'config reload' (Azure/sonic-utilities#1679) 
> e99a3c5 2021-07-07 [show][config] support for interface alias for muxcable commands (Azure/sonic-utilities#1699)
2021-07-14 00:11:26 -07:00
Qi Luo
30e9c0e7d3
[sonic-snmpagent]: Advance submodule (#8176)
Includes below commits
```
946e5cf 2021-07-12 | Fix: SonicV2Connector behavior change: get_all will return empty dict if (#226) [Qi Luo]
```
2021-07-14 00:07:15 -07:00
Arun Saravanan Balachandran
e01a5f86c0 DellEMC S6100: Determine pcie.yaml revision based on firmware (#7875)
Why I did it
To determine the revision of the pcie.yaml to be used based on BIOS version in DellEMC S6100 platform.

Depends on: Azure/sonic-platform-common#195

How I did it
Added two revisions of pcie.yaml pcie_1.yaml and pcie_2.yaml
Included a platform-specific Pcie class to provide the revision of the pcie.yaml to be used by pcieutil/pcied.
How to verify it
Execute pcieutil check (Azure/sonic-utilities#1672) command and verify the list of PCIe devices displayed.
Logs: UT_logs.txt
2021-07-14 06:34:29 +00:00
sandycelestica
169af8ddab [celestica]: Fix E1031 udev rules not work for sonic os first boot after be installed (#7043)
Use udevadm to trigger the udev rules on the first boot

How to verify:

- Connect C0 with E1031;
- Install or upgrade the sonic os to 202012 branch;
- When access to sonic check if /dev/C0-1 to /dev/C0-48 are existed.
2021-07-14 06:34:24 +00:00
shlomibitton
da7f596a55
[hostcfgd] [202012] Enhance hostcfgd to check feature state and run less system calls (#8157)
Currently hostcfgd is implemented in a way each feature which is enabled/disabled triggering execution of systemctl enable/unmask commands which eventually trigger 'systemctl daemon-reload' command.
Each call like this cost 0.6s and overall add a overhead of ~12 seconds of CPU time.
This change will verify the desired state of a feature and the current state of this feature on systemd and trigger a system call only when must.
What is changed: Check each feature status on systemd before executing a system call to enable and reload the systemctl daemon.
How to verify: Build an image with this change and observe less system calls are executed.
2021-07-13 14:57:17 -07:00
Kebo Liu
86d64d2fef mount 'mellanox' folder only instead of create each sub folder (#7830)
#### Why I did it

Following the discussion in another PR https://github.com/Azure/sonic-buildimage/pull/7708#discussion_r642933510 , since there will be multi subfolders under **/var/log/mellanox**, so we agreed to only mount this folder and the subfolders will be created afterward on demand.  

#### How I did it

during the syncd docker creation, only mount  folder **/var/log/mellanox**

#### How to verify it

build an Mellanox image and verify the related folder on the host and docker side.
2021-07-13 11:36:56 +00:00