If My Subscription Expires or Is Out of Compliance, How Is My Automation Impacted When Using Ansible Automation Platform?

Solution Verified - Updated -

Red Hat Lightspeed can detect this issue

Proactively detect and remediate issues impacting your systems.
View matching systems and remediation

Environment

  • Red Hat Ansible Automation Platform (Ansible Automation Platform) 2.0 and later

Issue

  • When using Ansible Automation Platform, different license types and conditions can affect your operations such as what happens when it expires or you go over your licensed automation node count.

  • Before AAP 2.5, in the UI, under Settings -> Subscription, the Status field will show if you are compliant or not. You are compliant when the number of hosts you have automated against is below your subscription count. If you go above, then it'll show as Non-Compliant.

  • For AAP 2.5+, check in the UI, under Automation Analytics -> Subscription Usage and Settings-> Subscription

Resolution

Versions 2.6

Behavior depends on license type. Enterprise, Developer, and Trial licenses have different enforcement behaviors.

License Types and Grace Periods
License Type SKU Pattern Grace Period After Expiry Enforcement Behavior
Enterprise MCT*, other non-S prefixes 30 days Warning logged, automation continues
Trial S* (SER, SVC) None Blocks automation immediately
Developer RHEL Developer products 30 days Warning logged, automation continues
Open (AWX) N/A N/A No restrictions, always compliant
Compliance Criteria

A subscription is considered compliant when BOTH conditions are met:
1. time_remaining > 0 (subscription hasn't expired)
2. free_instances >= 0 (automated hosts ≤ licensed count)

Automation Controller Behavior Matrix - Enterprise/Developer Licenses
Function Out of Compliance (Node Count Exceeded) Expired (Within 30-Day Grace) Expired (Beyond Grace Period)
Add Project
Add Template
Add Workflow
Run Job Template 1 1 1
Run Workflow 1 1 1
Dynamic Inventory Sync 1 1 1
Manual Host Addition 1 1 1
Ad Hoc Commands 1 1 1
Scheduled Jobs 1 1 1
Provisioning Callbacks 2 2 2
Insights Analytics Collection 3 3 3
Backup and Restore
Upgrade to newer version
Automation Controller Behavior Matrix - Trial Licenses
Function Out of Compliance (Node Count Exceeded) Subscription Expired
Add Project
Add Template
Add Workflow
Run Job Template
Run Workflow
Dynamic Inventory Sync
Manual Host Addition
Ad Hoc Commands
Scheduled Jobs
Provisioning Callbacks 2 2
Insights Analytics Collection
Backup and Restore
Upgrade to newer version

Important: Trial licenses have no grace period. Operations are blocked immediately upon expiration or when node count is exceeded.

Event-Driven Ansible (EDA) Controller

EDA Controller does not currently enforce subscription/license restrictions. All operations (rulebook activations, event processing) continue regardless of subscription status.

Private Automation Hub

No specific license enforcement for content operations. Collection downloads and syncs continue regardless of subscription status.

Organization-Level Host Limits

Note: Organizations can have a separate max_hosts limit configured independently of the subscription. This limit always blocks operations when exceeded, regardless of license type (Enterprise or Trial).

When the organization host limit is reached:
- Adding new hosts is blocked with error: "You have already reached the maximum number of X hosts allowed for your organization."
- This is separate from subscription compliance and applies even when the subscription is valid and compliant.
- Contact your System Administrator to increase the organization host limit.

Versions 2.4 - 2.5

The platform should continue to function without change while you work with your account team to obtain a new subscription entitlement.

Note: The same license type distinctions apply as in 2.6. Trial licenses will block automation upon expiration, while Enterprise/Developer licenses continue with warnings.

Versions 2.0 - 2.3

Behavior is identified in the following table:

AAP2 Function When Out Of Compliance When Subscription Expired
Add Project
Dynamic Inventory Sync
Manual Host Addition
Add Template
Add Workflow
Run Job Template
Run Workflow
Backup and restore
Upgrade to newer version 1

  1. The "Upgrade to newer version" limitation has been removed in 2.1.2. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  2. Provisioning callbacks explicitly bypass license blocking to allow automated host provisioning. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  3. Insights analytics checks license validity; collection may fail with invalid license but does not block other operations. ↩︎ ↩︎ ↩︎

Diagnostic Steps

Check the current license compliance by logging into Controller node, and then navigating to the API at:

https://aap_hostname/api/controller/v2/config/

The license_info information will include:

"license_info": {
    "instance_count": 100,
    "license_date": "1798779599",
    "license_type": "enterprise",
    "sku": "MCT3691",
    "trial": false,
    "usage": "",
    "pool_id": "8a85f99c7d76adcd017d93c9f19606bb",
    "satellite": false,
    "valid_key": true,
    "product_name": "Red Hat Ansible Automation Platform, Standard (100 Managed Nodes)",
    "support_level": "Standard",
    "account_number": "5910538",
    "subscription_id": "10433839",
    "subscription_name": "Red Hat Ansible Automation Platform, Standard (100 Managed Nodes)",
    "deleted_instances": 0,
    "reactivated_instances": 0,
    "current_instances": 85,
    "automated_instances": 85,
    "automated_since": 1704399664,
    "free_instances": 15,
    "time_remaining": 90075302,
    "grace_period_remaining": 92667302,
    "compliant": true,
    "date_warning": false,
    "date_expired": false
}
Key Fields Explained
Field Description
license_type enterprise, trial, developer, or UNLICENSED
trial true = no grace period, blocks on expire; false = 30-day grace
instance_count Licensed node count
automated_instances Unique hosts automated against (used for compliance)
free_instances Remaining capacity (instance_count - automated_instances)
time_remaining Seconds until subscription expiry
grace_period_remaining Seconds until enforcement (Enterprise: expiry + 30 days)
compliant true if time_remaining > 0 AND free_instances >= 0
date_warning true if less than 30 days remaining
date_expired true if time_remaining <= 0

To view individual host metrics:

https://aap_hostname/api/controller/v2/host_metrics/

Frequently Asked Questions

Q: What happens if I exceed my node count?
- Enterprise/Developer: Warning logged, automation continues
- Trial: Operations blocked

Q: What's the grace period after subscription expires?
- Enterprise/Developer: 30 days from subscription end date
- Trial: No grace period - blocks immediately on expiry

Q: Can I still run playbooks while out of compliance?
- Enterprise/Developer: Yes, with warnings in logs
- Trial: No, blocked after expiry

Q: Does EDA controller check subscription?
- Currently no - EDA operates independently of subscription status

Q: Are scheduled jobs affected?
- Scheduled jobs follow the same enforcement as manually launched jobs

Q: Do provisioning callbacks work when out of compliance?
- Yes, provisioning callbacks explicitly bypass license checks to allow automated host provisioning

Q: How is the organization host limit different from subscription compliance?
- Organization host limits are set per-organization by administrators and always block when exceeded, even with a valid subscription

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments