Ansible Towerの OSS 版である AWX をインストールしてみました。
インストール
$ git clone https://github.com/ansible/awx.git
$ cd awx/installer
$ ansible-playbook -i inventory install.yml
ansible 実行時、以下のエラーが発生。
TASK [local_docker : Activate AWX Web Container] ************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Error creating container: unhashable type: 'list'"}
to retry, use: --limit @/root/awx/installer/install.retry
PLAY RECAP **************************************************************************************************************************************************
localhost : ok=10 changed=3 unreachable=0 failed=1
とりあえずコンテナを停止、削除して再度試すも状況変わらず。
$ docker stop $(docker ps -q)
$ docker rm $(docker ps -aq)
解決策
Activate AWX Web Container の処理を確認。
project_data_dir、ca_trust_dir の変数が定義されていないとだめっぽい。
/root/awx/installer/inventory の project_data_dir と ca_trust_dir のコメントアウトを外して再実行すると、正常に終了した。
# AWX project data folder. If you need access to the location where AWX stores the projects
# it manages from the docker host, you can set this to turn it into a volume for the container.
#project_data_dir=/var/lib/awx/projects
# CA Trust directory. If you need to provide custom CA certificates, supplying
# this variable causes this directory on the host to be bind mounted over
# /etc/pki/ca-trust in the awx_task and awx_web containers.
# NOTE: only obeyed in local_docker install
#ca_trust_dir=/etc/pki/ca-trust