Table of Contents

NetYCE 7.0.5 Build_20180911

Release notes

Date: 2018-09-11


Enhancement

Transfer protocols

NetYCE use of TFTP as file transfer protocol is being deprecated. The protocol is slow, unreliable and insecure. These shortcommings are felt ever more now we use file-transfers as the means retrieve the configurations for both NCCM and backup before and after each job.

Previously the configuration was listed using show commands and read from the reply, but this is higly inefficient and inaccurate for very large configurations.

The alternatives to TFTP are dependent on the device capabilities and the operator preferences but are limited to the protocols SFTP, SCP and FTP. All vendor modules are in the process of being modified to support all of these protocols where the device supports it.

For every vendor type one of these transfer-protocols will be used as the default. Should specific device models require a different protocol, then the operator can select the desired protocol using the hardware-model form to override this default. The implementation will not perform successive attempts using different protocols. This behaviour would lead to poor performance and will not be supported.

Support for SFTP and FTP on NetYCE servers was optional until now. These protocols will now become standard. Additionally SCP will be made available. The NetYCE server(s) will be setup to support these protocols securely. Only a single user will be granted the transfer capability while this user will be locked in a jailed environment using a secure-shell and a command-wrapper.

The TFTP protocol will still be available, but its use is not recommended.

Template usage

The 'Template usage' tool from the 'Operate - Node config' menu was updated to support selections involving Vendor-types. With the introduction of sub- and port-templates per Vendor-type, mutiple templates could have the same name.

Locating the nodes using such a multivendor template with this tool would properly report the nodes referencing it, but it did not permit for distinguishing between the vendors. It also could not detect if a multivendor template was missing for a spefic vendor.

Now an additional selection and filter function for the Vendor-type is added to the tool, allowing for tracing templates for specific vendors.

'Cmd_exec' Quick-mode

For some changes it is desirable or even a must NOT to save the configuration on change completion. To facilitate these situations the scenario command 'cmd_exec' has been extended with the '-q' option to enavle the 'quick-mode'.

When setting this -q flag, the NetYCE vendor modules will execute the commands as usual, but will skip the configuration save, backup and nccm submission at the start AND at the end of the change.

Service type: Locate - Ipv6_net - Net_address

Additional service type comands were added to support Ipv6, all of them 'Locates'. Some existing have been renamed or reworked to better support the designer.

The service-types 'Locate - Ipv6_net - Name' was split to become 'Locate - Ipv6_net - Net_name' and 'Locate - Ipv6_net - Net_descr'.

New is the 'Locate - Ipv6_net - Net_address' to find a subnet by its network address.

Three additional new service-types are intended to find/test the assignment of port(s) on an Ipv6 subnet and vice versa. These are: 'Locate - Port(s) - At_pv6_net' and 'Locate - Ipv6_net - At_port'.

Scenario traps

When executing a job, the scenario can send traps to the NMS management servers using the commands 'trap_nms' and 'trap_node'. The trap_node is similar to trap_nms but 'spoofs' the node as the originating address.

These commands have been extended to include a list of variables (varbindlist) that are assigned sequential object-ids (or oid's). Previously only a single message could be included in the trap.

By using multiple '-m' options, each is assigned the next oid by auto-incrementing the last digit of the oid. The oid is specified using the '-e <enterprise>' and '-v <varoid>' options.

The trap commands now also support multiple trap destinations by including more than one '-a' option.

Distributed scheduler

The NetYCE scheduler has the task of executing the jobs that were added to its various queues. In a multi-server environment, every NetYCE server has its own scheduler that maintains its queues. To add jobs to a servers' queue, the operator has to create these jobs on the targeted server. This works well for a limited number of servers or where these servers all access the same networks.

But for situations where a NetYCE server can access only specific networks, or are assigned to specific devices, the selection of the proper NetYCE server and creation of the jobs becomes cumbersome. And when the object is to balance the load over various servers, the operator has the task of acieving this manualy.

With the introduction od the Distibuted scheduler, the selection of the server executing the job can be automated using a customizable rule-set. When the operator schedules jobs he can choose the targeted servername or use the defined rule-set to do the scheduler assignment.

The scheduler rule-set allows for assignments to a single server or a set of servers. If multiple servers apply to a rule, the assignment will load-balance the jobs over the various schedulers by finding the first free job-slot matching the requested start-time and queue.

Rules can be created for any variable in the NetYCE database and can be logically combined using AND and OR constructs. See the Wiki article Distributed Scheduler for details.

All schedule-able job tools will be modified to support this new feature.

NCCM database organisation

To make the NCCM more scalable, the NCCM database has been reorganised to work with smaller tables that allow for a maximum in history, a maximum in performance, and a minimum in maintenance.

This was achieved by storing the NCCM information in successive weekly tables. Every week a new set of tables is created and an aged weekly set is removed. This allows most tables to be accessed in read-only mode and the few tables that are written into can be relatively small, reducing the task of maintaining indices and data-integrity.

For reporting and querying purposes, the weekly NCCM tables are merged logically into the full history period. This method requires no disk space or overhead. The entire process is fully transparent for the user or reporting tools.

During the upgrade to version 7.0.5, the migration to the weekly NCCM tables will be automatic if disk space requirements allow. If this condition is not met, the migration can be manually initiated from the command line after disk space maintenance. Please request assistance from NetYCE support should this situation arise. Until the migration is completed, the NCCM will function normally but without its history.

Service type: Locate - Address - Management

The service-type functions have been extended with a method for locating the management ip-address of a node. The function 'Locate - Address - <node> - Management' returns an <addr> alias.

Template function RowIdx()

When accessing parameters through relations, all (matching) parameter values of the relation are inserted. But occasionally, only the first parameter value of the relation is desired. Or only the last.

For these situations the new template function RowIdx() is created. It takes a parameter reference from a relation and the row number (index) as arguments. Only one value is substituted.

The relation reference may have a value filter and supports wildcards:

 [RowIdx(port_name@interfaces:gi*, 0)]

By default row '0' is used. Row index numbers can be positive (0 at top). or negative (-1 at bottom). Non existent rows will result in ''.

Domain Duplicate

The domains page has now been enhanced with a 'Duplicate' button. With this, you can easily duplicate domains, including their custom attributes and networks. The same rules apply in that you cannot use a name of a domain that already exists.

Region Duplicate

The regions page has now been enhanced with a 'Duplicate' button. With this, you can easily duplicate regions, including their custom attributes. The same rules apply in that you cannot use a name of a region that already exists in its client type.

Template Duplicate

The templates page has now been enhanced with a 'Duplicate' button. With this, you can easily duplicate templates, including their ports and most recent revision and ports. The author of this template is your username. The same rules apply in that you cannot use a name of a template that already exists.

All searchable grids in NetYCE now feature persistent search. This means that if you search through the grid, and switch to a different page and then come back, the query you searched for should still be in that grid. Removing the search also removes the persistent search.

Your search queries are stored in cookies, so even when you close your browser and reopen the searches should still be persistent.

New Node_domain attribute

All nodes already had an attribute named 'Node_fqdn'. Its value is the full-qualified-domain-name which consists of the hostname and the dns domain name. The Node_fqdn is defined in the Node-type that was used to create the node.

Although fully satisfactory in all its uses, the dns domain name it uses is not explicitly available anywhere in the node context. To allow for eaxample Templates access to the dns domain, the node now includes the 'Node_domain' attribute. It is a mandatory entry in the Node-type and the Node_fqdn is based on its value altough both can be modified independently.

As a consequence, all Node-types are migrated to include the Node_domain and the Node_fqdn using their new formats. The Node-details form had some of its fields reordered to incorporate the Node_domain and group them visually.

Please be aware that the 'Domain' attribute of the node refers to the Management Domain within NetYCE and is not related to the dns domain defined in the 'Node_domain'.

Coalesce() teplate function

The new Coalesce() function for templates returns from a list of parameters the first non-empty value.

Coalesce() is intended to insert a parameter value that can be defined in different places (NetYCE objects) but have a hierarchical dependency. By listing each in the hierarchical order in the Coalesce function, the one considered overriding the remaining is returned - if available. Otherwise the next one will be considered.


Change

Renamed vendor modules from WiSM to WLC

The vendor module formerly known as Cisco_Wism has been renamed to Cisco_WLC.

Node-type concat() obsolete

The Node_types table was renewed to include the new 'Node_domain' attribute. As part of this change is a more flexible way introduced for setting the values.

Previously the 'function' concat() had to be used to create values incorporating values from other attributes. Now the value can simply be a 'literal' where references to another attribute can simply be included by inserting its name between '<…>', akin to the Templates.

All existing uses of the concat() function have been replaced using this more convinient method.


Fix

Redundancy check

It was noted that during the execution of a scenario where the availablility of the redundant switch was tested, an incorrect managment ip-address was used.

It turned out that the scenario 'reachable' command retrieved the management address of a device using a slightly different set of citeria. The various front-end and back-end software modules involving management-addresses were reviewed and now all use the same set of criteria.

Template trace

The 'Template trace' tool in the 'Build' menu would report on incorrect templates when multi-vendor versions of that template existed. With the introduction of muti-vendor templates, template names were no longer unique. This caused the tool to select the first available template of that name to trace, not necessarily of the required vendor.

The 'Template trace' tool has been rebuild to support the vendor throughout the tracing.

Junos OS Upgrades

Junos OS Upgrades now work for scp, ftp and sftp

Cisco IOS / XE OS Upgrades

Cisco IOS and Cisco XE OS Upgrades now work for scp, ftp and tftp

Avaya ERS OS Upgrades

Cisco IOS and Cisco XE OS Upgrades now work for tftp

HP C5 & C7 OS Upgrades

HP C5 and HP C7 OS Upgrades now work for sftp, scp, ftp and tftp

Initial NetYCE installation

On initial installation a series of errors is shown due to creating a rollback archive when there is really nothing to backup yet. The errors pertain to retrieving the encryption key from the NetYCE license file where it does not yet exist.

The rollback archive is now skipped when the license file is missing or no key could be retrieved.

CMDB integration

The custom integration with CMDB and the related ACS update failed after the latest netYCE revision update. The process was aborted with a software error message.

This issue was due to an updated library routine that was overlooked in this integration. The resolution was realized by properly handling the returned data structure.

Subnet Vlans

It was previously impossible to edit subnets so that the vlan templates would be empty. This is now fixed. You can now also remove subnet ids from subnets. This applies to both IPv4 and IPv6 subnets.

Port channels form

The bug where you were unable to remove a port channel from a port is now fixed.

Port form name

Before, you could not see the hostname of the node you were editing in the port form. Same for the template ports. Both forms have now their hostname and template respectively in the form title.

Lookup form

The “Admin - Lookup” form did not properly display large numerical values in the editing subform. Large values were forced to an upper limit of '999999' and was only partially visible in the editing box.

And, once a lookup item was selected, the filter for the 'Class' proved ineffective, the selected value would be cleared resulting in no filter at all.

These issues were corrected.

cmts combine fields

Fixed the bug in the cmts combine tool where if you go back from the second page to the first page, the ip addresses didn't show.

OS Images Form Enter

Fixed a bug where the OS Versions form would automatically submit itself when you press enter in a textarea.

Custom Subnet Vlan Fix

There was a bug in the subnet create forms (both for IPv4 and IPv6), where you could not create subnets without a vlan id. This is now fixed.

Node type grid fix

There was a bug where in the node types grid, the records grid would not select the correct record upon creating a new one. This is now fixed.

Service type delete sequences

There was a bug where if you deleted multiple service type records in the service types form, the holes in the sequence numbers would not be filled. This is now fixed.

Duplicate Custom Attributes Fix

There was a bug where you could not duplicate Custom attributes. This is now fixed.

Delete node-type

Delting a Node-type will be denied when nodes are still assigned to this Node-type. However, the test for finding these nodes did not include the Node-class the Node-type belongs to.

In situations where the same Node-type exists within different Node-classes this resulted in not being allowed to delete the Node-type. This has been fixed.

CMDB form checkbox

There was a bug where in the CMDB form, the update and delete checkboxes would not appear as checked, even though they were in the database. This is fixed now.

Service type duplicate bug

There was a bug in which some service types could not be duplicated. This is now fixed.