Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test IIAB on Ubuntu 21.10 (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? [OS released 2021-10-14] [JupyterHub install pip fails intermittently?] #2818

Closed
holta opened this issue Jun 18, 2021 · 20 comments

Comments

@holta
Copy link
Member

holta commented Jun 18, 2021

In the short-term /opt/iiab/iiab/vars/ubuntu-21.yml (Line 26) should be modified by hand to specify PHP 8.0 (and likely later Line 27, PostgreSQL 13 -> 14) as these versions are different from Ubuntu 21.04

Ubuntu 21.10 (Impish Indri) pre-release daily builds:

Refs: #2744, #2814

@holta
Copy link
Member Author

holta commented Jun 25, 2021

To get a better picture of PHP 8.0 released 7 months ago (#2814) a BIG-sized IIAB was installed on Ubuntu Server 20.10 pre-release daily build (VM) at 10.8.0.30 = u2110-srv-BIG-0625. Using these 2 PHP 8.0 workarounds: (WIP)

  1. Package php8.0-xmlrpc doesn't exist:

    TASK [www_base : Install ~10 PHP packages (debuntu)] ***************************
    fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "No package matching 'php8.0-xmlrpc' is available"}

    If it turns out it's still needed by IIAB (?) fyi the "XML-RPC Extension Has Been Moved to PECL in PHP 8.0" :

    For purposes of experimentation, I commented out the installation of php8.0-xmlrpc (on Line 18 of https://github.com/iiab/iiab/blob/master/roles/www_base/tasks/main.yml#L18) for now.

  2. Package php8.0-json does not exist as it's now moved into PHP's core:

    TASK [nextcloud : Install ffmpeg libxml2 13 php packages] ******************
    fatal: [127.0.0.1]: FAILED! => {"cache_update_time": 1624640653, "cache_updated": false, "changed": false, "msg": "'/usr/bin/apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" install 'ffmpeg' 'php8.0-bcmath' 'php8.0-bz2' 'php8.0-gmp' 'php8.0-imagick' 'php8.0-json' 'php8.0-zip'' failed: E: Package 'php8.0-json' has no installation candidate\n", "rc": 100, "stderr": "E: Package 'php8.0-json' has no installation candidate\n", "stderr_lines": ["E: Package 'php8.0-json' has no installation candidate"], "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nPackage php8.0-json is a virtual package provided by:\n php8.0-phpdbg 8.0.5-1ubuntu1\n php8.0-fpm 8.0.5-1ubuntu1\n libphp8.0-embed 8.0.5-1ubuntu1\n php8.0-cli 8.0.5-1ubuntu1\n php8.0-cgi 8.0.5-1ubuntu1\n libapache2-mod-php8.0 8.0.5-1ubuntu1\n\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "Package php8.0-json is a virtual package provided by:", " php8.0-phpdbg 8.0.5-1ubuntu1", " php8.0-fpm 8.0.5-1ubuntu1", " libphp8.0-embed 8.0.5-1ubuntu1", " php8.0-cli 8.0.5-1ubuntu1", " php8.0-cgi 8.0.5-1ubuntu1", " libapache2-mod-php8.0 8.0.5-1ubuntu1", ""]}

    Also Nextcloud 22 should be released on 2021-07-06 to further clarify Nextcloud's PHP requirements, with the successor document to: https://docs.nextcloud.com/server/21/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

@holta
Copy link
Member Author

holta commented Jun 25, 2021

General Reminder from https://github.com/iiab/iiab/wiki/IIAB-Platforms that manually installing Node.js 12.x will do for now:

Prior to Ubuntu 21.10's 2021-10-14 release, Node.js and npm need to be installed manually, running these 2 lines as root: (for roles/internetarchive, roles/nodered, roles/pbx i.e. Asterisk/FreePBX and/or roles/sugarizer)

  • apt install nodejs npm # Installs Node.js 12.x.y (for now, 14.x.y or 16.x.y later?) and npm 7.x.y (for now)
  • echo 'nodejs_installed: True' >> /etc/iiab/iiab_state.yml

Refs: #2808, PR #2816

@holta
Copy link
Member Author

holta commented Jun 29, 2021

Ubuntu Impish Indri Release Schedule:
https://discourse.ubuntu.com/t/impish-indri-release-schedule/18540

(For the OS that will be released in 3.5 months on 2021-10-14)

@holta holta changed the title Test IIAB on Ubuntu 21.10 pre-releases (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? Test IIAB on Ubuntu 21.10 pre-releases (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? [OS ETA 2021-10-14] Aug 11, 2021
@holta holta pinned this issue Sep 5, 2021
@jvonau
Copy link
Contributor

jvonau commented Sep 12, 2021

How about an iiab-diagnostics from recent testing install?

@holta
Copy link
Member Author

holta commented Sep 13, 2021

How about an iiab-diagnostics from recent testing install?

/etc/iiab/diag/7.2_ubuntu-21_2021-09-12_23:37:01_EDT_u2110-srv is posted to:

http://sprunge.us/6aeZrn?en

If you need to log in, it's: 198-u2110-srv-MEDIUM = 10.8.0.50

@holta
Copy link
Member Author

holta commented Sep 13, 2021

http://sprunge.us/6aeZrn?en

If you need to log in, it's: 198-u2110-srv-MEDIUM

Just a reminder that Ubuntu 21.10 pre-releases still require 2 manual steps when install installing IIAB (PHP 8.0 and Node.js 12) as explained above, and also in Section 2. hereunder:

https://github.com/iiab/iiab/wiki/IIAB-Platforms#operating-systems

These 2 manual steps will go away within the coming month (on or before 2021-10-14).

@holta
Copy link
Member Author

holta commented Oct 15, 2021

Ubuntu 21.10 Impish Indri is now released:

Thanks to @deldesir there is progress testing Ubuntu Server 21.10 on Raspberry Pi 4 here:

@holta holta changed the title Test IIAB on Ubuntu 21.10 pre-releases (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? [OS ETA 2021-10-14] Test IIAB on Ubuntu 21.10 (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? [OS released 2021-10-14] Oct 15, 2021
@holta
Copy link
Member Author

holta commented Oct 15, 2021

Thanks @deldesir if you can help test all 4 scenarios (mentioned in this tkt's title/subject line) if you have time in the coming week?

@holta
Copy link
Member Author

holta commented Oct 16, 2021

@deldesir & all: Node 16.x now auto-installs on Ubuntu 21.10 — thanks for pushing ahead with all 4 HW/OS testing scenarios when you can!

Thanks to:

@holta
Copy link
Member Author

holta commented Oct 16, 2021

@georgejhunt do you recognize this JupyterHub error on Ubuntu Server 21.10 ?

TASK [jupyterhub : pip install 7 packages into virtual environment: /opt/iiab/jupyterhub (~229 MB)] ***
fatal: [127.0.0.1]: FAILED! => {"changed": false, "cmd": ["/usr/bin/python3", "-m", "venv", "/opt/iiab/jupyterhub", "/opt/iiab/jupyterhub"], "msg": "\n:stderr: Error: Command '['/opt/iiab/jupyterhub/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.\n"}

The machine (VM) is 10.8.0.34 == 196-u2110-srv-jupyterhub with sudo iiab-diagnostics output here:

http://sprunge.us/DlWJOy?en

@holta
Copy link
Member Author

holta commented Oct 16, 2021

@georgejhunt can you help us explain why ./runrole jupyterhub ran successfully the 2nd time around? (But failed the 1st time, as seen in the Ansible failure 10 min ago, just above.) It's almost as if this is becoming an ugly pattern (run everything twice!) as ./runrole lokole certainly also needs to be run twice, as documented here:

A few more details here, just in case this sheds light:

root@u2110-srv:~# node -v
v16.11.1

root@u2110-srv:~# /opt/iiab/jupyterhub/bin/python3 -Im ensurepip --upgrade --default-pip
Looking in links: /tmp/tmpkftn_60g
Requirement already satisfied: setuptools in /opt/iiab/jupyterhub/lib/python3.9/site-packages (44.1.1)
Processing /tmp/tmpkftn_60g/setuptools-44.1.1-py2.py3-none-any.whl
Requirement already satisfied: pip in /opt/iiab/jupyterhub/lib/python3.9/site-packages (20.3.4)
Processing /tmp/tmpkftn_60g/pip-20.3.4-py2.py3-none-any.whl
Requirement already satisfied: pkg_resources in /opt/iiab/jupyterhub/lib/python3.9/site-packages (0.0.0)
Processing /tmp/tmpkftn_60g/pkg_resources-0.0.0-py2.py3-none-any.whl

root@u2110-srv:~# python3 --version
Python 3.9.7

root@u2110-srv:~# pip --version
pip 20.3.4 from /usr/lib/python3/dist-packages/pip (python 3.9)
root@u2110-srv:~# pip3 --version
pip 20.3.4 from /usr/lib/python3/dist-packages/pip (python 3.9)

root@u2110-srv:~# php -v
PHP 8.0.8 (cli) (built: Sep 11 2021 04:17:39) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.8, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.8, Copyright (c), by Zend Technologies

@holta
Copy link
Member Author

holta commented Oct 16, 2021

@georgejhunt @deldesir now that JupyterHub is installed (as a result of running ./runrole jupyterhub twice) you can test it out here, e.g. with the usual username/password:

http://10.8.0.34/jupyterhub

@holta
Copy link
Member Author

holta commented Oct 16, 2021

ASIDE: I personally cannot recommend Ubuntu Desktop 21.10 on RPi 4 for schools. As is, its graphical desktop freezes completely, with the freshly-installed OS and nothing else installed on it — freezing regularly, about every hour or so — whether the machine is being actively used or not :/

PS I'm able to unfreeze the graphical desktop by running systemctl restart display-manager.service (e.g. over ssh) which may be fine for hackers — but is completely impractical for teachers-who-need-to-teach (and NOT spend their lives fighting the technology ;-)

@holta holta changed the title Test IIAB on Ubuntu 21.10 (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? [OS released 2021-10-14] Test IIAB on Ubuntu 21.10 (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? [OS released 2021-10-14] [JupyterHub install pip fails, until it's run twice?] Oct 16, 2021
@jvonau
Copy link
Contributor

jvonau commented Oct 16, 2021

e88c5df introduced a regression by not installing the hard dependence python3-setuptools found in ansible.core.pip, this apt package may not be dragged in by merely installing pyhon3-pip on Ubuntu.

@holta
Copy link
Member Author

holta commented Oct 16, 2021

  1. Just FYI Ubuntu Server 21.10 includes apt package python3-setuptools pre-installed — whereas Ubuntu Desktop 21.10 does not.

  2. The Ansible pip failure from 8h ago was not repeatable, very strangely, under essentially identical conditions — i.e. installing IIAB onto an Ubuntu Server 21.10 VM with /etc/iiab/local_vars.yml set to local_vars_unittest.yml modified with these 2 lines:

    jupyterhub_install: True
    jupyterhub_enabled: True
    

    i.e. I don't know why, but it ran flawlessly to completion this time, as confirmed by this iiab-diagnostics output: http://sprunge.us/2NsyAk?en

@holta
Copy link
Member Author

holta commented Oct 16, 2021

  1. The Ansible pip failure from 8h ago with JupyterHub was also not repeatable on Ubuntu Desktop 21.10 (VM), as confirmed here: http://sprunge.us/ASlf4F?en

    So if it was an obscure timing/dependency issue of some kind that occurred 9h ago, possibly arising from my use of runrole during the 1st install (that failed) I guess we just keep an eye on it.

    In any case, re-running sudo iiab worked to resolve it then (9h ago) just in case this glitch recurs for others in future.

@holta
Copy link
Member Author

holta commented Oct 16, 2021

https://docs.ansible.com/ansible/latest/collections/ansible/builtin/pip_module.html#notes

☝️

@deldesir the above link (that @jvonau sent overnight) is incredibly useful.

Just in case python / pip dependency issues (inevitably!) crop up in future...

@holta
Copy link
Member Author

holta commented Oct 16, 2021

FYI in answer to the 3-month old question in this tkt's title/subject line:

WiFi firmware 7.45.18.0 was tested successfully, over a few quick minutes anyway — using an Android 11 phone accessing BIG-sized IIAB 10.8.0.50 — that was installed Thursday onto Ubuntu Server 21.10 on RPi 4.

@holta holta changed the title Test IIAB on Ubuntu 21.10 (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? [OS released 2021-10-14] [JupyterHub install pip fails, until it's run twice?] Test IIAB on Ubuntu 21.10 (RPi PC) x (Server Desktop). Does RPi WiFi firmware 7.45.18.0 work well? [OS released 2021-10-14] [JupyterHub install pip fails intermittently?] Oct 16, 2021
@deldesir
Copy link
Contributor

deldesir commented Oct 16, 2021

I found no python dependency or other issue for BIG size IIAB install regarding ansible-core 2.12.0b2 on 4 different VMs and RPI's (using both server and desktop version of Ubuntu 21.10)

@holta
Copy link
Member Author

holta commented Nov 10, 2021

Looks good enough for now — all 4 BIG-sized tests were re-run in recent days: Ubuntu 21.10 (RPi PC) x (Server Desktop).

Thanks to @icebox827 and thanks to everybody who made this possible.

We can re-open this ticket later if absolutely necessary, if/as small issues flare up en route to Ubuntu "Jammy Jellyfish" 22.04 LTS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants