Score:0

โมดูลเชลล์/คำสั่งไม่ให้เอาต์พุตจาก playbook บน Raspberry Pis

ธง se

ใช้ Ansible 2.11.6 จาก Ubuntu ฉันมี Raspberry Pis สองตัว รายการสิ่งของ. หนึ่งคือ Pi3 รุ่นเก่าที่มีการยืด; อีกอันคือ Pi4 กับบัสเตอร์

$ ansible -i สินค้าคงคลัง -m เชลล์ -a "df -h" ทั้งหมด

แสดงผลของ df -h สำหรับ Pis ทั้งสองตามที่คาดไว้ แต่

$ ansible-playbook -i สินค้าคงคลัง main.yml

ที่ไหน main.yml เป็น

---
- โฮสต์: ทั้งหมด
  งาน:
    - ชื่อ: แสดงพื้นที่ดิสก์
      เปลือก:
        cmd: df -h

หลังจากรวบรวมข้อเท็จจริงแสดง

งาน [แสดงพื้นที่ดิสก์] *******************
เปลี่ยน: [pi4]
เปลี่ยนแล้ว: [pi3]

โดยไม่แสดงผลของ df -h.

ฉันพยายามแล้ว สั่งการ: แทน เปลือก:. ฉันพยายามแล้ว เรียกใช้งานได้: /bin/bash. ไม่แตกต่าง. เหมือน main.yml ทำงานร่วมกับตัวจัดเตรียม Vagrant ansible เมื่อสร้าง Ubuntu VM และแสดง df -h เอาต์พุต

ฉันพลาดอะไรไป

อัปเดต นี่เป็นความผิดพลาดของฉัน เทมเพลต Vagrantfile ที่ฉันใช้รวมอยู่ด้วย ansible.verbose = จริง. ลบออกและทุกอย่างจะทำงานอย่างสม่ำเสมอ

Score:2
ธง th

ผลลัพธ์ของงานที่ใช้คำฟุ่มเฟือยเริ่มต้นจะไม่แสดงโดย ค่าเริ่มต้น โทรกลับ stdout คำสั่งเฉพาะกิจโดยปกติจะใช้ น้อยที่สุด โทรกลับซึ่งมีพฤติกรรมที่แตกต่างกัน หากคุณเห็นในเอาต์พุต Vagrant แสดงว่าใช้การเรียกกลับแบบอื่นหรือเรียกใช้ด้วยรายละเอียดที่สูงกว่า ซึ่งจะแสดงข้อมูลเพิ่มเติม:

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

เล่น [โฮสต์ในพื้นที่] *********************************************** *****************

งาน [คำสั่ง] *********************************************** *******************
เปลี่ยนแล้ว: [localhost]

เล่น RECAP ************************************************ *********************
localhost: ตกลง=1 เปลี่ยนแปลง=1 ไม่สามารถเข้าถึงได้=0 ล้มเหลว=0 ข้าม=0 ช่วยชีวิต=0 ละเว้น=0   
ec2-user@pandora ~ $ ANSIBLE_STDOUT_CALLBACK=minimal ansible-playbook test.yml
โลคัลโฮสต์ | เปลี่ยน | rc=0 >>
ขนาดระบบไฟล์ที่ใช้ Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /การพัฒนา
tmpfs 3.9G 272K 3.9G 1% /dev/shm
tmpfs 3.9G 8.9M 3.9G 1% /รัน
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% /บ้าน
fs-c2c955bb.efs.us-east-2.amazonaws.com:/ 8.0E 0 8.0E 0% /ammit
tmpfs 788M 0 788M 0% /รัน/ผู้ใช้/1913323
tmpfs 788M 0 788M 0% /รัน/ผู้ใช้/257994
tmpfs 788M 0 788M 0% /รัน/ผู้ใช้/1000
ec2-user@pandora ~ $ ansible-playbook test.yml -vvv
ansible-playbook [คอร์ 2.11.5] 
  ไฟล์ปรับแต่ง = /home/ec2-user/ansible-aws/ansible/ansible.cfg
  เส้นทางการค้นหาโมดูลที่กำหนดค่า = ['/home/ec2-user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ตำแหน่งโมดูลหลาม ansible = /home/ec2-user/ansible-aws/.venv/lib/python3.8/site-packages/ansible
  ตำแหน่งการรวบรวม ansible = /home/ec2-user/ansible-aws/ansible/collections
  ตำแหน่งปฏิบัติการ = /home/ec2-user/ansible-aws/.venv/bin/ansible-playbook
  รุ่น python = 3.8.5 (ค่าเริ่มต้น 18 ก.พ. 2564, 01:24:20 น.) [GCC 7.3.1 20180712 (Red Hat 7.3.1-12)]
  เวอร์ชันจินจา = 3.0.2
  libyaml = จริง
ใช้ /home/ec2-user/ansible-aws/ansible/ansible.cfg เป็นไฟล์ปรับแต่ง
ข้ามการโทรกลับ 'ค่าเริ่มต้น' เนื่องจากเรามีการโทรกลับ stdout แล้ว
ข้ามการโทรกลับ 'ขั้นต่ำ' เนื่องจากเรามีการโทรกลับแบบ stdout แล้ว
ข้ามการโทรกลับ 'oneline' เนื่องจากเรามีการโทรกลับ stdout แล้ว

PLAYBOOK: test.yml ********************************************************** ****************
1 เล่นใน test.yml

เล่น [โฮสต์ในพื้นที่] *********************************************** *****************
META: ตัวจัดการที่รัน

งาน [คำสั่ง] *********************************************** *******************
เส้นทางงาน: /home/ec2-user/test.yml:4
การใช้ไฟล์โมดูล /home/ec2-user/ansible-aws/.venv/lib/python3.8/site-packages/ansible/modules/command.py
เปิดใช้งานการวางท่อ
<127.0.0.1> สร้างการเชื่อมต่อภายในเครื่องสำหรับผู้ใช้: ผู้ใช้ ec2
<127.0.0.1> EXEC /bin/sh -c ' sudo -H -S -n -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-gljjnrdznzzibrxampvyyzigtjnozzra ; /home/ec2-user/ansible-aws/.venv/bin/python'"'"' && นอน 0'
เปลี่ยน: [localhost] => {
    "เปลี่ยน": จริง
    "ซม.": [
        "ดีฟ",
        "-ชม"
    ]
    "เดลต้า": "0:00:00.004672",
    "สิ้นสุด": "2021-10-20 12:22:07.355248",
    "การร้องขอ": {
        "module_args": {
            "_raw_params": "df -h",
            "_uses_shell": เท็จ
            "argv": โมฆะ
            "chdir": โมฆะ
            "สร้าง": null,
            "เรียกใช้งานได้": null,
            "ลบ": null,
            "stdin": null,
            "stdin_add_newline": จริง
            "strip_empty_ends": จริง
            "เตือน": เท็จ
        }
    },
    "msg": "",
    "อาร์ค": 0,
    "เริ่มต้น": "2021-10-20 12:22:07.350576",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "ขนาดระบบไฟล์ที่ใช้ Avail Use% Mounted on\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% /รัน\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% /รัน/ผู้ใช้/257994",
    "stdout_lines": [
        "ขนาดระบบไฟล์ที่ใช้ Avail Use% Mounted on",
        "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% /รัน",
        "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% /บ้าน",
        "fs-c2c955bb.efs.us-east-2.amazonaws.com:/ 8.0E 0 8.0E 0% /ammit",
        "tmpfs 788M 0 788M 0% /รัน/ผู้ใช้/1913323",
        "tmpfs 788M 0 788M 0% /รัน/ผู้ใช้/257994"
    ]
}
META: ตัวจัดการที่รัน
META: ตัวจัดการที่รัน

เล่น RECAP ************************************************ *********************
localhost: ตกลง=1 เปลี่ยนแปลง=1 ไม่สามารถเข้าถึงได้=0 ล้มเหลว=0 ข้าม=0 ช่วยชีวิต=0 ละเว้น=0   

คุณยังสามารถแสดงสิ่งต่าง ๆ ได้อย่างชัดเจนโดยใช้ แก้ไขข้อบกพร่อง:

---
- โฮสต์: ทั้งหมด
  งาน:
  - ชื่อ: รับพื้นที่ดิสก์
    สั่งการ:
      cmd: df -h
    ลงทะเบียน: ผลลัพธ์

  - แก้ปัญหา:
      msg: "{{ result.stdout_lines }}"
ec2-user@pandora ~ $ ansible-playbook test.yml 

เล่น [โฮสต์ในพื้นที่] *********************************************** *****************

งาน [รับพื้นที่ดิสก์] ******************************************** **************
เปลี่ยนแล้ว: [localhost]

งาน [แก้ไขข้อบกพร่อง] *********************************************** *********************
ตกลง: [localhost] => {
    "ข้อความ": [
        "ขนาดระบบไฟล์ที่ใช้ Avail Use% Mounted on",
        "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% /รัน",
        "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% /บ้าน",
        "fs-c2c955bb.efs.us-east-2.amazonaws.com:/ 8.0E 0 8.0E 0% /ammit",
        "tmpfs 788M 0 788M 0% /รัน/ผู้ใช้/1913323",
        "tmpfs 788M 0 788M 0% /รัน/ผู้ใช้/257994"
    ]
}

เล่น RECAP ************************************************ *********************
localhost : ตกลง=2 เปลี่ยนแปลง=1 ไม่สามารถเข้าถึงได้=0 ล้มเหลว=0 ข้าม=0 ช่วยชีวิต=0 ละเว้น=0   
in flag
คุณเรียนรู้สิ่งใหม่อยู่เสมอ นี่ควรเป็นคำตอบที่ยอมรับได้
se flag
นั่นสมเหตุสมผลและทำให้ฉันค้นพบความผิดพลาดของฉัน ขอบคุณ.
Score:2
ธง in

คุณไม่มีงานดีบักที่จะแสดงผลลัพธ์

---
- โฮสต์: ทั้งหมด
  งาน:
  - ชื่อ: แสดงพื้นที่ดิสก์
    เปลือก:
      cmd: df -h
    ลงทะเบียน: df
  - แก้ปัญหา:
      var: df

Ansible ไม่แสดงผลของคำสั่งโดยตรง

se flag
ขอบคุณ. แปลกที่ผู้จัดเตรียม Ansible ใน Vagrant ทำงานแตกต่างออกไป
in flag
ฉันไม่มีประสบการณ์เกี่ยวกับ Vagrant ดังนั้นฉันจึงสันนิษฐานได้ว่าเป็นคุณสมบัติ Vagrant เพื่อแสดงผลลัพธ์โดยตรง ฉันตรวจสอบ [การตั้งค่า Ansible](https://docs.ansible.com/ansible/latest/reference_appendices/config.html) แต่ไม่พบสิ่งที่ดูเหมือนจะเป็นประโยชน์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา