在Ansible_devices上循环,然后选择任何不符合卷组的SDA的物理磁盘



我需要构建两个逻辑卷。SDA1将始终形成/root,并在日志上进行分区,但是/应用程序可能包括一个到四到四个其他磁盘。我知道他们将始终从SDB开始,然后继续使用SDE或SDF。我可以想到几个不同的快速和肮脏的解决方案,例如运行一个bash命令,该命令构建要注册为变量的列表,但是我想做的就是从Ansible_devices Ansible设置事实和匹配的一部分中撤回一部分SD [B-Z]的正则是。我知道我不太可能拥有SDZ,但是我想保持这一点尽可能灵活。有人对此有好的技术吗?Jinja2是否过滤了错误的方法?

您可以将select滤波器与match测试使用:

{{ ansible_devices.keys() | select('match','sd[b-c]') | list }}

使用 map('‌​regex_replace','^','‌​/dev/')预备列表中的每个字符串。

最新更新