Loading src/service/service/__main__.py +2 −0 Original line number Original line Diff line number Diff line Loading @@ -43,6 +43,8 @@ def main(): get_env_var_name(ServiceNameEnum.DEVICE, ENVVAR_SUFIX_SERVICE_PORT_GRPC), 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_HOST ), get_env_var_name(ServiceNameEnum.PATHCOMP, ENVVAR_SUFIX_SERVICE_PORT_GRPC), 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) signal.signal(signal.SIGINT, signal_handler) Loading src/te/apps/epce/src/epce_server.erl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -36,7 +36,7 @@ %%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -define(LARGE_TIMEOUT, 20000). -define(LARGE_TIMEOUT, infinity). %%% RECORDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% RECORDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Loading src/te/apps/tfte/src/tfte_server.erl +4 −4 Original line number Original line Diff line number Diff line Loading @@ -138,22 +138,22 @@ do_request_lsp(#data{services = Services} = Data, {error, Reason} -> {error, Reason} -> ?LOG_ERROR("Error while setting up service ~s forward LSP: ~p", ?LOG_ERROR("Error while setting up service ~s forward LSP: ~p", [format_service_id(ServiceId), Reason]), [format_service_id(ServiceId), Reason]), {'SERVICESTATUS_UNDEFINED', Data}; {{error, Reason}, Data}; {ok, ForwardFlow} -> {ok, ForwardFlow} -> case epce_server:initiate_flow(SymbolicName2, Id2, Id1, BindingLabel2) of case epce_server:initiate_flow(SymbolicName2, Id2, Id1, BindingLabel2) of {error, Reason} -> {error, Reason} -> ?LOG_ERROR("Error while setting up service ~s backward LSP: ~p", ?LOG_ERROR("Error while setting up service ~s backward LSP: ~p", [format_service_id(ServiceId), Reason]), [format_service_id(ServiceId), Reason]), %TODO: Cleanup forward flow ? %TODO: Cleanup forward flow ? {'SERVICESTATUS_UNDEFINED', Data}; {{error, Reason}, Data}; {ok, BackwardFlow} -> {ok, BackwardFlow} -> ServiceData = {ServiceMap, ForwardFlow, BackwardFlow}, ServiceData = {ServiceMap, ForwardFlow, BackwardFlow}, Services2 = Services#{ServiceId => ServiceData}, Services2 = Services#{ServiceId => ServiceData}, Data2 = Data#data{services = Services2}, Data2 = Data#data{services = Services2}, {'SERVICESTATUS_ACTIVE', Data2} {{ok, 'SERVICESTATUS_ACTIVE'}, Data2} end end end. end. do_delete_lsp(Data, ServiceId) -> do_delete_lsp(Data, ServiceId) -> ?LOG_INFO("LSP DELETION REQUESTED ~p", [ServiceId]), ?LOG_INFO("LSP DELETION REQUESTED ~p", [ServiceId]), {'SERVICESTATUS_UNDEFINED', Data}. {{error, not_implemented}, Data}. No newline at end of file No newline at end of file src/te/apps/tfte/src/tfte_te_service.erl +17 −7 Original line number Original line Diff line number Diff line Loading @@ -19,22 +19,32 @@ %%% BEHAVIOUR te_te_service_bhvr CALLBACK FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% BEHAVIOUR te_te_service_bhvr CALLBACK FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%% request_lsp(_Ctx, Service) -> request_lsp(Ctx, Service) -> ?LOG_ERROR("Requesting LSP: ~p", [Service]), ?LOG_INFO("Requesting LSP: ~p", [Service]), try tfte_server:request_lsp(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 -> catch E:R:S -> ?LOG_ERROR("Error while requesting LSP: ~p:~p ~p", [E, R, S]), ?LOG_ERROR("Error while requesting LSP: ~p:~p ~p", [E, R, S]), 'SERVICESTATUS_UNDEFINED' {ok, 'SERVICESTATUS_UNDEFINED', Ctx} end. end. update_lsp(_Ctx, _ServiceId) -> update_lsp(_Ctx, _ServiceId) -> {error, {?GRPC_STATUS_UNIMPLEMENTED, <<"Not yet implemented">>}, {error, {?GRPC_STATUS_UNIMPLEMENTED, <<"Not yet implemented">>}, #{headers => #{}, trailers => #{}}}. #{headers => #{}, trailers => #{}}}. delete_lsp(_Ctx, ServiceId) -> delete_lsp(Ctx, ServiceId) -> ?LOG_ERROR("Deleting LSP: ~p", [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 -> catch E:R:S -> ?LOG_ERROR("Error while deleting LSP: ~p:~p ~p", [E, R, S]), ?LOG_ERROR("Error while deleting LSP: ~p:~p ~p", [E, R, S]), 'SERVICESTATUS_UNDEFINED' {ok, 'SERVICESTATUS_UNDEFINED', Ctx} end. end. src/te/apps/tfte/src/tfte_topology.erl +9 −16 Original line number Original line Diff line number Diff line Loading @@ -281,19 +281,13 @@ device_status(#{device_operational_status := 'DEVICEOPERATIONALSTATUS_ENABLED'}) enabled. enabled. device_mpls_label(Device) -> device_mpls_label(Device) -> case device_config_value(<<"/te_data/mpls_label">>, Device) of try device_config_value(<<"/te_data/mpls_label">>, Device) undefined -> undefined; LabelJson -> try jsx:decode(LabelJson) catch error:badarg -> undefined catch error:badarg -> undefined end end. end. device_pcc_address(Device) -> 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; undefined -> undefined; AddressJson -> try jsx:decode(AddressJson) of AddressBin -> AddressBin -> case inet_parse:address(binary_to_list(AddressBin)) of case inet_parse:address(binary_to_list(AddressBin)) of {ok, Address} -> Address; {ok, Address} -> Address; Loading @@ -301,7 +295,6 @@ device_pcc_address(Device) -> end end catch catch error:badarg -> undefined error:badarg -> undefined end end. end. device_config_value(Key, #{device_config := Config}) -> device_config_value(Key, #{device_config := Config}) -> Loading Loading
src/service/service/__main__.py +2 −0 Original line number Original line Diff line number Diff line Loading @@ -43,6 +43,8 @@ def main(): get_env_var_name(ServiceNameEnum.DEVICE, ENVVAR_SUFIX_SERVICE_PORT_GRPC), 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_HOST ), get_env_var_name(ServiceNameEnum.PATHCOMP, ENVVAR_SUFIX_SERVICE_PORT_GRPC), 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) signal.signal(signal.SIGINT, signal_handler) Loading
src/te/apps/epce/src/epce_server.erl +1 −1 Original line number Original line Diff line number Diff line Loading @@ -36,7 +36,7 @@ %%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -define(LARGE_TIMEOUT, 20000). -define(LARGE_TIMEOUT, infinity). %%% RECORDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% RECORDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Loading
src/te/apps/tfte/src/tfte_server.erl +4 −4 Original line number Original line Diff line number Diff line Loading @@ -138,22 +138,22 @@ do_request_lsp(#data{services = Services} = Data, {error, Reason} -> {error, Reason} -> ?LOG_ERROR("Error while setting up service ~s forward LSP: ~p", ?LOG_ERROR("Error while setting up service ~s forward LSP: ~p", [format_service_id(ServiceId), Reason]), [format_service_id(ServiceId), Reason]), {'SERVICESTATUS_UNDEFINED', Data}; {{error, Reason}, Data}; {ok, ForwardFlow} -> {ok, ForwardFlow} -> case epce_server:initiate_flow(SymbolicName2, Id2, Id1, BindingLabel2) of case epce_server:initiate_flow(SymbolicName2, Id2, Id1, BindingLabel2) of {error, Reason} -> {error, Reason} -> ?LOG_ERROR("Error while setting up service ~s backward LSP: ~p", ?LOG_ERROR("Error while setting up service ~s backward LSP: ~p", [format_service_id(ServiceId), Reason]), [format_service_id(ServiceId), Reason]), %TODO: Cleanup forward flow ? %TODO: Cleanup forward flow ? {'SERVICESTATUS_UNDEFINED', Data}; {{error, Reason}, Data}; {ok, BackwardFlow} -> {ok, BackwardFlow} -> ServiceData = {ServiceMap, ForwardFlow, BackwardFlow}, ServiceData = {ServiceMap, ForwardFlow, BackwardFlow}, Services2 = Services#{ServiceId => ServiceData}, Services2 = Services#{ServiceId => ServiceData}, Data2 = Data#data{services = Services2}, Data2 = Data#data{services = Services2}, {'SERVICESTATUS_ACTIVE', Data2} {{ok, 'SERVICESTATUS_ACTIVE'}, Data2} end end end. end. do_delete_lsp(Data, ServiceId) -> do_delete_lsp(Data, ServiceId) -> ?LOG_INFO("LSP DELETION REQUESTED ~p", [ServiceId]), ?LOG_INFO("LSP DELETION REQUESTED ~p", [ServiceId]), {'SERVICESTATUS_UNDEFINED', Data}. {{error, not_implemented}, Data}. No newline at end of file No newline at end of file
src/te/apps/tfte/src/tfte_te_service.erl +17 −7 Original line number Original line Diff line number Diff line Loading @@ -19,22 +19,32 @@ %%% BEHAVIOUR te_te_service_bhvr CALLBACK FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% BEHAVIOUR te_te_service_bhvr CALLBACK FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%% request_lsp(_Ctx, Service) -> request_lsp(Ctx, Service) -> ?LOG_ERROR("Requesting LSP: ~p", [Service]), ?LOG_INFO("Requesting LSP: ~p", [Service]), try tfte_server:request_lsp(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 -> catch E:R:S -> ?LOG_ERROR("Error while requesting LSP: ~p:~p ~p", [E, R, S]), ?LOG_ERROR("Error while requesting LSP: ~p:~p ~p", [E, R, S]), 'SERVICESTATUS_UNDEFINED' {ok, 'SERVICESTATUS_UNDEFINED', Ctx} end. end. update_lsp(_Ctx, _ServiceId) -> update_lsp(_Ctx, _ServiceId) -> {error, {?GRPC_STATUS_UNIMPLEMENTED, <<"Not yet implemented">>}, {error, {?GRPC_STATUS_UNIMPLEMENTED, <<"Not yet implemented">>}, #{headers => #{}, trailers => #{}}}. #{headers => #{}, trailers => #{}}}. delete_lsp(_Ctx, ServiceId) -> delete_lsp(Ctx, ServiceId) -> ?LOG_ERROR("Deleting LSP: ~p", [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 -> catch E:R:S -> ?LOG_ERROR("Error while deleting LSP: ~p:~p ~p", [E, R, S]), ?LOG_ERROR("Error while deleting LSP: ~p:~p ~p", [E, R, S]), 'SERVICESTATUS_UNDEFINED' {ok, 'SERVICESTATUS_UNDEFINED', Ctx} end. end.
src/te/apps/tfte/src/tfte_topology.erl +9 −16 Original line number Original line Diff line number Diff line Loading @@ -281,19 +281,13 @@ device_status(#{device_operational_status := 'DEVICEOPERATIONALSTATUS_ENABLED'}) enabled. enabled. device_mpls_label(Device) -> device_mpls_label(Device) -> case device_config_value(<<"/te_data/mpls_label">>, Device) of try device_config_value(<<"/te_data/mpls_label">>, Device) undefined -> undefined; LabelJson -> try jsx:decode(LabelJson) catch error:badarg -> undefined catch error:badarg -> undefined end end. end. device_pcc_address(Device) -> 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; undefined -> undefined; AddressJson -> try jsx:decode(AddressJson) of AddressBin -> AddressBin -> case inet_parse:address(binary_to_list(AddressBin)) of case inet_parse:address(binary_to_list(AddressBin)) of {ok, Address} -> Address; {ok, Address} -> Address; Loading @@ -301,7 +295,6 @@ device_pcc_address(Device) -> end end catch catch error:badarg -> undefined error:badarg -> undefined end end. end. device_config_value(Key, #{device_config := Config}) -> device_config_value(Key, #{device_config := Config}) -> Loading