2016-09-30 71 views
0

我想知道,如果Ansible外壳和with_items

- shell: > 
      hostname; 
      whoami; 

- shell: "{{item}}" 
    with_items: ['hostname', 'whoami'] 

是等价的?在第二个示例中,Ansible将总是对这两个命令(hostname,whoami)使用相同的SSH连接?


在我看来,这是假的......

- shell: "{{item}}" 
    with_items: ['export miavar=PIPPO', 'echo $miavar'] 

    (item=export miavar=PIPPO) => {"changed": true, "cmd": "export miavar=PIPPO", "stdout": ""} 
    (item=echo $miavar)  => {"changed": true, "cmd": "echo $miavar", "stdout": ""} 

--ansible 2.1.1.0

里卡多

回答

3

Ansible运行在每个循环迭代作为独立的运行,所以你结束了不同的SSH会话。

有在ANSIBLE_SQUASH_ACTIONS变量描述一些例外:

"apk, apt, dnf, package, pacman, pkgng, yum, zypper" 

该模块有足够的智慧壁球所有项目到一个单一的任务调用。

+0

感谢您的链接 – Riccardo79

相关问题