updated config service grpc to return default templates and config, added logic to check for local custom templates
This commit is contained in:
parent
7b5df11dc7
commit
a4f3abf27c
7 changed files with 51 additions and 54 deletions
|
@ -13,10 +13,10 @@ import netaddr
|
|||
from core import utils
|
||||
from core.api.grpc import core_pb2, core_pb2_grpc
|
||||
from core.api.grpc.configservices_pb2 import (
|
||||
GetConfigServiceDefaultsRequest,
|
||||
GetConfigServiceDefaultsResponse,
|
||||
GetConfigServicesRequest,
|
||||
GetConfigServicesResponse,
|
||||
GetConfigServiceTemplatesRequest,
|
||||
GetConfigServiceTemplatesResponse,
|
||||
GetNodeConfigServiceRequest,
|
||||
GetNodeConfigServiceResponse,
|
||||
GetNodeConfigServicesRequest,
|
||||
|
@ -1094,11 +1094,11 @@ class CoreGrpcClient:
|
|||
request = GetConfigServicesRequest()
|
||||
return self.stub.GetConfigServices(request)
|
||||
|
||||
def get_config_service_templates(
|
||||
def get_config_service_defaults(
|
||||
self, name: str
|
||||
) -> GetConfigServiceTemplatesResponse:
|
||||
request = GetConfigServiceTemplatesRequest(name=name)
|
||||
return self.stub.GetConfigServiceTemplates(request)
|
||||
) -> GetConfigServiceDefaultsResponse:
|
||||
request = GetConfigServiceDefaultsRequest(name=name)
|
||||
return self.stub.GetConfigServiceDefaults(request)
|
||||
|
||||
def get_node_config_service(
|
||||
self, session_id: int, node_id: int, name: str
|
||||
|
|
|
@ -13,10 +13,10 @@ from grpc import ServicerContext
|
|||
from core.api.grpc import core_pb2, core_pb2_grpc, grpcutils
|
||||
from core.api.grpc.configservices_pb2 import (
|
||||
ConfigService,
|
||||
GetConfigServiceDefaultsRequest,
|
||||
GetConfigServiceDefaultsResponse,
|
||||
GetConfigServicesRequest,
|
||||
GetConfigServicesResponse,
|
||||
GetConfigServiceTemplatesRequest,
|
||||
GetConfigServiceTemplatesResponse,
|
||||
GetNodeConfigServiceRequest,
|
||||
GetNodeConfigServiceResponse,
|
||||
GetNodeConfigServicesRequest,
|
||||
|
@ -1482,20 +1482,20 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
self.validate_service(request.name, context)
|
||||
service = node.config_services.get(request.name)
|
||||
if service:
|
||||
config = service.get_config()
|
||||
|
||||
config = service.render_config()
|
||||
else:
|
||||
service = self.coreemu.service_manager.get_service(request.name)
|
||||
config = {x.id: x.default for x in service.default_configs}
|
||||
return GetNodeConfigServiceResponse(config=config)
|
||||
|
||||
def GetConfigServiceTemplates(
|
||||
self, request: GetConfigServiceTemplatesRequest, context: ServicerContext
|
||||
) -> GetConfigServiceTemplatesResponse:
|
||||
def GetConfigServiceDefaults(
|
||||
self, request: GetConfigServiceDefaultsRequest, context: ServicerContext
|
||||
) -> GetConfigServiceDefaultsResponse:
|
||||
service_class = self.validate_service(request.name, context)
|
||||
service = service_class(None)
|
||||
templates = service.get_templates()
|
||||
return GetConfigServiceTemplatesResponse(templates=templates)
|
||||
config = service.render_config()
|
||||
return GetConfigServiceDefaultsResponse(templates=templates, config=config)
|
||||
|
||||
def GetNodeConfigServices(
|
||||
self, request: GetNodeConfigServicesRequest, context: ServicerContext
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue