아래 코드를 실행하면 오류가 발생합니다. 왜 이런 일이 생길까요? {{ ssh.port }}
또는 {{ ssh.port|int }}
에서 값을 얻을 수 있으며 {{ ssh.port|int }}
을 10022
으로 바꿀 때 작동합니다.Int()의 int()에 대한 문자가 유효하지 않습니다.
$ ansible-playbook -i staging site.yml
오류! 예기치 않은 예외 : 기본 10 INT()에 대한 유효하지 않은 문자 : '{{ssh.port | INT}}'
# staging
[webservers]
IP_ADDRESS
[all:vars]
env=staging
# site.yml
- include: webservers.yml
# webservers.yml
- hosts: webservers
remote_user: deploy
port: "{{ssh.port|int}}"
become: True
gather_facts: False
vars_files:
- group_vars/credentials/{{ env }}
roles:
- common
# group_vars/all.yml
ssh:
port: 10022
Ansible : 2.1.0.0, 맥 : 10.11.5
Ansible1.9.6을 사용하여 코드를 실행했을 때 작동합니다. 그래서 나는 잘못된 길을 택 했는가 아니면 Anabilities> = 2.0에 대한 버그인가? – akm