Это моя пьеса
---
- хосты: mytestserver
стать истинным
стать_метод: sudo
собрать_факты: правда
вары:
# Чтобы получить vgname и lvname с устройства ansible_mounts
mt: "{{ MT }}" #Extravariable
disp_pth: "{{ элемент['устройство'] }}"
disp_tmp: "{{ disp_pth | базовое имя }}"
DISP: "{{ disp_tmp.split('-') }}"
VGname: "{{ DISP.0 }}"
LVname1: "{{DISP.1 }}"
DISPP2: "{{ DISP.3|по умолчанию('') }}"
LVname2: "{{DISP.1}}-{{DISPP2}}"
LVname: "{{ LVname2 if (disp_tmp | regex_search('--')) else LVname1 }}"
задачи:
- name: Получить значения файловой системы
объем:
vg: "{{VGname}}"
lv: "{{имя_LV}}"
with_items: "{{ ansible_mounts }}"
когда: item.mount == MT
зарегистрироваться: myfs
- отладка:
переменная: myfs
Когда я его выполняю:
$ ansible-playbook -i proyects/Inventory/awx_hosts -l mytestserver getlvmfacts.yml -e MT=/DATA
Я получаю значения:
ИГРАТЬ [mytestserver] **************************************************** ******************************************************* ******************************************************* ******************************************************* ****************
ЗАДАНИЕ [Сбор фактов] *************************************************** ******************************************************* ******************************************************* ******************************************************* ***************
хорошо: [мой тестовый сервер]
ЗАДАЧА [Получить значения файловой системы] ************************************************* ******************************************************* ******************************************************* ******************************************************* **********
ok: [mytestserver] => (item={'block_used': 21620, 'uuid': '7fef92b8-8157-43d1-92b4-525a56fa33f8', 'size_total': 1056858112, 'block_total': 258022, 'mount': ' /DATA», «блок_доступен»: 236402, «размер_доступен»: 968302592, «fstype»: «ext4», «inode_total»: 65536, «опции»: «rw», «устройство»: «/dev/mapper/vgAPP- DATA», «inode_used»: 11, «block_size»: 4096, «inode_available»: 65525})
ЗАДАЧА [отладка] **************************************************** ******************************************************* ******************************************************* ******************************************************* *************************
хорошо: [mytestserver] => {
"мифс": {
«изменено»: ложь,
"msg": "Все пункты выполнены",
"Результаты": [
{
"ansible_loop_var": "элемент",
«изменено»: ложь,
"предмет": {
"блок_доступен": 414770,
"размер_блока": 4096,
"общий_блок": 516052,
"блок_используемый": 101282,
"устройство": "/dev/mapper/vg00-lv01",
"fstype": "ext3",
"инод_доступен": 124211,
"inode_total": 131072,
"inode_used": 6861,
"устанавливать": "/",
"опции": "RW",
"размер_доступен": 1698897920,
"размер_общий": 2113748992,
"uuid": "7df9171b-c31f-434f-94c5-344d02775e89"
},
"skip_reason": "Условный результат был False",
"пропущено": правда
},
{
"ansible_loop_var": "элемент",
«изменено»: ложь,
"предмет": {
"блок_доступен": 1037688,
"размер_блока": 4096,
"общий_блок": 1046016,
"блок_используемый": 8328,
"устройство": "/dev/mapper/vgDATA-BASET--DATA1",
"fstype": "xfs",
"inode_available": 4194301,
"inode_total": 4194304,
"inode_used": 3,
"mount": "/БАЗОВАЯ/ДАННЫЕ1",
"опции": "RW",
"размер_доступен": 4250370048,
"size_total": 4284481536,
"uuid": "91689e9b-552c-4f0e-b0ec-0d3d25154a72"
},
"skip_reason": "Условный результат был False",
"пропущено": правда
},
{
"ansible_loop_var": "элемент",
«изменено»: ложь,
«не удалось»: ложь,
"вызов": {
"module_args": {
«активный»: правда,
«сила»: ложь,
"lv": "ДАННЫЕ",
"opts": ноль,
"пвс": ноль,
"изменить размер": ложь,
"сжать": правда,
"размер": ноль,
"моментальный снимок": ноль,
"состояние": "настоящее",
"тонкий пул": ноль,
"вг": "вгАПП"
}
},
"предмет": {
"блок_доступен": 236402,
"размер_блока": 4096,
"общий_блок": 258022,
"блок_используемый": 21620,
"устройство": "/dev/mapper/vgAPP-DATA",
"fstype": "ext4",
"инод_доступный": 65525,
"inode_total": 65536,
"inode_used": 11,
"монтирование": "/ДАННЫЕ",
"опции": "RW",
"размер_доступен": 968302592,
"размер_общий": 1056858112,
"uuid": "7fef92b8-8157-43d1-92b4-525a56fa33f8"
},
"lv": "ДАННЫЕ",
"размер": 1024.0,
"вг": "вгАПП"
},
{
"ansible_loop_var": "элемент",
«изменено»: ложь,
"предмет": {
"блок_доступен": 472667,
"размер_блока": 4096,
"общий_блок": 516052,
"блок_используемый": 43385,
"устройство": "/dev/mapper/vg00-lv07",
"fstype": "ext3",
"инод_доступный": 131061,
"inode_total": 131072,
"inode_used": 11,
"mount": "/тиволи",
"опции": "RW",
"размер_доступен": 1936044032,
"размер_общий": 2113748992,
"uuid": "2310d046-eaad-4419-a94b-197c2c56502c"
},
"skip_reason": "Условный результат был False",
"пропущено": правда
}
]
}
}
В конце совпадающей точки монтирования (/DATA) находятся три параметра файловой системы:
"lv": "ДАННЫЕ",
"размер": 1024.0,
"вг": "вгАПП"
Вопрос: как я могу ссылаться на эти параметры?
я пытался использовать myfs.lv но не работают и другие способы.
Я думаю, это потому, что их нет внутри.предмет'
Желанный:
используя что-то вроде "myfs.lv" и получить "ДАННЫЕ"
надеюсь, вы можете помочь.
Заранее спасибо!