From 90efb1a5198619a2bb350a0e93da5bb4e0f05b80 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 3 Oct 2020 12:16:28 -0400 Subject: [PATCH 1/9] Fix Kolibri timeout on Start: 90 -> 1200 seconds --- roles/kolibri/templates/kolibri.service.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/kolibri/templates/kolibri.service.j2 b/roles/kolibri/templates/kolibri.service.j2 index 84515d3f8..7fb7ee1f8 100644 --- a/roles/kolibri/templates/kolibri.service.j2 +++ b/roles/kolibri/templates/kolibri.service.j2 @@ -14,6 +14,8 @@ Group={{ apache_user }} # or whatever systemd / Kolibri favor? https://github.com/iiab/iiab/issues/2318 # TimeoutStartSec=infinity # TimeoutStopSec=10 +# 2020-10-03: Kolibri was timing out on RaspiOS & Ubuntu 20 NUC: iiab/iiab#2555 +TimeoutStartSec=1200 ExecStart={{ kolibri_exec_path }} start ExecStop={{ kolibri_exec_path }} stop From f65dd7dc8e7d33ab42074dc5a044e1b801616491 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 3 Oct 2020 12:55:25 -0400 Subject: [PATCH 2/9] Clarify Kolibri's 90 sec timeout on shutdown, resulting from systemd default --- roles/kolibri/templates/kolibri.service.j2 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/roles/kolibri/templates/kolibri.service.j2 b/roles/kolibri/templates/kolibri.service.j2 index 7fb7ee1f8..a886aa73e 100644 --- a/roles/kolibri/templates/kolibri.service.j2 +++ b/roles/kolibri/templates/kolibri.service.j2 @@ -10,12 +10,17 @@ Environment=KOLIBRI_HTTP_PORT={{ kolibri_http_port }} Environment=KOLIBRI_URL_PATH_PREFIX={{ kolibri_url_without_slash }} User={{ kolibri_user }} Group={{ apache_user }} +# 2020-10-03: Kolibri was timing out on RaspiOS & Ubuntu 20 NUC: iiab/iiab#2555 +TimeoutStartSec=1200 +# The following is the systemd default, which is too much for most teachers in +# low-electricity environments (30-60 sec is about all they can handle before +# pulling the power cord, typically every hour at the end of class). But since +# 90 seconds is the Linux / systemd default, it's prob good enough for now: +# TimeoutStopSec=90 # 2020-04-18 @jvonau: comment out both timeouts for now, in favor of 90 seconds # or whatever systemd / Kolibri favor? https://github.com/iiab/iiab/issues/2318 # TimeoutStartSec=infinity # TimeoutStopSec=10 -# 2020-10-03: Kolibri was timing out on RaspiOS & Ubuntu 20 NUC: iiab/iiab#2555 -TimeoutStartSec=1200 ExecStart={{ kolibri_exec_path }} start ExecStop={{ kolibri_exec_path }} stop From 5d7eb59b5bc0ecf9c409e8831afcd6e2d46f6273 Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 3 Oct 2020 16:24:03 -0400 Subject: [PATCH 3/9] Update default_vars.yml --- vars/default_vars.yml | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 7cec5d377..555d83a2b 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -68,8 +68,18 @@ iiab_admin_pwd_hash: $6$xsce51$D.IrrEeLBYIuJkGDmi27pZUGOwPFp98qpl3hxMwWV4hXigFGm # Time Zone (php needs timezone to be set) local_tz: "{{ ansible_date_time.tz }}" -# Read https://github.com/iiab/iiab/wiki/IIAB-Networking -# Also readable offline @ http://box/info/IIAB-Networking.html +# IIAB Admin Console is sometimes not needed, e.g. on Raspberry Pi Zero W +admin_console_install: True +admin_console_enabled: True +# +# Set to "False" if you want to revert to the older Dynamic Menuing system +# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) +js_menu_install: True + + +# IIAB Networking README: https://github.com/iiab/iiab/tree/master/roles/network +# IIAB Networking Doc: https://github.com/iiab/iiab/wiki/IIAB-Networking +# Read it offline too: http://box/info > "IIAB Networking" # NETWORK PARAMETERS FOLLOW ACROSS THE NEXT 100 LINES, as enabled by Ansible's # NETWORK role (/opt/iiab/iiab/roles/network/*) in 4-SERVER-OPTIONS below. @@ -168,10 +178,6 @@ bluetooth_install: True bluetooth_enabled: False bluetooth_term_enabled: False -# Set to "False" if you want to revert to the older Dynamic Menuing system -# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) -js_menu_install: True # SEE BELOW: admin_console_install & _enabled. - # UNMAINTAINED as of October 2017: https://github.com/iiab/iiab/pull/382 wondershaper_install: False wondershaper_enabled: False @@ -195,14 +201,6 @@ wan_nameserver: # wan_nameserver: 192.168.1.254 or 8.8.8.8 or 1.1.1.1 wan_try_dhcp_before_static_ip: True # Facilitate field updates w/ cablemodems # Details @ roles/network/templates/network/dhcpcd.conf.j2 for /etc/dhcpcd.conf -# Parameters for Aggregate Roles -# Each Role should have the following variables which are either True or False: -# _install -# _enabled - -# Past convention had been to install everything in all aggregate roles (stages) -# And to enable everything in 1-PREP, 2-COMMON, and 3-BASE-SERVER - # 1-PREP @@ -239,10 +237,6 @@ pi_swap_file_size: 1024 # 3-BASE-SERVER -# 2020-05-22: Neither in use at the moment. See also js_menu_install (above). -admin_console_install: True -admin_console_enabled: True - # 2020-09-24: MySQL / MariaDB is MANDATORY but still evolving - please see: # https://github.com/iiab/iiab/blob/master/roles/mysql/tasks/install.yml # https://github.com/iiab/iiab/blob/master/roles/3-base-server/tasks/main.yml From b26abcc9bea550e06688e5145b9122894fb7c21a Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 3 Oct 2020 16:24:15 -0400 Subject: [PATCH 4/9] Update local_vars_min.yml --- vars/local_vars_min.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index ed247bdec..3388672e7 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -36,6 +36,19 @@ iiab_admin_pwd_hash: $6$xsce51$D.IrrEeLBYIuJkGDmi27pZUGOwPFp98qpl3hxMwWV4hXigFGm # Obtain a password hash - OLD WAY: # python -c 'import crypt; print crypt.crypt("", "$6$<salt>")' +# IIAB Admin Console is sometimes not needed, e.g. on Raspberry Pi Zero W +admin_console_install: True +admin_console_enabled: True +# +# Set to "False" if you want to revert to the older Dynamic Menuing system +# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) +js_menu_install: True + + +# IIAB Networking README: https://github.com/iiab/iiab/tree/master/roles/network +# IIAB Networking Doc: https://github.com/iiab/iiab/wiki/IIAB-Networking +# Read it offline too: http://box/info > "IIAB Networking" + iiab_hostname: box iiab_domain: lan @@ -119,10 +132,6 @@ bluetooth_install: True bluetooth_enabled: False bluetooth_term_enabled: False -# Set to "False" if you want to revert to the older Dynamic Menuing system -# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) -js_menu_install: True - # UNMAINTAINED as of October 2017: https://github.com/iiab/iiab/pull/382 # wondershaper_install: False # wondershaper_enabled: False From 4c9c328efec4c75e631fa088da54cbf7df70006c Mon Sep 17 00:00:00 2001 From: A Holt <holta@users.noreply.github.com> Date: Sat, 3 Oct 2020 16:24:21 -0400 Subject: [PATCH 5/9] Update local_vars_medium.yml --- vars/local_vars_medium.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index 104732d8d..58d905b70 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -36,6 +36,19 @@ iiab_admin_pwd_hash: $6$xsce51$D.IrrEeLBYIuJkGDmi27pZUGOwPFp98qpl3hxMwWV4hXigFGm # Obtain a password hash - OLD WAY: # python -c 'import crypt; print crypt.crypt("<plaintext>", "$6$<salt>")' +# IIAB Admin Console is sometimes not needed, e.g. on Raspberry Pi Zero W +admin_console_install: True +admin_console_enabled: True +# +# Set to "False" if you want to revert to the older Dynamic Menuing system +# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) +js_menu_install: True + + +# IIAB Networking README: https://github.com/iiab/iiab/tree/master/roles/network +# IIAB Networking Doc: https://github.com/iiab/iiab/wiki/IIAB-Networking +# Read it offline too: http://box/info > "IIAB Networking" + iiab_hostname: box iiab_domain: lan @@ -119,10 +132,6 @@ bluetooth_install: True bluetooth_enabled: False bluetooth_term_enabled: False -# Set to "False" if you want to revert to the older Dynamic Menuing system -# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) -js_menu_install: True - # UNMAINTAINED as of October 2017: https://github.com/iiab/iiab/pull/382 # wondershaper_install: False # wondershaper_enabled: False From eedb11a17ff97f0b29207e39cf9d7318cea4cae1 Mon Sep 17 00:00:00 2001 From: A Holt <holta@users.noreply.github.com> Date: Sat, 3 Oct 2020 16:24:27 -0400 Subject: [PATCH 6/9] Update local_vars_big.yml --- vars/local_vars_big.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index 019a82c3b..2ecb40316 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -36,6 +36,19 @@ iiab_admin_pwd_hash: $6$xsce51$D.IrrEeLBYIuJkGDmi27pZUGOwPFp98qpl3hxMwWV4hXigFGm # Obtain a password hash - OLD WAY: # python -c 'import crypt; print crypt.crypt("<plaintext>", "$6$<salt>")' +# IIAB Admin Console is sometimes not needed, e.g. on Raspberry Pi Zero W +admin_console_install: True +admin_console_enabled: True +# +# Set to "False" if you want to revert to the older Dynamic Menuing system +# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) +js_menu_install: True + + +# IIAB Networking README: https://github.com/iiab/iiab/tree/master/roles/network +# IIAB Networking Doc: https://github.com/iiab/iiab/wiki/IIAB-Networking +# Read it offline too: http://box/info > "IIAB Networking" + iiab_hostname: box iiab_domain: lan @@ -119,10 +132,6 @@ bluetooth_install: True bluetooth_enabled: False bluetooth_term_enabled: False -# Set to "False" if you want to revert to the older Dynamic Menuing system -# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) -js_menu_install: True - # UNMAINTAINED as of October 2017: https://github.com/iiab/iiab/pull/382 # wondershaper_install: False # wondershaper_enabled: False From f73736702d986adebed74643a2f30de1d1ca6ff9 Mon Sep 17 00:00:00 2001 From: A Holt <holta@users.noreply.github.com> Date: Sat, 3 Oct 2020 16:25:38 -0400 Subject: [PATCH 7/9] Update validate_vars.yml --- roles/0-init/tasks/validate_vars.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/0-init/tasks/validate_vars.yml b/roles/0-init/tasks/validate_vars.yml index dac8ea944..636f64abf 100644 --- a/roles/0-init/tasks/validate_vars.yml +++ b/roles/0-init/tasks/validate_vars.yml @@ -63,7 +63,7 @@ #- wondershaper # Unmaintained - sshd - openvpn - - admin_console # Coming soon + - admin_console #- nginx # MANDATORY #- apache # Dependency installed on demand by other apps/svcs #- mysql # MANDATORY From 1244ec4727739b630cba554f4fabf61d7db45ef8 Mon Sep 17 00:00:00 2001 From: A Holt <holta@users.noreply.github.com> Date: Sat, 3 Oct 2020 17:43:51 -0400 Subject: [PATCH 8/9] network role clarifs in default_vars.yml --- vars/default_vars.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 555d83a2b..7e4c501c3 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -82,11 +82,11 @@ js_menu_install: True # Read it offline too: http://box/info > "IIAB Networking" # NETWORK PARAMETERS FOLLOW ACROSS THE NEXT 100 LINES, as enabled by Ansible's -# NETWORK role (/opt/iiab/iiab/roles/network/*) in 4-SERVER-OPTIONS below. -# SEE ALSO: /opt/iiab/iiab/roles/network/defaults/main.yml +# NETWORK role (/opt/iiab/iiab/roles/network). SEE ALSO: +# https://github.com/iiab/iiab/blob/master/roles/network/defaults/main.yml -# The following variable may be useful in debugging -disregard_network: False # use cache or error out if cache does not exist +# The following variable may be useful in debugging: +disregard_network: False # Use cache, or error out if cache does not exist. iiab_hostname: box iiab_domain: lan From 3d636ec702cf66af596ffb7e3c125ec8b601c066 Mon Sep 17 00:00:00 2001 From: Tim Moody <tim@timmoody.com> Date: Mon, 5 Oct 2020 18:57:40 -0400 Subject: [PATCH 9/9] correct misleading comments --- vars/default_vars.yml | 7 ++++--- vars/local_vars_big.yml | 9 +++++---- vars/local_vars_medium.yml | 9 +++++---- vars/local_vars_min.yml | 9 +++++---- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 7e4c501c3..53b3c1b43 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -68,12 +68,13 @@ iiab_admin_pwd_hash: $6$xsce51$D.IrrEeLBYIuJkGDmi27pZUGOwPFp98qpl3hxMwWV4hXigFGm # Time Zone (php needs timezone to be set) local_tz: "{{ ansible_date_time.tz }}" -# IIAB Admin Console is sometimes not needed, e.g. on Raspberry Pi Zero W +# Set these to False if you do not want to install IIAB Admin Console admin_console_install: True admin_console_enabled: True # -# Set to "False" if you want to revert to the older Dynamic Menuing system -# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) +# Set to "False" if you do not want to use the latest js-menus +# either because you use wordpress or another home page +# or if you prefer the older https://github.com/iiab/iiab-menu (no longer maintained) js_menu_install: True diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index 2ecb40316..b58a9daec 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -36,12 +36,13 @@ iiab_admin_pwd_hash: $6$xsce51$D.IrrEeLBYIuJkGDmi27pZUGOwPFp98qpl3hxMwWV4hXigFGm # Obtain a password hash - OLD WAY: # python -c 'import crypt; print crypt.crypt("<plaintext>", "$6$<salt>")' -# IIAB Admin Console is sometimes not needed, e.g. on Raspberry Pi Zero W +# Set these to False if you do not want to install IIAB Admin Console admin_console_install: True admin_console_enabled: True # -# Set to "False" if you want to revert to the older Dynamic Menuing system -# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) +# Set to "False" if you do not want to use the latest js-menus +# either because you use wordpress or another home page +# or if you prefer the older https://github.com/iiab/iiab-menu (no longer maintained) js_menu_install: True @@ -150,7 +151,7 @@ sshd_enabled: True openvpn_install: True openvpn_enabled: False # Set /etc/iiab/openvpn_handle in advance here: -openvpn_handle: +openvpn_handle: # Some prefer 512MB for Zero W, others prefer 2048MB or higher for RPi 3 and 4. # Please see recommendations at: https://itsfoss.com/swap-size/ diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index 58d905b70..6bd8cee77 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -36,12 +36,13 @@ iiab_admin_pwd_hash: $6$xsce51$D.IrrEeLBYIuJkGDmi27pZUGOwPFp98qpl3hxMwWV4hXigFGm # Obtain a password hash - OLD WAY: # python -c 'import crypt; print crypt.crypt("<plaintext>", "$6$<salt>")' -# IIAB Admin Console is sometimes not needed, e.g. on Raspberry Pi Zero W +# Set these to False if you do not want to install IIAB Admin Console admin_console_install: True admin_console_enabled: True # -# Set to "False" if you want to revert to the older Dynamic Menuing system -# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) +# Set to "False" if you do not want to use the latest js-menus +# either because you use wordpress or another home page +# or if you prefer the older https://github.com/iiab/iiab-menu (no longer maintained) js_menu_install: True @@ -150,7 +151,7 @@ sshd_enabled: True openvpn_install: True openvpn_enabled: False # Set /etc/iiab/openvpn_handle in advance here: -openvpn_handle: +openvpn_handle: # Some prefer 512MB for Zero W, others prefer 2048MB or higher for RPi 3 and 4. # Please see recommendations at: https://itsfoss.com/swap-size/ diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index 3388672e7..77b5269d2 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -36,12 +36,13 @@ iiab_admin_pwd_hash: $6$xsce51$D.IrrEeLBYIuJkGDmi27pZUGOwPFp98qpl3hxMwWV4hXigFGm # Obtain a password hash - OLD WAY: # python -c 'import crypt; print crypt.crypt("<plaintext>", "$6$<salt>")' -# IIAB Admin Console is sometimes not needed, e.g. on Raspberry Pi Zero W +# Set these to False if you do not want to install IIAB Admin Console admin_console_install: True admin_console_enabled: True # -# Set to "False" if you want to revert to the older Dynamic Menuing system -# (prior to IIAB 6.7, this had used https://github.com/iiab/iiab-menu) +# Set to "False" if you do not want to use the latest js-menus +# either because you use wordpress or another home page +# or if you prefer the older https://github.com/iiab/iiab-menu (no longer maintained) js_menu_install: True @@ -150,7 +151,7 @@ sshd_enabled: True openvpn_install: True openvpn_enabled: False # Set /etc/iiab/openvpn_handle in advance here: -openvpn_handle: +openvpn_handle: # Some prefer 512MB for Zero W, others prefer 2048MB or higher for RPi 3 and 4. # Please see recommendations at: https://itsfoss.com/swap-size/