Điểm:0

mô-đun shell/command không cung cấp đầu ra từ playbook trên Raspberry Pis

lá cờ se

Sử dụng Ansible 2.11.6 từ Ubuntu. Tôi có hai Raspberry Pis trong hàng tồn kho. Một là Pi3 cũ hơn với Stretch; cái còn lại là Pi4 với Buster.

$ ansible -i inventory -m shell -a "df -h" all

cho thấy kết quả của df -h cho cả Pis, như mong đợi. Nhưng mà

$ ansible-playbook -i kho main.yml

ở đâu chính.yml

---
- máy chủ: tất cả
  nhiệm vụ:
    - tên: hiển thị không gian đĩa
      vỏ bọc:
        cmd: df -h

sau khi thu thập dữ kiện, cho thấy

NHIỆM VỤ [hiển thị dung lượng ổ đĩa] *******************
đã thay đổi: [pi4]
đã thay đổi: [pi3]

mà không hiển thị đầu ra của df -h.

tôi đã thử chỉ huy: thay vì vỏ bọc:. tôi đã thử có thể thực thi: /bin/bash. Không khác nhau. Giống nhau chính.yml hoạt động với nhà cung cấp ansible Vagrant khi xây dựng Ubuntu VM và hiển thị df -h đầu ra.

Tôi đang thiếu gì?

Cập nhật Đây là một sai lầm về phía tôi. Đã bao gồm mẫu Vagrantfile mà tôi đang sử dụng ansible.verbose = true. Loại bỏ điều đó và mọi thứ hoạt động nhất quán.

Điểm:2
lá cờ th

Ở các kết quả nhiệm vụ chi tiết mặc định không được hiển thị bởi mặc định gọi lại thiết bị xuất chuẩn. Các lệnh đặc biệt thường sử dụng tối thiểu gọi lại, có hành vi khác nhau. Nếu bạn đang nhìn thấy nó trong đầu ra Vagrant thì nó đang sử dụng một lệnh gọi lại khác hoặc đang chạy với mức độ chi tiết cao hơn, nơi nhiều thông tin hơn được hiển thị:

ec2-user@pandora ~ $ ansible-playbook test.yml 

CHƠI [máy chủ cục bộ] ************************************************ ******************

NHIỆM VỤ [lệnh] ************************************************ ************************
đã thay đổi: [máy chủ cục bộ]

TÓM TẮT CHƠI *************************************************** ************************
localhost : ok=1 thay đổi=1 không truy cập được=0 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0   
ec2-user@pandora ~ $ ANSIBLE_STDOUT_CALLBACK=test.yml ansible-playbook tối thiểu
máy chủ cục bộ | ĐÃ THAY ĐỔI | rc=0 >>
Kích thước hệ thống tệp được sử dụng Sẵn có Sử dụng % Được gắn trên
devtmpfs 3,9G 0 3,9G 0%/dev
tmpfs 3,9G 272K 3,9G 1%/dev/shm
tmpfs 3,9G 8,9M 3,9G 1%/lần chạy
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
/dev/nvme0n1p1 12G 7.3G 4.8G 61%/
/dev/nvme1n1 40G 9.0G 32G 23%/nhà
fs-c2c955bb.efs.us-east-2.amazonaws.com:/ 8.0E 0 8.0E 0%/ammit
tmpfs 788M 0 788M 0%/chạy/người dùng/1913323
tmpfs 788M 0 788M 0%/chạy/người dùng/257994
tmpfs 788M 0 788M 0%/chạy/người dùng/1000
ec2-user@pandora ~ $ ansible-playbook test.yml -vvv
ansible-playbook [core 2.11.5] 
  tệp cấu hình = /home/ec2-user/ansible-aws/ansible/ansible.cfg
  đường dẫn tìm kiếm mô-đun được định cấu hình = ['/home/ec2-user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  vị trí mô-đun python ansible = /home/ec2-user/ansible-aws/.venv/lib/python3.8/site-packages/ansible
  vị trí bộ sưu tập ansible = /home/ec2-user/ansible-aws/ansible/collections
  vị trí thực thi = /home/ec2-user/ansible-aws/.venv/bin/ansible-playbook
  phiên bản python = 3.8.5 (mặc định, ngày 18 tháng 2 năm 2021, 01:24:20) [GCC 7.3.1 20180712 (Red Hat 7.3.1-12)]
  phiên bản jinja = 3.0.2
  libyaml = Đúng
Sử dụng /home/ec2-user/ansible-aws/ansible/ansible.cfg làm tệp cấu hình
Bỏ qua cuộc gọi lại 'mặc định', vì chúng tôi đã có cuộc gọi lại thiết bị xuất chuẩn.
Bỏ qua cuộc gọi lại 'tối thiểu', vì chúng tôi đã có cuộc gọi lại thiết bị xuất chuẩn.
Bỏ qua cuộc gọi lại 'oneline', vì chúng tôi đã có một cuộc gọi lại thiết bị xuất chuẩn.

SÁCH CHƠI: test.yml ********************************************* ******************
1 lượt trong test.yml

CHƠI [máy chủ cục bộ] ************************************************ ******************
META: trình xử lý đã chạy

NHIỆM VỤ [lệnh] ************************************************ ************************
đường dẫn tác vụ: /home/ec2-user/test.yml:4
Sử dụng tệp mô-đun /home/ec2-user/ansible-aws/.venv/lib/python3.8/site-packages/ansible/modules/command.py
Đường ống được kích hoạt.
<127.0.0.1> THIẾT LẬP KẾT NỐI CỤC BỘ CHO NGƯỜI DÙNG: ec2-user
<127.0.0.1> EXEC /bin/sh -c 'sudo -H -S -n -u root /bin/sh -c' "'"'echo TRỞ THÀNH-THÀNH CÔNG-gljjnrdznzzibrxampvyyzigtjnozzra ; /home/ec2-user/ansible-aws/.venv/bin/python'"'"' && ngủ 0'
đã thay đổi: [máy chủ cục bộ] => {
    "đã thay đổi": đúng,
    "cmd": [
        "df",
        "-h"
    ],
    "đồng bằng": "0:00:00.004672",
    "kết thúc": "2021-10-20 12:22:07.355248",
    "yêu cầu": {
        "module_args": {
            "_raw_params": "df -h",
            "_uses_shell": sai,
            "argv": không,
            "chdir": không,
            "tạo": null,
            "thực thi": null,
            "loại bỏ": null,
            "stdin": không,
            "stdin_add_newline": đúng,
            "strip_empty_ends": đúng,
            "cảnh báo": sai
        }
    },
    "tin nhắn": "",
    "rc": 0,
    "bắt đầu": "2021-10-20 12:22:07.350576",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "Kích thước hệ thống tệp được sử dụng Sẵn có Sử dụng% Được gắn trên\ndevtmpfs 3.9G 0 3.9G 0% /dev\ntmpfs 3.9G 124K 3.9G 1%/dev/shm\$
tmpfs 3,9G 8,8M 3,9G 1% /run\ntmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup\n/dev/nvme0n1p1 12G 7,3G 4,8G 61% /\n/dev/nvme1n1      
                          40G 9,0G 32G 23%/home\nfs-c2c955bb.efs.us-east-2.amazonaws.com:/ 8.0E 0 8.0E 0%/ammit\ntmpfs 788M 0 788M 0%/run/user/1913323\ntmpfs                      
                788M 0 788M 0%/lần chạy/người dùng/257994",
    "stdout_lines": [
        "Kích thước hệ thống tệp được sử dụng Sẵn có Sử dụng% được gắn vào",
        "devtmpfs 3.9G 0 3.9G 0%/dev",
        "tmpfs 3.9G 124K 3.9G 1%/dev/shm",
        "tmpfs 3,9G 8,8M 3,9G 1%/lần chạy",
        "tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup",
        "/dev/nvme0n1p1 12G 7,3G 4,8G 61%/",
        "/dev/nvme1n1 40G 9.0G 32G 23%/nhà",
        "fs-c2c955bb.efs.us-east-2.amazonaws.com:/ 8.0E 0 8.0E 0%/ammit",
        "tmpfs 788M 0 788M 0%/chạy/người dùng/1913323",
        "tmpfs 788M 0 788M 0%/chạy/người dùng/257994"
    ]
}
META: trình xử lý đã chạy
META: trình xử lý đã chạy

TÓM TẮT CHƠI *************************************************** ************************
localhost : ok=1 thay đổi=1 không truy cập được=0 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0   

Bạn cũng có thể xuất rõ ràng mọi thứ bằng cách sử dụng gỡ lỗi:

---
- máy chủ: tất cả
  nhiệm vụ:
  - tên: lấy dung lượng đĩa
    chỉ huy:
      cmd: df -h
    đăng ký: kết quả

  - gỡ lỗi:
      msg: "{{ result.stdout_lines }}"
ec2-user@pandora ~ $ ansible-playbook test.yml 

CHƠI [máy chủ cục bộ] ************************************************ ******************

NHIỆM VỤ [lấy dung lượng đĩa] ********************************************* ***************
đã thay đổi: [máy chủ cục bộ]

NHIỆM VỤ [gỡ lỗi] ************************************************ ************************
được rồi: [máy chủ cục bộ] => {
    "tin nhắn": [
        "Kích thước hệ thống tệp được sử dụng Sẵn có Sử dụng% được gắn vào",
        "devtmpfs 3.9G 0 3.9G 0%/dev",
        "tmpfs 3.9G 124K 3.9G 1%/dev/shm",
        "tmpfs 3,9G 8,8M 3,9G 1%/lần chạy",
        "tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup",
        "/dev/nvme0n1p1 12G 7,3G 4,8G 61%/",
        "/dev/nvme1n1 40G 9.0G 32G 23%/nhà",
        "fs-c2c955bb.efs.us-east-2.amazonaws.com:/ 8.0E 0 8.0E 0%/ammit",
        "tmpfs 788M 0 788M 0%/chạy/người dùng/1913323",
        "tmpfs 788M 0 788M 0%/chạy/người dùng/257994"
    ]
}

TÓM TẮT CHƠI *************************************************** ************************
localhost : ok=2 đã thay đổi=1 không truy cập được=0 thất bại=0 đã bỏ qua=0 đã giải cứu=0 đã bỏ qua=0   
lá cờ in
Bạn luôn học được điều gì đó mới mẻ. Đây phải là câu trả lời được chấp nhận.
lá cờ se
Điều đó có lý, và khiến tôi phát hiện ra sai lầm của mình. Cảm ơn.
Điểm:2
lá cờ in

Bạn đang thiếu tác vụ gỡ lỗi sẽ hiển thị đầu ra.

---
- máy chủ: tất cả
  nhiệm vụ:
  - tên: hiển thị không gian đĩa
    vỏ bọc:
      cmd: df -h
    đăng ký: df
  - gỡ lỗi:
      var: df

Ansible không hiển thị trực tiếp đầu ra của lệnh.

lá cờ se
Cảm ơn. Điều kỳ lạ là nhà cung cấp Ansible trong Vagrant lại hoạt động khác.
lá cờ in
Tôi không có kinh nghiệm với Vagrant, vì vậy tôi chỉ có thể cho rằng đó là một tính năng của Vagrant để hiển thị trực tiếp đầu ra. Tôi đã xem qua [Cài đặt Ansible](https://docs.ansible.com/ansible/latest/reference_appendices/config.html) nhưng không thể tìm thấy bất cứ điều gì có vẻ hữu ích.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.