我有以下剧本:可变变量:你可以动态创建它们,然后通过它们循环?
---
- hosts: lxc_hosts
name: get list of lxc containers on lxc host
tasks:
- name: get list of containers
shell: >
lxc-ls | awk -vRS= -vFS="\n" '//'
register: containers
- debug: msg="{{containers.stdout}}"
调试返回值是这样的:
TASK [debug] *******************************************************************
ok: [10.1.1.1] => {
"msg": "container1\ncontainer2\ncontainer3"
}
ok: [10.1.1.2] => {
"msg": "container22\ncontainer23\ncontainer24"
}
我希望有一种方法来解析结果我回来到像这样的列表:
container1
container2
container3
和/或
container22
container23
container24
然后以某种方式我想能够循环这些列表并运行另一个对他们的游戏。事情是这样的:
shell: lxc-attach --name={{item}}
register: attach_results
with_items: <list of containers>
我怎么会去这样做呢?
不回答这个问题,但你在LXC模块看着使用shell的呢? http://docs.ansible.com/ansible/lxc_container_module.html – smiller171
我认为最好的解决方案是编写小型过滤器插件 –
@arbabnazar我不知道你的意思是什么。我刚刚开始与理性。你能指出我可以解释一个文档/链接吗? – Happydevdays