Skip to content

Conversation

@Nieuwejaar
Copy link
Contributor

The external omicron APIs related to link creation changed recently, breaking the CLI. This PR just adapts to those changes to restore the previous functionality, but does not add and LLDP-related functionality.

Since the last CLI update, a BGP-related API was also added. I think I've got that plumbed in as well.

The link-related changed were tested by @elaine-oxide in a4x2.

I've added Ry as a reviewer to verify the BGP-related stuff, and Will because he's been by far the most active contributor recently. If there is somebody else I should pull in, please let me know.

@wfchandler
Copy link
Collaborator

Thanks @Nieuwejaar, just one minor suggestion.

@rcgoodfellow
Copy link
Contributor

Since multiple changes need to be picked up here, maybe it would be simplest just to not do the bgp suff here and have this PR as a branch from

@Nieuwejaar
Copy link
Contributor Author

Since multiple changes need to be picked up here, maybe it would be simplest just to not do the bgp suff here and have this PR as a branch from

I guess I can just wait for you to push that, and I'll rebase this on top of it.

Copy link
Collaborator

@ahl ahl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

Comment on lines +16207 to +16240
"chassis_id": {
"nullable": true,
"description": "The LLDP chassis identifier TLV.",
"type": "string"
},
"enabled": {
"description": "Whether or not LLDP is enabled.",
"type": "boolean"
},
"lldp_config": {
"link_description": {
"nullable": true,
"description": "A reference to the LLDP configuration used. Must not be `None` when `enabled` is `true`.",
"allOf": [
{
"$ref": "#/components/schemas/NameOrId"
}
]
"description": "The LLDP link description TLV.",
"type": "string"
},
"link_name": {
"nullable": true,
"description": "The LLDP link name TLV.",
"type": "string"
},
"management_ip": {
"nullable": true,
"description": "The LLDP management IP TLV.",
"type": "string",
"format": "ip"
},
"system_description": {
"nullable": true,
"description": "The LLDP system description TLV.",
"type": "string"
},
"system_name": {
"nullable": true,
"description": "The LLDP system name TLV.",
"type": "string"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this kind of documentation isn't clarifying or helpful to users; I'd suggest we either delete it or replace it with something more explanatory.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. None of this is really meant to be exposed to users yet, as it isn't plumbed through on the back end, but it got swept up in the auto-generated API. My hope/expectation is that this part of the LLDP support will be part of R11.

speed: self.speed,
//TODO not fully plumbed on the back end yet.
lldp: LldpServiceConfigCreate {
lldp: LldpLinkConfigCreate {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps lldp doesn't need to be a required field?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it doesn't. We can easily construct a disabled Default on the server side.

@Nieuwejaar
Copy link
Contributor Author

Closing, as this has been subsumed by #813.

@Nieuwejaar Nieuwejaar closed this Aug 28, 2024
@Nieuwejaar Nieuwejaar deleted the lldp branch January 24, 2025 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants