2017-06-22 11 views
1

私は脚本がAnabilitiesのプレイブックにあるすべてのホストに対してparams/varsをグローバルに設定するにはどうすればよいですか?今の

- hosts: hws 
    gather_facts: no 
    vars_files: 
    - variables.yml 
    roles: 
    - role: hypervisor 

- hosts: vms 
    gather_facts: no 
    vars_files: 
    - variables.yml 
    roles: 
    - role: web-server 

のように見え、それが醜い持っています。設定方法

gather_facts: no 
    vars_files: 
    - variables.yml 

ファイル全体のすべてのホストに対して、グローバルに設定しますか?

答えて

0

可能なディレクトリレイアウトを使用して、ホストグループまたはホストに基づいて変数をグループ化できます。

ansible.cfg 
hosts 
group_vars/ 
    hws.yml #variables for hws hosts 
    vms.yml #variables for vms hosts 
    all #here you can put variables commont to both hws + vms 
roles/ 
    hypervisor 
    web-server 
playbook.yml 

このように、変数ファイルをプレイブックに含める必要はありません。

またansibleディレクトリ構造についてはこちらの詳細情報を読むことができます: http://docs.ansible.com/ansible/playbooks_best_practices.html

そして、ここでの変数の優先順位について: http://docs.ansible.com/ansible/playbooks_variables.html

幸運を!

+0

多くのお返事をいただきありがとうございます。私は共通のvarsファイルを** group_vars/all **に移動し、文字列 'gathering = explicit'を** ansible.cfg **に追加して、私が欲しいものを得ました! – HeroFromEarth

関連する問題