-
Notifications
You must be signed in to change notification settings - Fork 659
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
Add component install-position, install-component and deprecate location #1095
Conversation
No major YANG version changes in commit f01c1fe |
This is an interesting example. |
No, the port to NPU does not map to the It is perhaps and example of why location may not be needed. The port to NPU component relationship is good to represent using the |
Perhaps, but it also shows that the parent-position is not applicable in some cases. In fact, the location leaf in this scenario would be more useful, since the location doesn't have to be directly related to the parent. Just want to make sure you're ok with this (some components may not have a |
I expanded on the description for parent-position. |
@dplore, for clarity, in your example for IOS XR, should the parent-position not be '12' rather than 'NPU1'? |
Yes, thanks for this. I updated the example in the PR description to reflect this. In that particular example, the parent of the PORT is an NPU. The operational use case we are solving for requires a mapping from the PORT to the position in the LINECARD (or CHASSIS in a fixed form factor device). Looking at this physically, both relationships exist; the port is wired to an NPU and NPU also occupies a position in the LINECARD/CHASSIS. So the hierarchy is @SydneyCaulfeild and I discussed and had some ideas on how to resolve this programmatically. I'll let her comment. |
Based on the updated example for IOS XR, it seems that According to the conversation above, my understanding was that the parent-position would not be applicable to a port when the parent is not a linecard module. |
I will still need this new leaf to be applicable even when the parent is not a linecard module. For example, the ports on an Arista have ancestors of I agree this should likely be renamed to To make this leaf more clear, I think we should update the description to say that this leaf is "the relative location of the component within the first ancestor that is x". I believe x could be something like "is an FRU" (perhaps using the Does anyone have any suggestions on which path would be best to describe the ancestor that we want the relative location from? |
I would also like to point out that some components already apply this logic of "use the location of a removable ancestor" in their current For example, in a Cisco 8808, a component of type POWER_SUPPLY is the grandchild of a power tray. Example names: |
Setting this to last call for May 14th to give Oscar time to review. |
Refreshed the PR description. @SydneyCaulfeild please review if it meets your expectations. |
@dplore the PR meets my expectations. Thanks for adding those examples! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like all the open comments have been addressed Darren - happy to approve this one.
|
||
leaf install-position { | ||
type leafref { | ||
path "../name"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this now incorrect according to the description?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for catching this. Yes, it should've remained as a string. I will update it now.
Fixes #1076
Change Scope
location
leaf as it's current usage varies across implementations.install-position
,install-component
which more precisely define where a component is installed into a target index orinstall-position
of a targetinstall-component
.This change is backwards compatible.
The operational use case for
install-position
is: as a hardware replacement technician I want to receive an indication of the location of a replaceable hardware component within some network device physical package (chassis, shelf, linecard, etc). An example subset of the replaceable components in scope could include a chassis, fan, fabric, powersupply , linecard module or transceiver module. The value of the position indication should exactly match some physical label or display on the hardware or if that is not feasible, it should exactly match documentation identifying the available positions on the hardware component(s).Tree view
Platform Implementations
(IOSXR on the 8800 series names linecards including a CPU identifier)