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)
|
response = self.stub.GetInterfaces(request)
|
||||||
return list(response.ifaces)
|
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.
|
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
|
:param name: name of service to get defaults for
|
||||||
:return: config service defaults
|
: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)
|
response = self.stub.GetConfigServiceDefaults(request)
|
||||||
return wrappers.ConfigServiceDefaults.from_proto(response)
|
return wrappers.ConfigServiceDefaults.from_proto(response)
|
||||||
|
|
||||||
|
|
|
@ -1285,8 +1285,10 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
||||||
:param context: grpc context
|
:param context: grpc context
|
||||||
:return: get config service defaults response
|
: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_class = self.validate_service(request.name, context)
|
||||||
service = service_class(None)
|
service = service_class(node)
|
||||||
templates = service.get_templates()
|
templates = service.get_templates()
|
||||||
config = {}
|
config = {}
|
||||||
for configuration in service.default_configs:
|
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 (
|
from core.api.grpc.wrappers import (
|
||||||
ConfigOption,
|
ConfigOption,
|
||||||
ConfigService,
|
ConfigService,
|
||||||
|
ConfigServiceDefaults,
|
||||||
EmaneModelConfig,
|
EmaneModelConfig,
|
||||||
Event,
|
Event,
|
||||||
ExceptionEvent,
|
ExceptionEvent,
|
||||||
|
@ -753,6 +754,11 @@ class CoreClient:
|
||||||
def get_config_service_rendered(self, node_id: int, name: str) -> dict[str, str]:
|
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)
|
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(
|
def get_config_service_configs_proto(
|
||||||
self,
|
self,
|
||||||
) -> list[configservices_pb2.ConfigServiceConfig]:
|
) -> list[configservices_pb2.ConfigServiceConfig]:
|
||||||
|
|
|
@ -87,7 +87,9 @@ class ConfigServiceConfigDialog(Dialog):
|
||||||
self.validation_mode = service.validation_mode
|
self.validation_mode = service.validation_mode
|
||||||
self.validation_time = service.validation_timer
|
self.validation_time = service.validation_timer
|
||||||
self.validation_period.set(service.validation_period)
|
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.original_service_files = defaults.templates
|
||||||
self.temp_service_files = dict(self.original_service_files)
|
self.temp_service_files = dict(self.original_service_files)
|
||||||
self.modes = sorted(defaults.modes)
|
self.modes = sorted(defaults.modes)
|
||||||
|
|
|
@ -41,6 +41,8 @@ message ConfigMode {
|
||||||
|
|
||||||
message GetConfigServiceDefaultsRequest {
|
message GetConfigServiceDefaultsRequest {
|
||||||
string name = 1;
|
string name = 1;
|
||||||
|
int32 session_id = 2;
|
||||||
|
int32 node_id = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetConfigServiceDefaultsResponse {
|
message GetConfigServiceDefaultsResponse {
|
||||||
|
|
Loading…
Add table
Reference in a new issue