Obsolescence
Introduced by iTop 2.4, the Data Model now includes an obsolescence notion defined per class of object, to improve user experience by highlighting / hiding obsolete objects.
Purpose
Highlight obsolete objects
Object defined as obsolete are flagged in the console to make this aspect obvious, by graphical icon and tag.
On a list:
On an object:
On a list of linked object:
Improved Impact Analysis
Obsolete objects are ignored by Impact Analysis
Before iTop 2.4.0:
After:
Hide obsolete objects
Based on user preference, objects which are defined as obsolete, are removed from displayed lists in the iTop console.
An obsolete object details is displayed regardless of user preference.
The same Farm
as above displayed for a user,
requesting to not display obsolete objects:
modify mode
-
In details screen, on a drop-down list: obsolete objects will not be proposed.
-
In a relation tab, obsolete objects will not be displayed, so cannot be removed.
-
In a relation tab, obsolete objects cannot be added.
other display difference
-
Shortcut display a list without obsolete objects
-
Dashlets do not include obsolete objects
-
Global Search do not return obsolete objects
-
Audit does not report audit errors on obsolete objects
-
RunQuery does not return obsolete objects
-
Export should return a list without obsolete objects
Searching for obsolete objects
obsolescence_flag
Be cautious to set User Preference show obsolete
data
before running the query, otherwise the query won't
return anything!
Limitations
obsolescence_flag
field is based on a OQL expression.
It is calculated only when reading the object from
database. It's not taking into account
not-yet-saved object modifications, which should logically
affect it.obsolescence_date
won't be documented unless the iTop cron is running.This is done in background as an asynchronous task
Default obsolescence rules
Which objects are Obsolete?
In general:
-
Objects with a status equal to
obsolete
orinactive
-
Objects being a sub-object of another one, are obsolete if their main object is. Example: Physical Interface is obsolete if its ConnectableCI is. There are two exceptions to this rule: a Virtual Machine and an Hypervisor are obsolete if and only if their own status is
obsolete
-
License expired more than 15 months ago, (Search query cannot be cached, so cautious with high volumes)
Configuration Management core
-
Contact:
status='inactive'
-
Document:
status='obsolete'
CIs
-
Application Solution:
status='inactive'
-
Business Process:
status='inactive'
-
DB Server:
status='inactive'
-
Database Schema:
its DBServer is obsolete
-
Middleware:
status='inactive'
-
Middleware Instance:
its Middleware is obsolete
-
Network Device:
status='obsolete'
-
Other Software:
status='inactive'
-
PC Software:
status='inactive'
-
Server:
status='obsolete'
-
Web Application:
its Web server is obsolete
-
Web server:
status='inactive'
Miscellaneous
-
Group:
status='obsolete'
-
Location:
status='inactive'
-
OS Licence:
Licence is not perpetual and end date defined and exceeded by more than 15 months
-
OS Patch: no obsolescence defined
-
Organization:
status='inactive'
-
Physical Interface:
its Device is obsolete
-
Software: no obsolescence defined
-
Software Licence:
Licence is not perpetual and end date defined and exceeded by more than 15 months
-
Software Patch: no obsolescence defined
-
Subnet: no obsolescence defined
-
VLAN: no obsolescence defined
End User devices
On all end-user devices use the same logic defined on Physical
Device: status='obsolete'
Virtualization Management
-
Farm:
status='obsolete
' -
Hypervisor:
status='obsolete
' -
Logical Interface:
its Virtual Machine is obsolete
-
Virtual Machine:
status='obsolete
Advanced Storage
-
Fiber Channel Interface:
its Datacenter Device is obsolete
-
Logical Volume:
its Storage System is obsolete
-
NAS:
status='obsolete'
-
NAS File System:
its NAS is obsolete
-
SAN Switch:
status='obsolete'
-
Storage System:
status='obsolete'
-
Tape:
its Tape Library is obsolete
-
Tape Library:
status='obsolete'
Datacenter
-
Enclosure:
status='obsolete'
-
PDU:
status='obsolete'
-
Power Source:
status='obsolete'
-
Rack:
status='obsolete'
Ticket
Since 2.5.0, there is no obsolescence rule on Ticket anymore as it was degrading performance.
Configuring Obsolescence
For defining your own rules: Define Obsolescence rules