次のように編成されたプレイブックがあります(この質問のために簡略化されています):
├── deploy.yml
├── hosts
├── requirements.yml
├── roles
│ └── web
│ ├── meta
│ │ └── main.yml
│ └── tasks
│ └── main.yml
└── site.retry
私の簡略化deploy.yml
は次のとおりです。
---
- name: Everything I need
hosts: somewhere
roles:
- web
そして、私の簡略化roles/web/tasks/main.yml
は
---
- name: Various things that work
become: yes
[whatever]
- name: the thing that I have a problem with
become: yes
davidedelvento.nbextension: name=foo state=present
これは次の場合に失敗します。
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.
だから私はに変更しようとしroles/web/tasks/main.yml
ました
---
- name: Various things that work
become: yes
[whatever]
- name: the thing that I have a problem with
become: yes
roles:
- { role: davidedelvento.nbextension, name: foo, state: present}
同じように失敗します。私は失敗を理解しています(代わりに私がやっているタスクからロールを呼び出すことができないため、エラーはより明確になる可能性があります....)
ただし、私が望むこと、つまりその時点で nbextension が行っていることをどのように達成できるかは明確ではありません。そのロールを から に移動できroles/web/tasks/main.yml
ますroles/web/meta/main.yml
が、それは機能しますが、 の前にVarious things that work
実行され、後で実行する必要があります。それを達成する方法は?
nbextensionと書きましたが、同じ問題が銀河系の他の同様の役割でも発生することに注意してください。
編集:拡張機能が正しくインストールされており、次のようなスタンドアロンの単一ファイルのプレイブックから使用できることにも注意してください。
---
- name: Example
hosts: all
become: yes
roles:
- { role: davidedelvento.nbextension, name: foo, state: present}
ただし、「Web」ロールについて上記で説明したより大きなプロジェクトに「統合」する必要があります(表示していないロールが他にもあります)
EDIT2:この質問に使用されているgalaxy ansibleロールの名前がjupyterextensionに変更されていることに注意してください。ただし、問題(および解決策)はどのロールでも同じです