我似乎错过了ansible的一些基本概念,无法正确理解。
我的主持人:
[win10]
dev1
mep1我的角色有一个在桌面上创建链接的任务,为此,我需要知道用户名,最好也知道用户配置文件的路径。
我尝试过的任务版本如下:
- name: create desktop shortcut
win_shortcut:
src: "{{ ansible_env.ProgramFiles }}\\chrome\\chrome.exe"
args: "--dev"
dest: "C:\\Users\\{{ ansible_user }}\\Desktop\\chrome.lnk"
state: present- name: create desktop shortcut
win_shortcut:
src: "{{ ansible_env.ProgramFiles }}\\chrome\\chrome.exe"
args: "--dev"
dest: "{{ setup.ansible_facts.ansible_user_dir }}\\Desktop\\chrome.lnk"当我运行我的角色时,变量代表"dev1“远程服务器的变量,并且总是在"mep1”远程服务器上失败,因为用户名是不同的。此外,收集事实运行两次,所以我认为我在ansible概念上失败了。
PLAY [win10] *******************************************************************
TASK [Gathering Facts] *********************************************************
ok: [dev1]
ok: [mep1]
PLAY [win10] *******************************************************************
TASK [Gathering Facts] *********************************************************
ok: [dev1]
ok: [mep1]
TASK [install_chrome : create desktop shortcut] **************************
fatal: [dev1]: FAILED! => {"args": "--dev", "changed": true, "description": "", "dest": "C:\\Users\\tom\\Desktop\\chrome.lnk", "directory": "", "hotkey": "", "icon": ",0", "msg": "Failed to create shortcut 'C:\\Users\\tom\\Desktop\\chrome.lnk'. (Unable to save shortcut \"C:\\Users\\tom\\Desktop\\chrome.lnk\".)", "src": "C:\\Program Files\\chrome\\chrome.exe", "state": "present", "windowstyle": "normal"}
ok: [mep1]请把我推向正确的方向。
发布于 2019-02-21 20:07:55
您是否只想对其中一台主机运行ansible攻略?如果是,您可以在使用所需主机执行攻略时限制库存。示例:
ansible-playbook playbook.yml --limit dev1发布于 2019-02-21 21:36:27
我对错误输出的理解是,我的游戏使用了另一台远程主机的事实。在我的例子中,是用户名和用户配置文件位置。看起来我的表演是正确的。问题是“桌面”根本不在"C:\User\Username“中,而是在其他地方。
对于遇到这个问题的人,我深表歉意;)
https://stackoverflow.com/questions/54804109
复制相似问题