Table Of Contents
VNE Persistency Mechanism
Introducing Persistency
Alarm Persistency
Initialization
Retrieving Events
Storing Events
Removing an Event
Removing an Event and Clearing an Alarm
Configuring Alarm Persistency
Alarm Persistency Default Configuration
Instrumentation Persistency
Configuring Instrumentation Persistency
persistencydir
persistencylevel
persistencystorageenabled
persistencystorageinterval
persistencytimeout
Topology Persistency
Configuring Topology Persistency
VNE Persistency Mechanism
This appendix describes the VNE persistency mechanism in Cisco ANA.
Note
Changes to the registry should only be carried out with the support of Cisco Professional Services.
Introducing Persistency
This section includes a description of:
•
Alarm Persistency
•
Instrumentation Persistency
•
Topology Persistency
Persistency is the ability to store information in the unit for later use. This information is stored across unit, AVM and VNE restarts.
Instrumentation persistency is used mainly to:
•
Shorten the starting time of VNEs for devices. By using the information from the local file system, the device's response time and network latency is eliminated, thus the VNE finishes modeling its first state very quickly.
•
Provide information about the old state of the VNE in order to initiate alarms if the status has changed, if the VNE was unloaded for any reason. For example, a port-down alarm is initiated only if the port status was "up" and was changed to "down". This will make sure that an alarm is not issued on ports which should be "down". By maintaining information about the old state of the port, the system understands whether the current state is valid or not.
•
Help lower the CPU load on the device when starting and there are many get commands that are generated. Also, when persistence data is loaded from the unit the traffic bandwidth between the unit and device is much lower than when the system is loaded ordinarily using "ordinary" device discovery and modulation.
Topology persistency is used mainly to:
•
Create topology between devices on startup when the VNE is loaded, instead of performing the entire discovery process. Verification of the links is then performed.
Alarm persistency is used mainly to:
•
Save information about the VNE components that send alarms. When a VNE sends an alarm it can be configured to save this information (that it has sent an alarm of type X). This information can then be used by the VNE components after restarts to verify whether it needs to send clearing alarms where changes have occurred in the device when the VNE was down.
VNE data persists:
•
During runtime when a VNE polls data from a device, and it updates the files in the file system for changes in the device's response according to the persistency variables.
•
The reading from these files is done once when the VNE starts. Every normal polling or refresh that takes place after this first time will read the data from the device itself and not from the files.
Alarm Persistency
Alarm persistency enables the system to clear alarms which relate to events which have occurred while the system was down. For example, a link-down alarm is generated, and then the system goes down. While the system is down a link-up event occurs in the network, but the system is down and does not monitor the network. When the system goes up, the alarm will be cleared because the system remembers that a link-down alarm exists and needs to be cleared by sending a corresponding alarm.
Persisting events are held in the AlarmPersistencyManager. Each VNE contains an AlarmPersistencyManager object. Alarms are added and removed from the AlarmPersistencyManager object in order to maintain the status of an event, whether it exists in the repository or not, namely, whether an up alarm has been generated, or whether a clearing alarm has been generated. Two copies of alarm persistency information are maintained, one in the memory, and the other on disk.
At startup, the AlarmPersistencyManager retrieves the events persisting for the containing VNE.
Event data in the files is updated:
•
At shutdown
or
•
After a change when a new event is added or removed
or
•
After a specific interval of time has passed. This prevents data from being rewritten to the persistency file when a stream of events is added, or removed during a short period of time because the data is saved only after the specified period of time has elapsed.
Initialization
The AlarmPersistencyManager reads the following configurable items:
•
Enabled—The mechanism enabled for this VNE.
•
Writing delay—The interval between the arrival of a new event or a removal of an existing event, and the writing activity of the persistency file.
•
Maximum age—How long an event remains in the persistency files before it becomes obsolete.
Note
This only applies when trying to retrieve data from the persistency files.
Retrieving Events
At startup, each VNE calls its AlarmPersistencyManager to load the persisting events.
If the file does not exist or is corrupt, no events are loaded. Faulty event objects are not be loaded. Events which have been in the file for longer then the configured amount of maximum age are not loaded. No age tests are held during ordinary runtime.
Storing Events
At shutdown, events are saved to the VNE's event persistency file as a precaution in case the events have not been saved.
Removing an Event
An event will be searched for and removed using the same information which was used to add it. The event is removed from the memory because an up alarm, for example, a link-up alarm, has been generated, and the persistency information is no longer required. After the removal, the AlarmPersistencyManager stores the events after a writing delay as specified in the registry.
Removing an Event and Clearing an Alarm
The AlarmPersistencyManager is able to search for and remove an event, and send a clearing alarm for this event if it is found that this information is no longer required as the alarm has been cleared.
After an event has been added or removed from the AlarmPersistencyManager, a delayed message is sent to the AlarmPersistencyManager which, on its arrival, triggers the events to be stored to the file.
Configuring Alarm Persistency
The user can define whether each sub-event has a persisting or unpersisting alarm. This can be defined as both or none. An example of the LDP neighbor loss alarm is displayed:
<key name="LDP neighbor loss">
<entry name="default">event-persistency-application/templates/generic persistency
event</entry>
<key name="LDP neighbor down">
<entry name="alarm-persistency">persist</entry>
<key name="LDP neighbor up">
<entry name="alarm-persistency">unpersist</entry>
This persistency information is stored in event-persistency-application.xml.
Alarm Persistency Default Configuration
The following alarms are configured to be persistent:
•
BGP neighbour loss
•
LDP neighbor loss
•
MPLS interface removed
•
ascend link down trap
•
card down
•
card out
•
component unreachable
•
cpu utilization
•
discard packets
•
dropped packets
•
drops exceed limit
•
duplicate ip on vpn
•
l2tp peer not established
•
l2tp sessions threshold
•
link down
•
lsp removed
•
memory utilization
•
port down
•
rx utilization
•
tx utilization
Instrumentation Persistency
The instrumentation layer persists the information that was collected from the device to the file system. When the VNE restarts, it uses this information to emulate the device's response and thus the VNE can be modeled according to its last persistent state. The next polling instance is performed against the real device.
Configuring Instrumentation Persistency
The following instrumentation parameters can be configured:
•
persistencydir
•
persistencylevel
•
persistencystorageenabled
•
persistencystorageinterval
•
persistencytimeout
persistencydir
This is the directory in which the persistency information is saved on the local file system. This is a relative path.
•
Allowed values—A string representing the relative directory in the file system.
•
Default value—instrumentor-persistency.
persistencylevel
This is the level of persistency to be used. The allowed values are:
•
Full—Means it will persist. This is the default value.
•
Off—Means it will not persist.
•
Partial—This should not be used.
These values may be on certain commands to make sure some are persistent and some not.
Note
This is a command level parameter, meaning you can decide that one command is persisted using full and another is not using off.
persistencystorageenabled
This defines whether to enable the whole mechanism or not.
•
Allowed values—True or false.
•
Default value—True.
persistencystorageinterval
This is the interval in milliseconds, for which the data to be persisted is accumulated and then written to the persistent storage in bulk, in order to use less IO operations.
•
Allowed values—Within the user's discretion.
Note
Small intervals cause more IO operations on the local file system. Very long intervals means that the information that is stored is less up-to-date.
•
Default value—600000 (10 minutes)
persistencytimeout
If the persistency mechanism is enabled when the instrumention layer starts, it loads all the data from the files, and this data can be used as data for the commands only for the first time they are executed. Some commands can be used for the first time, long after all the other commands have finished multiple cycles, for example, commands which run only when the status on the device has changed. This initial data is marked as obsolete after the persistency timeout has passed, and commands after this time, even if they are run for the first time, will run directly on the device. The time is defined in milliseconds.
•
Allowed values—Within the user's discretion, should however usually be at least one minute.
Note
A small value causes the instrumention layer to ignore the persistent data. A large value causes old data to be retrieved long after the VNE has finished loading.
•
Default value—60000 (1 minute)
Topology Persistency
Cisco ANA supports persistency for Layer 1 topological connections. Layer 1 topology supports one connection per DC, so the physical topology reflects a single port connected by a single link.
The following topologies are persisted:
•
Layer 1 counter-based topologies.
•
Static topologies.
•
Path-based topologies for B-STDX, GX and CBX.
Static topology, which identifies physical links configured by the user, is persisted once a user configures the static link between the two entities. This link is then stored in the registry in the AVM key that contains the specific VNE registrations.
For other topology, every time a link is created the persistency mechanism writes the link to this file. When a link is disconnected, the file representing the link is removed.
Configuring Topology Persistency
Physical topology persistency can be enabled or disabled in the registry. Topology has a registry entry entitled Persistency:
•
The entry can be defined as true or false value.
•
In order to enable topology persistency the value should be defined as true.
•
The default value is true.
Note
Topology persistency assumes that the XID (unique device component ID) will be persistable. For example, the port XID should remain the same XID after the device reboots or after the VNE reboots. This is not be dependent on whether the ifIndex is changed from time to time.