main.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. - name: Run `ip -6 -brief address show` for IPv6
  2. shell: |
  3. ip -6 -brief address show | grep {{ node_ip }}/ | awk '{print $1}'
  4. register: NODE_INTERFACE_IPV6
  5. when: ip_type is defined and ip_type == 'ipv6'
  6. failed_when: false
  7. - name: Run `ip -4 -brief address show` for IPv4
  8. shell: |
  9. ip -4 -brief address show | grep {{ node_ip }}/ | awk '{print $1}'
  10. register: NODE_INTERFACE_IPV4
  11. when: ip_type is not defined or ip_type != 'ipv6'
  12. failed_when: false
  13. - name: Set node_interface_name for IPv6
  14. set_fact:
  15. node_interface_name: "{{ NODE_INTERFACE_IPV6.stdout_lines[0] }}"
  16. when:
  17. - ip_type is defined and ip_type == 'ipv6'
  18. - NODE_INTERFACE_IPV6 is defined
  19. - NODE_INTERFACE_IPV6.stdout_lines is defined
  20. - NODE_INTERFACE_IPV6.stdout_lines | length > 0
  21. - name: Set node_interface_name for IPv4
  22. set_fact:
  23. node_interface_name: "{{ NODE_INTERFACE_IPV4.stdout_lines[0] }}"
  24. when:
  25. - ip_type is not defined or ip_type != 'ipv6'
  26. - NODE_INTERFACE_IPV4 is defined
  27. - NODE_INTERFACE_IPV4.stdout_lines is defined
  28. - NODE_INTERFACE_IPV4.stdout_lines | length > 0
  29. - name: Set default node_interface_name if not found
  30. set_fact:
  31. node_interface_name: "eth0"
  32. when: node_interface_name is not defined
  33. - block:
  34. - name: Find the physical interface on br0
  35. shell: |
  36. ovs-vsctl list-ifaces br0 | head -n 1
  37. register: BR0_PHY_NIC
  38. - name: Update node_interface_name when br0 is existing
  39. set_fact:
  40. node_interface_name: "{{ BR0_PHY_NIC.stdout_lines[0] }}"
  41. when: BR0_PHY_NIC.stdout_lines is defined and BR0_PHY_NIC.stdout_lines | length > 0
  42. when: node_interface_name is defined and node_interface_name == 'br0'