Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bundle awx to ManageIQ appliance for simplify enabling Embeded Ansible. #15975

Closed
ITD27M01 opened this issue Sep 15, 2017 · 6 comments · Fixed by #16205
Closed

Bundle awx to ManageIQ appliance for simplify enabling Embeded Ansible. #15975

ITD27M01 opened this issue Sep 15, 2017 · 6 comments · Fixed by #16205
Assignees

Comments

@ITD27M01
Copy link

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.

@chessbyte
Copy link
Member

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

@carbonin
Copy link
Member

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.

@ghost
Copy link

ghost commented Oct 4, 2017

The installation can also be made from prebuilt images:

  • docker.io/ansible/awx_web:latest
  • docker.io/ansible/awx_task:latest
  • docker.io/rabbitmq:3
  • docker.io/memcached:alpine
  • docker.io/postgres:9.6

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 ;)

@carbonin
Copy link
Member

carbonin commented Oct 4, 2017

@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.

@ghost
Copy link

ghost commented Oct 4, 2017

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

@carbonin
Copy link
Member

carbonin commented Dec 7, 2017

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants