Error Msg我正在尝试使用角色执行ansible playbook。我有一些变量,我在vars部分的main.yaml中定义。我从另一台远程机器上复制这些变量(main.yaml)。 我的问题是,我的playbook第一次抛出错误,即使它复制了我的vars部分中的main.yaml文件。当我第二次跑步时,它很好地执行了剧本。我理解,虽然该文件第一次被复制,但它并没有读取它,因为它在播放本运行之前不存在。有没有办法我第一次成功运行它而没有错误。
图像角色将清楚地了解角色和子文件。 Roles
site.yaml
---
- name: Testing the Mini project
hosts: all
roles:
- test
任务/ main.yaml
---
- name: Converting Mysql to CSV file
command: mysqldump -u root -padmin -T/tmp charan test --fields-terminated-by=,
when: inventory_hostname == "ravi"
- name: Converting CSV file to yaml format
shell: python /tmp/test.py > /tmp/main.yaml
when: inventory_hostname == "ravi"
- name:Copying yaml file from remote node to vars
shell: sshpass -p admin scp -r root@192.168.56.101:/tmp/main.yaml /etc/ansible/Test/roles/vars/main.yaml
when: inventory_hostname == "charan"
- name:Install Application as per the table
apt: name={{ item.Application }} state=present
when: inventory_hostname == {{ item.Username }}
with_items: user_app
/vars/main.yaml 这将从远程计算机复制。
---
user_app:
- {Username: '"ravi"' , Application: curl}
- {Username: '"charan"' , Application: git}