Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mellanox] Refactor platform API to remove dependency on database #5468

Merged
merged 2 commits into from
Sep 26, 2020

Conversation

keboliu
Copy link
Collaborator

@keboliu keboliu commented Sep 25, 2020

This PR has a dependency on sonic-net/sonic-platform-common#121

- Why I did it

  • Platform API implementation using sonic-cfggen to get platform name and SKU name, which will fail when the database is not available.
  • Chassis name is not correctly assigned, it shall be assigned with EEPROM TLV "Product Name", instead of SKU name
  • Chassis model is not implemented, it shall be assigned with EEPROM TLV "Part Number"

- How I did it

  1. Chassis
  • Get platform name from /host/machine.conf
  • Remove get SKU name with sonic-cfggen
  • Get Chassis name and model from EEPROM TLV "Product Name" and "Part Number"
  • Add function to return model
  1. EEPROM
  • Add function to return product name and part number
  1. Platform
  • Init EEPROM on the host side, so also can get the Chassis name model from EEPROM on the host side.

- How to verify it

  • Check whether platform API can still work when stop database service
  • Check whether daemons calling platform API are still work well.
  • Check whether Chassis name and model are as expected.

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

  • 201811
  • 201911
  • 202006

- Description for the changelog

- A picture of a cute animal (not mandatory but encouraged)

@lgtm-com
Copy link

lgtm-com bot commented Sep 25, 2020

This pull request introduces 1 alert and fixes 2 when merging 8dfa8ad into 13cec4c - view on LGTM.com

new alerts:

  • 1 for Unused import

fixed alerts:

  • 2 for Testing equality to None

@jleveque
Copy link
Contributor

sonic-net/sonic-platform-common#121 has merged. Submodule update PR here: #5470

@lgtm-com
Copy link

lgtm-com bot commented Sep 26, 2020

This pull request fixes 2 alerts when merging b038dab into ccc3d75 - view on LGTM.com

fixed alerts:

  • 2 for Testing equality to None

@jleveque jleveque merged commit 0a19cb4 into sonic-net:master Sep 26, 2020
abdosi pushed a commit that referenced this pull request Oct 6, 2020
)

**- Why I did it**
- Platform API implementation using sonic-cfggen to get platform name and SKU name, which will fail when the database is not available.
- Chassis name is not correctly assigned, it shall be assigned with EEPROM TLV "Product Name", instead of SKU name
- Chassis model is not implemented, it shall be assigned with EEPROM TLV "Part Number"

**- How I did it**

1. Chassis

> - Get platform name from /host/machine.conf
> - Remove get SKU name with sonic-cfggen
> - Get Chassis name and model from EEPROM TLV "Product Name" and "Part Number"
> - Add function to return model

2. EEPROM

> - Add function to return product name and part number

3. Platform

> - Init EEPROM on the host side, so also can get the Chassis name model from EEPROM on the host side.
@keboliu keboliu deleted the emove-platform-dependency branch January 2, 2021 01:26
santhosh-kt pushed a commit to santhosh-kt/sonic-buildimage that referenced this pull request Feb 25, 2021
…nic-net#5468)

**- Why I did it**
- Platform API implementation using sonic-cfggen to get platform name and SKU name, which will fail when the database is not available.
- Chassis name is not correctly assigned, it shall be assigned with EEPROM TLV "Product Name", instead of SKU name  
- Chassis model is not implemented, it shall be assigned with EEPROM TLV "Part Number"

**- How I did it**

1. Chassis

> - Get platform name from /host/machine.conf
> - Remove get SKU name with sonic-cfggen
> - Get Chassis name and model from EEPROM TLV "Product Name" and "Part Number" 
> - Add function to return model

2. EEPROM

> - Add function to return product name and part number

3. Platform

> - Init EEPROM on the host side, so also can get the Chassis name model from EEPROM on the host side.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants