This article was originally published on the Red Hat Customer Portal. The information may no longer be current.

Overview

Instance Based Subscriptions are a type of subscription that allows the end user flexible deployment options. This article describes their usage with the subscription tooling.

Prerequisites

It is important that you have read (or understand) the concepts as presented in:

What is an Instance Based Subscription?

To provide a more flexible and intuitive way of managing your Red Hat Enterprise Linux subscriptions, Red Hat introduced a new Red Hat Enterprise Linux (RHEL) 2013 packaging model. This model was designed to suit customers with growing needs to deploy both physical and virtual systems in large, constantly changing datacenters.

One of the subscription types that was created is the Red Hat Enterprise Linux Server, (Physical or Virtual Nodes) subscription. This subscription type allows the end user to deploy either 2 virtual machines (regardless of size) or 1 two socket system.

While this subscription is flexible, it does present some interesting challenges when working with the subscription tooling.

Example:

As an customer, I've purchased Quantity 20 of RH00004 - Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes), and I can see this via the Customer Portal's new subscription page as shown below

UI Example (Click to Enlarge) Figure 1. You'd note that there are two columns, Quantity & Entitlement Usage:

  • Quantity - The actual number of purchased subscriptions (which is in this case 20)
  • Entitlement Usage - The number of entitlements created (which is in this case 40)

The quantity of the pool as shown in the Entitlement Usage column is the purchased Quantity multiplied by the instance multiplier. For the Physical or Virtual Nodes subscription, this is 2. Other subscriptions may have different multipliers.

As stated above, the Physical or Virtual Nodes subscription allows the end user to deploy either 2 virtual machines (regardless of size) or 1 two socket system. As I have in this example, purchased 20 of them, any of the following are valid deployment scenarios:

  • Ten (10) 2-socket systems + 20 virtual machines OR
  • Twenty (20) 2-socket systems OR
  • Forty (40) virtual machines OR
  • Two (2) 8-socket systems, Four (4) 4-socket systems + Four (4) virtual machines OR
  • various combinations thereof.

How do I know a subscription is an instance based subscription?

In the Customer Portal's new subscription page, various subscription properties are now more prominently exposed. In the case of instance based subscriptions, you'd see the Instance Based property set to Yes

Figure 2.

How are instance based subscriptions counted?

With instance based subscriptions, a registering system will decrement an entitlement from the pool in the following fashion:

  • Virtual machines (regardless of size) decrement by 1.
  • 2 socket systems decrement by 2
  • 4 socket systems decrement by 4
  • 8 socket systems decrement by 8
  • etc.

Let's take a look at that from a client perspective.

How do instance based subscriptions work with the client tools?

Let's take a look at a virtual guest that has been deployed. Our virtual guest has been given 4 sockets (as it is expected to run a workload that requires a large amount of processing power)

We'll show its system facts via the subscription-manager facts command.

[root@virtual:] ~ #subscription-manager facts | egrep '(cpu_socket|is_guest)'
cpu.cpu_socket(s): 4
virt.is_guest: True

Next, let's list what subscriptions do we have available:

[root@virtual:] ~ #subscription-manager list\
 --all --available \
--matches \
'Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)'
+-------------------------------------------+
    Available Subscriptions
+-------------------------------------------+
Subscription Name:   Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)
Provides:            Red Hat Container Images Beta
                     Red Hat Beta
                     dotNET on RHEL Beta (for RHEL Server)
                     Red Hat Software Collections (for RHEL Server)
                     Red Hat Enterprise Linux Atomic Host Beta
                     Oracle Java (for RHEL Server)
                     Red Hat Container Images
                     Red Hat Enterprise Linux Server
                     dotNET on RHEL (for RHEL Server)
                     Red Hat Software Collections Beta (for RHEL Server)
                     Red Hat Enterprise Linux Atomic Host
                     Red Hat Developer Toolset (for RHEL Server)
SKU:                 RH00004
Contract:            10881781
Pool ID:             8a85f98352d124000152d1d759ca4f68
Provides Management: No
Available:           40
Suggested:           1
Service Level:       Standard
Service Type:        L1-L3
Subscription Type:   Instance Based
Ends:                02/10/2017
System Type:         Physical

Note, we can see that only a quantity of 1 is suggested for this virtual system. The fact that it is a guest (virt.is_guest: True) supercedes the reported hardware topology.

Next, let's look at an 8-socket system's facts:

[root@eight-socket:] ~ #subscription-manager facts | egrep '(cpu_socket|is_guest)'
cpu.cpu_socket(s): 8
virt.is_guest: False

And show which subscriptions are available. Note the suggested quantity is now 8 due to the system's facts.

[root@eight-socket] ~ #subscription-manager list\
 --all --available \
--matches \
'Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)'
+-------------------------------------------+
    Available Subscriptions
+-------------------------------------------+
Subscription Name:   Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)
Provides:            Red Hat Container Images Beta
                     Red Hat Beta
                     dotNET on RHEL Beta (for RHEL Server)
                     Red Hat Software Collections (for RHEL Server)
                     Red Hat Enterprise Linux Atomic Host Beta
                     Oracle Java (for RHEL Server)
                     Red Hat Container Images
                     Red Hat Enterprise Linux Server
                     dotNET on RHEL (for RHEL Server)
                     Red Hat Software Collections Beta (for RHEL Server)
                     Red Hat Enterprise Linux Atomic Host
                     Red Hat Developer Toolset (for RHEL Server)
SKU:                 RH00004
Contract:            10881781
Pool ID:             8a85f98352d124000152d1d759ca4f68
Provides Management: No
Available:           40
Suggested:           8
Service Level:       Standard
Service Type:        L1-L3
Subscription Type:   Instance Based
Ends:                02/10/2017
System Type:         Physical

Next, let's actually attach that subscription to our 8-socket system:

[root@eight-socket] ~ #subscription-manager attach --pool 8a85f98352d124000152d1d759ca4f68
Successfully attached a subscription for: Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)

And let's look at subscription consumption via the client.

[root@eight-socket] ~ #subscription-manager list --consumed
Subscription Name:   Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)
Provides:            Oracle Java (for RHEL Server)
                     Red Hat Enterprise Linux Atomic Host
                     Red Hat Enterprise Linux Server
                     Red Hat Software Collections (for RHEL Server)
                     Red Hat Beta
                     dotNET on RHEL Beta (for RHEL Server)
                     dotNET on RHEL (for RHEL Server)
                     Red Hat Enterprise Linux Atomic Host Beta
                     Red Hat Developer Toolset (for RHEL Server)
                     Red Hat Software Collections Beta (for RHEL Server)
                     Red Hat Container Images
                     Red Hat Container Images Beta
SKU:                 RH00004
Contract:            10881781
Account:             5644938
Serial:              6819453414623957537
Pool ID:             8a85f98352d124000152d1d759ca4f68
Provides Management: No
Active:              True
Quantity Used:       8
Service Level:       Standard
Service Type:        L1-L3
Status Details:      Subscription is current
Subscription Type:   Instance Based
Starts:              02/11/2016
Ends:                02/10/2017
System Type:         Physical

And via the portal:

UI Example (Click to Enlarge) Figure 3.

How many systems can I actually deploy then?

As the Physical or Virtual Nodes subscriptions allow you to consume flexibly (albeit at different quantities based on system facts), it can be difficult to understand what is available. In the case of an instance based subscription, the Entitlement Usage column reflects is the maximum number of virtual machines you can subscribe (if you deploy nothing BUT virtual machines). If you deploy physical systems (or combinations of physical systems and virtual machines), you'll consume from this pool faster.

Instance Based subscriptions with Satellite 6

Instance based subscriptions work the same in Satellite 6 as they do with the Red Hat Customer Portal. It is to be noted that when creating a subscription manifest, you are selecting which entitlements you wish to use on-premise, so the same logic applies (virtual machines decrement by 1, 2 socket servers by 2, etc, etc) Figure 4.

Further reading


About the author

Rich Jerrido is the Senior Principal Product Manager for Hybrid Cloud Business Services.
 

Read full bio