{{indexmenu_n>20180911}}
===== 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 ' and '-v ' 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 [[guides:reference:jobs:distr_scheduler|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 - - Management' returns an 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.
=== Persistent search ===
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.