質問編集履歴

2 タイトル変更

kamakiriad

kamakiriad score 23

2016/12/13 14:39  投稿

Playbookのトップレベルのアトリビュートをrole内で定義する方法について
AnsibleのPlaybookのトップレベルのアトリビュートをrole内で定義する方法について
下記のようなAnsibleのPlaybookをもとにroleを作ろうとしています。
```ここに言語を入力
---
- hosts: hostA
become_user: userA
vars_prompt:
(Ansibleのバージョンは2.2を想定しています)
```
この場合、become_userやvars_promptはroleを構成するファイル群のなかのどこに記載すればいいのでしょうか?
まずbecome_userは個人的にはroleのtasks/main.ymlにタスクごとに
```ここに言語を入力
---
- name: taskA
module1: arg1
become_user: userA
- name: taskB
module2: arg2
become_user: userA
```
と記載するか、記載せずにansible-playbook --become-user userAで意図する動作を得ることはできました。
ただ、become_user: userAをrole内に1箇所だけ記載して
role全体の処理を実行していく方法があれば知りたいと思っています。
vars_promptについては色々触って見た結果、現時点ではroleの中では定義できず、
roleを呼び出す側のPlaybook(site.ymlなど)で定義しないといけないかと思っています。
ただ、特定のrole内だけで使いたいのでroleで定義する方法があれば知りたいと思っています。
どうぞ宜しくお願い致します。
  • Ansible

    219 questions

    Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

1 ごみの文字削除

kamakiriad

kamakiriad score 23

2016/12/13 14:38  投稿

Playbookのトップレベルのアトリビュートをrole内で定義する方法について
###前提・実現したいこと  
下記のようなAnsibleのPlaybookをもとにroleを作ろうとしています。
```ここに言語を入力
---
- hosts: hostA
 become_user: userA
 vars_prompt:
(Ansibleのバージョンは2.2を想定しています)
```
この場合、become_userやvars_promptはroleを構成するファイル群のなかのどこに記載すればいいのでしょうか?
まずbecome_userは個人的にはroleのtasks/main.ymlにタスクごとに
```ここに言語を入力
---
- name: taskA
 module1: arg1
 become_user: userA
- name: taskB
 module2: arg2
 become_user: userA
```
と記載するか、記載せずにansible-playbook --become-user userAで意図する動作を得ることはできました。
ただ、become_user: userAをrole内に1箇所だけ記載して
role全体の処理を実行していく方法があれば知りたいと思っています。
vars_promptについては色々触って見た結果、現時点ではroleの中では定義できず、
roleを呼び出す側のPlaybook(site.ymlなど)で定義しないといけないかと思っています。
ただ、特定のrole内だけで使いたいのでroleで定義する方法があれば知りたいと思っています。
どうぞ宜しくお願い致します。
  • Ansible

    219 questions

    Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る