diff --git a/src/service/service/__main__.py b/src/service/service/__main__.py index f2b6e38d6181a0c56b4f1dfca3116717d1400ced..18f91bf1a5de207d1c4064f7c48d3dabb14db553 100644 --- a/src/service/service/__main__.py +++ b/src/service/service/__main__.py @@ -43,6 +43,8 @@ def main(): get_env_var_name(ServiceNameEnum.DEVICE, ENVVAR_SUFIX_SERVICE_PORT_GRPC), get_env_var_name(ServiceNameEnum.PATHCOMP, ENVVAR_SUFIX_SERVICE_HOST ), get_env_var_name(ServiceNameEnum.PATHCOMP, ENVVAR_SUFIX_SERVICE_PORT_GRPC), + get_env_var_name(ServiceNameEnum.TE, ENVVAR_SUFIX_SERVICE_HOST ), + get_env_var_name(ServiceNameEnum.TE, ENVVAR_SUFIX_SERVICE_PORT_GRPC), ]) signal.signal(signal.SIGINT, signal_handler) diff --git a/src/te/apps/epce/src/epce_server.erl b/src/te/apps/epce/src/epce_server.erl index 8996d3b358bdcebbbadaa7ff2d61467664d5b27b..c7b404fca2c39e7d9bce31afd065ba72fef09c84 100644 --- a/src/te/apps/epce/src/epce_server.erl +++ b/src/te/apps/epce/src/epce_server.erl @@ -36,7 +36,7 @@ %%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --define(LARGE_TIMEOUT, 20000). +-define(LARGE_TIMEOUT, infinity). %%% RECORDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/te/apps/tfte/src/tfte_server.erl b/src/te/apps/tfte/src/tfte_server.erl index ea80848f7b22ab6280207e90f0c8f1b7aa59db0e..a6c8c4b71dd8edf59ead06a653de9aec3dffbf7e 100644 --- a/src/te/apps/tfte/src/tfte_server.erl +++ b/src/te/apps/tfte/src/tfte_server.erl @@ -138,22 +138,22 @@ do_request_lsp(#data{services = Services} = Data, {error, Reason} -> ?LOG_ERROR("Error while setting up service ~s forward LSP: ~p", [format_service_id(ServiceId), Reason]), - {'SERVICESTATUS_UNDEFINED', Data}; + {{error, Reason}, Data}; {ok, ForwardFlow} -> case epce_server:initiate_flow(SymbolicName2, Id2, Id1, BindingLabel2) of {error, Reason} -> ?LOG_ERROR("Error while setting up service ~s backward LSP: ~p", [format_service_id(ServiceId), Reason]), %TODO: Cleanup forward flow ? - {'SERVICESTATUS_UNDEFINED', Data}; + {{error, Reason}, Data}; {ok, BackwardFlow} -> ServiceData = {ServiceMap, ForwardFlow, BackwardFlow}, Services2 = Services#{ServiceId => ServiceData}, Data2 = Data#data{services = Services2}, - {'SERVICESTATUS_ACTIVE', Data2} + {{ok, 'SERVICESTATUS_ACTIVE'}, Data2} end end. do_delete_lsp(Data, ServiceId) -> ?LOG_INFO("LSP DELETION REQUESTED ~p", [ServiceId]), - {'SERVICESTATUS_UNDEFINED', Data}. \ No newline at end of file + {{error, not_implemented}, Data}. \ No newline at end of file diff --git a/src/te/apps/tfte/src/tfte_te_service.erl b/src/te/apps/tfte/src/tfte_te_service.erl index 2f230fd6b2c7fa55c34d8b22d5289c4e30226b76..f0e7116d25ae2be45aae4e087414b05d2cb819cd 100644 --- a/src/te/apps/tfte/src/tfte_te_service.erl +++ b/src/te/apps/tfte/src/tfte_te_service.erl @@ -19,22 +19,32 @@ %%% BEHAVIOUR te_te_service_bhvr CALLBACK FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%% -request_lsp(_Ctx, Service) -> - ?LOG_ERROR("Requesting LSP: ~p", [Service]), - try tfte_server:request_lsp(Service) +request_lsp(Ctx, Service) -> + ?LOG_INFO("Requesting LSP: ~p", [Service]), + try tfte_server:request_lsp(Service) of + {ok, Status} -> + {ok, Status, Ctx}; + {error, Reason} -> + ?LOG_INFO("Error while requesting LSP: ~p", [Reason]), + {ok, 'SERVICESTATUS_UNDEFINED', Ctx} catch E:R:S -> ?LOG_ERROR("Error while requesting LSP: ~p:~p ~p", [E, R, S]), - 'SERVICESTATUS_UNDEFINED' + {ok, 'SERVICESTATUS_UNDEFINED', Ctx} end. update_lsp(_Ctx, _ServiceId) -> {error, {?GRPC_STATUS_UNIMPLEMENTED, <<"Not yet implemented">>}, #{headers => #{}, trailers => #{}}}. -delete_lsp(_Ctx, ServiceId) -> +delete_lsp(Ctx, ServiceId) -> ?LOG_ERROR("Deleting LSP: ~p", [ServiceId]), - try tfte_server:delete_lsp(ServiceId) + try tfte_server:delete_lsp(ServiceId) of + {ok, Status} -> + {ok, Status, Ctx}; + {error, Reason} -> + ?LOG_INFO("Error while deleting LSP: ~p", [Reason]), + {ok, 'SERVICESTATUS_UNDEFINED', Ctx} catch E:R:S -> ?LOG_ERROR("Error while deleting LSP: ~p:~p ~p", [E, R, S]), - 'SERVICESTATUS_UNDEFINED' + {ok, 'SERVICESTATUS_UNDEFINED', Ctx} end. diff --git a/src/te/apps/tfte/src/tfte_topology.erl b/src/te/apps/tfte/src/tfte_topology.erl index 54825c409614c7adfd9a2844ace899c4703f9d5c..886fd926dba1f4841bc78d44ee3ecab295850fc2 100644 --- a/src/te/apps/tfte/src/tfte_topology.erl +++ b/src/te/apps/tfte/src/tfte_topology.erl @@ -281,27 +281,20 @@ device_status(#{device_operational_status := 'DEVICEOPERATIONALSTATUS_ENABLED'}) enabled. device_mpls_label(Device) -> - case device_config_value(<<"/te_data/mpls_label">>, Device) of - undefined -> undefined; - LabelJson -> - try jsx:decode(LabelJson) - catch error:badarg -> undefined - end + try device_config_value(<<"/te_data/mpls_label">>, Device) + catch error:badarg -> undefined end. device_pcc_address(Device) -> - case device_config_value(<<"/te_data/pcc_address">>, Device) of + try device_config_value(<<"/te_data/pcc_address">>, Device) of undefined -> undefined; - AddressJson -> - try jsx:decode(AddressJson) of - AddressBin -> - case inet_parse:address(binary_to_list(AddressBin)) of - {ok, Address} -> Address; - {error,einval} -> undefined - end - catch - error:badarg -> undefined + AddressBin -> + case inet_parse:address(binary_to_list(AddressBin)) of + {ok, Address} -> Address; + {error,einval} -> undefined end + catch + error:badarg -> undefined end. device_config_value(Key, #{device_config := Config}) ->