openconfig / kne

Apache License 2.0
214 stars 64 forks source link

Interacting with the Topology Manager #481

Closed yennym3 closed 7 months ago

yennym3 commented 7 months ago

I have observed in the repository

How can I interact with the Topology Manager in the Kubernetes cluster? How could I dynamically discover topologies?
Is it possible to dynamically retrieve the file with which a scenario was created?.

alexmasi commented 7 months ago

https://github.com/openconfig/kne/blob/main/controller/server/main.go implements the controller grpc service (sometimes referred to as the topology manager), this is essentially a grpc server version of the kne_cli using the same implementations and libraries, it exists to enable remote topology management and testing

The in cluster service described in the README does not yet exist, additionally topos are not mutable after creation (including manipulating links).

Calling kne topology services <textproto filepath> will give the full topology proto including output only fields showing all details (in the grpc server the rpc is ShowTopology: https://github.com/openconfig/kne/blob/3698881f26baf2cd38f90542e74164cd8f741df0/proto/controller.proto#L29)

yennym3 commented 7 months ago

https://github.com/openconfig/kne/blob/main/controller/server/main.go implements the controller grpc service (sometimes referred to as the topology manager), this is essentially a grpc server version of the kne_cli using the same implementations and libraries, it exists to enable remote topology management and testing

The in cluster service described in the README does not yet exist, additionally topos are not mutable after creation (including manipulating links).

Calling kne topology services <textproto filepath> will give the full topology proto including output only fields showing all details (in the grpc server the rpc is ShowTopology:

https://github.com/openconfig/kne/blob/3698881f26baf2cd38f90542e74164cd8f741df0/proto/controller.proto#L29

)

Thank you for the response @alexmasi . Regarding the in-cluster service not yet implemented, Is it currently in development?, or is it planned for the future, I'm interested in the roadmap for this feature.

alexmasi commented 7 months ago

This was planned for 2023 but unfortunately was pushed to 2024. Open source contributions are welcome for this feature, the first step on my end would be providing a design doc.