Getting started

Overview of using OneFuse with Red Hat Ansible

Easily integrate CloudBolt OneFuse with Red Hat Ansible (compatible with Ansible Core or Tower) to quickly automate and integrate into your business provisioning lifecycle.

The CloudBolt OneFuse integration platform offers integrations to services like Naming, IPAM, DNS, Microsoft Active Directory, Scripting, Ansible Tower and more.

Upstream providers like Ansible, Terraform, VMware vRealize Automation, CloudBolt CMP, ServiceNow and others are able to consume the same OneFuse integrations combined with organizational business logic for a standardized approach to automation across the enterprise.

Prerequisites

  1. Learn about Red Hat Ansible.
  2. Install and setup Red Hat Ansible Core or Tower.
  3. Get the OneFuse Ansible Module via our GitHub Repo.

Python

  1. Verify Python is installed

    # Run the following in a Command Prompt/Terminal
    pip install --upgrade onefuse
    
    • If Python is not installed (or upgrading), download the latest Python
  2. Verify pip is installed

    # Run the following in a Command Prompt/Terminal
    pip install onefuse==versions
    
    # An output error message similar to the below is returned, listing available versions:
    # ~ERROR: Could not find a version that satisfies the requirement onefuse==versions (from versions: <!! versions are listed here !!>)
    # ~ERROR: No matching distribution found for onefuse==versions
    
  3. Review Python’s Installing Packages

Install OneFuse Python Package

OneFuse Python Module is distributed as a Python Package. Install the OneFuse Python Package using pip.

  1. Open a Command Prompt or Terminal window
  2. Install OneFuse Python Package using instructions below:

Option 1. Installing the latest

# Run the following in a Command Prompt/Terminal
pip install --upgrade onefuse

Option 2. Installing a specific version

Optional: list available OneFuse Python package versions

# Run the following in a Command Prompt/Terminal
pip install onefuse==versions

# An output error message similar to the below is returned, listing available versions:
# ~ERROR: Could not find a version that satisfies the requirement onefuse==versions (from versions: <!! versions are listed here !!>)
# ~ERROR: No matching distribution found for onefuse==versions

Then, install with a specific version.

# Replace <version> in the command below with a specific version number (e.g. 1.4.0)
# Run the following in a Command Prompt/Terminal
pip install onefuse==<version>

# An output message similar to the below is returned, where <version> is replaced with the version number installed:
# ~Successfully installed onefuse-<version>

Upgrading the OneFuse Python Package

Upgrade to the latest OneFuse Python Package using pip.

  1. Open a Command Prompt or Terminal window

  2. Install OneFuse Python Package using the command below:

    # Run the following in a Command Prompt/Terminal
    pip install --upgrade onefuse
    

Configure OneFuse Manager

Configure the connection to OneFuse in the /module_utils/onefuse/config.py file.

  1. Open a Command Prompt/Terminal window or a SFTP Application (for example, FileZilla)

  2. Log in to Ansible Core / Tower via SSH or a SFTP Application

  3. Go to onefuse_ansible_module repository > module_utils > onefuse folder:

    • /{pathto_onefuse_ansible_module_repo_folder}/module_utils/onefuse/
  4. For first time setup:

    • Copy the config.py file to:

      • Ansible Core: /{ansible_root_folder}/lib/ansible/module_utils/onefuse/
      • Ansible Tower: /usr/share/ansible/plugins/module_utils/onefuse/
  5. Edit the contents of the config.py file in Ansible Core / Tower with the following to configure the OneFuse Manager:

    • Replace <username> with the OneFuse username that has at least the Workspace Member role.
    • Replace <password> with the password for the OneFuse user.
    • Replace <host> with the OneFuse Instance FQDN or IP Address.

    Accepted optional kwargs:

    Key Value
    protocol (Defaults to https) Specify a protocol: http or a non-standard protocol
    port (Defaults to 443) Specify the port for the OneFuse Instance
    verify_certs (Defaults to false) Specify whether or not to verify OneFuse Certificates (true or false)
    logger (Defaults to onefuse.log and to the console at the LOG_LEVEL set in configuration.globals) Pass in logger information
    source (Defaults to PYTHON) Specify the source so that this class can be called by other Upstream Providers (Ansible, CloudBolt CMP, Terraform, ServiceNow, VMware vRealize Automation, etc). All OneFuse Jobs will show this value as the “Source” of the Job
  6. Use the OneFuse Manager to make API calls to OneFuse.

Resources

Troubleshooting

Refer to Ansible’s Frequently Asked Questions and Debugging modules guide.

Next steps

Start integrating with OneFuse Modules.