Loading src/common/tools/context_queries/OpticalConfig.py +0 −12 Original line number Diff line number Diff line Loading @@ -45,18 +45,6 @@ def get_uuid_random() -> str: # Generate random UUID. No need to use namespace since "namespace + random = random". return str(uuid4()) def channel_get_uuid( channel_name :str , allow_random : bool = False ) -> str: if len(channel_name) > 0: return get_uuid_from_string(channel_name) if allow_random: return get_uuid_random() raise InvalidArgumentsException([ ('channel uuid', channel_name), ], extra_details=['Channel name is required to produce a channel UUID']) def device_get_uuid (device_name) : if (len(device_name)> 0): return get_uuid_from_string(device_name) Loading src/context/service/database/OpticalConfig.py +2 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ from common.proto.context_pb2 import OpticalConfig, OpticalConfigId, Empty, Even from .models.OpticalConfig.OpticalConfigModel import OpticalConfigModel from .models.OpticalConfig.TransponderModel import TransponderTypeModel, OpticalChannelModel from .models.OpticalConfig.RoadmModel import RoadmTypeModel, ChannelModel from context.service.database.uuids.OpticalConfig import ( from .uuids.OpticalConfig import ( channel_get_uuid, opticalconfig_get_uuid, transponder_get_uuid, roadm_get_uuid ) from .Events import notify_event_opticalconfig Loading @@ -38,7 +38,6 @@ def get_opticalconfig(db_engine : Engine): optical_config = OpticalConfig() optical_config.config = json.dumps(obj.dump()) ids_obj = obj.dump_id() optical_config.opticalconfig_id.opticalconfig_uuid = ids_obj["opticalconfig_uuid"] optical_config.device_id.device_uuid.uuid=ids_obj["device_uuid"] optical_configs.append(optical_config) Loading src/service/service/tools/object_uuid.py +24 −5 Original line number Diff line number Diff line # Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from common.method_wrappers.ServiceExceptions import InvalidArgumentsException from typing import Optional, Union from uuid import UUID, uuid4, uuid5 from uuid import UUID, uuid5 from common.proto.context_pb2 import DeviceId # Generate a UUIDv5-like from the SHA-1 of "TFS" and no namespace to be used as the NAMESPACE for all # the context UUIDs generated. For efficiency purposes, the UUID is hardcoded; however, it is produced # using the following code: # from hashlib import sha1 # from uuid import UUID # hash = sha1(bytes('TFS', 'utf-8')).digest() # NAMESPACE_TFS = UUID(bytes=hash[:16], version=5) NAMESPACE_TFS = UUID('200e3a1f-2223-534f-a100-758e29c37f40') def get_uuid_from_string(str_uuid_or_name : Union[str, UUID], prefix_for_name : Optional[str] = None) -> str: Loading @@ -22,10 +42,9 @@ def get_uuid_from_string(str_uuid_or_name : Union[str, UUID], prefix_for_name : str_uuid_or_name = '{:s}/{:s}'.format(prefix_for_name, str_uuid_or_name) return str(uuid5(NAMESPACE_TFS, str_uuid_or_name)) def opticalconfig_get_uuid(device_id: DeviceId) -> str: device_uuid = device_id.device_uuid.uuid if (len(device_uuid)>0): if len(device_uuid) > 0: return get_uuid_from_string(f"{device_uuid}_opticalconfig") raise InvalidArgumentsException([ Loading src/webui/service/opticalconfig/routes.py +16 −2 Original line number Diff line number Diff line # Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import base64, json, logging #, re from flask import request, redirect, render_template, Blueprint, flash, session, url_for, current_app ,make_response from common.proto.context_pb2 import ( Empty Loading @@ -7,8 +21,8 @@ from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient from slice.client.SliceClient import SliceClient from .forms import UpdateDeviceForm ,AddTrancseiver ,UpdateInterfaceForm ,UpdateStatusForm from common.tools.context_queries.OpticalConfig import opticalconfig_get_uuid , device_get_uuid from .forms import UpdateDeviceForm, AddTrancseiver, UpdateStatusForm from common.tools.context_queries.OpticalConfig import opticalconfig_get_uuid opticalconfig = Blueprint('opticalconfig', __name__,url_prefix="/opticalconfig") Loading Loading
src/common/tools/context_queries/OpticalConfig.py +0 −12 Original line number Diff line number Diff line Loading @@ -45,18 +45,6 @@ def get_uuid_random() -> str: # Generate random UUID. No need to use namespace since "namespace + random = random". return str(uuid4()) def channel_get_uuid( channel_name :str , allow_random : bool = False ) -> str: if len(channel_name) > 0: return get_uuid_from_string(channel_name) if allow_random: return get_uuid_random() raise InvalidArgumentsException([ ('channel uuid', channel_name), ], extra_details=['Channel name is required to produce a channel UUID']) def device_get_uuid (device_name) : if (len(device_name)> 0): return get_uuid_from_string(device_name) Loading
src/context/service/database/OpticalConfig.py +2 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ from common.proto.context_pb2 import OpticalConfig, OpticalConfigId, Empty, Even from .models.OpticalConfig.OpticalConfigModel import OpticalConfigModel from .models.OpticalConfig.TransponderModel import TransponderTypeModel, OpticalChannelModel from .models.OpticalConfig.RoadmModel import RoadmTypeModel, ChannelModel from context.service.database.uuids.OpticalConfig import ( from .uuids.OpticalConfig import ( channel_get_uuid, opticalconfig_get_uuid, transponder_get_uuid, roadm_get_uuid ) from .Events import notify_event_opticalconfig Loading @@ -38,7 +38,6 @@ def get_opticalconfig(db_engine : Engine): optical_config = OpticalConfig() optical_config.config = json.dumps(obj.dump()) ids_obj = obj.dump_id() optical_config.opticalconfig_id.opticalconfig_uuid = ids_obj["opticalconfig_uuid"] optical_config.device_id.device_uuid.uuid=ids_obj["device_uuid"] optical_configs.append(optical_config) Loading
src/service/service/tools/object_uuid.py +24 −5 Original line number Diff line number Diff line # Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from common.method_wrappers.ServiceExceptions import InvalidArgumentsException from typing import Optional, Union from uuid import UUID, uuid4, uuid5 from uuid import UUID, uuid5 from common.proto.context_pb2 import DeviceId # Generate a UUIDv5-like from the SHA-1 of "TFS" and no namespace to be used as the NAMESPACE for all # the context UUIDs generated. For efficiency purposes, the UUID is hardcoded; however, it is produced # using the following code: # from hashlib import sha1 # from uuid import UUID # hash = sha1(bytes('TFS', 'utf-8')).digest() # NAMESPACE_TFS = UUID(bytes=hash[:16], version=5) NAMESPACE_TFS = UUID('200e3a1f-2223-534f-a100-758e29c37f40') def get_uuid_from_string(str_uuid_or_name : Union[str, UUID], prefix_for_name : Optional[str] = None) -> str: Loading @@ -22,10 +42,9 @@ def get_uuid_from_string(str_uuid_or_name : Union[str, UUID], prefix_for_name : str_uuid_or_name = '{:s}/{:s}'.format(prefix_for_name, str_uuid_or_name) return str(uuid5(NAMESPACE_TFS, str_uuid_or_name)) def opticalconfig_get_uuid(device_id: DeviceId) -> str: device_uuid = device_id.device_uuid.uuid if (len(device_uuid)>0): if len(device_uuid) > 0: return get_uuid_from_string(f"{device_uuid}_opticalconfig") raise InvalidArgumentsException([ Loading
src/webui/service/opticalconfig/routes.py +16 −2 Original line number Diff line number Diff line # Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import base64, json, logging #, re from flask import request, redirect, render_template, Blueprint, flash, session, url_for, current_app ,make_response from common.proto.context_pb2 import ( Empty Loading @@ -7,8 +21,8 @@ from context.client.ContextClient import ContextClient from device.client.DeviceClient import DeviceClient from service.client.ServiceClient import ServiceClient from slice.client.SliceClient import SliceClient from .forms import UpdateDeviceForm ,AddTrancseiver ,UpdateInterfaceForm ,UpdateStatusForm from common.tools.context_queries.OpticalConfig import opticalconfig_get_uuid , device_get_uuid from .forms import UpdateDeviceForm, AddTrancseiver, UpdateStatusForm from common.tools.context_queries.OpticalConfig import opticalconfig_get_uuid opticalconfig = Blueprint('opticalconfig', __name__,url_prefix="/opticalconfig") Loading