Tôi đang cố gắng đăng ký một biến trong một vai trò và sau đó sử dụng nó trong một vai trò khác.
Đây là các tệp khác nhau tôi đang sử dụng:
playbook.yml
---
- máy chủ: hostsgroup1
[…]
vai trò:
- vai trò1
- máy chủ: 127.0.0.1
kết nối: cục bộ
vai trò:
- vai2
vai trò1/nhiệm vụ/main.yml
- tên: Ví dụ 1
[…]
- tên: Ví dụ 2
vỏ bọc:
qm agent {{ VM_id }} network-get-interfaces |grep ip-address |grep '172.20' |grep -oE '((1?[0-9][0-9]?|2[0-4][ 0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5 ])'
đăng ký: var_role1
vai2/nhiệm vụ/main.yml
- name: Thêm máy chủ vào pháo đài
ansible.buildin.debug:
msg : Kiểm tra {{ var_role1.stdout }}
Để biết thông tin, lệnh qm agent cung cấp cho tôi một địa chỉ IP và tôi muốn sử dụng nó trong vai trò thứ hai. Nhưng rõ ràng, hiện tại nó hiển thị lỗi khi tôi thực thi playbook:
gây tử vong: [127.0.0.1]: KHÔNG THÀNH CÔNG! => {"thông điệp": "Tác vụ bao gồm một tùy chọn có biến không xác định. Lỗi là: \"hostvars['proxmoxhosts']\" không xác định\n\nLỗi dường như nằm trong '/root/ansible/roles /bastion_add/tasks/main.yml': dòng 3, cột 3, nhưng có thể\nở đâu đó trong tệp tùy thuộc vào vấn đề cú pháp chính xác.\n\nDòng vi phạm dường như là:\n\n# tệp tác vụ cho bastion_add \n- tên: Thêm máy chủ vào pháo đài\n ^ tại đây\n"}
Tóm lại, tôi muốn sử dụng var_role1, đã đăng ký ở vai trò 1, ở vai trò 2.