0.7.1¶
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