使用Ansible创建目录时,它不会出现



我有一个简单的ansible流:我想在主机上创建一个目录:

- name: Create rails app dir
file: path=/etc/rails-app state=directory mode=0755
register: rails_app_dir

这些是我运行剧本时的日志:


TASK [instance_deploy_app : Create rails app dir] *************************************************************************************************
task path: /etc/ansible/roles/instance_deploy_app/tasks/main.yml:39
<IPv4 of host> ESTABLISH LOCAL CONNECTION FOR USER: root
<IPv4 of host> EXEC /bin/sh -c 'echo ~root && sleep 0'
<IPv4 of host> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1645566978.53-25820-207749605236297 `" && echo ansible-tmp-1645566978.53-25820-207749605236297="` echo /root/.ansible/tmp/ansible-tmp-1645566978.53-25820-207749605236297 `" ) && sleep 0'
Using module file /usr/lib/python2.7/site-packages/ansible/modules/files/file.py
<IPv4 of host> PUT /root/.ansible/tmp/ansible-local-25617Cg_rWo/tmpTPHs3p TO /root/.ansible/tmp/ansible-tmp-1645566978.53-25820-207749605236297/AnsiballZ_file.py
<IPv4 of host> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1645566978.53-25820-207749605236297/ /root/.ansible/tmp/ansible-tmp-1645566978.53-25820-207749605236297/AnsiballZ_file.py && sleep 0'
<IPv4 of host> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1645566978.53-25820-207749605236297/AnsiballZ_file.py && sleep 0'
<IPv4 of host> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1645566978.53-25820-207749605236297/ > /dev/null 2>&1 && sleep 0'
ok: [IPv4 of host] => {
"changed": false, 
"diff": {
"after": {
"path": "/etc/rails-app"
}, 
"before": {
"path": "/etc/rails-app"
}
}, 
"gid": 0, 
"group": "root", 
"invocation": {
"module_args": {
"_diff_peek": null, 
"_original_basename": null, 
"access_time": null, 
"access_time_format": "%Y%m%d%H%M.%S", 
"attributes": null, 
"backup": null, 
"content": null, 
"delimiter": null, 
"directory_mode": null, 
"follow": true, 
"force": false, 
"group": null, 
"mode": "0755", 
"modification_time": null, 
"modification_time_format": "%Y%m%d%H%M.%S", 
"owner": null, 
"path": "/etc/rails-app", 
"recurse": false, 
"regexp": null, 
"remote_src": null, 
"selevel": null, 
"serole": null, 
"setype": null, 
"seuser": null, 
"src": null, 
"state": "directory", 
"unsafe_writes": null
}
}, 
"mode": "0755", 
"owner": "root", 
"path": "/etc/rails-app", 
"size": 41, 
"state": "directory", 
"uid": 0
}
Read vars_file 'roles/instance_deploy_app/vars/instance_vars.yml'
Read vars_file 'roles/instance_deploy_app/vars/aws_cred.yml'

根据日志,目录应该在那里,但当我尝试访问/etc/rails-app/时,它不在那里。我目前在AWS EC2实例中有3个用户:EC2-user、root和user1,我试图签入所有用户,但目录没有出现。

我做错什么了吗?谢谢

它之所以没有创建文件夹,正如β.εηιτ.βε所建议的那样,是因为在剧本中我有connection: local,所以它是"从不连接到我的EC2并且总是作用于我的控制器";。一旦我去掉它,它就起作用了。

最新更新