Ansible এ Facts এবং gather_facts হলো এমন উপাদান যা মেশিন বা হোস্টের সিস্টেম ইনফরমেশন সংগ্রহ ও ব্যবহার করতে সাহায্য করে। এগুলো প্লেবুকের কার্যকারিতা ও ডাইনামিক কনফিগারেশনে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে।
Facts হলো মেশিন বা হোস্ট সম্পর্কে বিভিন্ন তথ্য যা Ansible স্বয়ংক্রিয়ভাবে সংগ্রহ করে। এগুলোর মধ্যে অন্তর্ভুক্ত রয়েছে:
Ansible এর setup
মডিউল ডিফল্টভাবে এই ফ্যাক্টগুলো গ্যাদার করে এবং এগুলোকে প্লেবুকে ব্যবহার করার সুযোগ দেয়।
gather_facts হলো একটি প্যারামিটার যা প্লেবুকে সেট করা হয়, এবং এটি নির্দেশ করে যে Ansible প্লেবুক রান করার সময় হোস্ট বা মেশিন থেকে ফ্যাক্টস সংগ্রহ করবে কি না। ডিফল্টভাবে, এটি yes
বা true
হিসেবে সেট করা থাকে, তাই Ansible স্বয়ংক্রিয়ভাবে ফ্যাক্টস গ্যাদার করে।
---
- name: Gather facts example
hosts: all
gather_facts: yes
tasks:
- name: Display OS information
debug:
msg: "The operating system is {{ ansible_distribution }} and version is {{ ansible_distribution_version }}"
উপরের উদাহরণে, gather_facts: yes
থাকায় Ansible হোস্ট থেকে ফ্যাক্টস গ্যাদার করবে এবং ansible_distribution
ও ansible_distribution_version
ফ্যাক্টসের মাধ্যমে অপারেটিং সিস্টেম ও এর ভার্সনের তথ্য প্রদর্শন করবে।
no
বা false
করাকিছু ক্ষেত্রে আপনি ফ্যাক্টস গ্যাদার করতে না চাইলে gather_facts: no
বা false
সেট করতে পারেন। এটি প্লেবুক এক্সিকিউশনকে দ্রুততর করতে পারে যদি ফ্যাক্টসের প্রয়োজন না থাকে।
---
- name: Playbook without gathering facts
hosts: all
gather_facts: no
tasks:
- name: Simple task
debug:
msg: "This is a simple task without gathering facts."
ফ্যাক্ট | বিবরণ |
---|---|
ansible_distribution | হোস্টের অপারেটিং সিস্টেমের নাম |
ansible_distribution_version | অপারেটিং সিস্টেমের ভার্সন |
ansible_hostname | হোস্ট মেশিনের নাম |
ansible_all_ipv4_addresses | সমস্ত IPv4 অ্যাড্রেস |
ansible_processor | প্রসেসরের তথ্য |
ansible_memory_mb | মেমোরি (RAM) সম্পর্কিত তথ্য |
---
- name: Example playbook using facts
hosts: all
gather_facts: yes
tasks:
- name: Display IP address information
debug:
msg: "The IP addresses are: {{ ansible_all_ipv4_addresses }}"
- name: Check if the OS is Ubuntu
debug:
msg: "This is an Ubuntu system."
when: ansible_distribution == "Ubuntu"
এখানে, ansible_all_ipv4_addresses
ব্যবহার করে হোস্টের সমস্ত IPv4 অ্যাড্রেস প্রদর্শন করা হয়েছে এবং when
শর্ত ব্যবহার করে চেক করা হয়েছে হোস্টের অপারেটিং সিস্টেম Ubuntu কিনা।
yes
থাকে।Facts এবং gather_facts এর সঠিক ব্যবহার করে আপনি আপনার Ansible প্লেবুককে আরও কার্যকরী, কাস্টমাইজড এবং ডাইনামিক করতে পারেন।
আরও দেখুন...