文檔:http://docs.ansible.com/ansible-tower/
安裝前檢查
- python版本為2.6
- 保持網絡暢通
- 內存預留充足
- 安裝用戶為root
軟件下載
下載地址:http://releases.ansible.com/ansible-tower/setup/
含有包文件的版本:http://releases.ansible.com/ansible-tower/setup-bundle/
wget http://releases.ansible.com/ansible-tower/setup-bundle/ansible-tower-setup-bundle-latest.el6.tar.gz tar zxf ansible-tower-setup-bundle-latest.el6.tar.gz cd ansible-tower-setup-bundle-3.0.3-1.el6/
部署
設置主機信息
sed -i "s#password=''#password='admin'#g" inventory sed -i "s#host=''#host='127.0.0.1'#g" inventory sed -i "s#port=''#port='5432'#g" inventory
修改yum源
sed -i 's#dl.fedoraproject.org/pub#mirrors.ustc.edu.cn#g' roles/packages_el/defaults/main.yml sed -i 's/#baseurl=/baseurl=/g' roles/packages_el/files/epel-6.repo sed -i 's/mirrorlist=/#mirrorlist=/g' roles/packages_el/files/epel-6.repo sed -i 's#download.fedoraproject.org/pub#mirrors.ustc.edu.cn#g' roles/packages_el/files/epel-6.repo yum -y install centos-release-scl-rh centos-release-scl sed -i 's#mirror.centos.org#centos.ustc.edu.cn#g' /etc/yum.repos.d/CentOS-SCLo-scl.repo sed -i 's#mirror.centos.org#centos.ustc.edu.cn#g' /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo yum -y install supervisor `
安裝ansible
./setup.sh
在TASK [awx_install : Migrate the Tower database schema (may take awhile when upgrading).] ***
這一步會出現錯誤,提示信息是數據庫連接不上
啟動postgresql
service postgresql-9.4 initdb service postgresql-9.4 start
創建用戶
su - postgres
psql
CREATE ROLE awx CREATEDB PASSWORD 'admin' LOGIN; \q sed -i 's#peer#md5#g' /var/lib/pgsql/9.4/data/pg_hba.conf sed -i 's#ident#md5#g' /var/lib/pgsql/9.4/data/pg_hba.conf service postgresql-9.4 restart
測試awx用戶連接,輸入密碼連接,並創建數據庫
psql -U awx -d postgres -h 127.0.0.1 create database awx; \q
再次./setup.sh
進行安裝tower
Web配置
訪問web頁面
https://192.168.77.128/#/

用戶名/密碼為admin admin
導入license
沒有的話,點擊REQUEST LICENSE,去官方申請免費試用。

提交license后,就進入了DASHBOARD頁面啦

Tower無限hosts的License修改
僅供實驗測試使用,切勿挪作他用。
下載反編譯工具: http://sourceforge.net/projects/easypythondecompiler/
反編譯task_engine.pyc文件
find / -name task_engine.pyc
/var/lib/awx/venv/tower/lib/python2.7/site-packages/awx/main/task_engine.pyc

反編譯后的文件為task_engine.pyc_dis,文件重命名為task_engine.py
修改內容
89
行和186
行代碼
available_instances = int(self.attributes['instance_count']) 為available_instances = 10000


247
行代碼,把相應的功能由False
改為True(這步未實施)

刪除task_engine.pyc task_engine.pyo 重啟tower
rm -f /var/lib/awx/venv/tower/lib/python2.7/site-packages/awx/main/task_engine.py* ansible-tower-service restart
查看license信息

安裝時遇到的錯誤
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "This machine does not have sufficient RAM to run Ansible Tower."}
解決:機器內存不足,增加內存
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "no service or tool found for: supervisord"}
解決:yum -y install supervisor
出現Is the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?
是postgresql服務沒啟動
service postgresql-9.4 initdb service postgresql-9.4 start # 創建用戶 su - postgres psql CREATE ROLE awx CREATEDB PASSWORD 'admin' LOGIN; \q exit sed -i 's#peer#md5#g' /var/lib/pgsql/9.4/data/pg_hba.conf sed -i 's#ident#md5#g' /var/lib/pgsql/9.4/data/pg_hba.conf service postgresql-9.4 restart # 測試awx用戶連接,輸入密碼連接,並創建數據庫 psql -U awx -d postgres -h 127.0.0.1 create database awx; \q
參考
centos6.5安裝自動化工具ansible和圖形化工具tower - xiaoxiaozhou - 51CTO技術博客
http://xiaoxiaozhou.blog.51cto.com/4681537/1888754
ansible&Tower無限hosts的License修改方法 - Tower應用 - 51CTO技術博客