Nhận một stacktrace lỗi lớn của biến ansible không tìm thấy ngoại lệ
ansible.errors.AnsibleUndefinedVariable: 'facter_ipaddress_eth1'
trong khi tôi đang chạy ansible play book.
giá trị được đặt ở đây và những nơi khác.
https://github.com/vfarcic/docker-swarm-networking/blob/master/ansible/group_vars/all
NHIỆM VỤ [docker: Có các tệp Debian] ****************************************** *************************************************** *************************************************** ************ đường dẫn tác vụ: /vagrant/ansible/roles/docker/tasks/main.yml:76
<10.100.192.200> THIẾT LẬP KẾT NỐI SSH CHO NGƯỜI DÙNG: vagrant
<10.100.192.200> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o 'IdentityFile="/vagrant/.vagrant/machines/swarm-master/virtualbox/private_key"' -o KbdInteractiveAuthentication=no - o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="vagrant"' -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/ceb9f96da5 10.100.192.200 '/bin/sh -c'"'"'echo ~vagrant && sleep 0'"'"''
<10.100.192.200> (0, b'/home/vagrant\n', b'')
<10.100.192.200> THIẾT LẬP KẾT NỐI SSH CHO NGƯỜI DÙNG: vagrant
<10.100.192.200> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o 'IdentityFile="/vagrant/.vagrant/machines/swarm-master/virtualbox/private_key"' -o KbdInteractiveAuthentication=no - o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="vagrant"' -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/ceb9f96da5 10.100.192.200 '/bin/sh -c'"'"'( umask 77 && mkdir -p "` echo /home/vagrant/.ansible/tmp `"&& mkdir "` echo /home/vagrant/.ansible/tmp /ansible-tmp-1640389849.3916476-93636-106822855105481 `" && echo ansible-tmp-1640389849.3916476-93636-106822855105481="` echo /home/vagrant/.ansible/tmp/ansible-tmp-1640389849.3916476-93636-106822855105481 `" ) && ngủ 0'"'"''
<10.100.192.200> (0, b'ansible-tmp-1640389849.3916476-93636-106822855105481=/home/vagrant/.ansible/tmp/ansible-tmp-1640389849.3916476-93636-1068228551054\n'8'1\n'1)
<10.100.192.200> THIẾT LẬP KẾT NỐI SSH CHO NGƯỜI DÙNG: vagrant
<10.100.192.200> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o 'IdentityFile="/vagrant/.vagrant/machines/swarm-master/virtualbox/private_key"' -o KbdInteractiveAuthentication=no - o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="vagrant"' -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/ceb9f96da5 10.100.192.200 '/bin/sh -c'"'"'rm -f -r /home/vagrant/.ansible/tmp/ansible-tmp-1640389849.3916476-93636-106822855105481/ > /dev/null 2>&1 && sleep 0'"'"''
<10.100.192.200> (0, b'', b'')
Truy nguyên đầy đủ là:
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "/usr/lib/python3/dist-packages/ansible/template/__init__.py", dòng 1139, trong do_template
độ phân giải = j2_concat(rf)
Tệp "<mẫu>", dòng 11, trong thư mục gốc
Tệp "/usr/lib/python3/dist-packages/jinja2/runtime.py", dòng 639, trong _fail_with_undefined_error
nâng cao self._undefined_Exception(gợi ý)
jinja2.Exceptions.UndefinedError: 'facter_ipaddress_eth1' không xác định
Trong quá trình xử lý ngoại lệ trên, một ngoại lệ khác đã xảy ra:
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "/usr/lib/python3/dist-packages/ansible/template/vars.py", dòng 98, trong __getitem__
giá trị = self._templar.template(biến)
Tệp "/usr/lib/python3/dist-packages/ansible/template/__init__.py", dòng 869, trong mẫu
kết quả = self.do_template(
Tệp "/usr/lib/python3/dist-packages/ansible/template/__init__.py", dòng 1176, trong do_template
tăng AnsibleUndefinedVariable(e)
ansible.errors.AnsibleUndefinedVariable: 'facter_ipaddress_eth1' không xác định
Trong quá trình xử lý ngoại lệ trên, một ngoại lệ khác đã xảy ra:
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "/usr/lib/python3/dist-packages/ansible/template/__init__.py", dòng 1139, trong do_template
độ phân giải = j2_concat(rf)
Tệp "<mẫu>", dòng 9, trong thư mục gốc
Tệp "/usr/lib/python3/dist-packages/ansible/template/__init__.py", dòng 404, trong resolve_or_missing
val = super(AnsibleContext, self).resolve_or_missing(key)
Tệp "/usr/lib/python3/dist-packages/jinja2/runtime.py", dòng 217, trong resolve_or_missing
trả lại giải quyết_or_missing (bản thân, khóa)
Tệp "/usr/lib/python3/dist-packages/jinja2/runtime.py", dòng 129, trong resolve_or_missing
trả về context.parent[key]
Tệp "/usr/lib/python3/dist-packages/ansible/template/vars.py", dòng 100, trong __getitem__
tăng AnsibleUndefinedVariable("%s: %s" % (to_native(biến), e.message))
ansible.errors.AnsibleUndefinedVariable: {{ facter_ipaddress_eth1 }}: 'facter_ipaddress_eth1' không xác định
Trong quá trình xử lý ngoại lệ trên, một ngoại lệ khác đã xảy ra:
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "/usr/lib/python3/dist-packages/ansible/plugins/action/template.py", dòng 150, đang chạy
kết quả = templar.do_template(template_data,serve_trailing_newlines=True, escape_backslashes=False)
Tệp "/usr/lib/python3/dist-packages/ansible/template/__init__.py", dòng 1176, trong do_template
tăng AnsibleUndefinedVariable(e)
ansible.errors.AnsibleUndefinedVariable: {{ facter_ipaddress_eth1 }}: 'facter_ipaddress_eth1' không xác định
gây tử vong: [10.100.192.200]: KHÔNG THÀNH CÔNG! => {
"đã thay đổi": sai,
"msg": "AnsibleUndefinedVariable: {{ facter_ipaddress_eth1 }}: 'facter_ipaddress_eth1' không xác định"
}
TÓM TẮT CHƠI *************************************************** *************************************************** *************************************************** **********************************10.100.192.200 : ok=14 đã thay đổi=6 không truy cập được=0 thất bại=1 đã bỏ qua=0 đã giải cứu=0 đã bỏ qua=0
Sau khi làm theo lời khuyên của @alexD, tôi đã thêm tác vụ để cài đặt facter, nhưng tôi vẫn gặp lỗi tương tự:
- tên: Cài đặt facter
raw: apt install -y facter
trở thành sự thật
thẻ: [docker]
- tên: Kiểm tra thực tế
lệnh: "thực tế ipaddress_eth1"
đăng ký: kết quả
thẻ: [docker]