Product Lifecycle Support
Introduction
Most publishers and vendors publish end of life information about their products for the benefit of their customers. This same information can be leveraged within BMC DIscovery via the Product Lifecycyle patterns provided in the Extended Data Pack.
A Product Lifecycle pattern populates Discovery with information about End-of-Life, End-of-Support, and End-of-Extended-Support for versions of certain operating systems, software products (including software clusters, virtual machines and runtime environments), clusters, network devices, storage devices and systems, hosts, host containers (blade enclosures), hardware components, hardware containers, management controllers, printers and SNMP managed devices.
How Lifecycle Patterns Can Help You
You can use any of the lifecycle patterns to identify a software installation or a piece of hardware that:
- are exposed to security/stability risks as they are no longer supported by patch updates.
- you may be paying a premium maintenance subscription for.
- are no longer shipping so may increase costs and risks associated with variance.
Viewing Product Lifecycle in the Discovery UI
A product's lifecycle information is held in a SupportDetail node. Such EOL information can be viewed in overview format on its parent node:

or directly on the SupportDetail node:

Certain nodes, such as those for a host, network device or storage system, may be associated with two support Detail nodes, one for the hardware itself and the other for its operating systems:

Product Lifecycle Terminology
The product lifecycle dates consists of the following milestones that were made available and used by the vendor or publisher:
| Retirement / End Of Life (EOL) | End Of Support (EOS) | End Of Security Support (EOSS) | End Of Extended Support (EOES) |
| At this milestone, the vendor or publisher will stop selling and/or shipping the particular product. | At this milestone, the publisher will stop providing patch updates for the particular product. Such End of Support Date relates to the normal support applicable to all of its customers as provided by the vendor or publisher. | At this milestone, the vendor will stop providing security patches for the particular model. The period between the End of Support Date and the End of Security Support date allows for a security patch, unforeseen by the vendor or publisher, to be issued. | At this milestone, the publisher will stop providing support for the particular product. Such End of Extended Support Date relates to the extended support only applicable to customers who have taken out an extended contract with the vendor or publisher. Such End of Extended Support Date might also relate to the date when technical documentation will be removed from the vendor or publisher's web site. |
Mapping Terminology and Definitions From Disparate Product Lifecycle Policies
Almost every vendor or publisher uses its own unique terminology and definitions in its product lifecycle policy; In such cases, we have aligned to the closest matching definition. The table below gives a few examples of the hurdles BMC Discovery has had to overcome to provide EOL data in a standardized format:
How BMC Gathers The EOL Data
BMC Discovery holds all its EOL data in an internal EOL tool. This tool executes scripts which scrap vendor's web sites to extract EOL data and discover new releases. Due to the free-form nature of the World Wide Web, the gathering of EOL data from some vendors or publishers still has to be done manually. This tool also uses AI to identify missing version numbers, predict when the next release is likely to happen and derive new EOL entries from existing ones. We are also heavily reliant on customers providing us with the results of queries in CSV format to assist in identifying the gaps and in discovering new product versions.
BMC tries to rely on EOL dates publicly available directly from the related vendor's web pages. We reference the vendor's web pages directly in the BMC Discovery UI when showing any lifecycle date. This is not always possible because:
- you might have to know a product's serial number.
- the product has been open-sourced and it is the commercial arm that provides the support.
- the vendor company has been bought out by another and a formerly perfect provenance link is no longer available.
- the published EOL data is confusing and web sites such as endoflife.date interpret it in a clearer format.
What Happens If We Can't Get The EOL Data?
It is simply not possible to get EOL data for every product. In many cases, the EOL data is simply never published. Within BMC Discovery, we impart information concerning such a lack of EOL data to our customers in the form of a failure reason attribute attached to the Support Detail node. This describes the current state of the Support Detail node with regard to how a lack of End Of Life data came about; For example:
- The product version is too old and such legacy EOL data has been removed from the vendor's web site.
- The product version is too recent and any EOL data has yet to be published on the vendor's web site.
- A support logon is required to reach such EOL data.
The various failure reasons are documented here.
Tailored Extended Support
Microsoft sells additional support in the form of Extended Security Updates (ESU). Red Hat sells additional support in the form of a Extended Update Support (EUS) subscription.
We have a couple of patterns, one for Microsoft and one for Red Hat, that detects that a ESU or EUS subscription has been purchased for a given host, allowing the EOL data for the operating system on that host to be tailored accordingly.
Microsoft Windows
Normal End of Life Data
A normal EOL entry for Microsoft Windows (in this case for Server 2012) looks as follows:
Product Version | ESU Applied | Start Date -> GA Date | Mainstream End Date -> Retirement Date | Extended End Date [Top table] OR End Date [Bottom table] -> End of Support Date | End of Security Support Date | Extended Security Update Year 3 -> End of Extended Support Date |
|---|---|---|---|---|---|---|
Server 2012 | This EOL entry assumes we are unable to ascertain if the customer has purchased any extended support from Microsoft following the final service pack in the form of an ESU subscription | 2012-10-30 | 2018-10-09 | 2023-10-10 | N/A | 2026-10-13 This date being the EOL date for the ESU subscription with the maximum number of years (i.e 3) that may be purchased from Microsoft for additional monies. |
Tailored End of Life Data
Product Version | ESU Applied | Start Date -> GA Date | Mainstream End Date -> Retirement Date | Extended End Date [Top table] OR End Date [Bottom table] -> End of Support Date | Extended Security Update Year X -> End of Security Support Date | Extended Security Update Year 3 -> End of Extended Support Date |
|---|---|---|---|---|---|---|
Server 2012 | ESU Year 1 | 2023-10-11 This is the day following the End of Support date | 2018-10-09 | 2023-10-10 | 2024-10-08 As you have purchased a 1 year ESU subscription, this date appears here as it relates to security support beyond the normal End of Support date | 2026-10-13 This date reflects that fact that you can pay additional monies to Microsoft to increase your current ESU subscription from one year to three years |
ESU Year 2 | 2024-10-09 | 2018-10-09 | 2023-10-10 | 2025-10-14 As you have purchased a 2 year ESU subscription, this date appears here as it relates to security support beyond the normal End of Support date | 2026-10-13 This date reflects that fact that you can pay additional monies to Microsoft to increase your current ESU subscription from two years to three years | |
ESU Year 3 | 2025-10-15 | 2018-10-09 | 2023-10-10 | 2026-10-13 As you have purchased a 3 year ESU subscription, this date appears here as it relates to security support beyond the normal End of Support date | No date will appear here as you have already purchased the maximum number of years of ESU support |
These EOL dates came from https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2012
End Of Life-Related Queries
The following queries, which can be executed in BMC Discovery, may assist you to get the best out of your EOL data:
SoftwareInstance Nodes Without an Associated SupportDetail Node
SEARCH SoftwareInstance WHERE product_version not in [none, ""] AND nodecount(TRAVERSE ElementWithDetail:SupportDetail:SoftwareDetail:SupportDetail) = 0 SHOW join([type, product_version], ' ') as 'SI Type and Version' PROCESS WITH countUnique(0)
SupportDetail Nodes by Failure Reason
SEARCH SupportDetail WHERE type = "SI Support Detail" AND failure_reason SHOW failure_reason PROCESS WITH countUnique(0)
Software Products Whose End of Support Date is in the Past
SEARCH SupportDetail WHERE type = "SI Support Detail" AND end_support_date AND end_support_date < currentTime() SHOW join([publisher, product, product_version], ' ') as 'Publisher, Product and Version', formatTime(end_support_date, "%Y-%m-%d") as 'End of Support Date', whenWasThat(end_support_date) as 'When Was That' PROCESS WITH countUnique(0)
Software Products Whose Support Ends This Year
SEARCH SupportDetail WHERE type = "SI Support Detail" AND end_support_date AND end_support_date >= parseUTCTime(formatUTCTime(currentTime(), "%Y-01-01")) AND end_support_date <= parseUTCTime(formatUTCTime(currentTime(), "%Y-12-31")) SHOW join([publisher, product, product_version], ' ') as 'Publisher, Product and Version', formatTime(end_support_date, "%Y-%m-%d") as 'End of Support Date', whenWasThat(end_support_date) as 'When Was That' PROCESS WITH countUnique(0)
Software Products Whose Support Ends Next Year
SEARCH SupportDetail WHERE type = "SI Support Detail" AND end_support_date AND end_support_date >= parseUTCTime(fmt("%s-01-01", int(formatUTCTime(currentTime(), "%Y")) + 1)) AND end_support_date <= parseUTCTime(fmt("%s-12-31", int(formatUTCTime(currentTime(), "%Y")) + 1))) SHOW join([publisher, product, product_version], ' ') as 'Publisher, Product and Version', formatTime(end_support_date, "%Y-%m-%d") as 'End of Support Date', whenWasThat(end_support_date) as 'When Was That' PROCESS WITH countUnique(0)
Software Products Whose End of Support Date is Within a Year of Today's Date
SEARCH SupportDetail WHERE type = "SI Support Detail" AND end_support_date AND end_support_date >= currentTime() AND end_support_date <= (currentTime() + 365*24*3600*10000000)
SHOW join([publisher, product, product_version], ' ') as 'Publisher, Product and Version', formatTime(end_support_date, "%Y-%m-%d") as 'End of Support Date', whenWasThat(end_support_date) as 'When Was That' PROCESS WITH countUnique(0)
Reports
There are a number of reports provided by default with BMC Discovery in the Software Products Lifecycle Analysis dashboard:
- Software Product Lifecycle Analysis
- Software Product EOL Failure Reasons
- OS Product Lifecycle Analysis
- OS Product EOL Failure Reasons


