Fix #1774 : Implement ListServices method in ConsulNodeDiscoveryProvider#1776
Open
guoxdxdxd wants to merge 1 commit intodotnetcore:masterfrom
Open
Fix #1774 : Implement ListServices method in ConsulNodeDiscoveryProvider#1776guoxdxdxd wants to merge 1 commit intodotnetcore:masterfrom
guoxdxdxd wants to merge 1 commit intodotnetcore:masterfrom
Conversation
… service listing Implemented a new asynchronous method, ListServices, in the ConsulNodeDiscoveryProvider class. This method returns all CAP services, providing a consistent interface similar to GetNodes, while addressing the lack of direct namespace support in Consul.
Author
|
Fix #1774 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
… service listing
Implemented a new asynchronous method, ListServices, in the ConsulNodeDiscoveryProvider class. This method returns all CAP services, providing a consistent interface similar to GetNodes, while addressing the lack of direct namespace support in Consul.
Description:
This PR fixes the missing implementation of the
ListServicesmethod in theConsulNodeDiscoveryProviderclass. When the Dashboard route/api/list-svc/{namespace}was called, it would throw aNotImplementedExceptionbecauseConsulNodeDiscoveryProviderdid not implement theListServicesmethod, resulting in a 404 error response.By implementing the
ListServicesmethod, the Consul node discovery provider can now correctly return a list of services, maintaining consistent behavior with the Kubernetes node discovery provider.Issue(s) addressed:
NotImplementedExceptioncaused by missingListServicesimplementation inConsulNodeDiscoveryProvider/api/list-svc/{namespace}Changes:
ListServices(string ns = null)method in theConsulNodeDiscoveryProviderclassListServicesmethod internally calls the existingGetNodesmethod to retrieve all CAP servicesnsparameter is passed but not used (consistent with the existing behavior ofGetNodes)Affected components:
src/DotNetCore.CAP.Dashboard/NodeDiscovery/INodeDiscoveryProvider.Consul.cs- AddedListServicesmethod implementation/api/list-svc/{namespace}- Now functions correctlyHow to test:
GET /cap/api/list-svc/{namespace}{namespace}with any value (since Consul doesn't use namespaces)NotImplementedExceptionor return 404 errorsAdditional notes (optional):
ListServicesmethod inK8sNodeDiscoveryProvidernsparameter is not used in the current implementation, but is retained for interface compatibilityChecklist:
Reviewers: