Skip to content

IIAB installs on Debian 12 Bookworm pre-releases IF (1) KA Lite bypassed (2) PHP 8.2 requires Nextcloud 26? (3) Munin bypassed? [Ubuntu 23.04 issues quite similar!] #3399

@holta

Description

@holta

Testing on Debian 12 Bookworm pre-releases is easy if you create an instant VM:

multipass launch -n deb12 -c 2 -d 25G -m 2G https://cloud.debian.org/images/cloud/bookworm/daily/latest/debian-12-generic-amd64-daily.qcow2

Shell into the VM using:

multipass shell deb12

Then within the VM, run:

echo 'VERSION_ID="12"' >> /etc/os-release
curl iiab.io/install.txt | bash

A LARGE-sized IIAB install just about worked — here are the quick+dirty workarounds I used for now:

  1. The 1st error was:

    TASK [1-prep : Install 12 network packages: avahi-daemon, hostapd, iproute2, iptables-persistent, iw, libnss-mdns, netmask, net-tools, networkd-dispatcher, rfkill, wireless-tools, wpasupplicant -- later used by https://github.com/iiab/iiab/tree/master/roles/network] ***
    fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "No package matching 'networkd-dispatcher' is available"}

    Any suggested workarounds, to explore how IIAB will work on Debian 12 Bookworm (the basis for Raspberry Pi OS 12) in 2023?

    For now, I commented out Line 29 of network/tasks/install.yml to continue.

  2. The 2nd error was:

    TASK [kiwix : Make a crontab entry to restart kiwix-serve at 4AM (debuntu)] ********************************************************************************************
    fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "Destination /etc/crontab does not exist !", "rc": 257}

    I commented out Lines 26-31 of kiwix/tasks/enable-or-disable.yml to continue.

  3. The 3rd error was entirely expected, as Moodle's 4.1 LTS's PHP 8.1 support is converging right now week-to-week:

    TASK [moodle : Execute /opt/iiab/moodle/moodle_installer IF /opt/iiab/moodle/config.php doesn't yet exist -- REQUIRES 'max_input_vars = 5000' (or higher) in /etc/php/8.1/cli/php.ini IF PHP 8+ (as set up by www_options/tasks/main.yml) -- WHEREAS LATER ON Moodle uses /etc/php/8.1/fpm/php.ini during regular operation] ***
    fatal: [127.0.0.1]: FAILED! => {"changed": true, "cmd": "/opt/iiab/moodle/moodle_installer", "delta": "0:00:00.121594", "end": "2022-10-13 00:32:12.411611", "msg": "non-zero return code", "rc": 255, "start": "2022-10-13 00:32:12.290017", "stderr": "+ sudo -u www-data /usr/bin/php /opt/iiab/moodle/admin/cli/install.php --wwwroot=http://box.lan/moodle --dataroot=/library/moodle --dbtype=pgsql --dbname=moodle --dbuser=Admin --dbpass=changeme --fullname=Your_School --shortname=School --adminuser=admin --adminpass=changeme --non-interactive --agree-license --allow-unstable\nPHP Deprecated: Return type of moodle_recordset::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /opt/iiab/moodle/lib/dml/moodle_recordset.php on line 61\nPHP Fatal error: Type of xml_format_exception::$line must be int (as in class Exception) in /opt/iiab/moodle/lib/xmlize.php on line 42", "stderr_lines": ["+ sudo -u www-data /usr/bin/php /opt/iiab/moodle/admin/cli/install.php --wwwroot=http://box.lan/moodle --dataroot=/library/moodle --dbtype=pgsql --dbname=moodle --dbuser=Admin --dbpass=changeme --fullname=Your_School --shortname=School --adminuser=admin --adminpass=changeme --non-interactive --agree-license --allow-unstable", "PHP Deprecated: Return type of moodle_recordset::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /opt/iiab/moodle/lib/dml/moodle_recordset.php on line 61", "PHP Fatal error: Type of xml_format_exception::$line must be int (as in class Exception) in /opt/iiab/moodle/lib/xmlize.php on line 42"], "stdout": "\nDeprecated: Return type of moodle_recordset::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /opt/iiab/moodle/lib/dml/moodle_recordset.php on line 61\n\nFatal error: Type of xml_format_exception::$line must be int (as in class Exception) in /opt/iiab/moodle/lib/xmlize.php on line 42", "stdout_lines": ["", "Deprecated: Return type of moodle_recordset::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /opt/iiab/moodle/lib/dml/moodle_recordset.php on line 61", "", "Fatal error: Type of xml_format_exception::$line must be int (as in class Exception) in /opt/iiab/moodle/lib/xmlize.php on line 42"]}

    I set moodle_install: False and moodle_enabled: False in /etc/iiab/local_vars.yml to continue.

  4. The 4th error can be worked around, by setting mongodb_64bit_version: 6.0 in roles/mongodb/defaults/main.yml and forcing the install of bullseye's libssl1.1 with when: is_debian_12 much like PR mongodb/tasks/install.yml: Force libssl1.1 on is_linuxmint_21 too (for Sugarizer) #3397: (and admitting that pre-AVX CPU's from 2010 are less important now, that being the reason we hung onto the EOL'd MongoDB 4.4 until now)

    TASK [mongodb : Install packages: mongodb-org, mongodb-org-server] *****************************************************************************************************
    fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "No package matching 'mongodb-org' is available"}

    I used:

    apt_repository:
      repo: deb http://security.debian.org/debian-security bullseye-security main
    

    But the following likely also works:

    apt_repository:
      repo: deb https://deb.debian.org/debian-security bullseye-security main
    
  5. The 5th error was like the 2nd:

    TASK [matomo : Start Collecting Matomo Data] ***************************************************************************************************************************
    fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "Failed to find required executable "crontab" in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"}

    I set matomo_install: False and matomo_enabled: False in /etc/iiab/local_vars.yml to continue.

  6. Naturally networkd-dispatcher diagnostic hook creation failed:

    TASK [network : Create networkd-dispatcher diagnostic hook for recording network events] *******************************************************************************
    failed: [127.0.0.1] (item={'src': 'hostapd/00-iiab-debug', 'dest': '/etc/networkd-dispatcher/carrier.d/00-iiab-debug'}) => {"ansible_loop_var": "item", "changed": false, "checksum": "969e5f59a1fac94638d39846faa08afcf4f1b536", "item": {"dest": "/etc/networkd-dispatcher/carrier.d/00-iiab-debug", "src": "hostapd/00-iiab-debug"}, "msg": "Destination directory /etc/networkd-dispatcher/carrier.d does not exist"}
    failed: [127.0.0.1] (item={'src': 'hostapd/00-iiab-debug', 'dest': '/etc/networkd-dispatcher/degraded.d/00-iiab-debug'}) => {"ansible_loop_var": "item", "changed": false, "checksum": "969e5f59a1fac94638d39846faa08afcf4f1b536", "item": {"dest": "/etc/networkd-dispatcher/degraded.d/00-iiab-debug", "src": "hostapd/00-iiab-debug"}, "msg": "Destination directory /etc/networkd-dispatcher/degraded.d does not exist"}
    failed: [127.0.0.1] (item={'src': 'hostapd/00-iiab-debug', 'dest': '/etc/networkd-dispatcher/dormant.d/00-iiab-debug'}) => {"ansible_loop_var": "item", "changed": false, "checksum": "969e5f59a1fac94638d39846faa08afcf4f1b536", "item": {"dest": "/etc/networkd-dispatcher/dormant.d/00-iiab-debug", "src": "hostapd/00-iiab-debug"}, "msg": "Destination directory /etc/networkd-dispatcher/dormant.d does not exist"}
    failed: [127.0.0.1] (item={'src': 'hostapd/00-iiab-debug', 'dest': '/etc/networkd-dispatcher/no-carrier.d/00-iiab-debug'}) => {"ansible_loop_var": "item", "changed": false, "checksum": "969e5f59a1fac94638d39846faa08afcf4f1b536", "item": {"dest": "/etc/networkd-dispatcher/no-carrier.d/00-iiab-debug", "src": "hostapd/00-iiab-debug"}, "msg": "Destination directory /etc/networkd-dispatcher/no-carrier.d does not exist"}
    failed: [127.0.0.1] (item={'src': 'hostapd/00-iiab-debug', 'dest': '/etc/networkd-dispatcher/off.d/00-iiab-debug'}) => {"ansible_loop_var": "item", "changed": false, "checksum": "969e5f59a1fac94638d39846faa08afcf4f1b536", "item": {"dest": "/etc/networkd-dispatcher/off.d/00-iiab-debug", "src": "hostapd/00-iiab-debug"}, "msg": "Destination directory /etc/networkd-dispatcher/off.d does not exist"}
    failed: [127.0.0.1] (item={'src': 'hostapd/00-iiab-debug', 'dest': '/etc/networkd-dispatcher/routable.d/00-iiab-debug'}) => {"ansible_loop_var": "item", "changed": false, "checksum": "969e5f59a1fac94638d39846faa08afcf4f1b536", "item": {"dest": "/etc/networkd-dispatcher/routable.d/00-iiab-debug", "src": "hostapd/00-iiab-debug"}, "msg": "Destination directory /etc/networkd-dispatcher/routable.d does not exist"}

    I commented out Lines 81-83 of roles/network/tasks/main.yml just for now.

  7. Admin Console installed and logging into it works!

  8. iiab-diagnostics are: http://sprunge.us/aoLf3m?bash

Related:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions