Формат списка фактов строк при использовании Ansible - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть "факт" в моем 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']) => {
    "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']

Как я могу это сделать?

1 Ответ

0 голосов
/ 20 сентября 2019

Q: Я хочу добавить каждый элемент с / dev / и превратить его в

[u'/dev/sdc', u'/dev/sdb', u'/dev/sda', u'/dev/dm-0', u'/dev/dm-1']

A: Использовать map и regex_replace.Например

- set_fact:
    lvm_disks: "{{ hostvars[inventory_hostname]['ansible_devices'].keys()|
                   list|
                   map('regex_replace', '(.*)', '/dev/\\1')|
                   list }}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...