无法通过ansible从localhost运行python脚本
我的结构如下:无法通过ansible从localhost运行python脚本,python,ansible,ansible-playbook,Python,Ansible,Ansible Playbook,我的结构如下: playbooks_only | |- read_replica_boto3.yml |- roles | |-read_replica_boto3 |-defaults |-tasks-->> main.yml |-files-->> - rds_r
playbooks_only
|
|- read_replica_boto3.yml
|- roles
|
|-read_replica_boto3
|-defaults
|-tasks-->> main.yml
|-files-->> - rds_read_replica_ops.py
- sample.yml
我需要运行rds_read_replica_ops.py,我编写了以下代码:
- name: Create a cross-region replica using boto3 script
command: python rds_read_replica_ops.py sample.yml
args:
chdir: '"{{ role_path }}"/files'
但它找不到文件并显示:
sg: cannot change to directory '/home/blah/recovery/playbooks_only/"/home/blah/recovery/playbooks_only/roles/read_replica_boto3"/files': path does not exist
FATAL: all hosts have already failed -- aborting
您在这行有一个输入错误:
chdir: '"{{ role_path }}"/files'
不应该用引号括住变量。相反,将行更改为:
chdir: '{{ role_path }}/files'
这应该行得通 尝试更改这一行:
chdir:“{{role\u path}}/files”
你的意思是什么?我应该放在那里的是什么?删除双引号“
环绕{{role\u path}
哦,很酷,很好,还有一个问题。我应该如何等待我的python脚本执行我不确定我是否理解你的意思,但是这个任务应该cd
到files
目录,执行该文件,然后等待它完成,但是它没有映射到default/main.y的变量ml到文件/sample.yml