Commit Graph

177 Commits

Author SHA1 Message Date
Jean-Luc Auge
c86ea206d9 bug fix CORONET_GLOBAL_Topology example
bugs from the last refactor merge
- fix #1: update fiber length after split
- fix #2: add egress amp after fiber split

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-07-05 12:50:48 +02:00
Jean-Luc Auge
b810cf84c2 Power mode implementation
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-07-05 12:50:23 +02:00
James
6ead8e391b Merge pull request #83 from berahtlv/losses
parameterized ROADM and FUSED losses
2018-06-27 17:19:00 -04:00
Roberts Miculens
362f45083d parametrized ROADM and FUSED losses 2018-06-27 18:16:18 +03:00
James Powell
36218037ec fix link 2018-06-22 19:06:10 -04:00
James
584b56bc83 Merge pull request #82 from dutc/fix-tests
small test fixes
2018-06-22 19:01:25 -04:00
James Powell
d33602e131 small test fixes 2018-06-22 18:55:26 -04:00
James
4304b49bf0 Merge pull request #81 from Orange-OpenSource/test_update
Test update
2018-06-22 11:24:44 -04:00
Jean-Luc Auge
4f5325acac small fixes
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-06-21 16:14:25 +02:00
EstherLerouzic
f8a40bfaf0 correct path
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-06-19 17:34:28 +01:00
EstherLerouzic
52dfb20a2b try with .travis.yml to set the path to examples
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-06-19 17:27:17 +01:00
EstherLerouzic
34b20cdfe0 adding exaples directory as a place to find programs
to test with travis CI

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-06-19 16:57:34 +01:00
EstherLerouzic
f462201499 Update of test for automatic testing
- Separating test python files for different purposes
      convert_file and convert_service_sheet now tested in a dedicated
      file testing parsers_test.py
- Correction of tests due to previous major refactor (especially introducing
      load_network)
- adding test files and references (expected json files)
- adding a test on service json file
- adapting the compare module to generated files

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-06-19 16:38:56 +01:00
EstherLerouzic
5106bdf634 Excel_userguide update + bugfixes
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>
2018-06-15 13:54:06 +01:00
EstherLerouzic
b93c6dbcbd Merge: merge completed
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>
2018-06-13 16:42:10 +01:00
EstherLerouzic
2ca141baba Merge work : Transceiver type added in equipment library
Transceiver type added to include this equipment in the building of the
library

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-06-13 15:52:55 +01:00
EstherLerouzic
01fe5d2147 path_requests_run now generates a json file if -o is used
the format of path results follows the yang model of ietf

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-06-13 11:39:28 +01:00
EstherLerouzic
74830cede4 path_requests_run.py now can use the route constraint
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>
2018-06-13 11:36:45 +01:00
EstherLerouzic
2f21cc29f7 Adding a verification on the trx_type entry of service sheet
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>
2018-06-13 11:34:01 +01:00
EstherLerouzic
05f8d97d68 module convert_service_sheet.py and path_requests_run.py
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>
2018-06-13 11:30:23 +01:00
James
04c4795192 Merge pull request #77 from Orange-OpenSource/refactor_merge_2
Refactor merge 2
2018-06-07 11:56:57 -04:00
Jean-Luc Auge
ff6e379b6f Use load_json utility
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-06-07 11:56:20 +02:00
Jean-Luc Auge
25cfc375bc Amplifier selection
network design when no amplifiers are input in the json file
select_edfa chose the best amplifier in equipment list _from
eqpt_config.json_ wiht the following criteria in order:
1-amplifier wih sufficient gain
2-amplifier wiht sufficient power TODO
3-best NF amplifier staisfying 1 & 2

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-06-07 11:39:09 +02:00
Jean-Luc Auge
627184ef2d restore transmission main power sweep and format
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-06-07 10:59:33 +02:00
Jean-Luc Auge
180e1178ef restore xls to json file parser-execute from json
xls topology is parsed automatically to json
transmission_main reads from the json generated topology
transmission_main should not read from convert.py data output
This way there is consistency between json and xls inputs

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-06-07 09:36:07 +02:00
James
1c33454ce3 Merge pull request #76 from dutc/develop
Develop
2018-06-05 09:52:55 -04:00
James Powell
c7abe11dd8 Merge branch 'refactor_merge' into develop 2018-06-05 09:52:13 -04:00
James
7a6feccc8b Merge pull request #74 from Orange-OpenSource/refactor_merge
Refactor merge
2018-06-05 09:50:00 -04:00
James Powell
f05e578f51 small fixes 2018-06-05 09:46:48 -04:00
James
277ebea2b5 Merge pull request #75 from berahtlv/readme_links
fixed README broken hyperlinks
2018-06-05 09:35:24 -04:00
Roberts Miculens
4982c5e147 fixed README broken hyperlinks 2018-05-30 20:47:55 +03:00
Jean-Luc Auge
726e217205 merge debug
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-05-24 16:06:15 +02:00
James Powell
695c538ee5 merge of major refactor
cherry pick of the major refactor commit
many conflicts resolved and code re-written
2018-05-24 12:35:39 +02:00
James Powell
ecdae68b62 small readme fix 2018-05-22 11:10:06 -04:00
James Powell
e737564b32 add lat-long
jla cherry-picked in develop
2018-05-18 10:38:18 +02:00
James Powell
75c4a8d96d gnpy JSON comparison tool 2018-05-18 10:27:15 +02:00
James Powell
28dc1b050f remove redundant imports
jla cherry picked to merge with develop
2018-05-18 10:21:33 +02:00
James
4a9a7e31ba Merge pull request #71 from Orange-OpenSource/useability_improvement_3
Useability improvement 3
2018-05-03 11:33:48 -04:00
EstherLerouzic
92da31f905 file testing correction
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-05-03 15:25:45 +01:00
EstherLerouzic
afd264c816 new test files added
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-05-03 15:23:10 +01:00
EstherLerouzic
d676e3e217 removing a last config file
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-05-03 13:24:25 +01:00
EstherLerouzic
4af117aacf Simplification of tests
removing multiple excel files
adding a test amplifier in eqpt_library

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-05-03 13:20:40 +01:00
EstherLerouzic
b27e567a5e adding tests on excel parsint in amplifier_test.py
6 files are tested: if the converted json file constructed
based on the excel files provided in the test folder are not
identical to expected result, the test fails.
For future creation of test files:
excel name file should start with excelTest.
reference json file should be identical to the excelTest
eg excelTestFilefoo.xls -> testFilefoo.json

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-05-02 17:35:04 +01:00
EstherLerouzic
8ec9a5bf99 putting correct Path for input files in amplfier_test.py
json files paths should be indicated from gnpy/

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-05-02 14:50:30 +01:00
EstherLerouzic
f129f92cfd Enabling input files indirection for excel and json parser + pytest update
replacing bare string reading with Path object and split nam based on
Path structure in convert.py and in transmission_main_example.py

Update of pytest tests

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-05-02 14:28:49 +01:00
James
ef87373d4b Merge pull request #70 from Orange-OpenSource/useability_improvements_2
Useability improvements 2
2018-05-02 08:55:57 -04:00
James
ff938d4ced Merge pull request #66 from Orange-OpenSource/fused_spans
Fused spans, source/sink nodes suggestion, eqpt sheet support in xls parser
2018-05-02 08:55:38 -04:00
EstherLerouzic
ae555e0ce1 Formating Excel_userguide.rst and adding a section for the optional Eqpt sheet
Typos correction
Explanations added on how to fill in the excel Eqpt sheet
Removing verbose printing for debug of create_eqpt_sheet.py
Bug correction : blank removed when copying city names with creat_eqpt_sheet.py
Typos correction on README and Excel_userguide

adding some line for the export PYTHONPATH in the readme
typos corrections

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-04-30 15:37:46 +01:00
EstherLerouzic
44db6093f5 Adding a user guide to explain the excel input format
The README now points to a user guide file explaining the sheets and column format
the guide is not finished

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-04-30 15:04:01 +01:00
EstherLerouzic
d4bf6ce201 Program that creates the list of entries for the Eqpt xls sheet
The program reads the xls Nodes and Links Sheet and create the
mandatory city column as a text file.
If not present in Nodes the Type column is implicitely derived
from node degree (degree 2 means ILA, other means ROADM)

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>

Text file path and name copied from excel input file for create_eqpt_sheet.py

input file name is used for the txt file creation
file is saved at the same place as the input file

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-04-30 15:02:08 +01:00