Commit Graph

183 Commits

Author SHA1 Message Date
Santhosh Kumar T
2081e6f45d [DellEMC] Master: S6100: SSD upgrade status: Moving from smartctl to iSMART (#12784)
Why I did it
smartctl tool is available only in PMON docker. Hence, the tool may be not accessible incase PMON docker goes down.
Using iSMART_64 tool to fetch the SSD firmware version and device model information.

How I did it
Replacing smartctl with iSMART_64.
2023-01-12 23:30:02 +00:00
Aravind Mani
37d34ddd34
DellEMC Z9332f: Fix SFP issue (#11819)
* Update sfp

* Update sfp

* Update sfp.py
2022-09-07 09:35:59 -07:00
Arun Saravanan Balachandran
c1712b8c9a
[202012] DellEMC: S6000, S6100, Z9332f - Add capabilities fields in platform.json (#11772) 2022-08-31 09:06:47 -07:00
Santhosh Kumar T
7a7c363548
[DellEMC] S6100 Platform Service optimization (#10989)
Why I did it
- To reduce rc.local script execution time.
- Time consumption of rc.local script is around 22 seconds in S6100.
How I did it
- Moving platform-modules-s6100.service and s6100-lpc-monitor.service asynchronous to rc.local script.
How to verify it
- Load the image with the changes and the time consumption of rc.local script reduced from 22 seconds(approx.) to 14 seconds(approx.) during warm-/fast-reboot upgrades.
- sonic-mgmt test results.
2022-06-23 12:58:11 -07:00
Arun Saravanan Balachandran
8981ae5cae
[202012][cherry-pick] DellEMC: Z9332f - Component API Fixes (#10997) 2022-06-03 10:27:39 -07:00
Arun Saravanan Balachandran
33c1ba1b2c [DellEMC S5248f] Remove duplicate ipmihelper.py (#10455)
Why I did it
To remove the ipmihelper.py in S5248f directory to prevent the image label being marked 'dirty', due to the file being replaced by the ipmihelper.py in common folder during build.

How I did it
Remove ipmihelper.py in S5248f directory.

How to verify it
Build a broadcom image and verify that the tracked files are not modified.

Which release branch to backport (provide reason below if selected)
 201811
 201911
 202006
 202012
 202106
 202111
Description for the changelog
DellEMC S5248f : Remove duplicate ipmihelper.py

Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)
2022-05-27 17:28:56 +00:00
Aravind Mani
9caf12859d
DellEMC: S52xx Reboot cause fix (#10783) 2022-05-23 21:03:11 -07:00
Aravind Mani
cceef8e36d
Dell S6100: Addition of SFP type_abbrv_name field (#10846)
* Dell S6100: Addition of SFP type_abbrv_name field

* Update sfp.py

* Update sfp.py

Co-authored-by: Aravind Mani <aravind.m1@dell.com>
2022-05-19 12:14:53 -07:00
Guohan Lu
8c2e04690e Revert "DellEMC: Z9332f - Component API Fixes (#10187)"
This reverts commit 8a38da94d5.
2022-04-02 14:08:28 -07:00
Arun Saravanan Balachandran
8a38da94d5 DellEMC: Z9332f - Component API Fixes (#10187) 2022-03-21 22:17:36 +00:00
Santhosh Kumar T
e83955599d
[202012] Refactoring DELL platform init to reduce rc.local processing time (#10171)
Why I did it
To reduce the processing time of rc.local, refactoring s6100 platform initialization.
Fixing [warm-upgrade][202012] Slow DELL platform init in rc.local causes lacp-teardown #10150
How I did it
On branch 202012-s6100-rclocalChanges to be committed:  (use "git restore --staged <file>..." to unstage)
        modified:   ../../../../files/image_config/platform/rc.local        
	modified:   ../debian/platform-modules-s6100.install        
	modified:   scripts/fast-reboot_plugin
        modified:   scripts/s6100_platform.sh
        renamed:    scripts/s6100_i2c_enumeration.sh -> scripts/s6100_platform_startup.sh
        renamed:    systemd/s6100-i2c-enumerate.service -> systemd/s6100-platform-startup.service
2022-03-10 18:51:07 -08:00
Aravind Mani
53f2142928
Dell S6100: Fix xcvrd fix (#10123) 2022-03-04 16:34:06 -08:00
Aravind Mani
90fb01e4ab
DellEMC Z9332f: Fix thermalctld warning logs (#9977) 2022-02-14 22:53:30 -08:00
Santhosh Kumar T
7137e3f949 [Dell] S6000 I2C not responding to certain optics (#8736)
* [Dell] S6000 I2C not responding to certain optics

* Revising return states

* Moved lock file from /var/run/platform_cache to /etc/sonic
2021-10-27 03:54:18 +00:00
Arun Saravanan Balachandran
4139e06260 DellEMC: Z9332f - Component firmware upgrade platform API implementation (#8973) 2021-10-22 17:16:49 +00:00
Aravind Mani
c71a263894 DellEMC: Fix z9332f low power mode issue (#8693) 2021-10-12 09:23:49 +00:00
Santhosh Kumar T
5921ba58b6
DellEMC S6100 SSD Monitor Porting Changes in 202012 (#8626)
Why I did it
To monitor the SSD health condition in DellEMC S6100 platform post upgrade.

A daemon is introduced to monitor the SSD every one hour.

To check for SSD status at boot time and at the time of cold-reboot.

All these changes are supported only for newer SSD firmware.

Porting changes from 201911 branch

Added a platform_reboot_pre_check script to prevent cold-reboot based on SSD status.
Depends on Azure/sonic-utilities#1788
DO NOT MERGE UNTIL ABOVE PR IS MERGED

How I did it
On branch s6100_ssd_202012
Changes to be committed:
(use "git restore --staged ..." to unstage)
modified: platform/broadcom/sonic-platform-modules-dell/debian/platform-modules-s6100.install
new file: platform/broadcom/sonic-platform-modules-dell/s6100/scripts/iSMART_64
new file: platform/broadcom/sonic-platform-modules-dell/s6100/scripts/platform_reboot_pre_check
modified: platform/broadcom/sonic-platform-modules-dell/s6100/scripts/s6100_platform.sh
new file: platform/broadcom/sonic-platform-modules-dell/s6100/scripts/s6100_ssd_mon.sh
new file: platform/broadcom/sonic-platform-modules-dell/s6100/scripts/s6100_ssd_upgrade_status.sh
new file: platform/broadcom/sonic-platform-modules-dell/s6100/scripts/soft-reboot_plugin
new file: platform/broadcom/sonic-platform-modules-dell/s6100/systemd/s6100-ssd-monitor.service
new file: platform/broadcom/sonic-platform-modules-dell/s6100/systemd/s6100-ssd-monitor.timer
new file: platform/broadcom/sonic-platform-modules-dell/s6100/systemd/s6100-ssd-upgrade-status.service
2021-09-21 15:16:57 -07:00
Arun Saravanan Balachandran
396a84752b DellEMC: Z9332f - Platform API implementation (#8787) 2021-09-20 02:28:14 +00:00
Arun Saravanan Balachandran
f44446daf8 DellEMC Z9332f: Platform API - Update maximum fan speed (#8766) 2021-09-17 08:24:24 +00:00
Aravind Mani
95f54cddf6 DellEMC: Z9332f fix platform bugs (#8777)
* DellEMC: Z9332f fix platform bugs

* update sfp.py
2021-09-17 08:24:19 +00:00
Arun Saravanan Balachandran
04fd5ed3ad DellEMC Z9332f: Platform API - Remove EEPROM Vendor Extension decoding (#8716) 2021-09-13 03:27:13 +00:00
Aravind Mani
954f0ded92 DellEMC: Z9332f fix reboot cause issue (#8640)
Why I did it
Power cycle test case fails for Z9332f in sonic-mgmt framework(#8605).

How I did it
Modified the platform API to return expected strings.

How to verify it
Power cycle the device and verify the reboot reason.
Run sonic-mgmt test_reboot script.
2021-09-13 03:25:37 +00:00
Aravind Mani
4629c302c0
<202012> Dell S6100: Monitor serial getty service (#8407)
Why I did it
serial-getty service exited in Dell S6100 device randomly.

How I did it
Added serial-getty to monit services.

How to verify it
Stop serial-getty in ssh session and check whether the service restarts or not.
2021-08-10 11:23:22 -07:00
Aravind Mani
7be487bcc8 DellEMC: Z9332f platform API changes (#8258)
Why I did it
platform test suite failed for few API's in DellEMC Z9332f platform.

How I did it
Modified the API's to return the expected values in the script.

How to verify it
Run platform test suite after making the changes.
2021-08-07 12:43:40 +00: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
arunlk-dell
a1268b34f5 DellEMC: S5248F - Platform API 2.0 implementation (#7930)
#### Why I did it
Support API 2.0 for S5248F platform

#### How I did it
Making changes to S5248F platform specific directory

Co-authored-by: Arun LK <Arun_L_K@dell.com>
2021-06-29 07:19:52 +00:00
Aravind Mani
866df47add DellEMC: Fix Z9332f QSFP-DD DOM issue (#7983)
#### Why I did it
QSFP-DD DOM RX/TX values are not retrieved properly.

#### How I did it
Defined DOM offsets as defined in CMIS 4 spec.
2021-06-25 22:31:02 +00:00
Guohan Lu
1f1718ace6 Revert "[DellEMC] Z9332: Change in i2c mapping (#7797)"
This reverts commit 31a8b1c87a.
2021-06-24 12:00:35 -07:00
Aravind Mani
b577b32ddd DellEMC: Z9332f update PSU threshold (#7832)
#### Why I did it
Updated Z9332f PSU threshold values.

#### How I did it
Fetch the PSU voltage and temperature threshold via ipmitool
2021-06-21 09:56:02 +00:00
Aravind Mani
4123b21a79 DellEMC: Update Z9332f reboot reason (#7876)
#### Why I did it
Updated DellEMC Z9332f reboot reason

#### How I did it
Edited chassis.py::get_reboot_cause() to update the reboot reason.
2021-06-21 09:55:43 +00:00
Santhosh Kumar T
31a8b1c87a [DellEMC] Z9332: Change in i2c mapping (#7797)
#### Why I did it
- After [sonic-linux-kernel#177](https://github.com/Azure/sonic-linux-kernel/pull/177)  changes, the I2C mux channels of Baseboard and Switchboard CPLDs are moved from i2c-4 and i2c-5 to i2c-36 and i2c-37 respectively.
- This caused QSFP driver initialization of i2c-36 to i2c-41 to fail causing the ports from Ethernet208 to Ethernet248 fail.

#### How I did it
- The fix to this problem is to change the order of QSFP driver initialization to I2C mux channels.
- Instead of the order i2c-10 to i2c-41, the order i2c-4 to i2c-35 is being utilized.
- Also, need to change the i2c-mux-channel number for Baseboard CPLD and switchboard CPLD in scripts to access them.
2021-06-09 08:27:19 +00:00
Aravind Mani
63354c0daa DellEMC: Z9332f fix SFP issues (#7677)
#### Why I did it
xcvrd crashes when the application advertisement capability flag is not seen for few transceivers.

#### How I did it
Initialize the additional application capability in dunder init
2021-05-24 22:27:26 +00:00
Aravind Mani
6d732b5857 Dell S6000,S6100 system health changes (#6788)
Needed support for platform system health in Dell platforms
2021-05-19 17:18:44 +00:00
Aravind Mani
cf36209ae1 DellEMC: Fix Z9332f xcvrd crash (#7544) 2021-05-10 15:56:59 -07:00
Aravind Mani
11aa05b1d3
[202012][DellEMC] Z9332f PSU data is not updated in state DB (#7543)
#### Why I did it

- PSU data is loaded into state DB.
   Following errors are seen in syslogs:
  "Failed to update PSU data - '<=' not supported between instances of 'float' and 'str'"

- Issue is not seen in master image as the PSU API return type is different.

#### How I did it

- Changed the return type in PSU API's.
2021-05-06 11:53:42 -07:00
Aravind Mani
5dc2860d37 DellEMC: Z9332f SFP enhancements (#7457)
#### Why I did it
400G media EEPROM and DOM information are not populated properly in DellEMC Z9332f platform.

#### How I did it
Handled QSFP_DD, QSFP28/QSFP+, SFP+ accordingly based on media type detected.
2021-05-05 13:48:30 -07:00
vpsubramaniam
7d98a3fe47 DellEMC: Z9332F - Watchdog support, add platform.json, new platform API implementation and fixes (#6988)
Incorporate the below changes in DellEMC Z9332F platform:

- Implemented watchdog platform API support
- Implement ‘get_position_in_parent’, ‘is_replaceable’ methods for all device types
- Change return type of SFP methods to match specification in sonic_platform_common/sfp_base.py
- Added platform.json file in device directory.

Co-authored-by: V P Subramaniam <Subramaniam_Vellalap@dell.com>
2021-05-05 13:47:03 -07:00
Aravind Mani
8832c10fb7 [Dell S6100]: Add dell ich driver (#7336)
dell_ich driver was removed as part of #7309 and it is needed for watchdog tickle in S6100 platform.
2021-04-21 14:02:27 -07:00
Aravind Mani
80fdb29957 Dell S6100: Modify transceiver change event from interrupt to poll mode (#7309)
#### Why I did it

- xcvrd crash was seen in latest 201811 images.
- For Dell S6100,API 2.0 uses poll mode while 1.0 was still using interrupt mode.

#### How I did it

- Modified get_transceiver_change_event in 1.0 to poll mode.
2021-04-21 14:01:53 -07:00
Joe LeVeque
88f4c6523d [DellEMC] Ensure concrete platform API classes call base class initializer (#6853)
In preparation for the merging of Azure/sonic-platform-common#173, which properly defines class and instance members in the Platform API base classes.

It is proper object-oriented methodology to call the base class initializer, even if it is only the default initializer. This also future-proofs the potential addition of custom initializers in the base classes down the road.
2021-03-04 21:23:05 +00:00
Arun Saravanan Balachandran
3d52e3f69a DellEMC: S5232, Z9264, Z9332 - Platform API fixes (#6842)
#### Why I did it

To incorporate the below changes in DellEMC S5232, Z9264, Z9332 platforms.

- Update thermal high threshold values
- Make watchdog API Python2 and Python3 compatible
- Fix LGTM alerts
- Z9264: Fix get_change_event timer value

#### How I did it

- Use 'universal_newlines=True' in subprocess.Popen call.
- Change the timeout in 'get_change_event' to milliseconds to match specification in sonic_platform_common/chassis_base.py
2021-03-04 21:23:05 +00:00
rkdevi27
926572ee82 [dell/s6000]: Enable graceful reboot in S6000 (#6835)
The S6000 devices, the cold reboot is abrupt and it is likely to cause issues which will cause the device to land into EFI shell. Hence the platform reboot will happen after graceful unmount of all the filesystems as in S6100.

Moved the platform_reboot to platform_reboot_override and hooked it to the systemd shutdown services as in S6100
2021-03-04 21:23:05 +00:00
Aravind Mani
4893666b1d DellEMC:Fix EEPROM read error (#6736)
#### Why I did it
EEPROM read failure was seen in Dell platforms

#### How I did it
Make python 2/3 compliant API's to fix the issue
2021-03-04 21:23:05 +00:00
Arun Saravanan Balachandran
9f577512f8 Dell S6100: Watchdog - Fix Python3 incompatibility (#6734)
To make watchdog.arm() method python3 compatible in DellEMC S6100.
2021-02-16 15:29:36 -08:00
lguohan
ab03441ce9 [sonic-linux-kernel]: security update to kernel 4.19.152 (#6490)
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-16 15:28:34 -08:00
Aravind Mani
78ad83fe2a [DellEMC Z9332f] Added support for platform system health daemon (#6642) 2021-02-16 15:28:10 -08:00
Joe LeVeque
78bf8159e8 [platform] Update QSFP method name 'parse_qsfp_dom_capability' -> 'parse_dom_capability' (#6695)
**- Why I did it**
PR https://github.com/Azure/sonic-platform-common/pull/102 modified the name of the SFF-8436 (QSFP) method to align the method name between all drivers, renaming it from `parse_qsfp_dom_capability` to `parse_dom_capability`. Once the submodule was updated, the callers using the old nomenclature broke. This PR updates all callers to use the new naming convention.

**- How I did it**

Update the name of the function globally for all calls into the SFF-8436 driver.

Note that the QSFP-DD driver still uses the old nomenclature and should be modified similarly. I will open a PR to handle this separately.
2021-02-05 15:48:30 -08:00
Arun Saravanan Balachandran
0bae3b44ec DellEMC: S6100, S6000 - Enable thermalctld, Platform API implementation and fixes (#6438)
**- Why I did it**

To incorporate the below changes in DellEMC S6100, S6000 platforms.

- S6100, S6000:
    - Enable 'thermalctld'
    - Implement DeviceBase methods (presence, status, model, serial) for Fantray and Component
    - Implement ‘get_position_in_parent’, ‘is_replaceable’ methods for all device types
    - Implement ‘get_status’ method for Fantray
    - Implement ‘get_temperature’, ‘get_temperature_high_threshold’, ‘get_voltage_high_threshold’, ‘get_voltage_low_threshold’ methods for PSU
    - Implement ‘get_status_led’, ‘set_status_led’ methods for Chassis
    - SFP:
        - Make EEPROM read both Python2 and Python3 compatible
        - Fix ‘get_tx_disable_channel’ method’s return type
        - Implement ‘tx_disable’, ‘tx_disable_channel’ and ‘set_power_override’ methods
- S6000:
    - Move PSU thermal sensors from Chassis to respective PSU
    - Make available the data of both Fans present in each Fantray


**- How I did it**

- Remove 'skip_thermalctld:true' in pmon_daemon_control.json
- Implement the platform API methods in the respective device files
- Use `bytearray` for data read from transceiver EEPROM 
- Change return type of 'get_tx_disable_channel' to match specification in sonic_platform_common/sfp_base.py
2021-02-05 15:48:13 -08:00
Danny Allen
bedd05bb43 [DellEMC Z9332f] Remove duplicate ipmihelper.py script (#6536)
Fixes #6445

Because the ipmihelper.py script in the 9332 folder is slightly different than the common one (due to LGTM fixes), when the common one gets copied during build time it causes the workspace/build to become dirty.

Signed-off-by: Danny Allen <daall@microsoft.com>
2021-01-23 21:05:55 -08:00
Aravind Mani
7305b55c80 DellEMC: Z9332f change SFP detection logic (#6261)
- Dynamically change EEPROM driver based on media type.
- Otherwise, EEPROM INFO and DOM INFO might not be fetched properly and will result in erroneous output.
2021-01-09 08:25:58 -08:00