2014-06-17 58 views
1
1 - name: Test 
2 - hosts: webserv 
3 connection: local 
4 gather_facts: False 
5 
6 tasks: 
7 - name: Provision web instances 
8  local_action: 
9   module: rax 
10   credentials: "{{ rax_cred | mandatory }}" 
11   name: "{{ rax_name | default(w0) }}" 
12   flavor: "{{ rax_flavor | default(6) }}" 
13   image: debian-7-wheezy-pvhvm 
14   files: 
15   /root/.ssh/authorized_keys: "{{ rax_ssh_keys | mandatory }}" 
16   count: "{{ rax_count | default(1) }}" 
17   group: "{{ rax_group }}" 
18   region: DFW 
19   wait: yes 
20   state: present 
21  register: rax 

我有這個劇本,但由於該組的新服務器的名稱得到一個數字計數器附加到它。我希望能夠將它用於單個服務器實例以及多個服務器實例。有沒有辦法像我這樣做:Ansible:在一個計數上有條件地加載一個組變量

如果count超過1,那麼設置組變量。

謝謝!

回答

1

如果我理解正確的話,你想擁有group值僅設置爲在rax_count大於1。你要做的這兩部劇

- name: Provision web instances 
    local_action: 
     module: rax 
     credentials: "{{ rax_cred | mandatory }}" 
     name: "{{ rax_name | default(w0) }}" 
     flavor: "{{ rax_flavor | default(6) }}" 
     image: debian-7-wheezy-pvhvm 
     files: 
      /root/.ssh/authorized_keys: "{{ rax_ssh_keys | mandatory }}" 
     count: "{{ rax_count | default(1) }}" 
     group: "{{ rax_group if rax_count > 1 else None }}" 
     region: DFW 
     wait: yes 
     state: present 
    register: rax 
+0

我與包括文件做了,但所用的同樣的邏輯。有沒有辦法只修改該變量? –

+0

對不起,但我不太清楚你在問什麼,你能改述/詳細說明嗎? –

+0

你已經回答了我的問題,但它需要重複很多代碼。我想知道是否只能根據計數設置組變量。如果count> 1,那麼有組變量,否則沒有它。 –

相關問題