2021-07-30 08:01:12 +00:00
- name : Do we have a gateway? If 'ip route' specifies a default route, Ansible parses details here...
debug :
var : ansible_default_ipv4
- name : "If above ansible_default_ipv4.gateway is defined, set WAN candidate 'discovered_wan_iface: {{ ansible_default_ipv4.alias }}' -- using ansible_default_ipv4.alias"
set_fact :
discovered_wan_iface : "{{ ansible_default_ipv4.alias }}"
when : ansible_default_ipv4.gateway is defined
- name : "Verify gateway active: ping -c4 {{ ansible_default_ipv4.gateway }} -- using ansible_default_ipv4.gateway"
shell : ping -c4 "{{ ansible_default_ipv4.gateway }}" | grep icmp_seq=4 | wc -l
register : gw_active_test
when : discovered_wan_iface != "none"
2021-07-30 08:13:39 +00:00
- name : "If gateway responded, set 'gw_active: True' and 'iiab_wan_iface: {{ discovered_wan_iface }}' -- using discovered_wan_iface"
2021-07-30 08:01:12 +00:00
set_fact :
iiab_wan_iface : "{{ discovered_wan_iface }}"
gw_active : True
when : discovered_wan_iface != "none" and gw_active_test.stdout == "1"
- name: 'Test for Internet access, using : {{ iiab_download_url }}/heart-beat.txt'
get_url :
url : "{{ iiab_download_url }}/heart-beat.txt"
dest : /tmp/heart-beat.txt
#timeout: "{{ download_timeout }}"
# @jvonau recommends: 100sec is too much (keep 10sec default)
ignore_errors : True
#async: 10
#poll: 2
register : internet_access_test
- name : "Set 'internet_available: True' if above download succeeded AND not disregard_network"
set_fact :
internet_available : True # Initialized to 'False' in 0-init/defaults/main.yml
when : not internet_access_test.failed and not disregard_network
- name : Remove downloaded Internet test file /tmp/heart-beat.txt
file :
path : /tmp/heart-beat.txt
state : absent
- name : "Set 'iiab_fqdn: {{ iiab_hostname }}.{{ iiab_domain }}'"
set_fact :
iiab_fqdn : "{{ iiab_hostname }}.{{ iiab_domain }}"
FQDN_changed : False
2021-07-30 15:29:18 +00:00
- name : Set hostname / domain (etc) in various places -- if iiab_fqdn != ansible_fqdn ({{ ansible_fqdn }})
2021-07-30 15:04:39 +00:00
include_tasks : hostname.yml
when : iiab_fqdn != ansible_fqdn
# 2021-07-30: FQDN_changed isn't used as in the past -- its remaining use is
# for {named, dhcpd, squid} in roles/network/tasks/main.yml -- possibly it
# should be reconsidered? See PR #2876: roles/network might become optional?
- name : "Also set 'FQDN_changed: True' -- if iiab_fqdn != ansible_fqdn ({{ ansible_fqdn }})"
2021-07-30 08:01:12 +00:00
set_fact :
FQDN_changed : True
when : iiab_fqdn != ansible_fqdn
2021-08-18 04:15:41 +00:00
# 2021-08-17: (1) iiab-gen-iptables works better if gui_port is set directly in
# default_vars.yml and/or local_vars.yml (2) Admin Console's iiab-admin.yml
# and js-menu.yml set 'adm_cons_force_ssl: False'
2021-07-30 08:01:12 +00:00
2021-08-18 04:15:41 +00:00
# - name: "Set 'gui_port: 80' for Admin Console if not adm_cons_force_ssl"
# set_fact:
# gui_port: 80
# when: not adm_cons_force_ssl
# - name: "Set 'gui_port: 443' for Admin Console if adm_cons_force_ssl"
# set_fact:
# gui_port: 443
# when: adm_cons_force_ssl