Chapter 5. Integrating Red Hat Satellite and Ansible Automation Platform


You can integrate Red Hat Satellite and Ansible Automation Platform to use Satellite Server as a dynamic inventory source for Ansible Automation Platform.

You can also use the provisioning callback function to run playbooks on hosts managed by Satellite, from either the host or Ansible Automation Platform. When provisioning new hosts from Satellite Server, you can use the provisioning callback function to trigger playbook runs from Ansible Automation Platform. The playbook configures the host after the provisioning process.

To add Satellite Server to Ansible Automation Platform as a dynamic inventory item, you must create a credential for a Satellite Server user on Ansible Automation Platform, add an Ansible Automation Platform user to the credential, and then configure an inventory source.

Prerequisites

  • If your Satellite deployment is large, for example, managing tens of thousands of hosts, using a non-admin user can negatively impact performance because of time penalties that accrue during authorization checks. For large deployments, consider using an admin user.
  • For non-admin users, you must assign the Ansible Tower Inventory Reader role to your Satellite Server user. For more information about managing users, roles, and permission filters, see Creating and Managing Roles in Administering Red Hat Satellite.
  • You must host your Satellite Server and Ansible Automation Platform on the same network or subnet.

Procedure

  1. In the Ansible Automation Platform web UI, create a credential for your Satellite. For more information about creating credentials, see Creating new credentials and Red Hat Satellite 6 credential type in Red Hat Ansible Automation Platform documentation.

    Expand
    Table 5.1. Satellite credentials
    Credential Type:Red Hat Satellite 6

    Satellite URL:

    https://satellite.example.com

    Username:

    The username of the Satellite user with the integration role.

    Password:

    The password of the Satellite user.

  2. Add an Ansible Automation Platform user to the new credential. For more information about adding a user to a credential, see Adding new users and job templates to existing credentials in Red Hat Ansible Automation Platform documentation.
  3. Add a new inventory. For more information, see Add a new inventory in Red Hat Ansible Automation Platform documentation.

    In the new inventory, add Satellite Server as the inventory source, specifying the following inventory source options.

    Expand
    Table 5.2. Inventory source options
    SourceRed Hat Satellite 6

    Credential

    The credential you create for Satellite Server.

    Overwrite

    Select

    Overwrite Variables

    Select

    Update on Launch

    Select

    Cache Timeout

    90

  4. Ensure that you synchronize the source that you add.

5.2. Configuring provisioning callback for a host

When you create hosts in Satellite, you can use Ansible Automation Platform to run playbooks to configure your newly created hosts. This is called provisioning callback in Ansible Automation Platform.

The provisioning callback function triggers a playbook run from Ansible Automation Platform as part of the provisioning process. The playbook configures the host after the provisioning process.

For more information about provisioning callbacks, see Provisioning Callbacks in Red Hat Ansible Automation Platform documentation.

In Satellite Server, the Kickstart Default and Kickstart Default Finish templates include three snippets:

  1. ansible_provisioning_callback
  2. ansible_tower_callback_script
  3. ansible_tower_callback_service

You can add parameters to hosts or host groups to provide the credentials that these snippets can use to run Ansible Playbooks on your newly created hosts.

Prerequisites

Before you can configure provisioning callbacks, you must add Satellite as a dynamic inventory in Ansible Automation Platform. For more information, see Chapter 5, Integrating Red Hat Satellite and Ansible Automation Platform.

In the Ansible Automation Platform web UI, you must complete the following tasks:

  1. Create a machine credential for your new host. Ensure that you enter the same password in the credential that you plan to assign to the host that you create in Satellite. For more information, see Managing user credentials in Red Hat Ansible Automation Platform documentation.
  2. Create a project. For more information, see Projects in Red Hat Ansible Automation Platform documentation.
  3. Add a job template to your project. In your job template, you must enable provisioning callbacks, generate the host configuration key, and note the template_ID of your job template. For more information, see Job templates in Red Hat Ansible Automation Platform documentation.

Procedure

  1. In the Satellite web UI, navigate to Configure > Host Group.
  2. Create a host group or edit an existing host group.
  3. In the Host Group window, click the Parameters tab.
  4. Click Add Parameter.
  5. Enter the following information for each new parameter:

    Expand
    Table 5.3. Host parameters
    NameValueDescription

    ansible_tower_provisioning

    true

    Enables Provisioning Callback.

    ansible_tower_fqdn

    aap.example.com

    The fully qualified domain name (FQDN) of your Ansible Automation Platform. Do not add https because this is appended by Satellite.

    ansible_job_template_id

    template_ID

    The ID of your provisioning template that you can find in the URL of the template: /templates/job_template/5.

    ansible_host_config_key

    config_KEY

    The host configuration key that your job template generates in Ansible Automation Platform.

  6. Click Submit.
  7. Create a host using the host group.
  8. On the new host, enter the following command to start the ansible-callback service:

    # systemctl start ansible-callback
  9. On the new host, enter the following command to output the status of the ansible-callback service:

    # systemctl status ansible-callback

    Provisioning callback is configured correctly if the command returns the following output:

    satellite.example.com systemd[1]: Started Provisioning callback to Ansible Automation Platform...

Manual provisioning callback

  • You can use the provisioning callback URL and the host configuration key from a host to call Ansible Automation Platform:

    $ curl \
    --data curl \
    --data host_config_key=My_Host_Config_Key \
    --insecure \
    --show-error \
    --silent \
    https://aap.example.com/api/v2/job_templates/8/callback/

    Ensure that you use https when you enter the provisioning callback URL.

This triggers the playbook run specified in the template against the host.

Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2026 Red Hat
Back to top