Skip to content

NOC 20.3

20.3 release contains 271 bugfixes, optimisations and improvements.



NOC 20.3 introduces new ad-hoc auto-segmentation algorithm we'd called Biosegmentation for its similarity with famous "Osmosys" game. Each Managed Object starts with its very own "floating" segment, or "bubble". Bubbles collide each other in series of neighboring events, like new links found. Each collision leads to a "trial", when rivaling segments have to prove their power and appeal to the policies and to the rules.

The winner of contest may consume all looser's objects and gains ever more power. During to collision with already established network segment hierarchy, called "persistent" segment, bubble can ever join to one of existing segment, or to became persistent segment by itself.

Biosegmentation can effectively reveal network segment hierarchy by analyzing existing or newly found links.

ConfDB Improvements

ConfDB got new syntax support for:

  • LAG
  • AAA
  • DNS

Normalizers have been covered by common testing framework, increasing overall code quality and developers productivity.

Stencil Overlays

Network map got capability to denote object's shapes with additional small glyphs, basing on object, profiles or project settings. i.e. all objects related to particular project or to particular role in the network may have additional indication.

New features

MR Title
MR3478 Sentry: Change client
MR3686 add api for check is logged
MR3795 sa.managedobject: Manual interface creation/deletion
MR3814 noc/noc#1318 Add LAG to ConfDB syntax.
MR3841 Network Map: Stencil overlays
MR3893 Font and Glyph collections
MR3904 ManagedObject: Project
MR3960 Update Maintenance functional
MR3995 Add New profile STerra Gate
MR4002 Add new Profile Kontinent
MR4012 Add group Object metrics in Card
MR4022 Add metrics for Gate.
MR4118 Biosegmentation
MR4154 tag tree widget
MR4169 Add Eltex MES24xx mib
MR4176 Update gates metrics name
MR4179 Fix graph_interface_load_lag.j2 view sum iface load


MR Title
MR3380 Add some help hints
MR3506 #1331 Unified requirements.txt
MR3815 Add aggregated interface and LACP protocol to Interface and Caps Discovery.
MR3816 noc/noc#1319 Add cli_retries_unprivileged_mode params. Fix retry unprivileged mode.
MR3842 Add SysUptime metric type.
MR3843 Set enable_timedelta to true on Interface PM scope.
MR3843 Set enable_timedelta to true on Interface PM scope.
MR3849 Add BI dashboards to collections.
MR3873 noc/noc#1325 Add downlinks of uplink to rca_neighbors.
MR3879 Replace get_fqdn script to Generic.
MR3892 noc/noc#1327 Add DefaultInterfaceUntaggedVlanApplicator to ConfDB applicators.
MR3895 Replace get_fqdn script to Generic #2
MR3897 datastream: asyncio waiter
MR3898 Fix upload docs
MR3900 atomicl 1.1.0
MR3907 add_new_objectmodels_Zyxel_MSAN
MR3916 Add some cisco models
MR3918 Merge branch 'fix-docker-image-proj' into 'master'
MR3921 features.use_uvloop config option
MR3922 add_objectmodels_cisco_c3560e
MR3933 add_objectmodels_dlink_DAS-3224DC_1
MR3934 add_objectmodels_zhone_paradyne
MR3940 add_objectmodels_Extreme_X480-24x
MR3941 Add RCA type field to Alarms BI model.
MR3945 Add batch to fix_object_uplinks.
MR3956 add_objectmodels_ciscoASR1004_card
MR3964 Disable action button in grid, when we have not permission
MR3965 Allow empty platform for etl portmapper.
MR3968 add_profilecheckrules_Eltex_TAU
MR3969 add_profilecheckrules_SKS
MR3972 inv.objectmodels: Cisco | 4500X | C4KX-PWR-750AC-F
MR3985 How to share collections
MR3988 Add howto to menu
MR3996 inv.objectmodels: Eltex | RG | RG-1412G-Wac
MR4003 inv.objectmodels: Extreme | Summit | X670-48x
MR4004 Update PWR-550W-AC.json
MR4005 inv.connectiontypes: Extreme | Summit | X650 | FAN
MR4006 inv.objectmodels: Extreme | Summit | X650 | FAN-FB
MR4007 inv.objectmodels: Extreme | Summit | X650-24x
MR4017 Update DGS-3420-28TC.json
MR4018 inv.objectmodels: Juniper | EX | EX3200-24T
MR4029 Update JPSU-650W-AC-AFO.json
MR4030 inv.connectiontypes: Juniper | MX | MX204 Fan
MR4031 inv.objectmodels: Juniper | MX | SCB-MX204
MR4032 inv.objectmodels: Juniper | MX | MX204
MR4033 ADd dependencies scan
MR4034 inv.objectmodels: APC | SmartUPS | 2200
MR4036 inv.objectmodels: Cisco | C2960 | WS-C2960RX-48LPS-L
MR4037 inv.objectmodels: Cisco | C2960 | WS-C2960RX-48LPD-L
MR4038 inv.objectmodels: Cisco | C2960 | WS-C2960RX-48FPD-L
MR4039 inv.objectmodels: Cisco | C2960 | WS-C2960RX-24TS-L
MR4041 inv.objectmodels: Cisco | ISR | Module | VIC3-4FXS/DID
MR4042 inv.objectmodels: Cisco | Transceiver | 1G | TRPUG1CLXECISE2G
MR4043 inv.objectmodels: MikroTik | RouterBoard | RB2011UiAS-2HnD
MR4044 inv.objectmodels: Nateks | NetXpert | NetXpert NX-3408 V1
MR4045 inv.objectmodels: Nateks | NetXpert | NetXpert NX-3424 V2
MR4046 inv.objectmodels: Ubiquiti | AP | PowerBeam 5AC 400
MR4047 inv.objectmodels: Ubiquiti | AP | PowerBeam 5AC 400 ISO
MR4051 inv.objectmodels: Cisco | C3850 | C3850-NM-2-40G
MR4053 inv.objectmodels: Cisco | PWR | PWR-C1-715WAC
MR4055 Remove useless options and add changes rule.
MR4057 Add more platforms
MR4059 Add segment_lookup for segment column on ReportObjectDetail.
MR4063 enable dependency test only when file is changed
MR4064 inv.objectmodels: Cisco | C2960 | WS-C2960XR-48LPS-I
MR4065 inv.objectmodels: Cisco | C2960 | WS-C2960-48PST-S
MR4067 noc/noc#1346 Filter metric if it value eq SNMP_OVERLOAD_VALUE.
MR4071 inv.connectionrules: Cisco | C3850
MR4072 inv.connectiontypes: Cisco | Electrical | StackWise 480
MR4073 inv.objectmodels: Cisco | C3850 | WS-C3850-24XS-S
MR4074 inv.objectmodels: Cisco | C3850 | STACK-T1-50CM
MR4075 inv.connectiontypes: Cisco | C3850 | NM
MR4076 inv.connectiontypes: Cisco | C3850 | PSU
MR4077 inv.connectiontypes: Cisco | C3850 | STACKPORT
MR4083 Update list of datastreams in fix_rebuild_datastream
MR4085 etl: BaseExtractor refactoring
MR4086 sa.profilecheckrules: DLink | DES-7206 sysObjectID
MR4087 sa.profilecheckrules: Huawei | MA | MA5800-X17 sysObjectID
MR4088 sa.profilecheckrules: Huawei | MA | MA5800-X7 sysObjectID
MR4088 sa.profilecheckrules: Huawei | MA | MA5800-X7 sysObjectID
MR4105 inv.models.platform: Fix to_json sorting
MR4113 sa.profilecheckrules: Eltex | MA | MA4000 sysObjectID
MR4115 sa.profilecheckrules: DCN | DCWS | DCWS-6222 sysObjectID
MR4116 sa.profilecheckrules: DCN | DCWS | DCWS-6002 sysObjectID
MR4117 sa.profilecheckrules: DCN | DCWS | DCWS-6028(R2) sysObjectID
MR4125 pymongo 3.11.0
MR4137 sa.profilecheckrules tests
MR4140 noc/noc#1328 Add vlan_ids to unit ConfDB syntax.
MR4146 fix_reportmaxmetrics
MR4148 noc/noc#1342 Add VPN Metric Scope.
MR4149 etl: Configurable compression
MR4150 Fix for DCWS-6028(R2)
MR4151 noc/noc#1218 CLI: Distinct timeout error codes
MR4162 #1362 ConfDB: Group expansion in curly tokenizer
MR4163 noc/noc#1360 Add aaa to system confdb syntax.
MR4164 noc/noc#1361 Add dns to protocols confdb syntax.
MR4165 Add vlan_ids to interface discovery ConfDB source.
MR4166 Fix ReportObjectDetail trace when empty segment name.
MR4167 SNMP: Better oid wrap detection in GETNEXT
MR4170 #1361 confdb: Juniper.JUNOS dns normalizer
MR4172 confdb: Profile normalizer tests
MR4175 ConfDB: Allow normalizer inheritance
MR4182 Update uplinks if MergeDownlink status changed.
MR4183 #1364 Biosegmentation: Configurable segment names
MR4184 Remove autogenerated words
MR4185 Move Tornado-specific parts into TornadoService
MR4190 pynsq 0.9.0
MR4192 Allow to use model id in DocumentReferenceField
MR4208 ConfDB: Expose profile to normalizer tests
MR4210 Optimized run_sync
MR4212 Fix UI style for ConfDB query name.
MR4212 Fix UI style for ConfDB query name.
MR4215 noc/noc#1365 Close CLI stream if 'Connection reset' receive.
MR4219 Set black format to py37
MR4220 Move pylint configuration to pyproject.toml file
MR4224 gitlab ci: Do not try to lint deleted files
MR4226 Parallel build of docs. Disable API docs
MR4227 Minimize line-length to 100 like in black


MR Title
MR3784 Fix docker image build
MR3791 Fix encoding on ReportLinkDetail.
MR3792 Fix load cmibs from custom.
MR3797 Fix decoding on interfacepath card.
MR3800 Fix tags lookup search.
MR3801 Remove double fm_pool from managedobject etl loader.
MR3831 noc/noc#1322 Fix duplicate session when self.cli use on Profile.shutdown_session.
MR3860 Fix fix_link_all_objects.
MR3862 Add cpestatus field to ReportDiscoveryResult reportdatasource.
MR3867 Fix 'CronTab' object is not an iterator trace.
MR3872 Fix trap decode ('use a string pattern on a bytes-like object').
MR3875 Fix 'Juniper | JUNOS | Security | Authentication | SNMP Authentication Failure...
MR3878 Add filter id None values on datastream command.
MR3880 Fix encoding on classifier fm_unescape function.
MR3890 Fix typo on CollapseTagged Applicator.
MR3910 Fix monmap card 'not supported between instances of 'int' and 'NoneType''.
MR3911 Fix sorted key in ConfDB 'interfaces X meta link'.
MR3942 Fix sorted key in BI Dashboard access.
MR3943 Add suppress_trace flag to IOLoopContext.
MR3953 Disable check access_preference SNMP for get_version script.
MR3977 Fix grafana templates id
MR4048 noc/noc#1343 Use ListField for inheritance on PlainReferenceListField. Fixed extend change on field.
MR4056 noc/noc#1345 Fix 'RuntimeError: no running event loop' on Datastream notify callback.
MR4080 combobox fix
MR4090 Fix getting object metrics for table without path column.
MR4096 Set uuid when create BI dashboard.
MR4098 Fix typo in pm.utils.
MR4101 Revert PlainReferenceListField.
MR4124 #1333 Change AS.asn type to bigint to extend valid 32-bit ASN range
MR4127 noc/noc#1343 Use BaseList from mongoengine.base.datastructures for PlainReferenceListField value.
MR4128 noc/noc#1344 Use smart_text on fix tags.
MR4129 noc/noc#1337 Use smart_bytes on threshold picker load.
MR4139 Generic.get_interfaces. Fix mtu None value trace.
MR4157 noc/noc#1324 Catch exception when shutdown_session when remove session.
MR4158 Fix call handler on cli object_parser.
MR4171 docs: Fix actual arguments in tools
MR4173 noc/noc#1350 Fix datastream rebuild None id trace.
MR4197 Add ifdescr to ReporDiscoveryResult.
MR4207 Fix table name for routingneighbors BI models.
MR4216 field biosseg_floating_parent_segment fixed

Code Cleanup

MR Title
MR3462 cython language_level
MR3630 Fix Fav Filter
MR3779 Update VERSION
MR3835 Remove pyclips
MR3845 Cleanup cm.ObjecFact on managedobject on_delete_check.
MR3851 Remove main.probehandler.LookupField
MR3896 Remove OrderMap
MR3919 Remove "import json" from
MR3971 Update iface handler
MR4126 Remove remaining __future__ imports
MR4134 Replace collections.Iterable with typing.Iterable
MR4177 Replace deprecated imp.new_module() function

Profile Changes


MR Title
MR3828 Alcatel.7302.get_version. Fix platform detect.
MR4211 Alcatel.7302. Fix for 7342 PON platform.


MR Title
MR3821 Alstec.24xx.get_fqdn. Cleanup print.


MR Title
MR3802 Cisco.IOS. Add Dial-peer interface to convert_interface_name.
MR3846 Add voice interface to Cisco.IOS.convert_interface_name.
MR3908 Use MIB to get CDP status, instead of raw oid
MR3917 Fix Cisco.IOS.get_inventory script
MR4066 Fix Cisco.IOS.get_inventory script
MR4130 noc/noc#1339 Cisco.IOS.normalizer. Fix digit multi on storm-control level command.
MR4147 noc/noc#1339 Cisco.IOS.normalizer. Fix typo


MR Title
MR4089 Add DLink.DxS.get_metrics script


MR Title
MR4204 ConfDB Eltex.MES


MR Title
MR3950 Eltex.MES24xx. Add support SNMP to profile.
MR4106 Fix Eltex.MES24xx.get_lldp_neighbors script
MR4155 Add metrics CPU/Memory for MES24xx
MR4181 ConfDB. MES24xx. normalizer + tests


MR Title
MR4112 Fix Extreme.XOS.get_inventory script


MR Title
MR3781 Generic.get_interfaces. Fix getting switchport vlans.
MR3819 Generic.get_interfaces. Fix get_snmp_timeout method.
MR3834 Generic.get_interface_properties. Add interface_filter method for ignore interface by name.
MR3855 Fix invalid vlan number in Generic.get_mac_address_table script
MR3935 Fix Generic.get_interfaces script
MR3944 Generic.get_mac_address_table. Add get_iface_mapping method.
MR4109 noc/noc#1349 Generic.get_interfaces. Fix trace when empty mtu
MR4111 Fix Generic.get_mpls_vpn script
MR4202 Generic.get_spanning_tree. Convert designated_port_id to hex if getting int.


MR Title
MR3870 Hikvision.DSKV8.get_config. Fix dict iteritems.


MR Title
MR2363 Add Operation error to Huawei.MA5600T when message.
MR3796 Huawei.MA5600T.get_capabilities set keep_cli_session to false.
MR3827 Huawei.MA5600T.get_inventory. Fix detect MA5603.
MR3854 Huawei.MA5600T.get_cpe_status. Fix decode serial.
MR3920 Huawei.MA5600T. Add pattern_more prompt.
MR3991 Fix CLI Huawei.MA5600T.get_lldp_neighbors
MR4061 Huawei.MA5600T. Add Load OID for GPON interface metrics.
MR4103 Huawei.MA5600T. Fix typo on gponports metric name.
MR4110 Fix Huawei.MA5600T profile


MR Title
MR3780 Fix Huawei vrp 40g interface support
MR3783 Huawei.VRP.get_interfaces. Remove print.
MR3810 Huawei.VRP. ConfDB normalizer for ipv6 link-local address.
MR3822 Huawei.VRP. Add LAG interface to ConfDB normalizer.
MR3886 Huawei.VRP. Add Gi to convert_interface_name.
MR3951 Huawei.VRP. Fix several snmp only working problems.
MR4013 noc/noc#1163 Huawei.VRP. Add rogue_chars to profile.
MR4142 noc/noc#1163 Huawei.VRP.get_metrics. Use getnext for CX200 DuplexStatus.
MR4201 Huawei.VRP. ConfDB normalizer. Add parse vlan_ids.


MR Title
MR3703 fix for JUNOS: - get serial number from CLI
MR3772 Fix invalid output in JUNOS 16.1R6.7
MR3853 Fix Juniper.JUNOS.get_fqdn script
MR3936 Fix script for only snmp connection
MR3937 Fix script for only snmp connection2
MR3939 Add use of filter_interface() function
MR4024 Fix Juniper.JUNOS.get_interfaces script


MR Title
MR3902 Add SNMP support for MikroTik.RouterOS.get_fqdn script


MR Title
MR3857 Fix NAG.SNR.get_version script


MR Title
MR3905 new_objectmodels_qtech_part4


MR Title
MR3832 Raisecom.ROS.get_version. Fix version regex for Gazelle platform.
MR4107 Fix Raisecom.ROS.get_lldp_neighbors script
MR4136 noc/noc#1162 Raisecom.ROS profile. Fix convert iface name for SNMP ifDescr format.


MR Title
MR3782 SKS.SKS. Add SNMP support.
MR3807 SKS.SKS. Fix convert interface name on LLDP.


MR Title
MR3028 Add ubiquiti/wa support
MR4010 Fix get_interface


MR Title
MR3906 fix_profile_Zyxel_MSAN


MR Title
MR3785 Alstec.MSPU.get_interfaces. Fix 'port ' command.
MR3806 Qtech.QSW8200. Add SNMP support.
MR3808 DCN.DCWL.get_metrics. Fix CPU Usage.
MR3820 Qtech.QSW8200.get_version. Fix bootprom detect on SNMP.
MR3844 Update Dlink.DxS_Smart profile to support DGS-1210 rev. F1 series
MR3858 Fix Eltex.LTP.get_version script
MR3859 Fix Huawei.MA5300.get_interfaces script
MR3861 Add get_fqdn scripts.
MR3924 Rotek.RTBSv1.get_interfaces. Fix subinterfaces.
MR3931 Fix Eltex.LTP.get_mac_address_table script
MR3952 Iskratel.MBAN.get_version. Fix regex for SHDSL board.
MR3958 TPLink.T2600G. Add SNMP support.
MR3959 Vector.Lamda. Add SNMP Support.
MR3961 Fix Proscend.SHDSL.get_chassis_id script
MR4023 Fix DLink.DxS_Cisco_CLI.get_lldp_neighbors script
MR4062 Fix DLink.DxS_Cisco_CLI.get_lldp_neighbors script
MR4078 Fix Planet.WGSD.get_interfaces script
MR4093 Fix ZTE.ZXA10.get_interfaces script
MR4095 Fix Eltex.DSLAM profile
MR4108 Fix Eltex.LTE.get_version script
MR4206 ConfDB normalizer Raisecom.RCIOS + tests.