correct loose or strict constraint in the new function correct_route_list
correct test to find the name with existing uids
remove the \u2192 char that was not well supported with excel reading
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- normal way is usually to apply the design optical power for all channels.
This change uses the default power (same power as used for design) but enables to
force an arbitrary power if needed. TODO : introduce spectral power density
to apply power depending on baudrate.
- definition of min max frequency and spacing define the nb of channels:
uses min max frequencies and spacing to determine nb-channels. It is possible
to force a different spacing for the request. TODO: check that the value is
consistant with baudrate and min max values.
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- create some test to check that produced paths are really disjoint
- add some TODOs on optical power for requests computation
First check of disjunction feature added to tests
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- select the first path that is satisfying disjunction
not finished:
- constraints on nodes not taken into account
- modification on the build network not added
- not clean, need some refactoring
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- Implementing a conflict table for path disjoint choices
- adding disjunction in the parser and json (read and write)
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- adding a test to check that transponder types and modes are part of the eqpt library
- adding a formating on numeical value input for path request ids
- automatically printing the results into a csv file in addition to the json file
and with the saime name+.csv
- printing results in a more pretty way for demo
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- typos corrections
- explanations on cable id, create_eqt_sheet.py, dimensionning
- adding updates in user guide
- harmonisation of naming _eqpt instead of eqt in create_eqt_sheet.py
- improving standard output, removing pi ref power print on standard output
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- adding relevant call in path_request_run
- unifying variable name: baudrat -> baud_rate
- correcting test with the new power features
- unifying naming of variables n_ch-> nb_channel, sink -> destination (this
follows the usual naming in yang path computation models)
- bug fix in novel trx_mode_params function , use of the function in
path_requests_un
- TODO : place roll-off in the tsp lib instead of SI
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
creation of modular functions to be called
use of the same propagate function in both examples
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- use load_equipment instead of load_SI
- integrate the pathrequest class into transmission main
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- Path_request class is updated to be more generic and reuseable
in transmission main example. json processing linked to the yang
modelling is kept in the pat_request_run, while path_request class
only contains useful attributes
- adding functions in info and request python files in core directory
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
Excel_userguide has been updated with a description of how to use the service sheet
documentation on convert_service_sheet has been added
bugfix on convert_service_sheet to avoid multiple file writing
bugfix on create_eqpt_sheet.py to avoid the creation of a line when site is FUSED type
Completing README and adding templates for json files
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
Path_requests_run and convert_service_sheet.py now use funtions from transmission main
ISSUE from develop refactor : the json generation of the topology is missing all amplifiers !
- ILA are not included
- some edfa appear in the json topo when Eqpt sheet is used, but not all of them (only for
the requested path when running transmission_main_example)
TODO : identify if this is a new behaviour or if this is a regression
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
convert_services_sheet. py reads all columns and creat adhoc attributes.
Route constraint is saved in the "optimisation" field of the json format.
it is used as strict constraint for path computation. automatic decision
on node type is made based on the name.
Spacing, nb of channel and input power have been set in the requests json,
however this may not be inline with the ietf way: they should instead be
link attributes. However the objective of the program currently diverges
from this control oriented description , since requests explore whatif
scenarios for each request with its specific transponder type.
Introduction of loose case for the route constraint , input power,
spacing, nb of channel, per service entry
If no path exist to a loose node it is skipped. else a critical error is raised
Minor corrections on convert and path request
- convert: remove source and destination from intermediate list of nodes if
they are listed
- correction on the header of the sheet (column names)
- path-request: removing debug printings for a nice demo :)
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
verify that the trx_type is in the eqpt library
+ correction on the convert_service_sheet (use a list instead of multiple classes initialization)
Parametrisation of networkfile and spectril information in path_requests_run.py
addition of a second input file so that input can be with 2 excel files,
or with 2 json files , or a mix
utilisation of SI attribute in Eqpt_config.json for the input of spectral
information.
Implementation of transceiver_variety and parametrisation of eqpt_config.json
each request now reads the tranceiver type and convert it into
baudrate (assuming a mode).
eqpt_config file is now an argument of the path_requests_run.py
Adding additionnal columns in service sheet for mode, system and route
Transponder selection now includes the tsp modin the eqpt sheet now
also relies on mode name.
additional columns have been defined to input system values such as
channel spacing, input power, nb of channels. TODO : This enables to compute
the spectral information vector according to the transponder features
for each service in the list...
2 optional columns to define the path as input (with a loose attribute):
if present the path must contain the ordered list of nodes to be crossed
TODO : use path input instead of the internal path computed
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
Modules converts the service sheet into json file:
initial definition of classes.
Completing the json template of path computation request
Adding sync vector : but not in the correct form
should avoid multiple sync entries with same info
Treating multiple requests:
path_request_run.py allows computing snr from a list of requests
TODO: integrate into transmission_main_example and enable
feasiblility computation without path computation
Using transceiver class structure to export path computation feasibility
the output of the function now exports a list of tranceiver element,
each containing the result from spectral information propagation.
Adding transceiver type in eqpt library + correct form of xls sevice sheet
eqt library includes information abour transceivers and their modes
(baudrate, bitrate, OSNR threshold, and short name)
service sheet must not have annotation or comments outside of the useful row/column
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>