Skip to content

NOC 20.3

20.3 release contains 271 bugfixes, optimisations and improvements.

Highlights

Biosegmentation

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

MRTitle
MR3478Sentry: Change client
MR3686add api for check is logged
MR3795sa.managedobject: Manual interface creation/deletion
MR3814noc/noc#1318 Add LAG to ConfDB syntax.
MR3841Network Map: Stencil overlays
MR3893Font and Glyph collections
MR3904ManagedObject: Project
MR3960Update Maintenance functional
MR3995Add New profile STerra Gate
MR4002Add new Profile Kontinent
MR4012Add group Object metrics in Card
MR4022Add metrics for Gate.
MR4118Biosegmentation
MR4154tag tree widget
MR4169Add Eltex MES24xx mib
MR4176Update gates metrics name
MR4179Fix graph_interface_load_lag.j2 view sum iface load

Improvements

MRTitle
MR3380Add some help hints
MR3506#1331 Unified requirements.txt
MR3815Add aggregated interface and LACP protocol to Interface and Caps Discovery.
MR3816noc/noc#1319 Add cli_retries_unprivileged_mode params. Fix retry unprivileged mode.
MR3842Add SysUptime metric type.
MR3843Set enable_timedelta to true on Interface PM scope.
MR3843Set enable_timedelta to true on Interface PM scope.
MR3849Add BI dashboards to collections.
MR3873noc/noc#1325 Add downlinks of uplink to rca_neighbors.
MR3879Replace get_fqdn script to Generic.
MR3892noc/noc#1327 Add DefaultInterfaceUntaggedVlanApplicator to ConfDB applicators.
MR3895Replace get_fqdn script to Generic #2
MR3897datastream: asyncio waiter
MR3898Fix upload docs
MR3900atomicl 1.1.0
MR3907add_new_objectmodels_Zyxel_MSAN
MR3916Add some cisco models
MR3918Merge branch 'fix-docker-image-proj' into 'master'
MR3921features.use_uvloop config option
MR3922add_objectmodels_cisco_c3560e
MR3933add_objectmodels_dlink_DAS-3224DC_1
MR3934add_objectmodels_zhone_paradyne
MR3940add_objectmodels_Extreme_X480-24x
MR3941Add RCA type field to Alarms BI model.
MR3945Add batch to fix_object_uplinks.
MR3956add_objectmodels_ciscoASR1004_card
MR3964Disable action button in grid, when we have not permission
MR3965Allow empty platform for etl portmapper.
MR3968add_profilecheckrules_Eltex_TAU
MR3969add_profilecheckrules_SKS
MR3972inv.objectmodels: Cisco | 4500X | C4KX-PWR-750AC-F
MR3985How to share collections
MR3988Add howto to menu
MR3996inv.objectmodels: Eltex | RG | RG-1412G-Wac
MR4003inv.objectmodels: Extreme | Summit | X670-48x
MR4004Update PWR-550W-AC.json
MR4005inv.connectiontypes: Extreme | Summit | X650 | FAN
MR4006inv.objectmodels: Extreme | Summit | X650 | FAN-FB
MR4007inv.objectmodels: Extreme | Summit | X650-24x
MR4017Update DGS-3420-28TC.json
MR4018inv.objectmodels: Juniper | EX | EX3200-24T
MR4029Update JPSU-650W-AC-AFO.json
MR4030inv.connectiontypes: Juniper | MX | MX204 Fan
MR4031inv.objectmodels: Juniper | MX | SCB-MX204
MR4032inv.objectmodels: Juniper | MX | MX204
MR4033ADd dependencies scan
MR4034inv.objectmodels: APC | SmartUPS | 2200
MR4036inv.objectmodels: Cisco | C2960 | WS-C2960RX-48LPS-L
MR4037inv.objectmodels: Cisco | C2960 | WS-C2960RX-48LPD-L
MR4038inv.objectmodels: Cisco | C2960 | WS-C2960RX-48FPD-L
MR4039inv.objectmodels: Cisco | C2960 | WS-C2960RX-24TS-L
MR4041inv.objectmodels: Cisco | ISR | Module | VIC3-4FXS/DID
MR4042inv.objectmodels: Cisco | Transceiver | 1G | TRPUG1CLXECISE2G
MR4043inv.objectmodels: MikroTik | RouterBoard | RB2011UiAS-2HnD
MR4044inv.objectmodels: Nateks | NetXpert | NetXpert NX-3408 V1
MR4045inv.objectmodels: Nateks | NetXpert | NetXpert NX-3424 V2
MR4046inv.objectmodels: Ubiquiti | AP | PowerBeam 5AC 400
MR4047inv.objectmodels: Ubiquiti | AP | PowerBeam 5AC 400 ISO
MR4051inv.objectmodels: Cisco | C3850 | C3850-NM-2-40G
MR4053inv.objectmodels: Cisco | PWR | PWR-C1-715WAC
MR4055Remove useless options and add changes rule.
MR4057Add more platforms
MR4059Add segment_lookup for segment column on ReportObjectDetail.
MR4063enable dependency test only when file is changed
MR4064inv.objectmodels: Cisco | C2960 | WS-C2960XR-48LPS-I
MR4065inv.objectmodels: Cisco | C2960 | WS-C2960-48PST-S
MR4067noc/noc#1346 Filter metric if it value eq SNMP_OVERLOAD_VALUE.
MR4071inv.connectionrules: Cisco | C3850
MR4072inv.connectiontypes: Cisco | Electrical | StackWise 480
MR4073inv.objectmodels: Cisco | C3850 | WS-C3850-24XS-S
MR4074inv.objectmodels: Cisco | C3850 | STACK-T1-50CM
MR4075inv.connectiontypes: Cisco | C3850 | NM
MR4076inv.connectiontypes: Cisco | C3850 | PSU
MR4077inv.connectiontypes: Cisco | C3850 | STACKPORT
MR4083Update list of datastreams in fix_rebuild_datastream
MR4085etl: BaseExtractor refactoring
MR4086sa.profilecheckrules: DLink | DES-7206 sysObjectID
MR4087sa.profilecheckrules: Huawei | MA | MA5800-X17 sysObjectID
MR4088sa.profilecheckrules: Huawei | MA | MA5800-X7 sysObjectID
MR4088sa.profilecheckrules: Huawei | MA | MA5800-X7 sysObjectID
MR4105inv.models.platform: Fix to_json sorting
MR4113sa.profilecheckrules: Eltex | MA | MA4000 sysObjectID
MR4115sa.profilecheckrules: DCN | DCWS | DCWS-6222 sysObjectID
MR4116sa.profilecheckrules: DCN | DCWS | DCWS-6002 sysObjectID
MR4117sa.profilecheckrules: DCN | DCWS | DCWS-6028(R2) sysObjectID
MR4125pymongo 3.11.0
MR4137sa.profilecheckrules tests
MR4140noc/noc#1328 Add vlan_ids to unit ConfDB syntax.
MR4146fix_reportmaxmetrics
MR4148noc/noc#1342 Add VPN Metric Scope.
MR4149etl: Configurable compression
MR4150Fix get_version.py for DCWS-6028(R2)
MR4151noc/noc#1218 CLI: Distinct timeout error codes
MR4162#1362 ConfDB: Group expansion in curly tokenizer
MR4163noc/noc#1360 Add aaa to system confdb syntax.
MR4164noc/noc#1361 Add dns to protocols confdb syntax.
MR4165Add vlan_ids to interface discovery ConfDB source.
MR4166Fix ReportObjectDetail trace when empty segment name.
MR4167SNMP: Better oid wrap detection in GETNEXT
MR4170#1361 confdb: Juniper.JUNOS dns normalizer
MR4172confdb: Profile normalizer tests
MR4175ConfDB: Allow normalizer inheritance
MR4182Update uplinks if MergeDownlink status changed.
MR4183#1364 Biosegmentation: Configurable segment names
MR4184Remove autogenerated words
MR4185Move Tornado-specific parts into TornadoService
MR4190pynsq 0.9.0
MR4192Allow to use model id in DocumentReferenceField
MR4208ConfDB: Expose profile to normalizer tests
MR4210Optimized run_sync
MR4212Fix UI style for ConfDB query name.
MR4212Fix UI style for ConfDB query name.
MR4215noc/noc#1365 Close CLI stream if 'Connection reset' receive.
MR4219Set black format to py37
MR4220Move pylint configuration to pyproject.toml file
MR4224gitlab ci: Do not try to lint deleted files
MR4226Parallel build of docs. Disable API docs
MR4227Minimize line-length to 100 like in black

Bugfixes

MRTitle
MR3784Fix docker image build
MR3791Fix encoding on ReportLinkDetail.
MR3792Fix load cmibs from custom.
MR3797Fix decoding on interfacepath card.
MR3800Fix tags lookup search.
MR3801Remove double fm_pool from managedobject etl loader.
MR3831noc/noc#1322 Fix duplicate session when self.cli use on Profile.shutdown_session.
MR3860Fix fix_link_all_objects.
MR3862Add cpestatus field to ReportDiscoveryResult reportdatasource.
MR3867Fix 'CronTab' object is not an iterator trace.
MR3872Fix trap decode ('use a string pattern on a bytes-like object').
MR3875Fix 'Juniper | JUNOS | Security | Authentication | SNMP Authentication Failure...
MR3878Add filter id None values on datastream command.
MR3880Fix encoding on classifier fm_unescape function.
MR3890Fix typo on CollapseTagged Applicator.
MR3910Fix monmap card 'not supported between instances of 'int' and 'NoneType''.
MR3911Fix sorted key in ConfDB 'interfaces X meta link'.
MR3942Fix sorted key in BI Dashboard access.
MR3943Add suppress_trace flag to IOLoopContext.
MR3953Disable check access_preference SNMP for get_version script.
MR3977Fix grafana templates id
MR4048noc/noc#1343 Use ListField for inheritance on PlainReferenceListField. Fixed extend change on field.
MR4056noc/noc#1345 Fix 'RuntimeError: no running event loop' on Datastream notify callback.
MR4080combobox fix
MR4090Fix getting object metrics for table without path column.
MR4096Set uuid when create BI dashboard.
MR4098Fix typo in pm.utils.
MR4101Revert PlainReferenceListField.
MR4124#1333 Change AS.asn type to bigint to extend valid 32-bit ASN range
MR4127noc/noc#1343 Use BaseList from mongoengine.base.datastructures for PlainReferenceListField value.
MR4128noc/noc#1344 Use smart_text on fix tags.
MR4129noc/noc#1337 Use smart_bytes on threshold picker load.
MR4139Generic.get_interfaces. Fix mtu None value trace.
MR4157noc/noc#1324 Catch exception when shutdown_session when remove session.
MR4158Fix call handler on cli object_parser.
MR4171docs: Fix actual arguments in tools
MR4173noc/noc#1350 Fix datastream rebuild None id trace.
MR4197Add ifdescr to ReporDiscoveryResult.
MR4207Fix table name for routingneighbors BI models.
MR4216field biosseg_floating_parent_segment fixed

Code Cleanup

MRTitle
MR3462cython language_level
MR3630Fix Fav Filter
MR3779Update VERSION
MR3835Remove pyclips
MR3845Cleanup cm.ObjecFact on managedobject on_delete_check.
MR3851Remove main.probehandler.LookupField
MR3896Remove OrderMap
MR3919Remove "import json" from noc.lib.app.site
MR3971Update iface handler
MR4126Remove remaining __future__ imports
MR4134Replace collections.Iterable with typing.Iterable
MR4177Replace deprecated imp.new_module() function

Profile Changes

Alcatel.7302

MRTitle
MR3828Alcatel.7302.get_version. Fix platform detect.
MR4211Alcatel.7302. Fix for 7342 PON platform.

Alsitec.24xx

MRTitle
MR3821Alstec.24xx.get_fqdn. Cleanup print.

Cisco.IOS

MRTitle
MR3802Cisco.IOS. Add Dial-peer interface to convert_interface_name.
MR3846Add voice interface to Cisco.IOS.convert_interface_name.
MR3908Use MIB to get CDP status, instead of raw oid
MR3917Fix Cisco.IOS.get_inventory script
MR4066Fix Cisco.IOS.get_inventory script
MR4130noc/noc#1339 Cisco.IOS.normalizer. Fix digit multi on storm-control level command.
MR4147noc/noc#1339 Cisco.IOS.normalizer. Fix typo

DLink.DxS

MRTitle
MR4089Add DLink.DxS.get_metrics script

Eltex.MES

MRTitle
MR4204ConfDB Eltex.MES

Eltex.MES24xx

MRTitle
MR3950Eltex.MES24xx. Add support SNMP to profile.
MR4106Fix Eltex.MES24xx.get_lldp_neighbors script
MR4155Add metrics CPU/Memory for MES24xx
MR4181ConfDB. MES24xx. normalizer + tests

Extreme.XOS

MRTitle
MR4112Fix Extreme.XOS.get_inventory script

Generic

MRTitle
MR3781Generic.get_interfaces. Fix getting switchport vlans.
MR3819Generic.get_interfaces. Fix get_snmp_timeout method.
MR3834Generic.get_interface_properties. Add interface_filter method for ignore interface by name.
MR3855Fix invalid vlan number in Generic.get_mac_address_table script
MR3935Fix Generic.get_interfaces script
MR3944Generic.get_mac_address_table. Add get_iface_mapping method.
MR4109noc/noc#1349 Generic.get_interfaces. Fix trace when empty mtu
MR4111Fix Generic.get_mpls_vpn script
MR4202Generic.get_spanning_tree. Convert designated_port_id to hex if getting int.

Hikvision.DSKV8

MRTitle
MR3870Hikvision.DSKV8.get_config. Fix dict iteritems.

Huawei.MA5600T

MRTitle
MR2363Add Operation error to Huawei.MA5600T when message.
MR3796Huawei.MA5600T.get_capabilities set keep_cli_session to false.
MR3827Huawei.MA5600T.get_inventory. Fix detect MA5603.
MR3854Huawei.MA5600T.get_cpe_status. Fix decode serial.
MR3920Huawei.MA5600T. Add pattern_more prompt.
MR3991Fix CLI Huawei.MA5600T.get_lldp_neighbors
MR4061Huawei.MA5600T. Add Load OID for GPON interface metrics.
MR4103Huawei.MA5600T. Fix typo on gponports metric name.
MR4110Fix Huawei.MA5600T profile

Huawei.VRP

MRTitle
MR3780Fix Huawei vrp 40g interface support
MR3783Huawei.VRP.get_interfaces. Remove print.
MR3810Huawei.VRP. ConfDB normalizer for ipv6 link-local address.
MR3822Huawei.VRP. Add LAG interface to ConfDB normalizer.
MR3886Huawei.VRP. Add Gi to convert_interface_name.
MR3951Huawei.VRP. Fix several snmp only working problems.
MR4013noc/noc#1163 Huawei.VRP. Add rogue_chars to profile.
MR4142noc/noc#1163 Huawei.VRP.get_metrics. Use getnext for CX200 DuplexStatus.
MR4201Huawei.VRP. ConfDB normalizer. Add parse vlan_ids.

Juniper.JUNOS

MRTitle
MR3703fix for JUNOS: get_version.py - get serial number from CLI
MR3772Fix invalid output in JUNOS 16.1R6.7
MR3853Fix Juniper.JUNOS.get_fqdn script
MR3936Fix script for only snmp connection
MR3937Fix script for only snmp connection2
MR3939Add use of filter_interface() function
MR4024Fix Juniper.JUNOS.get_interfaces script

MikroTik.RouterOS

MRTitle
MR3902Add SNMP support for MikroTik.RouterOS.get_fqdn script

NAG.SNR

MRTitle
MR3857Fix NAG.SNR.get_version script

Qtech.QSW

MRTitle
MR3905new_objectmodels_qtech_part4

Raisecom.ROS

MRTitle
MR3832Raisecom.ROS.get_version. Fix version regex for Gazelle platform.
MR4107Fix Raisecom.ROS.get_lldp_neighbors script
MR4136noc/noc#1162 Raisecom.ROS profile. Fix convert iface name for SNMP ifDescr format.

SKS.SKS

MRTitle
MR3782SKS.SKS. Add SNMP support.
MR3807SKS.SKS. Fix convert interface name on LLDP.

Ubiquiti.AirOS

MRTitle
MR3028Add ubiquiti/wa support
MR4010Fix get_interface

Zyxel.MSAN

MRTitle
MR3906fix_profile_Zyxel_MSAN

rare

MRTitle
MR3785Alstec.MSPU.get_interfaces. Fix 'port ' command.
MR3806Qtech.QSW8200. Add SNMP support.
MR3808DCN.DCWL.get_metrics. Fix CPU Usage.
MR3820Qtech.QSW8200.get_version. Fix bootprom detect on SNMP.
MR3844Update Dlink.DxS_Smart profile to support DGS-1210 rev. F1 series
MR3858Fix Eltex.LTP.get_version script
MR3859Fix Huawei.MA5300.get_interfaces script
MR3861Add get_fqdn scripts.
MR3924Rotek.RTBSv1.get_interfaces. Fix subinterfaces.
MR3931Fix Eltex.LTP.get_mac_address_table script
MR3952Iskratel.MBAN.get_version. Fix regex for SHDSL board.
MR3958TPLink.T2600G. Add SNMP support.
MR3959Vector.Lamda. Add SNMP Support.
MR3961Fix Proscend.SHDSL.get_chassis_id script
MR4023Fix DLink.DxS_Cisco_CLI.get_lldp_neighbors script
MR4062Fix DLink.DxS_Cisco_CLI.get_lldp_neighbors script
MR4078Fix Planet.WGSD.get_interfaces script
MR4093Fix ZTE.ZXA10.get_interfaces script
MR4095Fix Eltex.DSLAM profile
MR4108Fix Eltex.LTE.get_version script
MR4206ConfDB normalizer Raisecom.RCIOS + tests.