Manageiq: Bundle awx to ManageIQ appliance for simplify enabling Embeded Ansible.

Created on 15 Sep 2017  路  6Comments  路  Source: ManageIQ/manageiq

Hi Guys.

Last week we had access to the source code of awx project on which the Ansible Tower is based.

https://github.com/ansible/awx

This allows you to provide the appropriate appliance worker out of the box without having to perform complicated operations for installation. Please consider this possibility and plan appropriate work.

Most helpful comment

@ITD27M01 our plan is to incorporate AWX into the Gaprindashvili release

All 6 comments

@ITD27M01 our plan is to incorporate AWX into the Gaprindashvili release

I would like to do this, but as it stands awx is only runnable as a group of docker containers or on OpenShift.

We could investigate running the docker containers on the appliance, but that would be a pretty significant break with how we handle running embedded ansible tower currently.

Additionally, the container images don't seem to be distributed in any standard way. The awx install guide specifies that the install process includes building as well as deploying the images, I know this (building docker images at runtime) is not really a thing we would want to do on the appliance.

Also, even if we had access to pre-built images, I think that we would want the image locally at appliance build time rather than having to have the appliance access dockerhub to pull the image at runtime.

This will need some thought to get around the technical challenges.

The installation can also be made from prebuilt images:

Of course, the tags can be set more precisely for packaging purpose.

Here is the inventory I have used to deploy it with prebuilt images:

localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python"

[all:vars]
dockerhub_base=ansible
dockerhub_version=latest

awx_secret_key=awxsecret

host_port=80

pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
postgres_data_dir=/opt/awx-data

If you want to use the ManageIQ database, you can simply set the pg_hostname variable. I have personnally chosen to use a PostgreSQL container with a local directory for persistence (postgres_data_dir).

IMHO, this goes along the objective of delivering ManageIQ in the form of containers running on top of Kubernetes. AWX would simply be an extra container ;)

@fdupont-redhat I've started looking at what it would take to run the docker containers on the appliance and think I have a way forward.

I'll update this issue with the related patches as I move forward.

So far I have some pretty significant changes to the EmbeddedAnsible class so I'll have to try to serialize these changes in some way that makes sense.

Hoping to make progress on this by the end of this week.

Do you also plan to rebase calls on api/v2 ?

http://talk.manageiq.org/t/embedded-ansible-using-awx/3057 Gives some more detail around how we resolved this issue.

Was this page helpful?
0 / 5 - 0 ratings