2014-06-17 1 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 

나는이 책임감있는 플레이 북을 가지고 있지만 그룹 때문에 새 서버의 이름에 숫자 카운터가 연결됩니다. 단일 서버 인스턴스뿐만 아니라 여러 서버 인스턴스에도이 기능을 사용할 수 있기를 원합니다. 다음과 같이 할 수있는 방법이 있습니까 :가능 : 조건부로 그룹 변수를로드 할 때

개수가 1보다 큰 경우 그룹 변수를 설정하십시오.

감사합니다.

답변

1

나는 당신이 연극에서이 작업을 수행해야 당신이 rax_count이 1보다 큰 경우에만 설정 group 값을 갖고 싶어 제대로 이해하고 :

- 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이면 그룹 변수를 가지며 그렇지 않으면 그룹 변수를 가지지 않습니다. –