前提・実現したいこと
Ansible Galaxy/GitHubで公開されているRolesをAnsible Towerで利用したいです。
以下の通り、同じRolesを取得してもAnsible Engine/TowerでそれぞれRolesの名前(ディレクトリ名)が異なってしまうことを確認しております。
Ansible Engineで使っていたPlaybookをそのままAnsible Towerで使えるよう、ディレクトリ名を同じにしたいです。
確認したこと、不明点
手元にAnsible Serverが2台あります。1台はAnsible Engineのみ動いており、もう1台ではAnsible Towerが稼働しています。
Ansible Engineの場合
以下でRolesをインストールすると
$ ansible-galaxy install hoge-roles
/root/.ansible/roles/hoge-roles にRolesが配置されました。
https://ansible.github.io/workshops/exercises/ansible_rhel/1.7-role/README.ja.html
→「Roles は定義されたディレクトリ構造に従い、最上位ディレクトリ名で区別されます。」
とあり、PlaybookでRolesを指定する際、以下のような記載になる認識です。
yaml
1 roles: 2 - hoge-roles
Ansible Towerの場合
Ansible Towerの「プロジェクト」でSCMタイプを「Git」にすることで、GitHubからRolesを取得できるかと思います。
ただし私の環境でこれをやるとRolesが以下のpathに配置されます。(Rolesに”12_”が付加されたディレクトリ名になるようです)
/var/lib/awx/projects/_12__hoge-roles
このため、Ansible Engineで使っていたPlaybookをAnsible Towerで使おうとすると
yaml
1 roles: 2 - _12__hoge-roles
に書き換えなくてはいけなくなるのではないかと考えました。
書き換えずに済むよう、Ansible Towerの「プロジェクト」でのRoles配置先ディレクトリ名に”12_”が付加されないようにする方法はないか?(「/var/lib/awx/projects/_12__hoge-roles」ではなく「/var/lib/awx/projects/hoge-roles」に配置されるようにできないか?)と思いました。
補足情報(FW/ツールのバージョンなど)
Ansible Engineのみのホスト
$ ansible --version ansible 2.9.7 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible python version = 2.7.5 (default, Apr 2 2020, 13:16:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
Ansible Tower稼働ホスト
< Tower 3.7.0 > --------------- \ ^__^ \ (oo)\_______ (__) A )/\ ||----w | || || Ansible 2.9.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/06/11 05:30
2020/06/11 05:34