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.

Searching for obsolete objects

Use RunQuery and automatic attribute obsolescence_flag
Be cautious to set User Preference show obsolete data before running the query, otherwise the query won't return anything!
Run Query
SELECT Person WHERE obsolescence_flag

Limitations

The 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
User Portal never takes into account the user preferences, so obsolete data are visible unless filtered by portal scopes

Default obsolescence rules

Which objects are Obsolete?

In general:

  1. Objects with a status equal to obsolete or inactive
  2. 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
  3. License expired more than 15 months ago, (Search query cannot be cached, so cautious with high volumes)
If you want to notify obsolete contacts, be aware that this will fail if the user chose to hide obsolete objects in his preference

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

Do not use relative date comparison in obsolescence computation rule as it prevent query caching thus impact negatively iTop performance
latest/feature/obsolescence.txt ยท Last modified: 2023/07/21 10:19 (external edit)
Back to top
Contact us