DEPRECATED
All new steps to install AWX ansible tower will be at:Github Link
The AWX Project (AWX) is an open source community project. In addition, it’s the OpenSource version of the Ansible Tower software sponsored by Red Hat, that enables users to better control their Ansible project use in IT environments.
In this tutorial, we will show you how to install and configure AWX without Docker on CentOS 7 / RHEL 7 using an RPM Community Edition.
System Requirements for AWX Server
- 2GB of memory
- 2 cpu cores
- 20GB of space
01/ Selinux and Firewall Settings
01- in the first place, let’s install the policycoreutils-python
and allow Nginx
to connect to network as below:
# yum -y install policycoreutils-python # setsebool -P httpd_can_network_connect 1
02- If the firewalld
is active, than when need to enable the http
traffic, execute the following command:
# firewall-cmd --permanent --add-service=http success # firewall-cmd --reload success
02/ Memcached, Ansible and necessary packages Installation
01- Now, run the following command to install the EPEL Release
repository, memchached
and Ansible
:
# yum install -y memcached ansible epel-release
02- After finishing the installation, we have to enable and start Memcached
service by running:
# systemctl enable memcached # systemctl start memcached
03/ PostgreSQL Server Installation
01- Before everything, Awx
require PostgreSQL
Database Server, follow this tutorial How To Install PostgreSQL 10 on CentOS 7 / RHEL 7.
02- Once you finish installing and initiating PostgrSQL
Server, we have to create the awx
database calledawx
and grant access to the user awx
as below:
# sudo -u postgres createuser -S awx # sudo -u postgres createdb -O awx awx
04/ RabbitMQ Installation
01- At first, create the RabbitMQ
and Erlang
Repositories as below:
# echo "[bintraybintray-rabbitmq-erlang-rpm] name=bintray-rabbitmq-erlang-rpm baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7/ gpgcheck=0 repo_gpgcheck=0 enabled=1" > /etc/yum.repos.d/rabbitmq-erlang.repo
# echo "[bintraybintray-rabbitmq-rpm] name=bintray-rabbitmq-rpm baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/ gpgcheck=0 repo_gpgcheck=0 enabled=1" > /etc/yum.repos.d/rabbitmq.repo
02- In the second place, install RabbitMQ
, after that we can proceed with enabling/starting the RabbitMQ
service by executing the following commands:
# yum install -y rabbitmq-server # systemctl enable rabbitmq-server # systemctl start rabbitmq-server
05/ Nginx Installation and Configuration as Web Server Proxy for AWX
01- Install nginx by running the following command
# yum install -y nginx
02- Configure nginx
as web proxy for awx
:
# cp -p /etc/nginx/nginx.conf{,.org} # wget -O /etc/nginx/nginx.conf https://raw.githubusercontent.com/faudeltn/AnsibleTower-awx/master/ansible-awx-install/nginx.conf
03- Enable and start nginx
:
# systemctl start nginx # systemctl enable nginx
06/ AWX Installation and initialization
01- To install awx
, run the following commands:
# wget -O /etc/yum.repos.d/awx-rpm.repo https://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/mrmeee-awx-epel-7.repo # yum install -y awx
02- Let’s import the awx
Database data:
# sudo -u awx /opt/awx/bin/awx-manage migrate Operations to perform: Apply all migrations: auth, conf, contenttypes, main, oauth2_provider, sessions, sites, social_django, sso, taggit Running migrations: Applying contenttypes.0001_initial... OK Applying taggit.0001_initial... OK Applying taggit.0002_auto_20150616_2121... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0001_initial... OK Applying main.0001_initial... OK
03– Create an awx web access user account called admin
and a setting a password:
# echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'root@localhost', 'password')" | sudo -u awx /opt/awx/bin/awx-manage shell
04- Initialize awx
by running the following commands:
# sudo -u awx /opt/awx/bin/awx-manage create_preload_data Default organization added. Demo Credential, Inventory, and Job Template added. (changed: True) # sudo -u awx /opt/awx/bin/awx-manage provision_instance --hostname=$(hostname) Successfully registered instance ylclawxas02.yallalabs.local (changed: True) 2019-04-03 11:07:22,758 DEBUG awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(eec7263e-bf52-4dad-ad4d-7d4245c47ae4, queue=awx_private_queue) # sudo -u awx /opt/awx/bin/awx-manage register_queue --queuename=tower --hostnames=$(hostname) 2019-04-03 11:07:35,496 DEBUG awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(d4a3314d-b3da-42a6-8cbe-a177f97e2e79, queue=awx_private_queue) Creating instance group tower 2019-04-03 11:07:35,542 DEBUG awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(f6be7d7d-fcbd-47dd-a1ec-10abe56420c3, queue=awx_private_queue) Added instance ylclawxas02.yallalabs.local to tower (changed: True)
04- Afterward, let’s start and enable awx
services:
# systemctl start awx-cbreceiver && systemctl enable awx-cbreceiver # systemctl start awx-dispatcher && systemctl enable awx-dispatcher # systemctl start awx-channels-worker && systemctl enable awx-channels-worker # systemctl start awx-daphne && systemctl enable awx-daphne # systemctl start awx-web && systemctl enable awx-web
07/ Accessing AWX Web Interface
– To conclude, open your browser and access the awx
web interface with your server’s IP or FQDN, the username is admin
and the password is password
.
– The awx
dashboard should look like this:
Conclusion
You have successfully installed AWX Ansible Tower on your CentOS 7 / RHEL 7 system. For more information, you can now visit the official Ansible Tower Documentation page.
See Also:
67 comments
hello!
before step 4. – Install erlang – yum install -y https://github.com/rabbitmq/erlang-rpm/releases/download/v20.1.7.1/erlang-20.1.7.1-1.el7.centos.x86_64.rpm
Hi,
we already did updated, thank you .
Since this installs AWX version 2.x (and the latest is 6.x), any chance you will be updating your instructions to reflect this by chance?
To install the latest version you can follow the steps indicated in the below link:
https://raw.githubusercontent.com/faudeltn/AnsibleTower-awx/master/ansible-awx-install/install-awx
Hope that will help you.
Hi lofti,
Thanks for the great set of instructions.
I’m attempting to set this up under a URL subpath=awx with nginx. Our host is shared with other web applications behind the nginx reverse proxy.
I want to use https://hostname/awx/
I have tried a number of configurations but can’t get this to work. Is this something you can assist with?
Kind Regards,
Mark
Thanks Lotfi all the steps worked fine howvere while accessing http://localhost or http:// it open nginx home page but it dosent open awx default home page is there any configuration steps missing from my end which will show the home page of awx
Hi Mitul,
Did your run those steps?
# cp -p /etc/nginx/nginx.conf{,.org}
# wget -O /etc/nginx/nginx.conf https://raw.githubusercontent.com/sunilsankar/awx-build/master/nginx.conf
Try to check the nginx.conf file, restart the nginx serviceif it’s necessary and make sure that awx services are running
systemctl status awx-cbreceiver
systemctl status awx-dispatcher
systemctl status awx-channels-worker
systemctl status awx-daphne
systemctl status awx-web
When hit localhost in the browser, I got 502.
This is what I found in nginx error log:
2019/07/19 22:42:18 [crit] 8701#0: *13 connect() to 127.0.0.1:8050 failed (13: Permission denied) while connecting to upstream, client: 192.168.113.2, server: _, request: “GET / HTTP/1.1”, upstream: “uwsgi://127.0.0.1:8050”, host: “localhost:1180”
Hi,
Could you please check the status of your Awx Ansible Tower using the following commands :
systemctl status awx-cbreceiver
systemctl status awx-dispatcher
systemctl status awx-channels-worker
systemctl status awx-daphne
systemctl status awx-web
Hi,
with this command “sudo -u awx /opt/awx/bin/awx-manage migrate” i got following error:
django.db.utils.OperationalError: FATAL: role “awx” does not exist
Thank you! 🙂
Oh found it, i forgot to create the user and database in the postgres. 🙂 Sorry!
Hi,
It is okay, don’t worry. Good luck
hi, i tried to put
sudo yum install -y awx
but it said there was no match for awx.
I used this to get the latest awx version:
https://copr.fedorainfracloud.org/coprs/mrmeee/ansible-awx/repo/epel-7/mrmeee-ansible-awx-epel-7.repo
Hi Maryam,
To install the latest version you can follow the steps indicated in the below link:
https://raw.githubusercontent.com/faudeltn/AnsibleTower-awx/master/ansible-awx-install/install-awx
Tell us if it’s works fine for you, good Luck.
Hi, I cant seem to install the repos
No package centos-release-scl available.
No package centos-release-scl-rh available.
Hi,
First install epel-release
yum -y install epel-release
After that proceed with installing the others repos
yum -y install centos-release-scl centos-release-scl-rh wget
yep, thats what i did. managed to install epel-release and wget but not the other two.
And doesn’t work?, is your os is Centos? What version?
I lotfi i have the same problem like myriam my os is centos but the version 8. Can U help me please?
Hi Laure,
Installing Ansible AWX is still not stable on Centos 8 without docker. We advise you to go with the following tutorial to learn how to install AWX using docker on Centos 8 How to Install Ansible AWX on CentOS 8
Hi Lotfi,
thanks for your response.
i have installed awx with docker in another virtual machine and it’s work fine.
now i wan’t to try to install awx without docker but he don’t work . i find some rpm but i don’t get it on the internet.
You are welcome, it needs a lot of package dependencies, so better implementing AWX as container in this case.
Hi ,
https://raw.githubusercontent.com/faudeltn/AnsibleTower-awx/master/ansible-awx-install/install-awx
Followed above link to install AWX on CentOS Linux release 7.6.1810 (Core) – but hanging the installation … see the below observation
Please tell me clean solid shell script which does AWX install without docker stuff on CentOS 7.x or Ubuntu 18.04 LTS- Thanks.
Applying social_django.0004_auto_20160423_0400… OK
Applying social_django.0005_auto_20160727_2333… OK
Applying social_django.0006_partial… OK
Applying social_django.0007_code_timestamp… OK
Applying social_django.0008_partial_timestamp… OK
Applying sso.0001_initial… OK
Applying sso.0002_expand_provider_options… OK
Default organization added.
Demo Credential, Inventory, and Job Template added.
(changed: True)
2019-07-29 07:15:38,181 DEBUG awx.main.dispatch publish awx.main.tasks.apply_cluster_membership_policies(647180e5-fee2-491a-8f02-e13c80c81a76, queue=awx_private_queue)
Hi, we didn’t understand what do you mean.? Does the installation failed with the steps indicated?
Hi ,
I need to install AWX wtihout docker stuff. And I need a source code of the same for making custom AWX tool according to our business requirement. Where can i find, please guide me. Thanks.
Hello,
In step 06/02 : Let’s import the awx Database data:
i have the following error when i launch sudo -u awx /opt/awx/bin/awx-manage migrate :
Traceback (most recent call last):
File “/opt/awx/bin/awx-manage”, line 11, in
sys.exit(manage())
File “/opt/awx/embedded/lib/python2.7/site-packages/awx/__init__.py”, line 134, in manage
prepare_env()
File “/opt/awx/embedded/lib/python2.7/site-packages/awx/__init__.py”, line 89, in prepare_env
if not settings.DEBUG: # pragma: no cover
File “/opt/awx/embedded/lib64/python2.7/site-packages/django/conf/__init__.py”, line 56, in __getattr__
self._setup(name)
File “/opt/awx/embedded/lib64/python2.7/site-packages/django/conf/__init__.py”, line 41, in _setup
self._wrapped = Settings(settings_module)
File “/opt/awx/embedded/lib64/python2.7/site-packages/django/conf/__init__.py”, line 110, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File “/usr/lib64/python2.7/importlib/__init__.py”, line 37, in import_module
__import__(name)
File “/opt/awx/embedded/lib/python2.7/site-packages/awx/settings/production.py”, line 17, in
from defaults import * # NOQA
File “/opt/awx/embedded/lib/python2.7/site-packages/awx/settings/defaults.py”, line 367, in
ldap.OPT_REFERRALS: 0,
AttributeError: ‘module’ object has no attribute ‘OPT_REFERRALS’
Can someone help on this issue please ?
Info: Server in Enterprise context with no internet connexion
Thank you,
Xavier.
Hi,
I guess it’s trying to connect to the internet to download the dependencies before creating the virtual enviroment.
I am getting this error
sudo -u awx scl enable rh-python36 rh-postgresql10 “awx-manage migrate”
Traceback (most recent call last):
File “/opt/rh/rh-python36/root/usr/bin/awx-manage”, line 11, in
load_entry_point(‘awx==6.1.0’, ‘console_scripts’, ‘awx-manage’)()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/__init__.py”, line 126, in manage
prepare_env()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/__init__.py”, line 91, in prepare_env
if not settings.DEBUG: # pragma: no cover
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/conf/__init__.py”, line 79, in __getattr__
self._setup(name)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/conf/__init__.py”, line 66, in _setup
self._wrapped = Settings(settings_module)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/conf/__init__.py”, line 157, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File “/opt/rh/rh-python36/root/usr/lib64/python3.6/importlib/__init__.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 994, in _gcd_import
File “”, line 971, in _find_and_load
File “”, line 955, in _find_and_load_unlocked
File “”, line 665, in _load_unlocked
File “”, line 678, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/settings/production.py”, line 14, in
from split_settings.tools import optional, include
ModuleNotFoundError: No module named ‘split_settings’
Hi,
Make sure to enable the centos-release-scl and centos-release-scl-rh repositories and install the rh-python36
run “yum search rh-python36 | grep split” and it will show you the mofdule you need to load.
Use “yum install rh-python36-django-split-settings” (it will be something like that.
I had to do this about ten times with different modules as the errors popped up.
It went past in the end.
the same eroor for me !!!
Hi,
Make sure to install all dependencies, when you run this command :
rpm -aq | grep rh-python36 | grep split what you got ?
I’m getting same error. Ran the above and it was not able to find split:
[root@bnalmawx bin]# rpm -aq | grep rh-python36 | grep split
[root@bnalmawx bin]#
Also – awx path does not match your doc:
/opt/rh/rh-pythong36/root/usr/bin/awx-manage
Getting conflicts when trying to run the following:
[root@centos7 ~]# yum -y install –disablerepo=’*’ –enablerepo=’mrmeee-ansible-awx, base’ -x *-debuginfo rh-python36*
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.grid.uchicago.edu
No package rh-python36* available.
Error: Nothing to do
[root@centos7 ~]# yum -y install –disablerepo=* –enablerepo=’mrmeee-ansible-awx, base’ -x *-debuginfo rh-python36*
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.grid.uchicago.edu
No package rh-python36* available.
Error: Nothing to do
[root@centos7 ~]#
I tried adding sudo yum -y install centos-release-scl centos-release-scl-rh. And rerunning the yum python-rh command and still got conflicts.
Transaction check error:
file /opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/psycopg2/__pycache__/__init__.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-psycopg2-2.7.3.2-1.x86_64 and rh-python36-python-psycopg2-2.7.3-1.el7.x86_64
hi,
Based on your OS, install the following repositories:
– CentOS x86_64
yum -y install centos-release-scl centos-release-scl-rh # Software Collections
– CentOS ppc64le
yum -y install centos-release-scl centos-release-scl-rh # Software Collections
wget -O /etc/yum.repos.d/mrmeee-rh-postgresql10-epel-7.repo https://copr.fedorainfracloud.org/coprs/mrmeee/rh-postgresql10/repo/epel-7/mrmeee-rh-postgresql10-epel-7.repo
Hello i got this error when i execute: sudo -u awx /opt/awx/bin/awx-manage migrate
sudo: /opt/awx/bin/awx-manage: command not found
Hi follow those instruction to install Ansible Awx:
https://raw.githubusercontent.com/faudeltn/AnsibleTower-awx/master/ansible-awx-install/install-awx
How to change the icon at Top-Left logo? Because if possible want to change it to my company icon.
I get the no module “split settings”. This is a great idea, but I went thru these and the new instructions and both were a fail.
It would be nice if you put a note at the top of this that redirects people to the git instructions ( even though that didn’t work either ).
Hi, the installation works, thanks! but i have a dude about send notification by slack with AWX, because i cant execute with the examples of Ansible Tower. Can you help me ples? Regards.
You can follow the other tutorials of this series to execute some examples and after that you can create a notifications using slack
When I try to install it yum -y install –disablerepo=’*’ –enablerepo=’mrmeee-ansible-awx, base’ -x *-debuginfo rh-python36*
It result alot of package conflict
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/metadata.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/paths.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/paths.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/pep425tags.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/pep425tags.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/pkginfo.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/pkginfo.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/util.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/util.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/wininst2wheel.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/__pycache__/wininst2wheel.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/archive.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/bdist_wheel.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/egg2wheel.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/install.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/metadata.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/paths.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/pep425tags.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/pkginfo.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__init__.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__pycache__/__init__.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__pycache__/__init__.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__pycache__/djbec.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__pycache__/djbec.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__pycache__/ed25519py.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__pycache__/ed25519py.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__pycache__/keys.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/__pycache__/keys.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/djbec.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/ed25519py.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/signatures/keys.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/tool/__init__.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/tool/__pycache__/__init__.cpython-36.opt-1.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/tool/__pycache__/__init__.cpython-36.pyc conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/util.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
file /opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/wheel/wininst2wheel.py conflicts between attempted installs of rh-python36-python-wheel-0.30.0a0-1.el7.noarch and rh-python36-wheel-0.30.0-1.noarch
Error Summary
————-
What is your distro version and Arch?
Try to check if the package is installed or not by running this command
rpm -qa | grep rh-pyt | sort
if not installed yet, use the following command to install manually
yum install rh-python36-python-wheel-0.30.0a0-1.*
and try againCentOS 7.1 x64
did
yum remove rh-python36-wheel-0.30.0-1.noarch
yum install rh-python36-python-wheel-0.30.0a0-1.*
now after
yum install -y ansible-awx
i got
file /opt/rh/rh-python36/root/usr/bin/wheel from install of rh-python36-wheel-0.30.0-1.noarch conflicts with file from package rh-python36-python-wheel-0.30.0a0-1.el7.noarch
and etc for other files
hi,
we already updated the steps, try again those steps :
# AWX Repository:
echo "[mrmeee-ansible-awx]
name=Copr repo for ansible-awx owned by mrmeee
baseurl=https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/epel-7-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1" > /etc/yum.repos.d/ansible-awx.repo
And
05- Install Python and dependcies:
yum -y install rh-python36
yum -y install --disablerepo='*' --enablerepo='mrmeee-ansible-awx, base' -x *-debuginfo rh-python36*
[root@awx-sys static]# sudo -u awx scl enable rh-python36 rh-postgresql10 “awx-manage migrate”
Traceback (most recent call last):
File “/opt/rh/rh-python36/root/usr/bin/awx-manage”, line 11, in
load_entry_point(‘awx==7.0.0’, ‘console_scripts’, ‘awx-manage’)()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/__init__.py”, line 126, in manage
prepare_env()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/__init__.py”, line 91, in prepare_env
if not settings.DEBUG: # pragma: no cover
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/conf/__init__.py”, line 79, in __getattr__
self._setup(name)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/conf/__init__.py”, line 66, in _setup
self._wrapped = Settings(settings_module)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/conf/__init__.py”, line 157, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File “/opt/rh/rh-python36/root/usr/lib64/python3.6/importlib/__init__.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 994, in _gcd_import
File “”, line 971, in _find_and_load
File “”, line 955, in _find_and_load_unlocked
File “”, line 665, in _load_unlocked
File “”, line 678, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/settings/production.py”, line 14, in
from split_settings.tools import optional, include
ModuleNotFoundError: No module named ‘split_settings’
i am getting these with all of these commands
07- Initialize AWX:
sudo -u awx scl enable rh-python36 rh-postgresql10 “awx-manage migrate”
echo “from django.contrib.auth.models import User; User.objects.create_superuser(‘admin’, ‘root@localhost’, ‘password’)” | sudo -u awx scl enable rh-python36 rh-postgresql10 “awx-manage shell”
sudo -u awx scl enable rh-python36 rh-postgresql10 “awx-manage create_preload_data” # Optional Sample Configuration
sudo -u awx scl enable rh-python36 rh-postgresql10 “awx-manage provision_instance –hostname=$(hostname)”
sudo -u awx scl enable rh-python36 rh-postgresql10 “awx-manage register_queue –queuename=tower –hostnames=$(hostname)”
Hi,
try to install the django-split package and try again
yum install rh-python36-django-split-settings-0.3.0-1.noarch
Tryed everything above, still got
sudo -u awx scl enable rh-python36 rh-postgresql10 “awx-manage migrate”
Traceback (most recent call last):
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/git/__init__.py”, line 83, in
refresh()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/git/__init__.py”, line 73, in refresh
if not Git.refresh(path=path):
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/git/cmd.py”, line 290, in refresh
raise ImportError(err)
ImportError: Bad git executable.
The git executable must be specified in one of the following ways:
– be included in your $PATH
– be set via $GIT_PYTHON_GIT_EXECUTABLE
– explicitly set via git.refresh()
All git commands will error until this is rectified.
This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:
– quiet|q|silence|s|none|n|0: for no warning or exception
– warn|w|warning|1: for a printed warning
– error|e|raise|r|2: for a raised exception
Example:
export GIT_PYTHON_REFRESH=quiet
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/opt/rh/rh-python36/root/usr/bin/awx-manage”, line 11, in
load_entry_point(‘awx==7.0.0’, ‘console_scripts’, ‘awx-manage’)()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/__init__.py”, line 142, in manage
execute_from_command_line(sys.argv)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/core/management/__init__.py”, line 381, in execute_from_command_line
utility.execute()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/core/management/__init__.py”, line 357, in execute
django.setup()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/__init__.py”, line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/apps/registry.py”, line 114, in populate
app_config.import_models()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/apps/config.py”, line 211, in import_models
self.models_module = import_module(models_module_name)
File “/opt/rh/rh-python36/root/usr/lib64/python3.6/importlib/__init__.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 994, in _gcd_import
File “”, line 971, in _find_and_load
File “”, line 955, in _find_and_load_unlocked
File “”, line 665, in _load_unlocked
File “”, line 678, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/conf/models.py”, line 11, in
from awx.main.models.base import CreatedModifiedModel, prevent_search
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/main/models/__init__.py”, line 180, in
activity_stream_registrar.connect(Organization)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/main/registrar.py”, line 14, in connect
from awx.main.signals import activity_stream_create, activity_stream_update, activity_stream_delete, activity_stream_associate
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/main/signals.py”, line 43, in
from awx.main.tasks import update_inventory_computed_fields
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/main/tasks.py”, line 47, in
import git
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/git/__init__.py”, line 85, in
raise ImportError(‘Failed to initialize: {0}’.format(exc))
ImportError: Failed to initialize: Bad git executable.
The git executable must be specified in one of the following ways:
– be included in your $PATH
– be set via $GIT_PYTHON_GIT_EXECUTABLE
– explicitly set via git.refresh()
All git commands will error until this is rectified.
This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:
– quiet|q|silence|s|none|n|0: for no warning or exception
– warn|w|warning|1: for a printed warning
– error|e|raise|r|2: for a raised exception
Example:
export GIT_PYTHON_REFRESH=quiet
Hi,
procceed with those commands after installing rh-git29 :
sudo -u awx scl enable rh-python36 rh-postgresql10 rh-git29 "GIT_PYTHON_REFRESH=quiet awx-manage migrate"
echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'root@localhost', 'password')" | sudo -u awx scl enable rh-python36 rh-postgresql10 "GIT_PYTHON_REFRESH=quiet awx-manage shell"
sudo -u awx scl enable rh-python36 rh-postgresql10 rh-git29 "GIT_PYTHON_REFRESH=quiet awx-manage create_preload_data" # Optional Sample Configuration
sudo -u awx scl enable rh-python36 rh-postgresql10 rh-git29 "GIT_PYTHON_REFRESH=quiet awx-manage provision_instance --hostname=$(hostname)"
sudo -u awx scl enable rh-python36 rh-postgresql10 rh-git29 "GIT_PYTHON_REFRESH=quiet awx-manage register_queue --queuename=tower --hostnames=$(hostname)"
Hi, I tried to install again AWX in other host and have the problem in this step:
wget -O /etc/yum.repos.d/awx-rpm.repo https://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/mrmeee-awx-epel-7.repo
–2019-09-25 12:27:04– https://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/mrmeee-awx-epel-7.repo
Resolving copr.fedorainfracloud.org (copr.fedorainfracloud.org)… 209.132.184.54
Connecting to copr.fedorainfracloud.org (copr.fedorainfracloud.org)|209.132.184.54|:443… connected.
HTTP request sent, awaiting response… 404 NOT FOUND
2019-09-25 12:27:06 ERROR 404: NOT FOUND.
Do yo know a rpm avalaible or other rpm to install? Regards.
Hi,
All the steps to install awx are in this link https://raw.githubusercontent.com/faudeltn/AnsibleTower-awx/master/ansible-awx-install/install-awx
I tried for this link and in the step 05 have to similar problem:
yum -y install –disablerepo=’*’ –enablerepo=’mrmeee-ansible-awx, base’ -x *-debuginfo rh-python36*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.orbyta.com
https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/epel-7-/repodata/repomd.xml: [Errno 14] HTTPS Error 404 – Not Found
Trying other mirror.
To address this issue please refer to the below wiki article
https://wiki.centos.org/yum-errors
If above article doesn’t help to resolve this issue please use https://bugs.centos.org/.
Nothing to do
What’s the version of your operating system? What Architecture? x86_64 or ppc64le?
Centos 7.6 64 bits, regards
Hi,
Try to change in the repository ansible-awx.repo the baseurl from https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/epel-7-$basearch/ to https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/epel-7-x86_64
Run yum update command and after that proceed with in the installation
I’m having an issue were awx-daphne and awx.service just keep restarting.
I’m not seeing any errors in the systemctl logs.
Thank you for your instructions. Everything is working for me. I needed to change one line.
The mrmeee-ansible-awx repo,, I needed to change the line from
baseurl=https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/epel-7-$basearch/
to
baseurl=https://copr-be.cloud.fedoraproject.org/results/mrmeee/ansible-awx/epel-7-x86_64/
Can I install ansible on the same host as the awx server?
The ansible engine should be installed when you install awx
Hello
Unable to download ansible-awx
Thanks
Santosh G.
After running an yum update on CentOS7 awx got updated too and now the web gui says “AWX is upgrading” for ages. Anything stuck? How to solve this?
Is CentOS 8 supported ? or does something change?
Your instructions worked great, thanks. My problem is with the “awx” user/group. I’m launching ssh clone commands via project from the tower to a local git server, but since I can’t add the local machine’s awx publickey, I get Permission denied. I want to use an existing Unix service account – for which I can add the publickey – to launch the ssh clones instead of awx. I’m not sure if this is a problem resolvable by the configuration of project’s git clone, or the installation of awx/tower as the Unix service account. I’ve tried creating postgresql username/db associated with the service account, but /var/log/tower is already owned by awx:awx. I’m sure I’m missing something obvious. Any help, thanks.
I’m unable to launch awx web interface, i have installed all the pre-requisite packages. The Nginx service and awx services are running state. When i given server ip, it launches the default apache page.
Note: I’m using the Centos 7 server.
hi,
i installed and setup is running fine. while setting up inventories, i am unable to fetch AWS ec2 instance list with ec2.py file based on IAM role.
ec2.py –list is working fine manually on server but not from AWX console.
error getting….
3.752 INFO Using PYTHONPATH: /opt/rh/rh-python36/root/lib/python3.6/site-packages:
Traceback (most recent call last):
File “/var/lib/awx/venv/awx/bin/awx-manage”, line 11, in
load_entry_point(‘awx==9.1.1’, ‘console_scripts’, ‘awx-manage’)()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/__init__.py”, line 152, in manage
execute_from_command_line(sys.argv)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/core/management/__init__.py”, line 381, in execute_from_command_line
utility.execute()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/core/management/__init__.py”, line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/core/management/base.py”, line 323, in run_from_argv
self.execute(*args, **cmd_options)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/core/management/base.py”, line 364, in execute
output = self.handle(*args, **options)
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/main/management/commands/inventory_import.py”, line 1157, in handle
raise exc
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/main/management/commands/inventory_import.py”, line 1047, in handle
venv_path=venv_path, verbosity=self.verbosity).load()
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/main/management/commands/inventory_import.py”, line 215, in load
return self.command_to_json(base_args + [‘–list’])
File “/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/awx/main/management/commands/inventory_import.py”, line 198, in command_to_json
self.method, proc.returncode, stdout, stderr))
RuntimeError: ansible-inventory failed (rc=1) with stdout:
stderr:
ansible-inventory 2.9.4
config file = /etc/ansible/ansible.cfg
Do I need to do any configurations in /etc/tower/settings.py file
DATABASES = {
‘default’: {
‘ATOMIC_REQUESTS’: True,
‘ENGINE’: ‘django.db.backends.postgresql’,
‘NAME’: ‘awx’,
# ‘USER’: os.getenv(“DATABASE_USER”, None),
# ‘PASSWORD’: os.getenv(“DATABASE_PASSWORD”, None),
# ‘HOST’: os.getenv(“DATABASE_HOST”, None),
# ‘PORT’: os.getenv(“DATABASE_PORT”, None),
}
}
Hello, after all of steps there is not awx-manage file in /opt//awx/bin/
Why? Whats wrong?