Score:0

Ansible: playbook ที่สองที่เชื่อมโยงไม่สามารถเรียกใช้สคริปต์สำหรับตัวแปรที่ส่งผ่านจากหลายโฮสต์จาก playbook แรก

ธง in

ฉันกำลังใช้ playbooks 2 เล่มที่เชื่อมโยง มีรายละเอียดระบุไว้ด้านล่าง

playbook1: รวบรวมข้อมูลดิบจากหลายเครื่อง

- โฮสต์: target_1
  Gather_facts: เท็จ


  งาน:
   - ชื่อ: ลงทะเบียนค่าใหม่
     เปลือก: df -h|awk '{gsub("%","|");print $5 $6}'
     ลงทะเบียน: PLAY1VAR

   - แก้ปัญหา: msg="{{PLAY1VAR.stdout}}"

   - ชื่อ: ลงทะเบียนค่าใหม่
     เชลล์: ชื่อโฮสต์
     ลงทะเบียน: PLAY2VAR

   - แก้ปัญหา: msg="{{PLAY2VAR.stdout}}"

   - ชื่อ: ลงทะเบียนโฮสต์จำลองด้วยตัวแปร
     add_host:
       ชื่อ: "DUMMY_HOST"
       PLAY1VAR_NEW: " {{ PLAY1VAR.stdout }}"

   - ชื่อ: ลงทะเบียนโฮสต์จำลองด้วยตัวแปร
     add_host:
       ชื่อ: "DUMMY_HOST_1"
       PLAY2VAR_NEW: " {{ PLAY2VAR.stdout }}"
- โฮสต์: target_2
  Gather_facts: เท็จ


  งาน:
   - ชื่อ: ลงทะเบียนค่าใหม่

playbook2: แยกวิเคราะห์ข้อมูลโดยใช้สคริปต์ python

- โฮสต์: localhost
  Gather_facts: เท็จ

  งาน:
   - ชื่อ: สะท้อนเอาต์พุต - ค่าตัวแปร PLAY1
     คำสั่ง: python3 /opt/diskspace_watcher/watcher.py '{{hostvars['DUMMY_HOST']['PLAY1VAR_NEW']}}' '{{hostvars['DUMMY_HOST_1']['PLAY2VAR_NEW']}}'
     ลงทะเบียน: PLAY2_RESULTS

   - แก้ปัญหา: msg="{{PLAY2_RESULTS.stdout}}"

ฉันกำลังส่งตัวแปรสองสามตัวจาก playbook แรกไปยังอีกอันหนึ่ง เมื่อฉันรันสิ่งนี้สำหรับโฮสต์เดียว มันทำงานตามที่คาดไว้ แต่เมื่อพยายามรันสำหรับหลายโฮสต์ มันไม่สามารถส่งผ่านอาร์กิวเมนต์สำหรับโฮสต์ทั้งหมดที่กล่าวถึงในคลัง ไฟล์และเป็นเพียงการเลือกตัวแปรหนึ่งตัวสำหรับโฮสต์เฉพาะ

ฉันกำลังมองหาวิธีที่จะดำเนินการนี้ ความช่วยเหลือ / ความคิดใด ๆ ที่ชื่นชม !!

in flag
โปรดเพิ่มตัวอย่างที่ทำซ้ำได้
U880D avatar
ca flag
คุณสามารถเพิ่มรายละเอียดที่คุณกล่าวถึงโดยแก้ไขคำถามของคุณได้หรือไม่?
Rishabh Shukla avatar
in flag
@U880D ฉันได้เพิ่ม playbooks config แล้ว
Rishabh Shukla avatar
in flag
@GeraldSchneider เพิ่ม
in flag
ฉันไม่เห็นสิ่งใดใน playbook เล่มแรกที่จะเรียกใช้ครั้งที่สอง
Rishabh Shukla avatar
in flag
@GeraldSchneider ฉันกำลังเรียกใช้ทั้งสองผ่าน playbook ที่สามเช่น vi global.yaml - import_playbook: playbook1.yaml - import_playbook: playbook2.yaml
Zeitounator avatar
fr flag
หากฉันเข้าใจวิธีที่คุณพยายามใช้ `dummy_host` เพื่อลงทะเบียนตัวแปรระหว่างการเล่นได้อย่างถูกต้อง เฉพาะค่าที่ลงทะเบียนล่าสุดสำหรับโฮสต์สุดท้ายในลูปโฮสต์ของการเล่นครั้งแรกเท่านั้นที่จะยังคงอยู่ คุณควรแก้ไขคำถามของคุณและให้ภาพรวมที่กว้างขึ้นเกี่ยวกับสิ่งที่คุณกำลังพยายามแก้ไขที่นี่ เพราะฉันเกือบจะแน่ใจว่าคุณติดอยู่ใน [ปัญหา x/y](https://xyproblem.info)

โพสต์คำตอบ

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