Skip to end of metadata
Go to start of metadata

0.7(4) (14-JUN-2012)

Release highlight

  • Custom fields
  • UI Fixes
  • SA Monitoring tools
  • Various SA subsystem optimizations
  • IPAM improvements
  • Network Interface Inventory's UI
  • Network topology in database
  • MRT JSON interface can use IP addresses as selector
  • VC states
  • Script bugfixes


Upgrade pymongo up to version 2.1 or later before running update sequence


  • [NOC-320] - По нажатию кнопок "Сохранить", "Сохранить и продолжить редактирование", "Сохранить и добавить еще" объект сохраняется, но не переходит на следующую старницу
  • [NOC-329] - csv import skip/update do not work correctly for addresses and prefixes
  • [NOC-421] - Problem with Version Inventory - not all results are shown
  • [NOC-485] - FreeBSD Profile get_mac bug
  • [NOC-488] - system notification removed when notification group deleted
  • [NOC-490] - r6214 post-update trace
  • [NOC-492] - NOC hangs on /31 prefix preview
  • [NOC-505] - NOC-discovery crush. 'Service' object has no attribute 'code_to_scheme'
  • [NOC-510] - Cisco.IOS get_interfaces traceback. 'rd'
  • [NOC-512] - Cannot delete prefix
  • [NOC-525] - SNMPGetSocket' object has no attribute 'got_result'
  • [NOC-531] - IPAM. ipv6, traceback on prefix change form
  • [NOC-534] - post-update pyRule problem


  • [NOC-337] - Active Directory bind with user supplied credentials (patch included)
  • [NOC-433] - ipam. vrf group. Address unique per group
  • [NOC-481] - Usage of IP addresses in remote MRT's selectors
  • [NOC-493] - cm.reportstaleconfig improvements
  • [NOC-497] - Rewrite fm.ignoreeventrule application as ExtApplication
  • [NOC-501] - vrf variable in fqdn_template context
  • [NOC-503] - Ability to exclude custom fields from forms and reports
  • [NOC-504] - CustomField enumerations for "str" type
  • [NOC-506] - Rewrite main.dbtrigger as ExtApplication
  • [NOC-511] - FM rule Huawei | VRP | Config | Entering Configuration Mode (SNMP)
  • [NOC-513] - Delete stale pidfile
  • [NOC-514] - Upgrade mongoengine to version 0.6.1
  • [NOC-516] - Rewrite fm.eventtrigger as ExtApplication
  • [NOC-517] - Rewrite main.config as ExtApplication
  • [NOC-518] - cm.config_pull concurrency limit
  • [NOC-520] - Proper interface sorting order

New Feature

  • [NOC-216] - inv.interface application
  • [NOC-236] - CLI prefix-list builder
  • [NOC-482] - Unclassified Trap OIDs
  • [NOC-483] - Unclassified Trap OIDs
  • [NOC-484] - IPv4 to IPv6 transition support
  • [NOC-496] - ip.reportvpnstatus report
  • [NOC-498] - IGetActivatorInfo interface and NOC.SAE.get_activator_info script
  • [NOC-499] - sa.monitor application
  • [NOC-502] - ip.reportfilter report
  • [NOC-509] - ip.reporthistory report
  • [NOC-519] - Network links in database
  • [NOC-522] - sa.reportfailedscript application
  • [NOC-532] - Resource states in VC model
  • [NOC-538] - ./noc link CLI interface


0.7(3) (17-APR-2012))

Release highlight

  1. IPAM auto-discovery
  2. Extended IPv6 support for various scripts
  3. VC Management have been completely rewritten to ExtJS UI
  4. States for VRFs/Prefixes/Addresses
  5. Extended support for Cisco IOS XR and Extreme equipment
  6. New interfaces and scripts: IGetDOMStatus, IGetMPLSVPN
  7. REST and JS interface to Map/Reduce tasks
  8. Python code instertion in command snippets
  9. Experimental GIS subsystem


0.7(2) (21-DEC-2011)

Release highlights

  1. Device interface specifications now stored in the database and collected by new noc-discovery daemon
  2. MIBs are buldled in precompiled form, reducing MIB upload time (See Precompiled MIBs)
  3. New profiles: APC.AOS, DLink.DVG
  4. Proper handling for OIDs defined in several MIBs
  5. Ping probes are evenly distributed across the time




0.7(1) (22-NOV-2011)

New release schedule

Starting with 0.7 branch the release schedule has been change. We have introduced additional interim releases (every few weeks) between full releases. Interim releases represents points of relative stability, when new features are implemented and worked as expected, while not all features for new release is implemented yet. So the user can decide which version is to use in production: relatively stable interim, when new features are required, or stay on latest release. Learn more about new versioning scheme


mongodb 1.8 or later and pymongo 1.1 or later are required. Install them according to your operation system policy. Then:

  1. Create mongodb user for NOC: 

    /opt/noc$ mongo
    MongoDB shell version: 1.8.2
    connecting to: test
    > use noc 
    > db.addUser("noc", "password")  
  2. Change [nosql] section of etc/noc.conf. Refer to noc.conf reference for details.
  3. FastCGI daemon noc-fcgi was replaced by full-blown HTTP server noc-web. You may need to change your HTTP server configuration from FastCGI to reverse proxy. Refer to the "Webserver Setup" reference for instructions 
  4. Finish the update as usually: 

    /opt/noc$ ./scripts/post-update

Infrastructure changes

New site and collaboration services

Quickly growing DevTeam demands new approaches and tools. As a result, new site and collaboration services, including Jira, Confluence, FishEye and Jenkins are introduced to community. See "New services on" for details.

Project got new official logo. See "New project's logo" for details.

New UI

NOC gots a new ExtJS4 web ui, offering desktop-like look and feel and rich sets of widgets.See ExtJS examples for details.

REST/JSON interface

NOC Client-to-server communications changing. New UI uses REST/JSON interface, open to third-party applications.

PEP8 code formatting convenctions

A lot of Python sources has been reformatted according to PEP8

Continuous integration and testing

Continuous integration system has been introduced, testing each commit against over 1800 unittests

noc-web daemon

flup-based FastCGI daemon noc-fcgi has been replaced with Tornado - based noc-web HTTP-server. See "Webserver Setup" for details

MS Active Directory authentication backend

New AD authentication backend can be used to integrate NOC into existing MS Windows domains. See noc.conf for details

./noc shortcut

/opt/noc$ python ...
/opt/noc$ ./noc ...  

are the same

kevent polling method fixed

kevent polling method works on both FreeBSD and Mac OS X systems

Service Activation

MRT throttling

max_mrt_rate_per_sae and max_mrt_rate_per_shard noc-sae.conf parameters can be used to limit script starting rate to avoid excessive load on centralized AAA infrastructures

Better MRT scheduling

Adaptive MRT timeout calculation and smart map task scheduling help to avoid the spikes of load and distribute tasks more evenly

MRT logging

mrt_log noc-sae.conf parameters enables additional MRT logging into separate CSV files in the <logdir>/mrt directory

./noc versioninventory

New versioninventory CLI tool available

/opt/noc$ ./noc versioninventory @selector

Command Snippets improvements

  • Snippets got additional Ignore CLI errors option to silently ignore CLI errors during snippet execution
  • Managed Objects access permissions are counted when running new snippet

SAE-Activator protocol protection

SAE-Activator RPC protocol got optional ssh-like protection to encrypt/verify and compress transmitted data

New profiles

  • Alentis.NetPing
  • AlliedTelesis.AT9400
  • AlliedTelesis.AT9900
  • Brocade.IronWare
  • Cisco.IOSXR
  • DLink.DxS_Smart
  • DLink.DGS3100
  • Eltex.MES
  • Ericsson.SEOS
  • Fortinet.Fortigate
  • OS.Linux
  • Zyxel.ZyNOS_EE

New scripts

  • Cisco.ASA: Cisco.ASA.get_interfaces
  • Cisco.IOS: Cisco.IOS.get_interfaces, Cisco.IOS.get_switchport
  • EdgeCore.ES: EdgeCore.ES.add_vlan, EdgeCore.ES.remove_vlan
  • HP.ProCurve: HP.ProCurve.get_interfaces
  • Juniper.JUNOS: Juniper.JUNOS.get_bfd_sessions
  • MikroTik.RouterOS: MikroTik.RouterOS.get_arp, MikroTik.RouterOS.get_license, MikroTik.RouterOS.get_vlans
  • OS.FreeBSD: OS.FreeBSD.get_interface_status
  • Zebra.Zebra: Zebra.Zebra.get_version
  • ZyXEL.ZyNOS: Zyxel.ZyNOS.get_interface_status, Zyxel.ZyNOS.get_portchannel, Zyxel.ZyNOS.get_switchport

Script improvements

  • SNMP support for Alcatel.OS62xx.get_version, DLink.DxS.get_version, DLink.DxS.get_interface_status, Huawei.VRP.get_version
  • Cisco.IOS.get_spanning_tree recognises ports in ALTERNATE state
  • Cisco.IOS.get_lldp_neighbors properly detets disabled LLDP
  • HP.ProCurve.get_spanning_tree gots RSTP mode support
  • DLink.DxS restores CLI pager status on exit
  • DLink.DxS got SIM support
  • Improved compatibility with DLink DGS-3100 series

API Improvements

  • Profiles can install additional script methods via Profile.setup_script()/Profile.add_script_method()
  • f5.BIGIP: with self.tmsh(): construction
  • Fine grained script result caching: with self.cached(): and self.cli/self.snmp.get* cached= parameters
  • New interfaces: IGetObjectsStatus, IGetIfIndex, IGetBFDSession
  • Profile.get_linecard() method

Fault Management

NOC gots a new Fault Management implementation with event correlation and root cause analysis. New implementation follows rule-based approach and backed by high-performance mongodb database and cabable to collect, analyze and correlate more than 500 events per second per node. Built-in rule set trained to analyze 189 types of network events and detect 77 types of network problems on commonly used network platforms. Built in rule set can easily be extended and trained.

FM now can use Precompiled MIBs

IP Address Management (IPAM)

  • Do not ping broadcast addresses

Peering Management

  • Interactive prefix-list builder has been rewritten to new UI
  • ARIN database support
  • Client cone analysis
  • Prefix-list builder now uses mongodb cache and works about 3 times faster

DNS Management

  • DNSZoneRecordType.is_visible field is renamed to is_active
  • No labels