TASK [mysql : install mysql-5.7-client] ****************************************
fatal: [localhost]: FAILED! => {“cache_update_time”: 1611644091, “cache_updated”: true, “changed”: false, “msg”: “’/usr/bin/apt-get -y -o “Dpkg::Options::=–force-confdef” -o “Dpkg::Options::=–force-confold” install ‘mysql-client=5.7.32-1ubuntu18.04’’ failed: E: Version ‘5.7.32-1ubuntu18.04’ for ‘mysql-client’ was not found\n”, “rc”: 100, “stderr”: “E: Version ‘5.7.32-1ubuntu18.04’ for ‘mysql-client’ was not found\n”, “stderr_lines”: [“E: Version ‘5.7.32-1ubuntu18.04’ for ‘mysql-client’ was not found”], “stdout”: “Reading package lists…\nBuilding dependency tree…\nReading state information…\n”, “stdout_lines”: [“Reading package lists…”, “Building dependency tree…”, “Reading state information…”]}
According to the instructions Ubuntu 20.04 is needed.
However, when I follow the instructions I saw errors during mysql-client. It looks like mysql 5.7 is no longer available in 20.04.
The MySQL version 5.7.32-1ubuntu18.04 was replaced by 5.7.33-1ubuntu18.04 in the Ubuntu repository but the Ansible script for open-release/koa.1 was not updated. It was updated in open-release/koa.master though.
If you install from the open-release/koa.master branch it should work.
As far as I know, the bionic repository only contains MySQL 8. The installation script replaces the APT sources list and will force the installation of the 5.7 version. To install MySQL 8 you would have to edit the Ansible scripts but I suspect it would cause other problems.
The easiest solution is to install from the open-release/koa.master branch.
Still the same error, i just try an installation right now, and it failed:
TASK [mysql : Remove experimental version of mysql] ****************************
[DEPRECATION WARNING]: Invoking “apt” only once while using a loop via
squash_actions is deprecated. Instead of using a loop to supply multiple items
and specifying name: "{{ item }}", please use name: ['mysql-server-5.6', 'mysql-server'] and remove the loop. This feature will be removed in version
2.11. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
skipping: [localhost] => (item=)
TASK [mysql : Install mysql dependencies] **************************************
ok: [localhost]
If you need help, see Connect - Open edX .
When asking for help, please provide as much information as you can.
These might be helpful:
Your log file is at /root/logs/install-20210131-182439.log
Your environment:
OPENEDX_RELEASE=open-release/koa.master
The solution above was working until recently the mysql 5.7.33 started giving error again. So based on technique above, we need to change 2 files.
Mongo 3_6 → 4_0 and mysql, but instead of mysql version 33 change the number to 34.
File:
I don’t think it’s a good practice to commit a new mysql version number each time.
Shouldn’t we add instead an ansible task to retrieve the first available mysql version that satisfies a given constraint ? (e.g. Look for whatever mysql 5.7.x-1ubuntu18.04)
I just tried this and it is insufficient on a vanilla GCE Ubuntu 20.04 VM. There is no available repo to provide MySQL 5.7.anything since it uses 8.x only.
I would go a step further and look for whatever MySQL version is available on the Ubuntu release and not restrict it to 5.7. I realize that may mean updating some code but hopefully, 5.7 and 8 are not incompatible? If so, maybe the maple release should just bite the bullet and upgrade to 8.whatever?