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
Stage 6/7 bypass of apps not yet compatible w/ Ubuntu 22.04 (Kolibri, Nextcloud, Moodle, Sugarizer) [ASIDE: Node.js 18.x works manually or using deb.nodesource.com install script] #3189
Conversation
…d, Kolibri, Moodle, Sugarizer)
Smoke-testing on 10.8.0.10 = 198-u2204-desk-LARGEish-PR3189 |
All looks good, allowing for very decent Day 1 support of IIAB on Ubuntu 22.04 (and especially when Nodesource.com support for Node.js on 22.04 arrives, i.e. when https://deb.nodesource.com/node_18.x/dists/jammy/Release is posted hopefully in the coming 48h !) Related: |
Hum... This protects the user when first installing, but does not protect later changes done by admin-console, will run the role anyway as each role is added to a list of roles to run and doesn't use iiab-from-console.yml any longer see iiab/iiab-admin-console#475 (comment) |
Should really introduce a hard stop in validate.yml when these roles are set in local_vars.yml and OS support does not exist yet. |
I have a servicesToHide variable that can be exposed to ansible vars, for example to put in the ub22.04 vars file. Actually I'm not sure I read those files except during an ansible run. |
Yes. This was done on purpose so implementers who really want to can try again 10/20/30 days later — if they really want to try installing apps/services. Using either |
Ubuntu 22.04 should be published in the next coming hours. All of this temporary shim/patch should hopefully go away within a few short weeks or months. (Though worst case Moodle 4.0.1 still might not support Ubuntu 22.04 in June, waiting for Moodle 4.1 later this year. Regardless they'll make an announcement to clarify very shortly.) |
FYI Sugarizer's support of Ubuntu 22.04 apparently needs a small code change by @llaske ? Hopefully he can clarify in coming days if adjustments are necessary here ? (FYI Sugarizer works great with Node.js 18.0!) Whereas something else seems to be preventing the latest Sugarizer from installing on 22.04... |
ASIDE/FYI: Node.js 18.x was manually installable onto Ubuntu 22.04 starting 5+ days ago, but FYI it might be a few more days until this is officially installable via nodesource.com : BACKGROUND: Node.js is used by Internet Archive, JupyterHub, Node-RED, pbx (Asterix, FreePBX) and Sugarizer — which means that LARGE-sized installs of IIAB Ubuntu 22.04 still need the above manual hack...for a few more days or so. |
IIAB should probably not do this, but just FYI one can fully delegate the decision of which LTS version of Node.js to install using this URL... https://deb.nodesource.com/setup_lts.x Instead of manually specifying which LTS version per usual... https://deb.nodesource.com/setup_18.x Background: The latest documentation for Nodesource.com installer scripts (to install Node.js) is upgraded frequently at https://github.com/nodesource/distributions#installation-instructions |
Clarification: the just-released Kolibri 0.15.2 doesn't work with Python 3.10 after all :/ |
Python 3.10 progress is emerging: |
This 'workaround' has effectively broken the preset functionality other than for the medical one.
And sets up the user for a fail should the user attempt to use ICO with a medium or larger install without even changing anything. ubuntu@exclusive-limpkin:/opt/iiab/iiab$
|
Going back to un-tick kolibri, save, ico. 2022-05-02 00:15:21,252 p=92605 u=root n=ansible | failed: [127.0.0.1] (item=kolibri) => {"ansible_loop_var": "item", "assertion": "kolibri_install or kolibri_installed is undefined", "changed": false, "evaluated_to": false, "item": "kolibri", "msg": "DISALLOWED: 'kolibri_install: False' (e.g. in /etc/iiab/local_vars.yml) WHEN 'kolibri_installed' is defined (e.g. in /etc/iiab/iiab_state.yml) -- IIAB DOES NOT SUPPORT UNINSTALLS -- please verify those 2 files especially, and other places variables are defined?"} Think this might be an admin-console issue, the tick box uncheck should of only written 'enabled False' and left as 'install True' in local_vars.yml ubuntu@exclusive-limpkin:/opt/iiab/iiab$ cat adm-run-roles-tmp.yml
|
Ubuntu 22.04 just isn't yet officially supported by several major packages.
The imminent Nextcloud 24 will quite likely work on Ubuntu 22.04 within 24-to-48 hours from now, so let's check back then.
Sugarizer will likely not work on Ubuntu 22.04 for many weeks — until MongoDB 6.1 (or some such!) supports 22.04's libssl 3.0: Related: Node.js 18.x should be officially installable on 22.04 within (about) week, as discussed on: nodesource/distributions#1359 So it's a pretty good bet that the vast majority of these teething issues will resolve themselves within about 10 days (the likely exception being MongoDB?) (Similar to Nextcloud 24's 2022-05-03 release that will likely appear as a pre-release at any moment later today; i.e. intensive testing of IIAB on Ubuntu 22.04 should begin within about 7-15 days from now, when this OS's teething issues are much more under control.) |
When the upstream get their stuff in line most of these issues go away, I'm just pointing out that adm-console does not use these 2 files that are modified with this PR making things extremely fragile within the console until these workarounds goes away. Maybe something like this in validate might be welcome?
The whole error message is visible within the slider to view the results. |
It's an excellent observation that "rapidly changing OS's" [*] could have not-quite-ready IIAB apps/services blocked in various ways, until the OS is more ready for primetime. [*] Likewise Debian 12 Bookworm (daily build), that is gaining in popularity now despite (the official story!) being that its release is a year away in 2023 (whereupon Debian users will jump to the next thing ;) Hard-coded blocks within https://github.com/iiab/iiab/blob/master/roles/0-init/tasks/validate_vars.yml and/or preferably within individual roles might make some sense in some cases — perhaps when upstream action/resolution appears many months away? This needs some thinking! (Certainly code that hard-blocks users feels overly harsh and somewhat overly burdensome when just days later implementers may immediately want to run the working |
That is why I have brought the issue up, validate can offer an upfront warning very early in the process and is common to all roles before the individual roles are called. Using an action in the roles just delays the warning/error till later in the ansible run, thought silent ignoring incorrect input via local_vars was discouraged. The whole point of validation is preventing errors during the ansible run. |
FYI https://github.com/nodesource/distributions#installation-instructions now works to install Node.js 18.x on Ubuntu 22.04 — thanks to the appearance of https://deb.nodesource.com/node_18.x/dists/jammy/Release — results are:
So these manual instructions using https://deb.nodesource.com/node_18.x/pool/main/n/nodejs/ are no longer needed: Related: |
Update — Nextcloud 24 was officially released earlier today, and works on PHP 8.1 on Ubuntu 22.04: |
Confirmation that Kolibri 0.15.3 (for Ubuntu 22.04) should be available in early June: |
7-edu-apps: TEMPORARY 'and not is_ubuntu_2210' for #3189
|
This is just an interim shim patch for the coming weeks — especially for newcomers embracing Ubuntu 22.04 "Jammy Jellyfish" being released in not so many hours today (2022-04-21) after 2 years!
More advanced IIAB implementers wanting to keep up day-by-day — with the very latest feasibility of (Nextcloud, Kolibri, Moodle, Sugarizer) on Ubuntu 22.04 — should keep an eye on Section 2. of:
https://github.com/iiab/iiab/wiki/IIAB-Platforms
RECAP: Anybody is free to attempt
cd /opt/iiab/iiab
thensudo ./runrole <role>
to later try to install any of these 4 apps/services.But most important, this PR serves to keep implementers from drowning in confusion when MEDIUM-sized IIAB installs fail to install {Kolibri, Nextcloud, Sugarizer} and LARGE-sized IIAB installs fail to install {Moodle} — all 4 of which aren't yet/quite compatible with Ubuntu 22.04's + Python 3.10 and/or PHP 8.1 and/or MongoDB.
[Related:]