- با استفاده از این ماژول میتوان دستور ping را برای تمام یا گروهی خاص از خادمهای تحت مدیریت اجرا کرد.
- عدم دریافت بستههای ICMP reply به منزلهی خاموش بودن یا در دسترس نبودن خادم است. (در حالی که ممکن است دریافت و ارسال بستههای ICMP توسط دیوار آتش مسدود شده باشد.)
- به عنوان مثال کد زیر باعث میشود تا :
- با استفاده از ماژول پینگ از تمامی خادمهای تحت مدیریت آزمایش اتصال گرفته شود.
---
- name: PlayBook
hosts: all
gather_facts: no
tasks:
- name: run ping modules
ping:
...
- با استفاده از پارامتر hosts مشخص کردیم که پروندهی PlayBook بر روی چه خادمها یا گروههایی اجرا شود.
- استفاده از آرگومان یا مقدار all برای پارامتر hosts به منزلهی انتخاب تمام گروهها و خادمهای تحت مدیریت است.
- با استفاده از پارامتر gather_facts و آرگومان no مشخص کردیم که جمع آوری اطلاعات از خادمها صورت نگیرد.
- نکته: حتما به رعایت فاصلهها توجه کنید. (از کلید TAB استفاده نکنید.)
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] *************************************************************************************************************************************************
TASK [run ping modules] ********************************************************************************************************************************************
ok: [172.16.0.247]
ok: [172.16.0.248]
ok: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=0 unreachable=0 failed=0
172.16.0.247 : ok=1 changed=0 unreachable=0 failed=0
172.16.0.248 : ok=1 changed=0 unreachable=0 failed=0
- همان طور که مشاهده میکنید، به صورت پیشفرض خروجی ماژول چاپ نشده است.
- برای چاپ خروجی ماژول میتوان از سویچ v- یا vv- به صورت زیر استفاده نمود.
# ansible-playbook playbook.yaml -v
or
# ansible-playbook playbook.yaml -vv
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
Using /etc/ansible/ansible.cfg as config file
PLAY [PlayBook] *************************************************************************************************************************************************
TASK [run ping modules] ********************************************************************************************************************************************
ok: [172.16.0.248] => {"changed": false, "ping": "pong"}
ok: [172.16.0.245] => {"changed": false, "ping": "pong"}
ok: [172.16.0.247] => {"changed": false, "ping": "pong"}
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=0 unreachable=0 failed=0
172.16.0.247 : ok=1 changed=0 unreachable=0 failed=0
172.16.0.248 : ok=1 changed=0 unreachable=0 failed=0
- نکته: پسوند پروندهی PlayBook میتواند به صورت yaml. یا yml. باشد.
- به منظور مطالعهی بیشتر لینکهای زیر پیشنهاد میشود :
https://docs.ansible.com/ansible/latest/modules/ping_module.html
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04