IDR / deployment

Deployment infrastructure for the Image Data Resource
https://idr.openmicroscopy.org/about/deployment.html
BSD 2-Clause "Simplified" License
13 stars 14 forks source link

Rocky Linux 9 IDR upgrade #413

Closed sbesson closed 7 months ago

sbesson commented 10 months ago

This PR contains the changes require to deploy an IDR system onto Rocky Linux 9. Most importantly, the Ansible requirements are updated to depend on the latest versions of the OME roles adjusted to supported Rocky Linux 9.

The following Ansible roles are upgraded

A few additional changes were required:

As discussed during the IDR weekly meeting, this PR takes the advantage of the Python 3.9 deployment to also upgrades OMERO.web to 5.25.0 and the associated OMERO.web apps:

A few additional role fixes still need to be reviewed, merged and released:

sbesson commented 9 months ago

From the Molecule perspective everything looks to be working with the set of upgraded Ansible roles - thanks @pwalczysko @khaledk2 and @jburel for all the underlying maintenance work.

Next step will be to deploy these changes onto a dedicate pilot VM created with Rocky Linux 9.

dominikl commented 9 months ago

👍 I'll try to spin up a pilot with rocky9.

dominikl commented 7 months ago

Spun up pilot-idr0159 using this PR and https://github.com/openmicroscopy/management_tools/pull/1733 . The pilot provisioning steps ran fine, but updating the pilot proxy (./playbooks/deploy-idr.sh pilot deploy) fails with

...
[WARNING]: Unhandled error in Python interpreter discovery for host 0c25d71f-5e26-49dc-9cb0-be3c3d85cb7c: exceptions.IOError: Unable to find a useable temporary directory. This
likely means no system-supplied TMP directory can be written to, or all directories were mounted on 'noexec' filesystems.  The following paths were tried:
/home/rocky/.ansible/tmp     /var/tmp     /tmp     /tmp     /var/tmp     /usr/tmp     /home/rocky  Please check '-vvv' output for a log of individual path errors.   File "<stdin>",
line 3706, in _dispatch_one   File "master:/Users/dom/PR_Testing/management_tools/mitogen/ansible_mitogen/target.py", line 376, in init_child     good_temp_dir =
find_good_temp_dir(candidate_temp_dirs)   File "master:/Users/dom/PR_Testing/management_tools/mitogen/ansible_mitogen/target.py", line 329, in find_good_temp_dir     'paths': '\n
'.join(paths),
An exception occurred during task execution. To see the full traceback, use -vvv. The error was:     'paths': '\n    '.join(paths),
0c25d71f-5e26-49dc-9cb0-be3c3d85cb7c | FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}
Failed to ping 'pilot-*' hosts
Typical causes of failure include:
- mismatch or missing SSH key in .ssh/known_hosts for the proxy
- networking configuration that is incompatible with the dynamic inventory
Aborting
pwalczysko commented 7 months ago

I am testing this PR in unison with https://github.com/openmicroscopy/management_tools/pull/1733 - please see my comments there, thanks.

sbesson commented 7 months ago

As a brief summary of the deployment effort over the last few month:

Both remaining issues are outside the scope of this original PR and should rather build on top of this. I'll leave until tomorrow 10am for any last minute objection and then will integrate this PR.