[Proposal] Regions on an eeprom to serve as logical eeproms #774
+177
−8
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.
Summary
New platform_manager requirements prohibit the an eeprom thats already being utilized as the pmunit idprom from also acting as the chassis-eeprom. This introduces a new challenge for platforms with hardware that doesn't have additional eeproms to spare as a chassis-eeprom.
Solution
The physical eeprom itself can be abstracted and instead platform manager & weutil will work with eeprom regions where each region is 512 Bytes.
We redefine each eeprom created to be understood as an eeprom region. This allows multiple eeproms to be created against the same physical device as long as they meet these conditions:
isEeprom=truemust containEEPROMin the pmUnitScopedName. A condition already met by all configs as of today. This is to help distinguish between actual duplicate deviecs and eeprom regions.I have implemented this idea with these goals in mind:
Test Plan
A GLATH05A-64O system was used in the testing #462
The same SMB eeprom had two regions programmed
Platform Manager
NO ERROS
platform_manager_hw_test
Weutil
weutil hw_test