Score:0

Ansible กล่าวว่าตัวเลือกไม่ถูกต้องสำหรับการดีบัก: ansible.buildin.debug

ธง in

ฉันค่อนข้างยุ่งกับการสร้างสคริปต์ เมื่อถึงจุดหนึ่ง ฉันต้องสร้างรหัสผ่านและจัดเก็บไว้ในไฟล์ รหัสผ่านถูกสร้างขึ้นด้วย

  - ชื่อ: สร้างรหัสผ่านใหม่
    แก้ปัญหา:
      ansible.buildin.debug:
        var: ค้นหา ('community.general.random_string', ความยาว = 32)
      ลงทะเบียน: รหัสผ่าน

สิ่งนี้ทำงานได้ดีกว่าที่คาดไว้ ในการทดสอบทั้งหมดใช้งานได้จริง ฉันได้เพิ่มรหัสเพิ่มเติมลงใน playbook และตอนนี้ฉันได้รับ

ล้มเหลว! => {"msg": "ตัวเลือกไม่ถูกต้องสำหรับการแก้ปัญหา: ansible.buildin.debug"}

เป็นข้อความแสดงข้อผิดพลาดและฉันไม่สามารถเข้าใจได้ว่าเหตุใดจึงเป็นปัญหา

ใช้ CentOS

/ แก้ไขรหัสที่โพสต์ต้นฉบับเพื่อรวม register: password

Zeitounator avatar
fr flag
การลงทะเบียนผลลัพธ์ของงานดีบักเพื่อนำเนื้อหากลับมาใช้ใหม่ในภายหลังนั้นไม่สมเหตุสมผล เพียงแค่ประกาศ vars ที่คุณต้องการและใช้งาน ยิ่งไปกว่านั้น ตัวเลือก `var` เพื่อ `debug` นั้นต้องการชื่อของตัวแปร ไม่ใช่ค่าที่จะแสดง ในกรณีหลังจากนี้ คุณต้องใช้ตัวเลือก `msg` สุดท้าย `lookup(...).` เป็นนิพจน์ jinja2 และ (ยกเว้นในตัวเลือกเฉพาะเช่น `when`...) ควรล้อมรอบด้วยเครื่องหมายขยาย jinja2 (`{{ ... }}`)
Score:0
ธง in

รหัสนี้ใช้งานได้และทำในสิ่งที่ฉันต้องการ:

  วาร์:
    รหัสผ่าน: "{{ ค้นหา ('รหัสผ่าน', '/dev/null length=16') }}"

  งาน:
  - แก้ปัญหา:
      msg: '{{ รหัสผ่าน }}'

ฉันสามารถใช้รหัสผ่านตัวแปรต่อไปได้

Zeitounator avatar
fr flag
โปรดทราบว่ารหัสผ่านจะเปลี่ยนทุกครั้งที่คุณเรียกใช้ตัวแปร `รหัสผ่าน` หากคุณต้องการสร้างรหัสผ่านและรักษารหัสผ่านให้คงที่ตลอดการเล่นทั้งหมด ให้ดูที่โมดูล `set_fact`
Score:0
ธง in

ไวยากรณ์ที่เหมาะสมคือ:

- ชื่อ: สร้างรหัสผ่านใหม่
  ansible.buildin.debug:
    var: ค้นหา ('community.general.random_string', ความยาว = 32)
  ลงทะเบียน: รหัสผ่าน

หมายเหตุด้านข้าง: คุณอาจต้องการตรวจสอบว่า set_fact จะเหมาะสมกว่า

Invader Zim avatar
in flag
ขอบคุณสำหรับการตอบกลับของคุณ ฉันสังเกตเห็นว่าฉันลืมบรรทัด ``` ลงทะเบียน: ปักเป้า ``` ก็ควรจะอยู่ที่นั่นเช่นกัน
in flag
เพิ่มบรรทัด วิธีแก้ปัญหายังคงเหมือนเดิม
Invader Zim avatar
in flag
ขอบคุณ Ansible ไม่โยนข้อผิดพลาดในขณะนี้ ซึ่งเป็นสิ่งที่ดี แต่ตอนนี้รหัสผ่านตัวแปรเต็มไปด้วย "lookup('community.general.random_string', length=16)": "10caIPtm4)p4F}.+" แทนที่จะเป็นเพียงรหัสผ่าน
in flag
นั่นจะเป็นคำถามใหม่
Zeitounator avatar
fr flag
ไวยากรณ์ที่ถูกต้องคือ `msg: "{{ lookup('community.general.random_string', length=32) }}"` แต่นี่ก็ยังใช้งานได้ไม่ถูกต้อง IMO

โพสต์คำตอบ

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