gui/grpc: updated GetConfigServiceDefaults to require a session and node id, this will allow retrieving data with the context of the associated node
This commit is contained in:
parent
41e473eefc
commit
e0e4b05b7f
5 changed files with 24 additions and 4 deletions
|
@ -952,14 +952,22 @@ class CoreGrpcClient:
|
|||
response = self.stub.GetInterfaces(request)
|
||||
return list(response.ifaces)
|
||||
|
||||
def get_config_service_defaults(self, name: str) -> wrappers.ConfigServiceDefaults:
|
||||
def get_config_service_defaults(
|
||||
self, session_id: int, node_id: int, name: str
|
||||
) -> wrappers.ConfigServiceDefaults:
|
||||
"""
|
||||
Retrieves config service default values.
|
||||
|
||||
:param session_id: session id to get node from
|
||||
:param node_id: node id to get service data from
|
||||
:param name: name of service to get defaults for
|
||||
:return: config service defaults
|
||||
"""
|
||||
request = GetConfigServiceDefaultsRequest(name=name)
|
||||
request = GetConfigServiceDefaultsRequest(
|
||||
name=name,
|
||||
session_id=session_id,
|
||||
node_id=node_id,
|
||||
)
|
||||
response = self.stub.GetConfigServiceDefaults(request)
|
||||
return wrappers.ConfigServiceDefaults.from_proto(response)
|
||||
|
||||
|
|
|
@ -1285,8 +1285,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
:param context: grpc context
|
||||
:return: get config service defaults response
|
||||
"""
|
||||
session = self.get_session(request.session_id, context)
|
||||
node = self.get_node(session, request.node_id, context, CoreNode)
|
||||
service_class = self.validate_service(request.name, context)
|
||||
service = service_class(None)
|
||||
service = service_class(node)
|
||||
templates = service.get_templates()
|
||||
config = {}
|
||||
for configuration in service.default_configs:
|
||||
|
|
|
@ -17,6 +17,7 @@ from core.api.grpc import client, configservices_pb2, core_pb2
|
|||
from core.api.grpc.wrappers import (
|
||||
ConfigOption,
|
||||
ConfigService,
|
||||
ConfigServiceDefaults,
|
||||
EmaneModelConfig,
|
||||
Event,
|
||||
ExceptionEvent,
|
||||
|
@ -753,6 +754,11 @@ class CoreClient:
|
|||
def get_config_service_rendered(self, node_id: int, name: str) -> dict[str, str]:
|
||||
return self.client.get_config_service_rendered(self.session.id, node_id, name)
|
||||
|
||||
def get_config_service_defaults(
|
||||
self, node_id: int, name: str
|
||||
) -> ConfigServiceDefaults:
|
||||
return self.client.get_config_service_defaults(self.session.id, node_id, name)
|
||||
|
||||
def get_config_service_configs_proto(
|
||||
self,
|
||||
) -> list[configservices_pb2.ConfigServiceConfig]:
|
||||
|
|
|
@ -87,7 +87,9 @@ class ConfigServiceConfigDialog(Dialog):
|
|||
self.validation_mode = service.validation_mode
|
||||
self.validation_time = service.validation_timer
|
||||
self.validation_period.set(service.validation_period)
|
||||
defaults = self.core.client.get_config_service_defaults(self.service_name)
|
||||
defaults = self.core.get_config_service_defaults(
|
||||
self.node.id, self.service_name
|
||||
)
|
||||
self.original_service_files = defaults.templates
|
||||
self.temp_service_files = dict(self.original_service_files)
|
||||
self.modes = sorted(defaults.modes)
|
||||
|
|
|
@ -41,6 +41,8 @@ message ConfigMode {
|
|||
|
||||
message GetConfigServiceDefaultsRequest {
|
||||
string name = 1;
|
||||
int32 session_id = 2;
|
||||
int32 node_id = 3;
|
||||
}
|
||||
|
||||
message GetConfigServiceDefaultsResponse {
|
||||
|
|
Loading…
Add table
Reference in a new issue