使用Ansible时设置字符串事实列表的格式
我的责任条款中有一个“事实”,如下所示使用Ansible时设置字符串事实列表的格式,ansible,Ansible,我的责任条款中有一个“事实”,如下所示 --- - name: Get disks set_fact: lvm_disks_present="{{hostvars[inventory_hostname]["ansible_devices"].keys()|list}}" 当我“调试”这个时,它会显示出来 ok: [proxy] => (item=lvm_disks_present: [u'sdc', u'sdb', u'sda', u'dm-0', u'dm-1']) => {
---
- name: Get disks
set_fact: lvm_disks_present="{{hostvars[inventory_hostname]["ansible_devices"].keys()|list}}"
当我“调试”这个时,它会显示出来
ok: [proxy] => (item=lvm_disks_present: [u'sdc', u'sdb', u'sda', u'dm-0', u'dm-1']) => {
"ansible_loop_var": "item",
"item": "lvm_disks_present: [u'sdc', u'sdb', u'sda', u'dm-0', u'dm-1']"
}
我想在每个项目后面附加/dev/
,并将其转换为
[u'/dev/sdc', u'/dev/sdb', u'/dev/sda', u'/dev/dm-0', u'/dev/dm-1']
我该怎么做
问:我想用/dev/附加每个项目,并将其转换为
[u'/dev/sdc', u'/dev/sdb', u'/dev/sda', u'/dev/dm-0', u'/dev/dm-1']
答:使用map
和。比如说
- set_fact:
lvm_disks: "{{ hostvars[inventory_hostname]['ansible_devices'].keys()|
list|
map('regex_replace', '(.*)', '/dev/\\1')|
list }}"