2015-05-05 16 views
13

Tôi nhận thấy Ansible xóa tập lệnh tạm thời bằng dấu chấm phẩy để tách các lệnh bash.Lưu các tập lệnh shell tạm thời thay vì xóa

Dưới đây là một lệnh ví dụ:

EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o 
ControlPath="/Users/devuser/.ansible/cp/ansible-ssh-%h-%p-%r" -o 
KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o ConnectTimeout=10 build /bin/sh -c 
'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python 
/home/ec2-user/.ansible/tmp/ansible-tmp-1430847489.81-75617096172775/docker; 
rm -rf 
/home/ec2-user/.ansible/tmp/ansible-tmp-1430847489.81-75617096172775/ 
>/dev/null 2>&1' 

Có cách nào để nói với ansible để thay thế cho dấu chấm phẩy với một dấu và đôi hoặc để cho nó để lưu các kịch bản hoặc sản lượng nội dung khi chạy ansible- playbook?

Tôi đang cố gắng để gỡ lỗi một lỗi trong kịch bản này và ngay bây giờ điều duy nhất mà dường như là thế này:

failed: [build] => {"changed": false, "failed": true} 
msg: ConnectionError(ProtocolError('Connection aborted.', error(2, 'No such file or directory')),) 

Trả lời

26

tôi thấy các biến môi trường -

export ANSIBLE_KEEP_REMOTE_FILES=1 

Set này, sau đó chạy lại ansible-playbook, và sau đó ssh và cd qua ~/.ansible/tmp/để tìm các tập tin.

+1

Không hoạt động. Không có tệp nào trong ~/.ansible/tmp/ – hfranco

+0

Điều này phù hợp với tôi. Bạn đang kiểm tra máy từ xa? Đó là nơi các tệp python được thực hiện. –

+0

Chỉ muốn kêu gọi để nói rằng nếu playbook của bạn nhắm mục tiêu 'localhost', Ansible * không * sao chép các tệp vào' ~/.ansible/tmp' trên máy bạn đã sử dụng để chạy 'ANSIBLE_KEEP_REMOTE_FILES = 1 ansible-playbook ...' . Điều này làm cho nó dễ dàng hơn để sử dụng [pdb-clone] (https://bitbucket.org/xdegaye/pdb-clone/wiki/Home) để gỡ lỗi. Chỉ cần thêm (tạm thời) 'từ pdb_clone import pdb; pdb.set_trace_remote() 'trực tiếp trong các nguồn Ansible gần nơi bạn nghi ngờ vấn đề nằm, và sau đó chạy' pdb-attach' trong một thiết bị đầu cuối khác khi nó chạm vào điểm ngắt. (Bạn cũng có thể gỡ lỗi từ xa, nhưng nó có liên quan nhiều hơn một chút.) – evadeflow

Các vấn đề liên quan