我想要的应该是死的简单,但我似乎无法找到答案。我想用不同的输入运行数学模拟。我可以访问40个服务器的列表(我没有root权限)所以我的想法是同时测试40个不同的系数集。目前尚不清楚如何在ansible中使用for loop
类似语句设置变量,并将每个变量分配给不同的服务器。理想情况下,我希望变量列表是浮动数字,类似于a = numpy.arange(.0,1.,.1)
给我的数字。有什么想法吗?
服务器组的设置如下:
[computingCluster]
cic[1:40]
答案 0 :(得分:1)
me@pc:~/Ansible/playbooks/test_iterate$ ansible-playbook test0.yml PLAY *************************************************************************** TASK [setup] ******************************************************************* ok: [srv-db1] ok: [srv-db-temp] TASK [debug] ******************************************************************* ok: [srv-db-temp] => { "msg": "101" } ok: [srv-db1] => { "msg": "102" } PLAY RECAP ********************************************************************* srv-db-temp : ok=2 changed=0 unreachable=0 failed=0 srv-db1 : ok=2 changed=0 unreachable=0 failed=0
test0.yml:
hosts: srv-dbs vars: - priority_start: 100 tasks: - debug: msg="{% for thishost in play_hosts %}{% if inventory_hostname==thishost %}{{ priority_start + loop.index }}{% endif %}{% endfor %}"