2017-03-29 7 views
0

私は自分の役割の依存関係をmeta/main.ymlの中で宣言して指定しました。他の役割からの有能な銀河の役割への依存をどのように指定するのですか?

--- 
dependencies: 
    - role: angstwad.docker_ubuntu 
    src: https://github.com/angstwad/docker.ubuntu 
    scm: git 
    version: v2.3.0 

しかし、私は、私は、エラーメッセージ見ているAnsible脚本を実行しようとすると:それはされている場合でも、私は外部の役割angstwad.docker_ubuntuがインポートされていないと結論付けエラーメッセージから

ERROR! the role 'angstwad.docker_ubuntu' was not found in /home/.../ansible/roles:/etc/ansible/roles:/home/.../ansible/roles:/home/.../ansible 

The error appears to have been in '/home/.../roles/docker-node/meta/main.yml': line 5, column 5, but may be elsewhere in the file depending on the exact syntax problem. 

The offending line appears to be: 

    - role: angstwad.docker_ubuntu 
    ^here 

docker-node/meta/main.ymlに明示されている。


私は私の役割自体がAnsibleギャラクシーにアップロードされていない場合でも、Ansible銀河からの外部依存関係を指定することはできますか?

また、ansible-galaxyを使用して明示的にインポートする必要がありますか? Ansible documentationから


役割も他の役割に依存することができ、あなたが依存関係を持っている 役割をインストールするときに、それらのdependenicesは自動的に がインストールされます。

ロールのリストを指定すると、meta/main.ymlファイルでロールの依存関係を指定できます。ロールのソースがGalaxyの場合は、単に の形式でusername.role_nameのロールを指定することができます。 requirements.ymlで使用されるより複雑な フォーマットもサポートされており、 にsrc、scm、バージョン、および名前を指定することができます。

別のSOの質問(How to automatically install Ansible Galaxy roles?)からの提案に従うことで、外部依存関係を手動でダウンロードするか、回避策を使用して明示的に行う必要があるようです。 documentation you linked 1として

+1

正確なエラーメッセージは何ですか? –

+0

エラーメッセージが 'ERROR! 'で始まらないことを確かめてください。 'angstwad.docker_ubuntu'というロールは 'に見つかりませんでしたか?基本的には、自分の質問に既に答えているかのように思えます。 – techraf

+0

@techrafはい私たちが 'meta/main.yml'で指定したとしても、Anipalは外部のロールを見つけることができません。しかし、与えられた指定子に基づいてそれをダウンロードしようとすべきではありませんか?これは私には分かりません。 – luka5z

答えて

0

、あなたは以下を参照してください。

依存関係がansible-galaxyで遭遇したとき、それは自動的にroles_pathに各依存関係をインストールします。

依存関係のダウンロードは、秘密ギャラクシーによってのみ処理されます.Solarisのメタ情報は、あなたのロールディレクトリ内を見ている対応プレイブックには影響しません。 answer in question you linkedのように、実際に最初のタスクを作成するか、開始するたびに実行可能な銀河を実行するためのプレイブックブローブを含めることができます。

+0

'meta/main.yml'ファイルに' src'がどのように使われているのでしょうか?何かありますか?私はそれが非常に間違っていることがわかります。 – luka5z

関連する問題