আমি একটি উত্তরযোগ্য টাস্ক ব্যবহার করে নাম দিয়ে দুটি গ্রুপের ( syslog
এবং utmp
) গ্রুপের আইডি পুনরুদ্ধার করার চেষ্টা করছি । পরীক্ষার উদ্দেশ্যে, আমি নিজেই উত্তরযোগ্য হোস্ট থেকে তথ্য পুনরুদ্ধার করার জন্য একটি প্লেবুক তৈরি করেছি।
---
- name: My playbook
hosts: enabled
sudo: True
connection: local
gather_facts: False
tasks:
- name: Determine GIDs
shell: "getent group {{ item }} | cut -d : -f 3"
register: gid_{{item}}
failed_when: gid_{{item}}.rc != 0
changed_when: false
with_items:
- syslog
- utmp
দুর্ভাগ্যক্রমে আমি প্লেবুক চালানোর সময় নিম্নলিখিত ত্রুটি পেয়েছি:
fatal: [hostname] => error while evaluating conditional: gid_syslog.rc != 0
পরের ব্যবহারের জন্য আমি আলাদা আলাদা ভেরিয়েবল, আইটেম প্রতি একটি করে রেজিস্ট্রেশন করার সময় এই জাতীয় কাজটিকে কীভাবে প্যারামেট্রাইজড ফর্মে একত্রিত করতে পারি ? সুতরাং লক্ষ্যটি হল গ্রুপের নামের উপর ভিত্তি করে ভেরিয়েবল থাকা যা পরবর্তী কাজগুলিতে ব্যবহার করা যেতে পারে।
আমি ব্যবহার করছি int
ফিল্টার gid_syslog.stdout
এবং gid_utmp.stdout
পরে কাজে GID উপর ভিত্তি করে কিছু হিসাব না।
আমি চেষ্টা করেছিলাম gid.{{item}}
এবং এর gid[item]
পরিবর্তে gid_{{item}}
কোনও লাভ হয়নি।
উপরের বিপরীতে নিম্নলিখিতটি সূক্ষ্মভাবে কাজ করে:
---
- name: My playbook
hosts: enabled
sudo: True
connection: local
gather_facts: False
tasks:
- name: Determine syslog GID
shell: "getent group syslog | cut -d : -f 3"
register: gid_syslog
failed_when: gid_syslog.rc != 0
changed_when: false
- name: Determine utmp GID
shell: "getent group utmp | cut -d : -f 3"
register: gid_utmp
failed_when: gid_utmp.rc != 0
changed_when: false