プライベートロールのセット(プライベートgitリポジトリ内のアシスタントロール)を持つAnsibleプレイブックを実行する際に問題があります。プライベートgitロール依存関係を使用する可能性のあるプレイブック
たとえば、dep
に依存するロールbase
を使用するプレイブックがあります。どちらもプライベートgitリポジトリでホストされています。 ansible-galaxy
を実行すると、必要なすべてのロールと依存関係がフェッチされインストールされますが、後でansible-playbook
が正しい役割名を使用すると失敗します。
play.yml
- hosts: test
roles:
- role: base
requirements.yml
- name: base
src: ssh://[email protected].0.0.1/ansible/role-base.git
scm: git
role-base/meta/main.yml
galaxy-info:
author: Me
description: Test Ansible role dependencies
min_ansible_version: 1.9
platforms: Ubuntu
dependencies:
- name: dep
src: ssh://[email protected]/ansible/role-dep.git
scm: git
$ ansible-galaxy -r requirements.yml
- executing: git clone ssh://[email protected]/ansible/role-base.git base
- executing: git archive --prefix=base/ --output=/tmp/tmp4YKG7a.tar
- extracting base to ansible-roles/base
- base was installed successfully
- adding dependency: dep
- executing: git clone ssh://[email protected]/ansible/role-dep.git dep
- executing: git archive --prefix=dep/ --output=/tmp/tmpT2YiW4.tar
- extracting base to ansible-roles/dep
- dep was installed successfully
$ ansible-playbook play.yml
ERROR: expected a role name in dictionary: {'scm': 'git', 'src': 'ssh://[email protected]/ansible/role-dep.git', 'name': 'dep'}
$ ansible-galaxy -r requirements.yml
- executing: git clone ssh://[email protected]/ansible/role-base.git base
- executing: git archive --prefix=base/ --output=/tmp/tmpTcvpDu.tar
- extracting base to ansible-roles/base
- base was installed successfully
- adding dependency: dep
- executing: git clone ssh://[email protected]/ansible/role-dep.git dep
- executing: git archive --prefix=dep/ --output=/tmp/tmpd726OV.tar
- extracting base to ansible-roles/dep
- dep was installed successfully
$ ansible-playbook play.yml
ERROR: cannot find role in <pwd>/roles/git+ssh://[email protected]/ansible/role-dep.git,,dep or <pwd>/git+ssh://[email protected]/ansible/role-dep.git,,dep or <pwd>/ansible-roles/git+ssh://[email protected]/ansible/role-dep.git,,dep
から役割の依存関係を使用する方法があります...
dependencies:
- role: "git+ssh://[email protected]/ansible/role-dep.git,,dep"
ansible-galaxy
の罰金ですが、それでもansible-playbook
が失敗した:10
私は依存関係として、代替ロール名システムを使用してみましたプライベートレポジスは正しくですか?
1.9.5があります。 – udondan
1.9.5がリリースされました。リリースノート(https://groups.google.com/forum/#!topic/ansible-announce/h6KTqCd2r1c)で修正内容を確認することはできませんが – udondan