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
Migration
Upgrade pymongo up to version 2.1 or later before running update sequence
Bug
- [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
Improvement
- [NOC-281] - %SYS-5-SCHEDULED_RELOAD
- [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
Story
- [NOC-303] - Problem in Adding VRF
0.7(3) (17-APR-2012))
Release highlight
- IPAM auto-discovery
- Extended IPv6 support for various scripts
- VC Management have been completely rewritten to ExtJS UI
- States for VRFs/Prefixes/Addresses
- Extended support for Cisco IOS XR and Extreme equipment
- New interfaces and scripts: IGetDOMStatus, IGetMPLSVPN
- REST and JS interface to Map/Reduce tasks
- Python code instertion in command snippets
- Experimental GIS subsystem
Changes
0.7(2) (21-DEC-2011)
Release highlights
- Device interface specifications now stored in the database and collected by new noc-discovery daemon
- MIBs are buldled in precompiled form, reducing MIB upload time (See Precompiled MIBs)
- New profiles: APC.AOS, DLink.DVG
- Proper handling for OIDs defined in several MIBs
- Ping probes are evenly distributed across the time
Changes
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
Migration
mongodb 1.8 or later and pymongo 1.1 or later are required. Install them according to your operation system policy. Then:
Create mongodb user for NOC:
/opt/noc$ mongo MongoDB shell version: 1.8.2 connecting to: test > use noc > db.addUser("noc", "password")
- Change [nosql] section of etc/noc.conf. Refer to noc.conf reference for details.
- 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
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 nocproject.org" for details.
New logo
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 manage.py ... and /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