Chapter 3. What does the subscriptions service track?
The subscriptions service currently tracks and reports usage information for Red Hat Enterprise Linux, some Red Hat OpenShift products, and some Red Hat Cloud Services services.
The subscriptions service identifies subscriptions through their stock-keeping units, or SKUs. Only a subset of Red Hat SKUs are tracked by the subscriptions service. In the usage reporting for a product, the tracked SKUs in your account contribute to the maximum capacity information, also known as the subscription threshold, for that product.
For the SKUs that are not tracked, the subscriptions service maintains an explicit deny list within the source code. To learn more about the SKUs that are not tracked, you can view this deny list in the code repository.
3.1. Red Hat Enterprise Linux
The subscriptions service tracks RHEL Annual subscription usage on physical systems, virtual systems, hypervisors, and public cloud. For a limited subset of subscriptions, currently Red Hat Enterprise Linux Extended Life Cycle Support Add-On on Amazon Web Services (AWS), it tracks RHEL pay-as-you-go On-Demand subscription usage for instances running in public cloud providers.
If your RHEL installations predate certificate-based subscription management, the subscriptions service will not track that inventory.
3.1.1. RHEL with a traditional Annual subscription
The subscriptions service tracks RHEL usage in sockets, as follows:
- Tracks physical RHEL usage in CPU sockets, where usage is counted by socket pairs.
- Tracks virtualized RHEL by the installed socket count for standard guest subscriptions with no detectable hypervisor management, where one virtual machine equals one socket.
- Tracks hypervisor RHEL usage in CPU sockets, with the socket-pair method, for virtual data center (VDC) subscriptions and similar virtualized environments. RHEL based hypervisors are counted both for the copy of RHEL that is used to run the hypervisor and the copy of RHEL for the virtual guests. Hypervisors that are not RHEL based are counted for the copy of RHEL for the virtual guests.
- Tracks public cloud RHEL instance usage in sockets, where one instance equals one socket.
- Additionally, tracks Red Hat Satellite to enable the visibility of RHEL that is bundled with Satellite.
3.1.2. RHEL with a pay-as-you-go On-Demand subscription
The subscriptions service tracks metered RHEL in vCPU hours, as follows:
- Tracks pay-as-you-go On-Demand instance usage in virtual CPU hours (vCPU hours), a measurement of availability for computational activity on one virtual core (as defined by the subscription terms), for a total of one hour, measured to the granularity of the meter that is used. For RHEL pay-as-you-go On-Demand subscription usage, availability for computational activity is the availability of the RHEL instance over time.
Currently, Red Hat Enterprise Linux for Third Party Linux Migration with Extended Life Cycle Support Add-on is the only RHEL pay-as-you-go On-Demand subscription offering that is tracked by the subscriptions service.
The subscriptions service ultimately aggregates all instance vCPU hour data in the account into a monthly total, the unit of time that is used by the billing service for the cloud provider marketplace.
3.2. Red Hat OpenShift
Generally, the subscriptions service tracks Red Hat OpenShift usage as cluster size on physical and virtual systems. The cluster size is the sum of all subscribed nodes. A subscribed node is a compute or worker node that runs workloads, as opposed to a control plane or infrastructure node that manages the cluster.
However, beyond this general rule, tracking is dependent on several factors:
- The Red Hat OpenShift product
- The type of subscription that was purchased for that product
- The version of that product
- The unit of measurement for the product, as defined by the subscription terms, that determines how cluster size and overall usage is calculated
- The structure of nodes, including any labels used to assign node roles and the configuration of scheduling to control pod placement on nodes
3.2.1. Impact of various factors on Red Hat OpenShift tracking
The subscriptions service tracks and reports usage for fully managed and self-managed Red Hat OpenShift products in both physical and virtualized environments. Due to changes in the reporting models between Red Hat OpenShift major versions 3 and 4, usage data for version 3 is reported at the node level, while usage data for version 4 is reported and aggregated at the cluster level. The following information is more applicable to the version 4 reporting model, with data aggregated at the cluster level.
Much of the work for the counting of Red Hat OpenShift usage takes place in the monitoring stack tools and OpenShift Cluster Manager. These tools then send core count or vCPU count data, as applicable, to the subscriptions service for usage reporting. The core and vCPU data is based on the subscribed cluster size, which is derived from the cluster nodes that are processing workloads.
For fully managed Red Hat OpenShift products, such as Red Hat OpenShift Dedicated or Red Hat OpenShift AI, usage counting is generally time-based, measured in units such as core hours or vCPU hours. The infrastructure of the Red Hat managed environment is more consistently available to Red Hat, including the monitoring stack tools and OpenShift Cluster Manager. Data for subscribed nodes, the nodes that can accept workloads, is readily discoverable, as is data about cores, vCPUs and other facts that contribute to usage data for the subscriptions service.
For self-managed Red Hat OpenShift products, such as Red Hat OpenShift Container Platform Annual and Red Hat OpenShift Container Platform On-Demand, usage counting is generally based on cores. The infrastructure of a customer-designed environment is less predictable, and in some cases facts pertinent to usage calculations might be less accessible, especially in a virtualized, x86-based environment.
Because some of these facts might be less accessible, the usage counting process contains assumptions about simultaneous multithreading, also known as hyperthreading, that are applied when analyzing and reporting usage data for virtualized Red Hat OpenShift clusters for x86 architectures. These assumptions are necessary because some vendors offer hypervisors that do not expose data about simultaneous multithreading to the guests.
Ongoing analysis and customer feedback have resulted in incremental improvements, both to the subscriptions service and to the associated data pipeline, that have enhanced the accuracy of usage counting for hyperthreading use cases. The foundational assumption currently used in the subscriptions service reporting is that simultaneous multithreading occurs at a factor of 2 threads per core. Internal research has shown that this factor is the most common configuration, applicable to a significant majority of customers. Therefore, assuming 2 threads per core follows common multithreading best practices and errs in favor of the small percentage of customers, approximately 10%, who are not using multithreading. This decision is the most equitable for all customers when deriving the number of cores from the observed number of threads.
A limited amount of self-managed Red Hat OpenShift offerings are available as socket-based subscriptions. For those socket-based subscriptions, the hypervisor reports the number of sockets to the operating system, usually Red Hat Enterprise Linux CoreOS, and that socket count is sent to the subscriptions service for usage tracking. The subscriptions service tracks and reports socket-based subscriptions with the socket-pair method that is used for RHEL.
3.2.2. Core-based usage counting workflow for self-managed Red Hat OpenShift products
For self-managed Red Hat OpenShift products such as Red Hat OpenShift Container Platform Annual and Red Hat OpenShift Container Platform On-Demand, the counting process initiated by the monitoring stack tools and OpenShift Cluster Manager works as follows:
- For a cluster, node types and node labels are examined to determine which nodes are subscribed nodes. A subscribed node is a node that can accept workloads. Only subscribed nodes contribute to usage counting for the subscriptions service.
The chip architecture for the node is examined to determine if the architecture is x86-based. If the architecture is x86-based, then simultaneous multithreading, also known as hyperthreading, must be considered during the usage counting.
- If the chip architecture is not x86-based, the monitoring stack counts usage according to the cores associated with the subscribed nodes and sends that core count to the subscriptions service.
- If the chip architecture is x86-based, the monitoring stack counts usage according to the number of threads on the subscribed nodes. Threads equate to vCPUs, according to the Red Hat definition of vCPUs. This counting method applies whether the multithreading data can accurately be detected, the multithreading data is ambiguous or missing, or multithreading data is specifically set to a value of false on the node. Based on a global assumption of multithreading at a factor of 2, the number of threads is divided by 2 to determine the number of cores. The core count is then sent to the subscriptions service.
3.2.3. Understanding the subscribed cluster size compared to the total cluster size
For Red Hat OpenShift, the subscriptions service does not focus merely on the total size of the cluster and the nodes within it. The subscriptions service focuses on the subscribed portion of clusters, that is, the cluster nodes that are processing workloads. Therefore, the subscriptions service reporting is for the subscribed cluster size, not the entire size of the cluster.
3.2.4. Determining the subscribed cluster size
To determine the subscribed cluster size, the data collection tools and the subscriptions service examine both the node type and the presence of node labels. The subscriptions service uses this data to determine which nodes can accept workloads. The sum of all noninfrastructure nodes plus master nodes that are schedulable is considered available for workload use. The nodes that are available for workload use are counted as subscribed nodes, contribute to the subscribed cluster size, and appear in the usage reporting for the subscriptions service.
The following information provides additional details about how node labels affect the countability of those nodes and in turn affect subscribed cluster size. Analysis of both internal and customer environments shows that these labels and label combinations represent the majority of customer configurations.
Node label | Usage counted | Exceptions |
---|---|---|
worker | yes | Unless there is a combination of the worker label with an infra label |
worker + infra | no | See Note |
custom label | yes | Unless there is a combination of the custom label with the master, infra, or control plane label |
custom label + master, infra, control plane (any combination) | no | |
master + infra + control plane (any combination) | no | Unless there is a master label present and the node is marked as schedulable |
schedulable master + infra, control plane (any combination) | yes |
A known issue with the Red Hat OpenShift monitoring stack tools can result in unexpected core counts for Red Hat OpenShift Container Platform versions earlier than 4.12. For those versions, the number of worker nodes can be artificially elevated.
For OpenShift Container Platform versions earlier than 4.12, the Machine Config Operator does not support a dual assignment of infra and worker roles on a node. The counting of worker nodes is correct in OpenShift Container Platform according to the principles of counting subscribed nodes, and this count will display correctly in the OpenShift Container Platform web console.
However, when the monitoring stack tools analyze this data and send it to the subscriptions service and other services in the Hybrid Cloud Console, the Machine Config Operator ignores the dual roles and sets the role on the node to worker. Therefore, worker node counts will be elevated in the subscriptions service and in OpenShift Cluster Manager.
3.2.5. Red Hat OpenShift Container Platform with a traditional Annual subscription
The subscriptions service tracks Red Hat OpenShift Container Platform usage in CPU cores or sockets for clusters and aggregates this data into an account view, as refined by the following version support:
- RHOCP 4.1 and later with Red Hat Enterprise Linux CoreOS based nodes or a mixed environment of Red Hat Enterprise Linux CoreOS and RHEL based nodes
- RHOCP 3.11
For RHOCP subscription usage, there was a change in reporting models between the major 3 and 4 versions. Version 3 usage is considered at the node level and version 4 usage is considered at the cluster level.
The difference in reporting models for the RHOCP major versions also results in some differences in how the subscriptions service and the associated services in the Cloud Services platform calculate usage. For RHOCP version 4, the subscriptions service follows the rules for examining node types and node labels to calculate the subscribed cluster size as described in Determining the subscribed cluster size. The subscriptions service recognizes and ignores the parts of the cluster that perform overhead tasks and do not accept workloads. The subscriptions service recognizes and tracks only the parts of the cluster that do accept workloads.
However, for RHOCP version 3.11, the version 3 era reporting model cannot distinguish the parts of the cluster that perform overhead tasks and do not accept workloads, so the reporting model cannot find the subscribed and nonsubscribed nodes. Therefore, for RHOCP version 3.11, you can assume that approximately 15% of the subscription data reported by the subscriptions service is overhead for the nonsubscribed nodes that perform infrastructure-related tasks. This percentage is based on analysis of cluster overhead in RHOCP version 3 installations. In this particular case, usage results that show up to 15% over capacity are likely to still be in compliance.
3.2.6. Red Hat OpenShift Container Platform or Red Hat OpenShift Dedicated with a pay-as-you-go On-Demand subscription
- RHOCP or OpenShift Dedicated 4.7 and later
The subscriptions service tracks RHOCP or OpenShift Dedicated 4.7 and later usage from a pay-as-you-go On-Demand subscription in core hours, a measurement of cluster size in CPU cores over a range of time. For an OpenShift Dedicated On-Demand subscription, consumption of control plane resources by the availability of the service instance is tracked in instance hours. The subscriptions service ultimately aggregates all cluster core hour and instance hour data in the account into a monthly total, the unit of time that is used by the billing service for Red Hat Marketplace.
As described in the information about RHOCP 4.1 and later, The subscriptions service recognizes and tracks only the parts of the cluster that contain compute nodes, also commonly called worker nodes.
3.2.7. Red Hat OpenShift Service on AWS Hosted Control Planes with a pre-paid plus On-Demand subscription
The subscriptions service tracks Red Hat OpenShift Service on AWS Hosted Control Planes (ROSA Hosted Control Planes) usage from a pre-paid plus On-Demand subscription in vCPU hours and in control plane hours.
- A vCPU hour is a measurement of availability for computational activity on one virtual core (as defined by the subscription terms) for a total of one hour, measured to the granularity of the meter that is used. For ROSA Hosted Control Planes, availability for computational activity is the availability of the vCPUs for the ROSA Hosted Control Planes subscribed clusters over time. A subscribed cluster is comprised of subscribed nodes, which are the noninfrastructure nodes plus schedulable master nodes that are available for workload use, if applicable. Note that for ROSA Hosted Control Planes, schedulable master nodes are not applicable, unlike other products that also use this measurement. The vCPUs that are available to run the workloads for a subscribed cluster contribute to the vCPU hour count.
- A control plane hour is a measurement of the availability of the control plane. With ROSA Hosted Control Planes, each cluster has a dedicated control plane that is isolated in a ROSA Hosted Control Planes service account that is owned by Red Hat.
3.3. Red Hat Cloud Services
Because the services in the Red Hat Cloud Services portfolio consume different types of resources while handling different types of workloads, the subscriptions service tracks usage of these services in different ways.
3.3.1. Red Hat OpenShift AI with a pay-as-you-go On-Demand subscription
The subscriptions service tracks Red Hat OpenShift AI (RHOAI) in vCPU hours, a measurement of availability for computational activity on one virtual core (as defined by the subscription terms), for a total of one hour, measured to the granularity of the meter that is used. For RHOAI pay-as-you-go On-Demand subscription usage, the availability for computational activity is the availability of the cluster over time.
The subscriptions service ultimately aggregates all cluster vCPU hour data in the account into a monthly total, the unit of time that is used by the billing service for the cloud provider marketplace.
3.3.2. Red Hat Advanced Cluster Security for Kubernetes with a pay-as-you-go On-Demand subscription
The subscriptions service tracks Red Hat Advanced Cluster Security for Kubernetes (RHACS) in vCPU hours, a measurement of availability for computational activity on one virtual core (as defined by the subscription terms), for a total of one hour, measured to the granularity of the meter that is used. For RHACS pay-as-you-go On-Demand subscription usage, the availability for computational activity is the availability of the cluster over time.
The subscriptions service aggregates all cluster vCPU hour data and then sums the data for each cluster where RHACS is running into a monthly total, the unit of time that is used by the billing service for the cloud provider marketplace.
Additional resources
- For more information about the purpose of the subscriptions service deny list, see the What subscriptions (SKUs) are included in Subscription Usage? article.
- For more information about the contents of the subscriptions service deny list, including the specific SKUs in that list, see the deny list source code in GitHub.