我想要制作一个脚本来快速地在计算机实例之间建立一个TINC。我需要的是一种方法,通过"/tmp/setup_tinc.py“命令行传递以下args:
--connect-to %{{ ' '.join( groups['do'] }}%在这里,%{{ part }}%将在python中进行解释。但我似乎找不到一个好办法来做这个。,你能帮我修复这段代码吗?
我做了后续剧本
- name: tinc install & setup
hosts: do
user: root
vars:
tincnet: cloudnet
tasks:
- name: Install tinc package
action: command apt-get install tinc python-argparse -y
- name: Copy tinc setup script
action: copy src=setup_tinc.py dest=/tmp/setup_tinc.py mode=755
- name: Run tinc setup script
action: command /tmp/setup_tinc.py --network $tincnet --tinc-ip $tinc_ip --hostname $hostname
- name: Fetch back the tinc file
action: fetch src=/etc/tinc/$tincnet/hosts/$hostname dst=hosts
- name: Adding firewall rule
action: command ufw allow 514发布于 2013-04-09 19:55:28
在Ansible 1.1和更早版本中,这样做有点棘手。在剧本中不能像在模板中那样内联Python代码。但好消息是,GitHub上最新的代码库(将作为版本1.2发布)中的一些特性也允许在游戏手册中使用Jinja2 2风格的模板!看看这条线:
https://groups.google.com/forum/#!topic/ansible-project/Gb3ABiEtGtA
所以这意味着你可以:
-连接到{{‘'.join(组’‘do’})
如果您使用的是最新的...right代码,请在手册中使用GitHub。
希望这能有所帮助!
https://stackoverflow.com/questions/15890344
复制相似问题