2016-12-13 32 views
-1

我正在使用Ansible版本2.2.0.0。如何在本地運行Ansible?

我爲Ansible以下目錄結構:

├── group-vars 
│   └── kafka.yml 
├── inventory 
│   └── kafka 
├── kafka.yml 
└── roles 
    └── kafka 
     └── tasks 
      ├── install.yml 
      ├── main.yml 
      └── verification.yml 

1. kafka.yml基瓦爾

software_dir: /home/sohanvir/softwares 
kafka_installation_dir: "{{ software_dir }}/kafka" 

kafka_version: kafka_2.11-0.10.1.0.tgz 
kafka_download_link: "http://redrockdigimark.com/apachemirror/kafka/0.10.1.0/{{ kafka_version}}" 

2.庫存==>卡夫卡

[kafka] 
localhost 

3.劇本==> kafka.yml

- name: Install Kafka 
    hosts: kafka 
    connection: local 
    roles: 
    - kafka 

4.角色==>卡夫卡==>任務

1. main.yml

- include: verification.yml 
- include: main.yml 

2. install.yml

- name: Download kafka from link 
    get_url: 
    url: '{{ kafka_download_link }}' 
    dest: '{{ kafka_installation_dir }}' 

- name: Extract tar file 
    shell: cd '{{ kafka_installation_dir }}' && tar -xzf '{{ kafka_2.11-0.10.1.0.tgz }}' 

3 verification.yml

- name: Verify Directory Structure 
    shell: mkdir -p '{{ kafka_installation_dir }}' 
    ignore_errors: no 

我使用下面的命令運行劇本:

ansible-playbook -i inventory/kafka kafka.yml 

但是,得到以下錯誤:

PLAY [Install Kafka] *********************************************************** 
TASK [setup] ******************************************************************* ok: [localhost] 
TASK [kafka : Verify Directory Structure] ************************************** fatal: [localhost]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'kafka_installation_dir' is undefined\n\nThe error appears to have been in '/home/sohanvir/personal_git/ansible/roles/kafka/tasks/verification.yml': line 1, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Verify Directory Structure\n^here\n"} to retry, use: --limit @/home/sohanvir/personal_git/ansible/kafka.retry 
PLAY RECAP ********************************************************************* localhost : ok=1 changed=0 unreachable=0 failed=1 

回答