- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用例,我需要根据 Ansible playbook 中的主机名(无论是奇数还是偶数)分配不同的服务器。例如,如果服务器是奇数:
host: myhost-001.example.com server: myserver-003.example.com
如果它不是奇数,那么它必须是偶数,所以我会分配一个不同的服务器:
host: myhost-002.example.com server: myserver-002.example.com
有什么想法吗?
最佳答案
有趣的问题。您可以使用 jinja 过滤器来做到这一点:
{{ 'myhost-002.example.com'|regex_replace('(myhost-)(?P<id>\d\d\d)(\.example\.com)', '\\g<id>')|int is divisibleby 2 }}
让我们对此进行分解解释一下:
'myhost-002.example.com'
首先,我假设主变量采用上面的形式。
|regex_replace('(myhost-)(?P<id>\d\d\d)(\.example\.com)', '\\g<id>')
我使用命名参数进行正则表达式替换,仅保留 id
参数,在上面的示例中我假设它是三个数字 \d\d\d
。这应该返回'002'
。
|int is divisibleby 2
然后我检查上面的整数是否能被 2 整除,以确定是奇数还是偶数。
测试:
ansible localhost -m debug -a "msg={{ 'myhost-002.example.com'|regex_replace('(myhost-)(?P<id>\d\d\d)(\.example\.com)', '\\g<id>')|int is divisibleby 2 }}"
localhost | SUCCESS => {
"msg": true
}
有用的链接:Ansible Jinja2 filters
关于ansible - 检测 inventory_hostname 的最后三个字符是奇数还是偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36584886/
我有一个用例,我需要根据 Ansible playbook 中的主机名(无论是奇数还是偶数)分配不同的服务器。例如,如果服务器是奇数: host: myhost-001.example.com ser
我正在尝试获取正在使用的服务器的短名称。 我在 jinja2 中有这个: ServerAlias graphite.{{ hostvars[inventory_hostname] }} ServerA
我有一个用例,我需要根据 Ansible playbook 中的主机名(无论是奇数还是偶数)分配不同的服务器。例如,如果服务器是奇数: host: myhost-001.example.com ser
我只能从 the docs 找到这个: Additionally, inventory_hostname is the name of the hostname as configured in An
我目前正在编写一个小型 Ansible 剧本,其工作是在/etc/resolv.conf 的搜索列表中添加一个附加域。 要添加到搜索列表的第二个域必须包含目标主机的部分主机名。我在 playbook
我是一名优秀的程序员,十分优秀!