2013-08-22 21 views
9

Tôi đã cài đặt Ansible 1.2.3 trên Ubuntu Precise 64.Lỗi khi chạy ansible-playbook

Chạy ansible-playbook -i ansible_hosts playbook.yml cho tôi lỗi này:

ERROR: problem running ansible_hosts --list ([Errno 8] Exec format error) 

Dưới đây là nội dung của ansible_hosts:

[development] 
localhost ansible_connection=local 

playbook.yml:

--- 
- hosts: development 
    sudo: yes 
    tasks: 
    - name: install curl 
     apt: pkg=curl update_cache=yes 

Tôi có thể thực hiện công việc này bằng cách nào?

Trả lời

0

Tôi chỉ đang học không an toàn. Theo hiểu biết tốt nhất của tôi, có vẻ như mô-đun apt không có khóa có tên 'pkg'. Có lẽ, những gì bạn đang tìm kiếm là 'tên' [1]

Tôi nghĩ, thay đổi dòng sau

apt: pkg=curl update_cache=yes 

với

apt: name=curl update_cache=yes 

nên giải quyết vấn đề.

Ref: http://docs.ansible.com/apt_module.html

19

Đối với tôi, vấn đề đã được giải quyết bằng cách loại bỏ "thực" cho phép trên các tập tin ansible (playbook, hàng tồn kho vv):

find . -type f -exec chmod -x {} \; 
+1

Điều này phù hợp với tôi. Tại sao không được phép thực thi quyền trên các tệp đó? – user231118

+0

Câu hỏi hay. Không chắc chắn –

+3

Quyền thi hành cho biết có thể bạn không muốn tệp hàng tồn kho động: http://stackoverflow.com/questions/26859360/cant-use-ansible-inventory-file-because-it-is-executable/26863968?noredirect = 1 # comment42326480_26863968 –

2

Execute cho phép được sử dụng cho hàng tồn kho năng động các tập lệnh như ví dụ rax.py. Điều này đặc biệt xây dựng một hàng tồn kho bằng cách lấy nó từ RackSpace. Nếu bạn đang duy trì khoảng không quảng cáo của mình theo cách thủ công, tệp khoảng không quảng cáo của bạn sẽ không thể thực thi được.

4

bạn phải gỡ bỏ quyền thực hiện trên ansible_hosts

chmod a-x ansible_hosts 

nếu điều này không hoạt động. thử nó với sudo

sudo chmod a-x ansible_hosts 
+2

Cũng nên nhớ rằng, nếu không có tập tin này được gắn trong Windows (config.vm.synced_folder) thì chmod không hoạt động . Tôi đã kết thúc sao chép toàn bộ thư mục để tôi có thể chạy chmod trên các tệp khoảng không quảng cáo. – Philippe

+0

Phải, nếu bạn đang chạy lang thang từ một hệ thống Windows, sau đó bạn sẽ không thể chạy chmod trực tiếp dưới thư mục chia sẻ/vagrant.In trường hợp như vậy, bạn sẽ cần phải sao chép/di chuyển các tập tin ra khỏi thư mục/vagrant. –

1

Tôi chạy vào trong này và giải quyết nó bằng cách sử dụng shell thay vì command.

8

Tôi có một vấn đề tương tự:

$ ansible --version 

ansible 1.5.4

$ ansible-playbook -i hosts main.yml 

ERROR: problem running /mnt/d/Works/ansible-zipkin/hosts --list ([Errno 8] Exec format error)

bước của tôi dành cho Debian/Ubuntu:

$ sudo apt-get purge ansible 
$ sudo apt-get install software-properties-common 
$ sudo apt-add-repository ppa:ansible/ansible 
$ sudo apt-get update 
$ sudo apt-get install ansible 
$ ansible --version 

ansible 2.2.1.0

$ ansible-playbook -i hosts main.yml 

Bây giờ nó hoạt động !!!