Hello, I need help with debugging (and getting it to run and install omero-servers...)
these prod-plabooks.
- Following the README.md i did:
> ansible-galaxy install -r requirements.yml
which works fine.
- and then installed ome-ansible-molecule
> pipx install ome-ansible-molecule
which fails horribly and and unchangingly:
2024-08-23T09:16:32_$USER@M10472:~/D/O/n/prod-playbooks [2]> pipx install ome-ansible-molecule
⢿ installing ome-ansible-molecule
⣯ installing ome-ansible-molecule
Fatal error from pip prevented installation. Full pip output in file:
/home/$USER/.local/pipx/logs/cmd_2024-08-23_09.16.36_pip_errors.log
pip seemed to fail to build package:
PyYAML
Some possibly relevant errors from pip install:
error: subprocess-exited-with-error
AttributeError: cython_sources
Error installing ome-ansible-molecule.
Details see attached text file 'bugreport.txt'. Or not, doesn't seem to work, so I pasted it below¹
Questions:
- How can I debug that PyYAML / cython_sources problem ?
Or alternatively:
- I got PyYAML on my OS, how can I adapt theese prod_playbooks to use that instead of the failing one?
Or even better:
- Do I need 'ome-ansible-molecule' to use the playbooks to install OMERO servers?
Thank you for the great OMERO project.
¹)
2024-08-23T09:13:55_$USER@M10472:~/D/O/n/prod-playbooks > ansible-galaxy install -r requirements.yml
Starting galaxy role install process
- ome.certbot (0.1.0) is already installed, skipping.
- ome.cli_utils (1.1.1) is already installed, skipping.
- ome.deploy_archive (0.1.4) is already installed, skipping.
- ome.docker (3.1.1) is already installed, skipping.
- ome.ice (4.3.0) is already installed, skipping.
- ome.java (2.1.0) is already installed, skipping.
- ome.iptables_raw (0.3.1) is already installed, skipping.
- ome.lvm_partition (1.1.1) is already installed, skipping.
- ome.network (1.1.4) is already installed, skipping.
- ome.nginx (2.1.1) is already installed, skipping.
- ome.nginx_proxy (1.15.2) is already installed, skipping.
- ome.nfs_mount (1.3.0) is already installed, skipping.
- ome.omero_common (0.3.4) is already installed, skipping.
- ome.basedeps (1.2.0) is already installed, skipping.
- ome.omero_prometheus_exporter (0.3.6) is already installed, skipping.
- ome.omero_server (4.0.2) is already installed, skipping.
- ome.omero_user (0.3.0) is already installed, skipping.
- ome.omero_web (4.0.1) is already installed, skipping.
- ome.python3_virtualenv (0.1.2) is already installed, skipping.
- ome.omero_web_django_prometheus (0.3.0) is already installed, skipping.
- ome.postgresql (5.2.0) is already installed, skipping.
- ome.postgresql_backup (0.2.1) is already installed, skipping.
- ome.postgresql_client (0.2.0) is already installed, skipping.
- ome.prometheus (0.5.1) is already installed, skipping.
- ome.prometheus_jmx (0.2.2) is already installed, skipping.
- ome.prometheus_node (0.2.2) is already installed, skipping.
- ome.prometheus_postgres (0.4.2) is already installed, skipping.
- ome.redis (1.1.1) is already installed, skipping.
- ome.selinux_utils (1.0.3) is already installed, skipping.
- ome.ssl_certificate (0.4.0) is already installed, skipping.
- ome.sudoers (1.0.4) is already installed, skipping.
- ome.system_monitor_agent (0.1.1) is already installed, skipping.
- ome.upgrade_distpackages (1.1.3) is already installed, skipping.
- ome.versioncontrol_utils (1.0.2) is already installed, skipping.
- idr.redmine_tracker (0.1.0) is already installed, skipping.
__
ansible [core 2.14.3]
config file = /home/$USER/Desktop/OMERO/prod-playbooks/ansible.cfg
configured module search path = ['/home/$USER/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /home/$USER/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.11.2 (main, May 2 2024, 11:59:08) [GCC 12.2.0] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
__
2024-08-23T09:16:32_$USER@M10472:~/D/O/n/prod-playbooks [2]> pipx install ome-ansible-molecule
⢿ installing ome-ansible-molecule
⣯ installing ome-ansible-molecule
Fatal error from pip prevented installation. Full pip output in file:
/home/$USER/.local/pipx/logs/cmd_2024-08-23_09.16.36_pip_errors.log
pip seemed to fail to build package:
PyYAML
Some possibly relevant errors from pip install:
error: subprocess-exited-with-error
AttributeError: cython_sources
Error installing ome-ansible-molecule.
__
PIP STDOUT
Collecting ome-ansible-molecule
Using cached ome_ansible_molecule-0.6.0-py3-none-any.whl.metadata (1.5 kB)
Collecting ansible==2.9.27 (from ome-ansible-molecule)
Using cached ansible-2.9.27.tar.gz (14.8 MB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting docker-compose==1.26.2 (from ome-ansible-molecule)
Using cached docker_compose-1.26.2-py2.py3-none-any.whl.metadata (5.0 kB)
Collecting molecule==2.22 (from ome-ansible-molecule)
Using cached molecule-2.22-py2.py3-none-any.whl.metadata (7.2 kB)
Collecting jmespath==0.10.0 (from ome-ansible-molecule)
Using cached jmespath-0.10.0-py2.py3-none-any.whl.metadata (8.0 kB)
Collecting rich<11.0.0 (from ome-ansible-molecule)
Using cached rich-10.16.2-py3-none-any.whl.metadata (19 kB)
Collecting jinja2 (from ansible==2.9.27->ome-ansible-molecule)
Using cached jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting PyYAML (from ansible==2.9.27->ome-ansible-molecule)
Using cached PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting cryptography (from ansible==2.9.27->ome-ansible-molecule)
Using cached cryptography-43.0.0-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.4 kB)
Collecting PyYAML (from ansible==2.9.27->ome-ansible-molecule)
Using cached PyYAML-5.4.1.tar.gz (175 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
PIP STDERR
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [54 lines of output]
running egg_info
writing lib3/PyYAML.egg-info/PKG-INFO
writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt
writing top-level names to lib3/PyYAML.egg-info/top_level.txt
Traceback (most recent call last):
File "/home/$USER/.local/pipx/shared/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/home/$USER/.local/pipx/shared/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/$USER/.local/pipx/shared/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 332, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 302, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 318, in run_setup
exec(code, locals())
File "", line 271, in
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/init.py", line 111, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 184, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
dist.run_commands()
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 964, in run_commands
self.run_command(cmd)
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 948, in run_command
super().run_command(command)
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 983, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 311, in run
self.find_sources()
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 319, in find_sources
mm.run()
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 540, in run
self.add_defaults()
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 578, in add_defaults
sdist.add_defaults(self)
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/command/sdist.py", line 105, in add_defaults
super().add_defaults()
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 250, in add_defaults
self._add_defaults_ext()
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 335, in _add_defaults_ext
self.filelist.extend(build_ext.get_source_files())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 201, in get_source_files
File "/tmp/pip-build-env-jx68j2rm/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 107, in getattr
raise AttributeError(attr)
AttributeError: cython_sources
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
__
2024-08-23T09:25:51_$USER@M10472:~/D/O/n/prod-playbooks [1]> pipx install ome-ansible-molecule
Fatal error from pip prevented installation. Full pip output in file:
/home/$USER/.local/pipx/logs/cmd_2024-08-23_09.25.56_pip_errors.log
pip seemed to fail to build package:
PyYAML
Some possibly relevant errors from pip install:
error: subprocess-exited-with-error
AttributeError: cython_sources
Error installing ome-ansible-molecule.
__
2024-08-23T09:26:28_$USER@M10472:/D/O/n/prod-playbooks [1]> dpkg -l cython* *py*yaml*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============================-============-============-=======================================================
ii cython-doc 0.29.32-2 all C-Extensions for Python - documentation
ii cython3 0.29.32-2+b1 amd64 C-Extensions for Python 3
ii cython3-dbg:amd64 0.29.32-2+b1 amd64 C-Extensions for Python 3 - debug build
ii python3-ruamel.yaml 0.17.21-1 all roundtrip YAML parser/emitter (Python 3 module)
ii python3-ruamel.yaml.clib:amd64 0.2.7-1+b2 amd64 C version of reader, parser and emitter for ruamel.yaml
ii python3-yaml 6.0-3+b2 amd64 YAML parser and emitter for Python3
2024-08-23T09:26:34_$USER@M10472:/D/O/n/prod-playbooks > pip list|grep -i yaml
PyYAML 6.0
ruamel.yaml 0.17.21
ruamel.yaml.clib 0.2.7
yamllint 1.29.0
__
OME production services playbooks
These playbooks encapsulate the running of various production servers run by the OME team.
If you are looking for examples of running your own production OMERO.server see
https://github.com/ome/omero-deployment-examples
Details
+- Install Ansible and dependencies using the ome-ansible-molecule package [0].
+- Install required roles: ansible-galaxy install -r requirements.yml
+- Run the `site.yml` playbook [1].
For details of individual playbooks see the comments in `site.yml` [2].
Testing
All server playbooks have a corresponding molecule [3] test scenario under `molecule` [4].
[0] https://pypi.org/project/ome-ansible-molecule/
[1] site.yml
[2] site.yml
[3] https://molecule.readthedocs.io/
[4] molecule
__
2024-08-23T09:29:00_$USER@M10472:~/D/O/n/prod-playbooks > dpkg -l *ansible*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================-============-============-===============================================================
ii ansible 7.3.0+dfsg-1 all Configuration management, deployment, and task execution system
un ansible-base (no description available)
ii ansible-core 2.14.3-1 all Configuration management, deployment, and task execution system
ii ansible-lint 6.13.1-1 all lint tool for Ansible playbooks
ii python3-ansible-compat 3.0.1-1 all Ansible compatibility goodies
__
DAMNIT, IS IT MY OWN FAULT BECAUSE I USE PYTHON 3.11 instead 3.9 ?!
I didn't expect the version requirements of the OMERO servers extend
to ansible scripts which are usually run from outside the server machines...
__