问题描述
我想在Ansible中做的非常简单的事情……或者您会认为。
我要做的就是将一个变量[稍后在j2模板中使用]设置为ansible_default_ipv4.network
的值,最后一个字节被切掉,第三个字节递增。
因此,如果ansible_default_ipv4.network
是192.168.10.0,我想将新变量设置为192.168.11。
这是我目前的操作方式:
- set_fact:
x: "{{ ansible_default_ipv4.network.split('.')[0:3] }}"
- set_fact:
x2: "{{ x.2 | int + 1 }}"
- set_fact:
x3: "{{x.0}}.{{x.1}}.{{x2}}"
工作正常,但是像盒子或青蛙一样丑陋:(
有没有更清洁的方法?
谢谢!
解决方法
尝试一下
- set_fact:
x: "{{ ansible_default_ipv4.network|ipmath(256)|splitext|first }}"