Ansible Private Automation Hub – Creating Content – Part 1

Overview

This is going to be a multi part on using Private Automation Hub, creating, publishing and using your own content.

You will need

  • Private automation hub
  • Ansible Tower 3.8+
  • local box with Ansible installed

Setting up of Automation Hub

We need a namespace for our collection, I like to think of the namespace as either a company when this is public facing i.e Red Hat, Cisco, AWS etc etc or when being used for an internal company use the departments i.e Database, Networking and so on as the respected teams would own there own collections. For this walkthrough I will be using a namespace called ‘devops’

We will also need a group and a user assigned rights to this namespace, as of automation hub 1.2 all users and groups are local only.

1.) Creating a group

a.) Navigate to Groups and then Create

b.) Give your group a name ( Note ensure this is lowercase)

c.) If needed set additional permissions here by selecting Edit for now I am leaving this as default

2.) Creating a user

a.) Navigate to Users and then Create User

b.) Fill out the user form ( requireed fields are username and password ) and assign this use to the respected group

3.) Create a Namespace

a.) Navigate to My Namespace and then click on create

Note I am logged into my automation hub as Admin and have synced all the content from cloud.redhat.com hence you see a10, amazon etc you cannot use the same namespace names

b.) Fill out the namespace form, by giving it a name ( lowecase ) assign a group to it in my case devops group and I have giving it the upload to namespace privilege

c.) After creating this you will be in the namespace view, we want to go ahead and create an API Key for this name space and note it down

Then click on Load Token

And copy the API key and keep this safe as everytime you load the token it will overwrite the existing ones

Part 2 we will be creating our first collection and uploading it to Automation Hub

Ansible Tower Smarter inventories.

I love the idea of smart inventories, I want a large dynamic inventory and then create small subset inventories based on filters to pass onto my other groups. However; There is a huge issue with the smart inventory that it doesn’t present the group information down to them. So if my DBA team has Dev, QA and Prod environments I would need to create 3 inventories for them DB-Dev, DB-QA and DB-Prod instead of being able to just create one DB group and let them set there job template based on a limit to the environment.

Continue reading “Ansible Tower Smarter inventories.”

Set custom virtual environments and Ansible versions in Tower

Tower 3.3 introduced the ability to have multiple versions of Ansible availble, this can be really useful if we have custom python packages needed with dependencies we dont want to upgrade, or we want a specific version of Ansible being run to combat anything deprecated.

Continue reading “Set custom virtual environments and Ansible versions in Tower”

Auto Remediation with Zabbix and Ansible Tower Part 1

Objective Goals

1.) Automatically detect new systems and logically add them to a group

2.) If no Agent is found to be running, then to have Ansible Tower run a job to set it up

3.) Create a collection of playbooks that can be used for auto remediation

Continue reading “Auto Remediation with Zabbix and Ansible Tower Part 1”

Auto Patch schedule with Satellite 6.3 and Ansible Tower Part 3

From the previous 2 parts we have set up Satellite and created our Ansible Playbooks, now we want to put it all together on Tower by creating the Job Templates and Workflows to make this happen.

Continue reading “Auto Patch schedule with Satellite 6.3 and Ansible Tower Part 3”

Auto Patch schedule with Satellite 6.3 and Ansible Tower Part 2

In Part one we went over the setup of Satellite and Katello-cvmanager to perform the publish and promote in Satellite.

Now we want to create the playbooks that Ansible Tower with use in order to  patch the servers and then setup the next lifecycle environment.

You want to create these playbooks, You can skip this section and grab them from my github repo HERE but as always understand what is being done before you just run them.

Continue reading “Auto Patch schedule with Satellite 6.3 and Ansible Tower Part 2”

Auto Patch schedule with Satellite 6.3 and Ansible Tower Part 1

The Problem

When it comes to Satellite the flow to patch our life cycle environments feels like a very manual process, after our sync plan completes, I need to publish a new version and then promote this through my environments ( Dev, QA, Prod etc ) What I want is this to be fairly hands off and have it done in the background automatically for me. And so let’s go over the steps needed to achieve this. Continue reading “Auto Patch schedule with Satellite 6.3 and Ansible Tower Part 1”

CloudForms create AD DNS with Ansible

I have come up many times where people request to be able to create AD DNS A Records or CNames for Linux Servers that are not going to be joined to the domain, I will go through how we can use Ansible Tower to do this for us. This is very similar to the AD Computer object however we also need to get the IP address as an extra variable for an A Record.

Continue reading “CloudForms create AD DNS with Ansible”