- ممکن است در زمان اتصال به node ها با این خطا مواجه شوید :
|
1 2 3 4 5 6 7 |
10.1.0.225 | FAILED! => { "changed": false, "module_stderr": "Shared connection to 10.1.0.225 closed.\r\n", "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", "msg": "MODULE FAILURE", "rc": 127 } |
- همان طور که در خط چهارم مشاهده می کنید، خطا اشاره به این دارد که در سیستم هاست یا node آدرسی با نام usr/bin/python/ یافت نشده است.
- به صورت پیشفرض با نصب python 2.x در سیستم، این آدرس با نام python به صورت symbolic link از روی پرونده اصلی python2.x ساخته می شود.
- همچنین به صورت پیشفرض با نصب python 3.x در سیستم، این آدرس با نام python3 به صورت symbolic link از روی پرونده اصلی python3.x ساخته می شود.
- برای حل این موضوع می توان به چند طریق عمل کرد.
روش اول – نصب python 2.x
- در این روش می توان بسته python 2.x را در هر node نصب کرد.
- همچنین در صورتی که فایل symbolic link از روی python2.x ساخته نشد، آن را به صورت دستی ایجاد می کنیم. به عنوان مثال :
|
1 |
ln -s /usr/bin/python2.7 /usr/bin/python |
- تست شده با node های ubuntu 16.04
روش دوم – ایجاد symbolic link
- در این روش می توان یک symbolic link از روی python3.x ایجاد کرد.
- به عنوان مثال :
|
1 |
ln -s /usr/bin/python3.7 /usr/bin/python |
- تست شده با node های ubuntu 18.04 و ubuntu 16.04
روش سوم – تعیین متغیر محلی در سرور
- در این روش می توان اجرای ابزار انسیبل را با متغیر محلی آغاز کرد. برای این منظور :
|
1 |
ansible -i host.list all -m ping -e ansible_python_interpreter=/usr/bin/python3 |
- تست شده با node های ubuntu 18.04 – ubuntu 16.04