Ansible_python_interpreter máy chủ cục bộ

Thực hiện các tác vụ cục bộ là một hoạt động phổ biến khi làm việc với một loại API nào đó—các trường hợp sử dụng điển hình là dịch vụ đám mây, thiết bị mạng, quản lý cụm. Có ba cách để đạt được điều này trong Ansible.

$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
3,
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
4 và
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
5. Cái cuối cùng hiếm khi được nhìn thấy ngày nay và có thể được coi là tương đương với
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
4 về ưu điểm và nhược điểm, nhưng có thêm nhược điểm là một phong cách rất khác thường, thêm một hình phạt về khả năng đọc

Trong một bài viết trước tôi đã nói về mô hình người chạy cho phép sử dụng khoảng không quảng cáo tốt hơn cho các tình huống khác nhau ngay cả khi bộ điều khiển là máy chủ cục bộ.

$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
3 cư xử rất khác nếu người dẫn chương trình là
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
8 hoặc người dẫn chương trình 'người chạy', điều này thật đáng ngạc nhiên

Sự khác biệt chính giữa

$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
0 và
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
1 là kết nối có thể được sử dụng ở cấp độ chơi hoặc nhiệm vụ, trong khi
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
1 chỉ hoạt động ở cấp độ nhiệm vụ. Điều này có nghĩa là nếu bạn có một vở kịch với năm mươi nhiệm vụ, thì mỗi nhiệm vụ sẽ cần
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
1 bộ. Tệ hơn nữa, nếu bạn đang sử dụng vai trò của người khác, bạn sẽ phải hy vọng họ đã cung cấp cho trường hợp này

Vấn đề với

$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
3 đối với mẫu chạy là nó giả định rằng đó là một kết nối hoàn toàn mới và sẽ sử dụng python hệ thống chứ không phải python mà bạn thích sử dụng. Các tình huống mà đây là sự cố bao gồm khi sử dụng
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
5 để cài đặt thư viện python hoặc trên OS X, nơi hầu hết phụ thuộc vào python từ brew. Trong trường hợp này, bạn có thể chạy
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
6, chạy Ansible và thấy rằng không thể tìm thấy thư viện đó vì nó đang tìm sai chỗ

Để chứng minh điều này, tôi đã viết một mô-đun

$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
7, hiển thị vị trí và phiên bản python cũng như các phiên bản boto3 và botocore

- hosts: localhost
  gather_facts: no

  tasks:
  - name: localhost without explicit connection
    boto3_facts:

- hosts: fakehost
  gather_facts: no

  tasks:
  - name: runner host using delegate_to
    boto3_facts:
    delegate_to: localhost

- hosts: fakehost
  gather_facts: no

  tasks:
  - name: runner host using local_action
    local_action:
      module: boto3_facts

- hosts: fakehost
  connection: local
  gather_facts: no

  tasks:
  - name: runner host using local connection
    boto3_facts:

$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0

Cách dễ nhất để khắc phục điều này là đặt

$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
8. Cách tiếp cận ưa thích của tôi là trong ____09 nếu tất cả các tác vụ chạy cục bộ hoặc ____110 nếu sử dụng mẫu người chạy—nhưng, như bên dưới, ở cấp vars playbook cũng hoạt động

Tóm lại, bây giờ tôi thích

$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
3 hơn cho mẫu chạy vì
$ ansible-playbook boto3_facts.yml -v -i fakehost,
Using /Users/will/tmp/ansible/boto3_facts/ansible.cfg as config file

PLAY [localhost] *****************************************************************************************************************

TASK [localhost without explicit connection] *************************************************************************************
ok: [localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using delegate_to] *********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local_action] ********************************************************************************************
ok: [fakehost -> localhost] => changed=false
  boto3_version: 1.7.42
  botocore_version: 1.10.42
  python: /usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
  python_version: |-
    2.7.14 [default, Mar  9 2018, 23:57:12]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.39.2]]

PLAY [fakehost] ******************************************************************************************************************

TASK [runner host using local connection] ****************************************************************************************
ok: [fakehost] => changed=false
  python: /usr/bin/python
  python_version: |-
    2.7.10 [default, Oct  6 2017, 22:29:07]
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 [clang-900.0.31]]

PLAY RECAP ***********************************************************************************************************************
fakehost                   : ok=3    changed=0    unreachable=0    failed=0
localhost                  : ok=1    changed=0    unreachable=0    failed=0
12 có thể được đặt động

Chủ Đề