Я пытаюсь сопоставить регулярные выражения в Ansible (2.7), используя переменную, инициализированную в начале скрипта
Переменная, используемая для соответствия регулярному выражению-
group: 12
Ниже приведена строка кода, которая должна соответствовать
set_fact: run_pc="{{ lacp_output|select("match","Po{{ group }}") | list}}"
Вводится список, написанный ниже -
lacp_output =
["Flags: D - Down P - Up in port-channel (members)",
" I - Individual H - Hot-standby (LACP only)",
" s - Suspended r - Module-removed",
" S - Switched R - Routed",
" U - Up (port-channel)",
" M - Not in use. Min-links not met",
"--------------------------------------------------------------------------------",
"Group Port- Type Protocol Member Ports",
" Channel",
"--------------------------------------------------------------------------------",
"10 Po10(SD) Eth NONE --",
"11 Po11(SU) Eth LACP Eth1/1(P) Eth1/2(P) ",
"12 Po12(SU) Eth LACP Eth1/3(P) Eth1/4(P) ",
"100 Po100(SD) Eth NONE --",
"121 Po121(SD) Eth NONE --",
"122 Po122(SD) Eth LACP Eth2/1(D) ",
"123 Po123(SD) Eth NONE --",
"125 Po125(SD) Eth NONE --",
"322 Po322(SD) Eth NONE --",
"323 Po323(SD) Eth NONE --",
"345 Po345(SD) Eth NONE --",
"456 Po456(SD) Eth NONE --",
"777 Po777(SD) Eth NONE --" ]
Я пытаюсь найти точное соответствие для Po12 из приведенного выше списка.
Фактический объем производства -
TASK [assert] ***************************************************************************************************
fatal: [localhost]: FAILED! => {
"assertion": "run_pc | length>0",
"changed": false,
"evaluated_to": false,
"msg": "Can not find port channel 12"
}
Ожидаемый результат
TASK [debug] ****************************************************************************************************
ok: [localhost] => {
"run_pc": [
"12 Po12(SU) Eth LACP Eth1/3(P) Eth1/4(P) "
]
}