From d9cc6927bec5e28142f8fb3e0a0d8f34d692865b Mon Sep 17 00:00:00 2001 From: "Costya.y" Date: Sun, 25 Aug 2019 23:16:34 +0300 Subject: [PATCH 1/5] Updated driver --- configuration/configuration.json | 2 +- glimmerglass/glimmerglass_driver_handler.py | 16 +++++++++++----- glimmerglass/tcp_session.py | 14 ++++++++++++++ glimmerglass_runtime_configuration.json | 6 +----- 4 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 glimmerglass/tcp_session.py diff --git a/configuration/configuration.json b/configuration/configuration.json index e470002..182c52b 100644 --- a/configuration/configuration.json +++ b/configuration/configuration.json @@ -5,7 +5,7 @@ "connection_type": "tcp", "connection_port": 10034, "device_login_prompt": "<", - "device_prompt": ";\\s+<", + "device_prompt": ";\\s*<", "server_timeout": 10, "runtime_configuration": "glimmerglass_runtime_configuration.json" }, diff --git a/glimmerglass/glimmerglass_driver_handler.py b/glimmerglass/glimmerglass_driver_handler.py index 100fa22..fa29228 100644 --- a/glimmerglass/glimmerglass_driver_handler.py +++ b/glimmerglass/glimmerglass_driver_handler.py @@ -7,6 +7,7 @@ from common.helper.system_helper import get_file_folder from common.resource_info import ResourceInfo from common.configuration_parser import ConfigurationParser +from glimmerglass.tcp_session import GGTCPSession class GlimmerglassDriverHandler(DriverHandlerBase): @@ -24,6 +25,8 @@ def __init__(self): self._port_logical_mode = ConfigurationParser.get("driver_variable", "port_mode") self._custom_port_pairing = ConfigurationParser.get("driver_variable", "custom_port_pairing") or dict() self._login_prompt = ConfigurationParser.get("common_variable", "device_login_prompt") + self._prompt = ConfigurationParser.get("common_variable", "device_prompt") + self._session = GGTCPSession() def _incr_ctag(self): self._ctag += 1 @@ -36,7 +39,7 @@ def login(self, address, username, password, command_logger=None): address_data = address.split(":") ip = address_data[0] port = int(address_data[1]) - if self._service_mode.lower() == "tl1": + if self._service_mode.lower() == u"tl1": command = 'ACT-USER::{0}:{1}::{2};'.format(username, self._ctag, password) command_result = self._session.connect(host=ip, username=username, password=password, command=command, re_string=self._login_prompt, port=port) @@ -59,9 +62,9 @@ def login(self, address, username, password, command_logger=None): def _get_device_data(self): device_data = dict() - if self._service_mode.lower() == "scpi": + if self._service_mode.lower() == u"scpi": pass - elif self._service_mode.lower() == "tl1": + elif self._service_mode.lower() == u"tl1": command = "rtrv-system-info:::{0};".format(self._incr_ctag()) device_data["system_info"] = self._session.send_command(command, re_string=self._prompt) @@ -229,7 +232,7 @@ def get_resource_description(self, address, command_logger=None): return self._resource_info.convert_to_xml() def map_uni(self, src_port, dst_port, command_logger=None): - if self._service_mode.lower() == "tl1": + if self._service_mode.lower() == u"tl1": self._session.send_command("", re_string=self._login_prompt) src_in_port = min(int(src_port[1]), int(dst_port[1])) @@ -247,7 +250,7 @@ def map_uni(self, src_port, dst_port, command_logger=None): "Selected '{}' connection type is not supported".format(self._service_mode)) def map_bidi(self, src_port, dst_port, command_logger=None): - if self._service_mode.lower() == "tl1": + if self._service_mode.lower() == u"tl1": self._session.send_command("", re_string=self._login_prompt) if self._port_logical_mode.lower() == "logical": source_port = str(src_port[1]).split('-') @@ -263,6 +266,9 @@ def map_bidi(self, src_port, dst_port, command_logger=None): command_logger.info(command_result) else: raise Exception(self.__class__.__name__, + "Bidirectional mapping supported only in logical port mode".format(self._service_mode)) + else: + raise Exception(self.__class__.__name__, "Selected '{}' connection type is not supported".format(self._service_mode)) def map_clear_to(self, src_port, dst_port, command_logger=None): diff --git a/glimmerglass/tcp_session.py b/glimmerglass/tcp_session.py new file mode 100644 index 0000000..b815834 --- /dev/null +++ b/glimmerglass/tcp_session.py @@ -0,0 +1,14 @@ +from common.cli.tcp_session import TCPSession + + +class GGTCPSession(TCPSession): + def __init__(self, *args, **kwargs): + super(GGTCPSession, self).__init__(*args, **kwargs) + self._login_prompt = None + + def connect(self, host, username, password, command=None, error_map=None, action_map=None, port=None, re_string=''): + self._login_prompt = re_string + return super(GGTCPSession, self).connect(host, username, password, command, error_map, action_map, port, re_string) + + def reconnect(self, re_string=''): + return super(GGTCPSession, self).reconnect(self._login_prompt) diff --git a/glimmerglass_runtime_configuration.json b/glimmerglass_runtime_configuration.json index e3cfbe7..c1e531c 100644 --- a/glimmerglass_runtime_configuration.json +++ b/glimmerglass_runtime_configuration.json @@ -1,10 +1,6 @@ { "driver_variable": { "connection_port": 10034, - "port_mode": "physical", - "custom_port_pairing": { - "1": "48", - "2": "3" - } + "port_mode": "logical" } } From b94c760365b58e36b842486fd0c9ce02f158d68a Mon Sep 17 00:00:00 2001 From: "Costya.y" Date: Sun, 25 Aug 2019 23:29:52 +0300 Subject: [PATCH 2/5] removed trash values --- glimmerglass/test.py | 332 ------------------------------------------- 1 file changed, 332 deletions(-) delete mode 100644 glimmerglass/test.py diff --git a/glimmerglass/test.py b/glimmerglass/test.py deleted file mode 100644 index 341e0c2..0000000 --- a/glimmerglass/test.py +++ /dev/null @@ -1,332 +0,0 @@ -import re -from common.resource_info import ResourceInfo - -__author__ = 'CoYe' - -device_data = {} -device_data['port_list'] = """RTRV-CFG-FIBER::10001&&10048&20001&&20048:1; - - BD0472 16-06-09 17:12:52 -M 1 COMPLD - "GGN:PORTID=10001,PORTGROUP=OpenGroup,PORTNAME=IN1,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10002,PORTGROUP=OpenGroup,PORTNAME=IN2,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10003,PORTGROUP=OpenGroup,PORTNAME=IN3,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10004,PORTGROUP=OpenGroup,PORTNAME=IN4,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10005,PORTGROUP=OpenGroup,PORTNAME=IN5,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10006,PORTGROUP=OpenGroup,PORTNAME=IN6,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10007,PORTGROUP=OpenGroup,PORTNAME=IN7,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10008,PORTGROUP=OpenGroup,PORTNAME=IN8,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10009,PORTGROUP=OpenGroup,PORTNAME=IN9,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10010,PORTGROUP=OpenGroup,PORTNAME=IN10,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10011,PORTGROUP=OpenGroup,PORTNAME=IN11,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10012,PORTGROUP=OpenGroup,PORTNAME=IN12,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10013,PORTGROUP=OpenGroup,PORTNAME=IN13,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10014,PORTGROUP=OpenGroup,PORTNAME=IN14,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10015,PORTGROUP=OpenGroup,PORTNAME=IN15,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10016,PORTGROUP=OpenGroup,PORTNAME=IN16,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10017,PORTGROUP=OpenGroup,PORTNAME=IN17,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10018,PORTGROUP=OpenGroup,PORTNAME=IN18,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10019,PORTGROUP=OpenGroup,PORTNAME=IN19,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10020,PORTGROUP=OpenGroup,PORTNAME=IN20,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10021,PORTGROUP=OpenGroup,PORTNAME=IN21,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10022,PORTGROUP=OpenGroup,PORTNAME=IN22,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10023,PORTGROUP=OpenGroup,PORTNAME=IN23,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10024,PORTGROUP=OpenGroup,PORTNAME=IN24,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10025,PORTGROUP=OpenGroup,PORTNAME=IN25,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10026,PORTGROUP=OpenGroup,PORTNAME=IN26,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" -> -< - - BD0472 16-06-09 17:12:52 -M 1 COMPLD - "GGN:PORTID=10027,PORTGROUP=OpenGroup,PORTNAME=IN27,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10028,PORTGROUP=OpenGroup,PORTNAME=IN28,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10029,PORTGROUP=OpenGroup,PORTNAME=IN29,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10030,PORTGROUP=OpenGroup,PORTNAME=IN30,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10031,PORTGROUP=OpenGroup,PORTNAME=IN31,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10032,PORTGROUP=OpenGroup,PORTNAME=IN32,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10033,PORTGROUP=OpenGroup,PORTNAME=IN33,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10034,PORTGROUP=OpenGroup,PORTNAME=IN34,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10035,PORTGROUP=OpenGroup,PORTNAME=IN35,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10036,PORTGROUP=OpenGroup,PORTNAME=IN36,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10037,PORTGROUP=OpenGroup,PORTNAME=IN37,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10038,PORTGROUP=OpenGroup,PORTNAME=IN38,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10039,PORTGROUP=OpenGroup,PORTNAME=IN39,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10040,PORTGROUP=OpenGroup,PORTNAME=IN40,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10041,PORTGROUP=OpenGroup,PORTNAME=IN41,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10042,PORTGROUP=OpenGroup,PORTNAME=IN42,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10043,PORTGROUP=OpenGroup,PORTNAME=IN43,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10044,PORTGROUP=OpenGroup,PORTNAME=IN44,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10045,PORTGROUP=OpenGroup,PORTNAME=IN45,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10046,PORTGROUP=OpenGroup,PORTNAME=IN46,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10047,PORTGROUP=OpenGroup,PORTNAME=IN47,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=10048,PORTGROUP=OpenGroup,PORTNAME=IN48,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI" - "GGN:PORTID=20001,PORTGROUP=OpenGroup,PORTNAME=OUT1,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20002,PORTGROUP=OpenGroup,PORTNAME=OUT2,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20003,PORTGROUP=OpenGroup,PORTNAME=OUT3,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20004,PORTGROUP=OpenGroup,PORTNAME=OUT4,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" -> -< - - BD0472 16-06-09 17:12:52 -M 1 COMPLD - "GGN:PORTID=20005,PORTGROUP=OpenGroup,PORTNAME=OUT5,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20006,PORTGROUP=OpenGroup,PORTNAME=OUT6,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20007,PORTGROUP=OpenGroup,PORTNAME=OUT7,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20008,PORTGROUP=OpenGroup,PORTNAME=OUT8,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20009,PORTGROUP=OpenGroup,PORTNAME=OUT9,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20010,PORTGROUP=OpenGroup,PORTNAME=OUT10,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20011,PORTGROUP=OpenGroup,PORTNAME=OUT11,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20012,PORTGROUP=OpenGroup,PORTNAME=OUT12,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20013,PORTGROUP=OpenGroup,PORTNAME=OUT13,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20014,PORTGROUP=OpenGroup,PORTNAME=OUT14,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20015,PORTGROUP=OpenGroup,PORTNAME=OUT15,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20016,PORTGROUP=OpenGroup,PORTNAME=OUT16,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20017,PORTGROUP=OpenGroup,PORTNAME=OUT17,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20018,PORTGROUP=OpenGroup,PORTNAME=OUT18,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20019,PORTGROUP=OpenGroup,PORTNAME=OUT19,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20020,PORTGROUP=OpenGroup,PORTNAME=OUT20,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20021,PORTGROUP=OpenGroup,PORTNAME=OUT21,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20022,PORTGROUP=OpenGroup,PORTNAME=OUT22,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20023,PORTGROUP=OpenGroup,PORTNAME=OUT23,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20024,PORTGROUP=OpenGroup,PORTNAME=OUT24,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20025,PORTGROUP=OpenGroup,PORTNAME=OUT25,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20026,PORTGROUP=OpenGroup,PORTNAME=OUT26,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20027,PORTGROUP=OpenGroup,PORTNAME=OUT27,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20028,PORTGROUP=OpenGroup,PORTNAME=OUT28,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" -> -< - - BD0472 16-06-09 17:12:52 -M 1 COMPLD - "GGN:PORTID=20029,PORTGROUP=OpenGroup,PORTNAME=OUT29,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20030,PORTGROUP=OpenGroup,PORTNAME=OUT30,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20031,PORTGROUP=OpenGroup,PORTNAME=OUT31,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20032,PORTGROUP=OpenGroup,PORTNAME=OUT32,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20033,PORTGROUP=OpenGroup,PORTNAME=OUT33,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20034,PORTGROUP=OpenGroup,PORTNAME=OUT34,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20035,PORTGROUP=OpenGroup,PORTNAME=OUT35,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20036,PORTGROUP=OpenGroup,PORTNAME=OUT36,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20037,PORTGROUP=OpenGroup,PORTNAME=OUT37,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20038,PORTGROUP=OpenGroup,PORTNAME=OUT38,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20039,PORTGROUP=OpenGroup,PORTNAME=OUT39,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20040,PORTGROUP=OpenGroup,PORTNAME=OUT40,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20041,PORTGROUP=OpenGroup,PORTNAME=OUT41,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20042,PORTGROUP=OpenGroup,PORTNAME=OUT42,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20043,PORTGROUP=OpenGroup,PORTNAME=OUT43,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20044,PORTGROUP=OpenGroup,PORTNAME=OUT44,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20045,PORTGROUP=OpenGroup,PORTNAME=OUT45,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20046,PORTGROUP=OpenGroup,PORTNAME=OUT46,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20047,PORTGROUP=OpenGroup,PORTNAME=OUT47,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" - "GGN:PORTID=20048,PORTGROUP=OpenGroup,PORTNAME=OUT48,SIGBAND=1550,SIGTHRESH=1550,PORTHEALTH=good,PORTCAT=nor,PORTCOMMENT=,STMINSEV=DI,STMAXSEV=DI,CSFLTSEV=CR" -;""" - -device_data["connections_map"] = """ BD0472 16-06-09 17:13:36 -M 1 COMPLD - "GGN:IPORTID=10001,IPORTGROUP=OpenGroup,IPORTNAME=IN1,IPORTCOMMENT=,INPWR=-12.05,OPORTID=20008,OPORTGROUP=OpenGroup,OPORTNAME=OUT8,OPORTCOMMENT=,OUTPWR=-13.63,SIGBAND=1550,PWRLOSS=1.57,CONNID=0,CONNNAME=IN1,CONNSTATE=steady,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=admin" - "GGN:IPORTID=10002,IPORTGROUP=OpenGroup,IPORTNAME=IN2,IPORTCOMMENT=,INPWR=-12.50,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10003,IPORTGROUP=OpenGroup,IPORTNAME=IN3,IPORTCOMMENT=,INPWR=-13.02,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10004,IPORTGROUP=OpenGroup,IPORTNAME=IN4,IPORTCOMMENT=,INPWR=-11.93,OPORTID=20005,OPORTGROUP=OpenGroup,OPORTNAME=OUT5,OPORTCOMMENT=,OUTPWR=-13.51,SIGBAND=1550,PWRLOSS=1.58,CONNID=0,CONNNAME=IN4,CONNSTATE=steady,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=admin" - "GGN:IPORTID=10005,IPORTGROUP=OpenGroup,IPORTNAME=IN5,IPORTCOMMENT=,INPWR=-50.66,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10006,IPORTGROUP=OpenGroup,IPORTNAME=IN6,IPORTCOMMENT=,INPWR=-49.67,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10007,IPORTGROUP=OpenGroup,IPORTNAME=IN7,IPORTCOMMENT=,INPWR=-49.54,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10008,IPORTGROUP=OpenGroup,IPORTNAME=IN8,IPORTCOMMENT=,INPWR=-49.78,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10009,IPORTGROUP=OpenGroup,IPORTNAME=IN9,IPORTCOMMENT=,INPWR=-50.25,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10010,IPORTGROUP=OpenGroup,IPORTNAME=IN10,IPORTCOMMENT=,INPWR=-50.98,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10011,IPORTGROUP=OpenGroup,IPORTNAME=IN11,IPORTCOMMENT=,INPWR=-50.24,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10012,IPORTGROUP=OpenGroup,IPORTNAME=IN12,IPORTCOMMENT=,INPWR=-50.64,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10013,IPORTGROUP=OpenGroup,IPORTNAME=IN13,IPORTCOMMENT=,INPWR=-50.78,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10014,IPORTGROUP=OpenGroup,IPORTNAME=IN14,IPORTCOMMENT=,INPWR=-50.99,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10015,IPORTGROUP=OpenGroup,IPORTNAME=IN15,IPORTCOMMENT=,INPWR=-49.91,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10016,IPORTGROUP=OpenGroup,IPORTNAME=IN16,IPORTCOMMENT=,INPWR=-50.39,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" -> -< - - BD0472 16-06-09 17:13:36 -M 1 COMPLD - "GGN:IPORTID=10017,IPORTGROUP=OpenGroup,IPORTNAME=IN17,IPORTCOMMENT=,INPWR=-49.87,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10018,IPORTGROUP=OpenGroup,IPORTNAME=IN18,IPORTCOMMENT=,INPWR=-50.43,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10019,IPORTGROUP=OpenGroup,IPORTNAME=IN19,IPORTCOMMENT=,INPWR=-50.39,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10020,IPORTGROUP=OpenGroup,IPORTNAME=IN20,IPORTCOMMENT=,INPWR=-50.64,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10021,IPORTGROUP=OpenGroup,IPORTNAME=IN21,IPORTCOMMENT=,INPWR=-50.18,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10022,IPORTGROUP=OpenGroup,IPORTNAME=IN22,IPORTCOMMENT=,INPWR=-50.01,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10023,IPORTGROUP=OpenGroup,IPORTNAME=IN23,IPORTCOMMENT=,INPWR=-50.11,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10024,IPORTGROUP=OpenGroup,IPORTNAME=IN24,IPORTCOMMENT=,INPWR=-49.75,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10025,IPORTGROUP=OpenGroup,IPORTNAME=IN25,IPORTCOMMENT=,INPWR=-13.04,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10026,IPORTGROUP=OpenGroup,IPORTNAME=IN26,IPORTCOMMENT=,INPWR=-12.92,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10027,IPORTGROUP=OpenGroup,IPORTNAME=IN27,IPORTCOMMENT=,INPWR=-50.65,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10028,IPORTGROUP=OpenGroup,IPORTNAME=IN28,IPORTCOMMENT=,INPWR=-50.44,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10029,IPORTGROUP=OpenGroup,IPORTNAME=IN29,IPORTCOMMENT=,INPWR=-48.11,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10030,IPORTGROUP=OpenGroup,IPORTNAME=IN30,IPORTCOMMENT=,INPWR=-49.91,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10031,IPORTGROUP=OpenGroup,IPORTNAME=IN31,IPORTCOMMENT=,INPWR=-49.86,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10032,IPORTGROUP=OpenGroup,IPORTNAME=IN32,IPORTCOMMENT=,INPWR=-50.91,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" -> -< - - BD0472 16-06-09 17:13:36 -M 1 COMPLD - "GGN:IPORTID=10033,IPORTGROUP=OpenGroup,IPORTNAME=IN33,IPORTCOMMENT=,INPWR=-50.65,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10034,IPORTGROUP=OpenGroup,IPORTNAME=IN34,IPORTCOMMENT=,INPWR=-50.08,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10035,IPORTGROUP=OpenGroup,IPORTNAME=IN35,IPORTCOMMENT=,INPWR=-50.42,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10036,IPORTGROUP=OpenGroup,IPORTNAME=IN36,IPORTCOMMENT=,INPWR=-50.38,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10037,IPORTGROUP=OpenGroup,IPORTNAME=IN37,IPORTCOMMENT=,INPWR=-10.25,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10038,IPORTGROUP=OpenGroup,IPORTNAME=IN38,IPORTCOMMENT=,INPWR=-12.19,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10039,IPORTGROUP=OpenGroup,IPORTNAME=IN39,IPORTCOMMENT=,INPWR=-51.07,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10040,IPORTGROUP=OpenGroup,IPORTNAME=IN40,IPORTCOMMENT=,INPWR=-50.91,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10041,IPORTGROUP=OpenGroup,IPORTNAME=IN41,IPORTCOMMENT=,INPWR=-50.38,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10042,IPORTGROUP=OpenGroup,IPORTNAME=IN42,IPORTCOMMENT=,INPWR=-50.18,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10043,IPORTGROUP=OpenGroup,IPORTNAME=IN43,IPORTCOMMENT=,INPWR=-50.98,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10044,IPORTGROUP=OpenGroup,IPORTNAME=IN44,IPORTCOMMENT=,INPWR=-50.54,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10045,IPORTGROUP=OpenGroup,IPORTNAME=IN45,IPORTCOMMENT=,INPWR=-50.24,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10046,IPORTGROUP=OpenGroup,IPORTNAME=IN46,IPORTCOMMENT=,INPWR=-50.24,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10047,IPORTGROUP=OpenGroup,IPORTNAME=IN47,IPORTCOMMENT=,INPWR=-51.12,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10048,IPORTGROUP=OpenGroup,IPORTNAME=IN48,IPORTCOMMENT=,INPWR=-50.61,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" -> -< - - BD0472 16-06-09 17:13:36 -M 1 COMPLD - "GGN:IPORTID=10049,IPORTGROUP=OpenGroup,IPORTNAME=MC-1-1,IPORTCOMMENT=,INPWR=-49.14,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10050,IPORTGROUP=OpenGroup,IPORTNAME=MC-1-2,IPORTCOMMENT=,INPWR=-49.12,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10051,IPORTGROUP=OpenGroup,IPORTNAME=MC-1-3,IPORTCOMMENT=,INPWR=-51.20,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10052,IPORTGROUP=OpenGroup,IPORTNAME=MC-1-4,IPORTCOMMENT=,INPWR=-50.83,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10053,IPORTGROUP=OpenGroup,IPORTNAME=MC-2-1,IPORTCOMMENT=,INPWR=-50.48,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10054,IPORTGROUP=OpenGroup,IPORTNAME=MC-2-2,IPORTCOMMENT=,INPWR=-50.67,OPORTID=0,OPORTGROUP=,OPORTNAME=,OPORTCOMMENT=,OUTPWR=NA,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20001,OPORTGROUP=OpenGroup,OPORTNAME=OUT1,OPORTCOMMENT=,OUTPWR=-51.85,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20002,OPORTGROUP=OpenGroup,OPORTNAME=OUT2,OPORTCOMMENT=,OUTPWR=-51.09,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20003,OPORTGROUP=OpenGroup,OPORTNAME=OUT3,OPORTCOMMENT=,OUTPWR=-51.28,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20004,OPORTGROUP=OpenGroup,OPORTNAME=OUT4,OPORTCOMMENT=,OUTPWR=-51.14,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10004,IPORTGROUP=OpenGroup,IPORTNAME=IN4,IPORTCOMMENT=,INPWR=-11.93,OPORTID=20005,OPORTGROUP=OpenGroup,OPORTNAME=OUT5,OPORTCOMMENT=,OUTPWR=-13.51,SIGBAND=1550,PWRLOSS=1.58,CONNID=0,CONNNAME=IN4,CONNSTATE=steady,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=admin" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20006,OPORTGROUP=OpenGroup,OPORTNAME=OUT6,OPORTCOMMENT=,OUTPWR=-50.45,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20007,OPORTGROUP=OpenGroup,OPORTNAME=OUT7,OPORTCOMMENT=,OUTPWR=-51.46,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=10001,IPORTGROUP=OpenGroup,IPORTNAME=IN1,IPORTCOMMENT=,INPWR=-12.05,OPORTID=20008,OPORTGROUP=OpenGroup,OPORTNAME=OUT8,OPORTCOMMENT=,OUTPWR=-13.63,SIGBAND=1550,PWRLOSS=1.57,CONNID=0,CONNNAME=IN1,CONNSTATE=steady,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=admin" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20009,OPORTGROUP=OpenGroup,OPORTNAME=OUT9,OPORTCOMMENT=,OUTPWR=-51.25,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" -> -< - - BD0472 16-06-09 17:13:36 -M 1 COMPLD - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20010,OPORTGROUP=OpenGroup,OPORTNAME=OUT10,OPORTCOMMENT=,OUTPWR=-51.67,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20011,OPORTGROUP=OpenGroup,OPORTNAME=OUT11,OPORTCOMMENT=,OUTPWR=-51.56,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20012,OPORTGROUP=OpenGroup,OPORTNAME=OUT12,OPORTCOMMENT=,OUTPWR=-52.36,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20013,OPORTGROUP=OpenGroup,OPORTNAME=OUT13,OPORTCOMMENT=,OUTPWR=-51.69,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20014,OPORTGROUP=OpenGroup,OPORTNAME=OUT14,OPORTCOMMENT=,OUTPWR=-50.77,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20015,OPORTGROUP=OpenGroup,OPORTNAME=OUT15,OPORTCOMMENT=,OUTPWR=-49.08,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20016,OPORTGROUP=OpenGroup,OPORTNAME=OUT16,OPORTCOMMENT=,OUTPWR=-50.29,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20017,OPORTGROUP=OpenGroup,OPORTNAME=OUT17,OPORTCOMMENT=,OUTPWR=-49.93,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20018,OPORTGROUP=OpenGroup,OPORTNAME=OUT18,OPORTCOMMENT=,OUTPWR=-51.93,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20019,OPORTGROUP=OpenGroup,OPORTNAME=OUT19,OPORTCOMMENT=,OUTPWR=-52.77,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20020,OPORTGROUP=OpenGroup,OPORTNAME=OUT20,OPORTCOMMENT=,OUTPWR=-51.77,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20021,OPORTGROUP=OpenGroup,OPORTNAME=OUT21,OPORTCOMMENT=,OUTPWR=-50.55,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20022,OPORTGROUP=OpenGroup,OPORTNAME=OUT22,OPORTCOMMENT=,OUTPWR=-51.51,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20023,OPORTGROUP=OpenGroup,OPORTNAME=OUT23,OPORTCOMMENT=,OUTPWR=-51.21,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20024,OPORTGROUP=OpenGroup,OPORTNAME=OUT24,OPORTCOMMENT=,OUTPWR=-51.50,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20025,OPORTGROUP=OpenGroup,OPORTNAME=OUT25,OPORTCOMMENT=,OUTPWR=-51.55,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" -> -< - - BD0472 16-06-09 17:13:36 -M 1 COMPLD - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20026,OPORTGROUP=OpenGroup,OPORTNAME=OUT26,OPORTCOMMENT=,OUTPWR=-51.35,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20027,OPORTGROUP=OpenGroup,OPORTNAME=OUT27,OPORTCOMMENT=,OUTPWR=-51.70,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20028,OPORTGROUP=OpenGroup,OPORTNAME=OUT28,OPORTCOMMENT=,OUTPWR=-51.35,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20029,OPORTGROUP=OpenGroup,OPORTNAME=OUT29,OPORTCOMMENT=,OUTPWR=-50.73,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20030,OPORTGROUP=OpenGroup,OPORTNAME=OUT30,OPORTCOMMENT=,OUTPWR=-51.84,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20031,OPORTGROUP=OpenGroup,OPORTNAME=OUT31,OPORTCOMMENT=,OUTPWR=-49.83,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20032,OPORTGROUP=OpenGroup,OPORTNAME=OUT32,OPORTCOMMENT=,OUTPWR=-49.57,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20033,OPORTGROUP=OpenGroup,OPORTNAME=OUT33,OPORTCOMMENT=,OUTPWR=-50.56,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20034,OPORTGROUP=OpenGroup,OPORTNAME=OUT34,OPORTCOMMENT=,OUTPWR=-52.66,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20035,OPORTGROUP=OpenGroup,OPORTNAME=OUT35,OPORTCOMMENT=,OUTPWR=-51.67,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20036,OPORTGROUP=OpenGroup,OPORTNAME=OUT36,OPORTCOMMENT=,OUTPWR=-52.11,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20037,OPORTGROUP=OpenGroup,OPORTNAME=OUT37,OPORTCOMMENT=,OUTPWR=-49.84,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20038,OPORTGROUP=OpenGroup,OPORTNAME=OUT38,OPORTCOMMENT=,OUTPWR=-50.73,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20039,OPORTGROUP=OpenGroup,OPORTNAME=OUT39,OPORTCOMMENT=,OUTPWR=-51.31,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20040,OPORTGROUP=OpenGroup,OPORTNAME=OUT40,OPORTCOMMENT=,OUTPWR=-49.71,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20041,OPORTGROUP=OpenGroup,OPORTNAME=OUT41,OPORTCOMMENT=,OUTPWR=-50.56,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" -> -< - - BD0472 16-06-09 17:13:36 -M 1 COMPLD - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20042,OPORTGROUP=OpenGroup,OPORTNAME=OUT42,OPORTCOMMENT=,OUTPWR=-51.80,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20043,OPORTGROUP=OpenGroup,OPORTNAME=OUT43,OPORTCOMMENT=,OUTPWR=-51.56,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20044,OPORTGROUP=OpenGroup,OPORTNAME=OUT44,OPORTCOMMENT=,OUTPWR=-51.60,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20045,OPORTGROUP=OpenGroup,OPORTNAME=OUT45,OPORTCOMMENT=,OUTPWR=-50.77,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20046,OPORTGROUP=OpenGroup,OPORTNAME=OUT46,OPORTCOMMENT=,OUTPWR=-50.37,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20047,OPORTGROUP=OpenGroup,OPORTNAME=OUT47,OPORTCOMMENT=,OUTPWR=-51.43,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20048,OPORTGROUP=OpenGroup,OPORTNAME=OUT48,OPORTCOMMENT=,OUTPWR=-51.10,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20049,OPORTGROUP=OpenGroup,OPORTNAME=MC-1,OPORTCOMMENT=,OUTPWR=-50.66,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" - "GGN:IPORTID=0,IPORTGROUP=,IPORTNAME=,IPORTCOMMENT=,INPWR=NA,OPORTID=20050,OPORTGROUP=OpenGroup,OPORTNAME=MC-2,OPORTCOMMENT=,OUTPWR=-49.72,SIGBAND=1550,PWRLOSS=NA,CONNID=0,CONNNAME=,CONNSTATE=single,CONNCAUSE=none,CONNLOCK=0,CONNLOCKUSER=" -; -""" -custom_port_pairing = { - "1": "48", - "48": "1", - "2": "3" -} -port_list = device_data['port_list'].split("\n") -port_map_list = device_data["connections_map"].split("\n") -_mapping_info = {} -address_prefix = '10.10.1.1' -result_list = [] - -logical_port_map = dict() -temp_logical_port_map = dict() -for port_data in port_list: - port_info_match = re.search(r"PORTID=(?P\d+).*PORTNAME=(?P(IN|OUT)\d+)" + - ".*PORTHEALTH=(?Pgood|bad)", port_data, re.DOTALL) - if port_info_match is not None: - port_info_dict = port_info_match.groupdict() - logical_port_id = re.sub('(IN|OUT)', '', port_info_dict["name"]) - if logical_port_id not in logical_port_map.keys(): - logical_port_map[logical_port_id] = {} - if port_info_dict["state"].lower() == "good": - port_state = "Enable" - else: - port_state = "Disable" - - logical_port_map[logical_port_id]['state'] = port_state - - if 'in' in port_info_dict["name"].lower(): - logical_port_map[logical_port_id]['in'] = logical_port_id - else: - if logical_port_id in custom_port_pairing.values(): - for key, value in custom_port_pairing.iteritems(): - if value == logical_port_id and key in logical_port_map: - logical_port_map[key]['out'] = logical_port_id - else: - logical_port_map[logical_port_id]['out'] = logical_port_id - - for port_id, port_data in logical_port_map.iteritems(): - if 'in' in port_data and 'out' in port_data: - logical_port_map[port_id]['port_address'] = '{0}-{1}'.format( - logical_port_map[port_id]['in'], - logical_port_map[port_id]['out']) - -for port_data in port_map_list: - port_map_match = re.search(r"IPORTID=(?P\d+).*IPORTNAME=(?P\S+),IP.*" + - "OPORTID=(?P\d+).*OPORTNAME=(?P\S+),OP.*", - port_data, re.DOTALL) - if port_map_match is not None: - port_map_dict = port_map_match.groupdict() - src_logical_port_id = re.sub('(IN|OUT)', '', port_map_dict["src_port_name"]) - dst_logical_port_id = re.sub('(IN|OUT)', '', port_map_dict["dst_port_name"]) - if src_logical_port_id in logical_port_map.keys() \ - and dst_logical_port_id in logical_port_map.keys(): - _mapping_info[src_logical_port_id] = dst_logical_port_id - -for logical_port_index, logical_port_data in logical_port_map.iteritems(): - port_resource_info = ResourceInfo() - port_resource_info.set_depth(1) - if 'port_address' not in logical_port_data: - continue - port_resource_info.set_index(logical_port_data['port_address']) - port_resource_info.set_model_name('adadadad') - if logical_port_index in _mapping_info: - port_resource_info.set_mapping( - address_prefix + logical_port_map[_mapping_info[logical_port_index]]['port_address']) - port_resource_info.add_attribute("State", logical_port_data['state']) - port_resource_info.add_attribute("Protocol Type", 0) - result_list.append((logical_port_index, port_resource_info)) - -print result_list From b6b238ac6803bad5d3951356515e55cd505ea5ec Mon Sep 17 00:00:00 2001 From: "Costya.y" Date: Tue, 10 Sep 2019 15:40:50 +0300 Subject: [PATCH 3/5] added debug logging to the cli --- .gitignore | 2 + glimmerglass/glimmerglass_driver_handler.py | 31 ++---- glimmerglass/tcp_session.py | 109 ++++++++++++++++++++ version.txt | 2 +- 4 files changed, 118 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index 64ecaed..08f71cb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ build *.pyc glimmerglass/test.py glimmerglass/test.py +/glimmerglass/test*.py +/Logs diff --git a/glimmerglass/glimmerglass_driver_handler.py b/glimmerglass/glimmerglass_driver_handler.py index fa29228..8432aa6 100644 --- a/glimmerglass/glimmerglass_driver_handler.py +++ b/glimmerglass/glimmerglass_driver_handler.py @@ -4,7 +4,6 @@ import re from common.driver_handler_base import DriverHandlerBase -from common.helper.system_helper import get_file_folder from common.resource_info import ResourceInfo from common.configuration_parser import ConfigurationParser from glimmerglass.tcp_session import GGTCPSession @@ -234,13 +233,13 @@ def get_resource_description(self, address, command_logger=None): def map_uni(self, src_port, dst_port, command_logger=None): if self._service_mode.lower() == u"tl1": self._session.send_command("", re_string=self._login_prompt) - src_in_port = min(int(src_port[1]), int(dst_port[1])) - - dst_out_port = max(int(src_port[1]), int(dst_port[1])) - if self._port_logical_mode.lower() == "logical": - src_in_port = str(10000 + int(src_in_port.split('-')[0])) - dst_out_port = str(20000 + int(dst_out_port.split('-')[1])) + src_in_port = str(10000 + int(src_port[1].split('-')[0])) + dst_out_port = str(20000 + int(dst_port[1].split('-')[1])) + else: + src_in_port = min(int(src_port[1]), int(dst_port[1])) + + dst_out_port = max(int(src_port[1]), int(dst_port[1])) command = "ent-crs-fiber::{0},{1}:{2};".format(src_in_port, dst_out_port, self._incr_ctag()) command_result = self._session.send_command(command, re_string=self._prompt) @@ -306,21 +305,3 @@ def map_clear(self, src_port, dst_port, command_logger=None): def set_speed_manual(self, command_logger=None): pass - - -if __name__ == '__main__': - import sys - - from cloudshell.core.logger.qs_logger import get_qs_logger - from common.xml_wrapper import XMLWrapper - - ConfigurationParser.set_root_folder(get_file_folder(sys.argv[0].replace("/glimmerglass/", "/"))) - gglass = GlimmerglassDriverHandler() - plogger = get_qs_logger('Autoload', 'GlimmerGlass', 'GlimmerGlass') - - gglass.login('localhost:1023', 'admin', '********', plogger) - result = gglass.get_resource_description('localhost:1023') - result1 = gglass.get_resource_description('localhost:1023') - print XMLWrapper.get_string_from_xml(result) - print XMLWrapper.get_string_from_xml(result1) - diff --git a/glimmerglass/tcp_session.py b/glimmerglass/tcp_session.py index b815834..ca0a228 100644 --- a/glimmerglass/tcp_session.py +++ b/glimmerglass/tcp_session.py @@ -1,3 +1,11 @@ +import re +import socket +import time +from collections import OrderedDict + +from common.cli.exceptions import SessionLoopLimitException, CommandExecutionException, SessionLoopDetectorException +from common.cli.expect_session import ActionLoopDetector +from common.cli.helper.normalize_buffer import normalize_buffer from common.cli.tcp_session import TCPSession @@ -12,3 +20,104 @@ def connect(self, host, username, password, command=None, error_map=None, action def reconnect(self, re_string=''): return super(GGTCPSession, self).reconnect(self._login_prompt) + + def hardware_expect(self, data_str=None, re_string='', expect_map=None, error_map=None, + timeout=None, retries=None, check_action_loop_detector=True, empty_loop_timeout=None, + **optional_args): + + """Get response form the device and compare it to expected_map, error_map and re_string patterns, + perform actions specified in expected_map if any, and return output. + Raise Exception if receive empty responce from device within a minute + + :param data_str: command to send + :param re_string: expected string + :param expect_map: dict with {re_str: action} to trigger some action on received string + :param error_map: expected error list + :param timeout: session timeout + :param retries: maximal retries count + :return: + """ + + if not expect_map: + expect_map = OrderedDict() + + if not error_map: + error_map = OrderedDict() + + retries = retries or self._max_loop_retries + empty_loop_timeout = empty_loop_timeout or self._empty_loop_timeout + + if data_str is not None: + self._clear_buffer(self._clear_buffer_timeout) + + self.logger.info('Command: {}'.format(data_str.replace(self._password, "*" * 7))) + self.send_line(data_str) + + if re_string is None or len(re_string) == 0: + raise Exception('ExpectSession', 'List of expected messages can\'t be empty!') + + # Loop until one of the expressions is matched or MAX_RETRIES + # nothing is expected (usually used for exit) + output_list = list() + output_str = '' + retries_count = 0 + is_correct_exit = False + action_loop_detector = ActionLoopDetector(self._loop_detector_max_action_loops, + self._loop_detector_max_combination_length) + + while retries == 0 or retries_count < retries: + + try: + read_buffer = self._receive(timeout) + except socket.timeout: + read_buffer = None + + if read_buffer: + output_str += read_buffer + retries_count = 0 + else: + retries_count += 1 + time.sleep(empty_loop_timeout) + continue + + if re.search(re_string, output_str, re.DOTALL): + output_list.append(output_str) + is_correct_exit = True + + for expect_string in expect_map: + result_match = re.search(expect_string, output_str, re.DOTALL) + if result_match: + output_list.append(output_str) + + if check_action_loop_detector: + if action_loop_detector.loops_detected(expect_string): + self.logger.error('Loops detected, output_list: {}'.format(output_list)) + raise SessionLoopDetectorException(self.__class__.__name__, + 'Expected actions loops detected') + expect_map[expect_string](self) + output_str = '' + break + + if is_correct_exit: + break + + if not is_correct_exit: + self.logger.debug("Received output: {}".format("".join(output_list))) + raise SessionLoopLimitException(self.__class__.__name__, + 'Session Loop limit exceeded, {} loops'.format(retries_count)) + + result_output = ''.join(output_list) + + for error_string in error_map: + result_match = re.search(error_string, result_output, re.DOTALL) + if result_match: + self.logger.error(result_output) + raise CommandExecutionException('ExpectSession', + 'Session returned \'{}\''.format(error_map[error_string])) + + # Read buffer to the end. Useful when re_string isn't last in buffer + result_output += self._clear_buffer(self._clear_buffer_timeout) + + result_output = normalize_buffer(result_output) + self.logger.info(result_output.replace(self._password, "*" * 7)) + return result_output diff --git a/version.txt b/version.txt index 0d82d89..f07a7ff 100644 --- a/version.txt +++ b/version.txt @@ -31,7 +31,7 @@ VSVersionInfo( u'040904b0', [StringStruct(u'CompanyName', u'Qualisystems'), StringStruct(u'ProductName', u'L1 Driver'), - StringStruct(u'ProductVersion', u'1.0.0.0'), + StringStruct(u'ProductVersion', u'1.0.4.0'), StringStruct(u'InternalName', u'L1 Driver'), StringStruct(u'OriginalFilename', u'Glimmerglass.exe'), StringStruct(u'FileVersion', u'96, 12, 19, 1'), From f4513d296789fe0da07f222bb676761c89db9341 Mon Sep 17 00:00:00 2001 From: Costya Yevdyukhin Date: Sun, 15 Mar 2020 10:05:29 +0200 Subject: [PATCH 4/5] Fixed version; Release 1.0.5 --- glimmerglass/glimmerglass_driver_handler.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/glimmerglass/glimmerglass_driver_handler.py b/glimmerglass/glimmerglass_driver_handler.py index 8432aa6..d23c918 100644 --- a/glimmerglass/glimmerglass_driver_handler.py +++ b/glimmerglass/glimmerglass_driver_handler.py @@ -89,7 +89,6 @@ def _get_device_data(self): return device_data def get_resource_description(self, address, command_logger=None): - self._session.send_command("", re_string=self._login_prompt) device_data = self._get_device_data() self._resource_info = ResourceInfo() @@ -232,7 +231,6 @@ def get_resource_description(self, address, command_logger=None): def map_uni(self, src_port, dst_port, command_logger=None): if self._service_mode.lower() == u"tl1": - self._session.send_command("", re_string=self._login_prompt) if self._port_logical_mode.lower() == "logical": src_in_port = str(10000 + int(src_port[1].split('-')[0])) dst_out_port = str(20000 + int(dst_port[1].split('-')[1])) @@ -250,7 +248,6 @@ def map_uni(self, src_port, dst_port, command_logger=None): def map_bidi(self, src_port, dst_port, command_logger=None): if self._service_mode.lower() == u"tl1": - self._session.send_command("", re_string=self._login_prompt) if self._port_logical_mode.lower() == "logical": source_port = str(src_port[1]).split('-') destination_port = str(dst_port[1]).split('-') @@ -268,11 +265,10 @@ def map_bidi(self, src_port, dst_port, command_logger=None): "Bidirectional mapping supported only in logical port mode".format(self._service_mode)) else: raise Exception(self.__class__.__name__, - "Selected '{}' connection type is not supported".format(self._service_mode)) + "Selected '{}' connection type is not supported".format(self._service_mode)) def map_clear_to(self, src_port, dst_port, command_logger=None): if self._service_mode.lower() == "tl1": - self._session.send_command("", re_string=self._login_prompt) src_in_port = src_port[1] if self._port_logical_mode.lower() == "logical": source_port = src_port[1].split('-') @@ -287,7 +283,6 @@ def map_clear_to(self, src_port, dst_port, command_logger=None): def map_clear(self, src_port, dst_port, command_logger=None): if self._service_mode.lower() == "tl1": - self._session.send_command("", re_string=self._login_prompt) if self._port_logical_mode.lower() == "logical": source_port = src_port[1].split('-') destination_port = dst_port[1].split('-') From 09b5e0b8a7c217b8207efecb08643646db79e837 Mon Sep 17 00:00:00 2001 From: Costya Yevdyukhin Date: Sun, 15 Mar 2020 11:26:57 +0200 Subject: [PATCH 5/5] updated version --- version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.txt b/version.txt index f07a7ff..416d7dd 100644 --- a/version.txt +++ b/version.txt @@ -31,7 +31,7 @@ VSVersionInfo( u'040904b0', [StringStruct(u'CompanyName', u'Qualisystems'), StringStruct(u'ProductName', u'L1 Driver'), - StringStruct(u'ProductVersion', u'1.0.4.0'), + StringStruct(u'ProductVersion', u'1.0.5.0'), StringStruct(u'InternalName', u'L1 Driver'), StringStruct(u'OriginalFilename', u'Glimmerglass.exe'), StringStruct(u'FileVersion', u'96, 12, 19, 1'),