ansible计算网段

    - name: set vars network_cidr ipv4
      run_once: yes
      when: 
        - isuseipv6 is defined
        - not isuseipv6|bool
      set_fact:
        network_cidr: |
          {%- set servers=[] -%}
          {%- for host in ansible_play_hosts_all -%}
              {%- set _=servers.append((hostvars[host]['ansible_'+interface]['ipv4']|selectattr('scope', 'equalto', 'global') |list|first).address+'/'+(hostvars[host]['ansible_'+interface]['ipv6']|selectattr('scope', 'equalto', 'global') |list|first).prefix) -%}
          {%- endfor -%}
          {%- set servers= servers|cidr_merge('span') -%}
          {{servers}}

    - name: set vars cluster_network_cidr
      run_once: yes
      set_fact:
        cluster_network_cidr: "{{network_cidr.strip().split()[0]}}"

 

posted on 2024-09-12 18:55  吃草的青蛙  阅读(35)  评论(0)    收藏  举报

导航