OMERO 5.5/5.6 components compatibility

Hi @OMETeam, that is great news ACTION REQUIRED: Critical security release of OMERO coming March 25th, I was wodnering what is the reason of locking OMERO.web and only allowing to connect to 5.6 server where insight can connect to both 5.5 and 5.6 series (e.g. Release of OMERO 5.6.0 with Python 3)
The model hasn’t changed?

Could you please provide more details?
Thanks
Ola

Hi @olatarkowska,

You are right that neither the model nor the API was broken between OMERO 5.5 and 5.6 (except when necessary due to Python2->3 upgrade).

As such an OMERO.web 5.6 client should be able to connect to an OMERO 5.5 server. The changes in https://github.com/ome/omero-web/pull/32 were specifically aiming at relaxing the version check.

I tested a minimal configuration using the official Docker images. With the following docker-compose.yml file, I was able to connect to a 5.5.0 instance of an OMERO.server from a OMERO.web 5.6.1 deployment.

---
version: "3"

services:

  database:
    image: "postgres:11"
    environment:
      POSTGRES_USER: omero
      POSTGRES_DB: omero
      POSTGRES_PASSWORD: omero
    networks:
      - omero
    volumes:
      - "database:/var/lib/postgresql/data"

  omeroserver:
    image: "openmicroscopy/omero-server:5.5"
    environment:
      CONFIG_omero_db_host: database
      CONFIG_omero_db_user: omero
      CONFIG_omero_db_pass: omero
      CONFIG_omero_db_name: omero
      ROOTPASS: omero
    networks:
      - omero
    ports:
      - "4063:4063"
      - "4064:4064"
    volumes:
      - "omero:/OMERO"

  omeroweb:
    image: "openmicroscopy/omero-web-standalone:5.6"
    environment:
      OMEROHOST: omeroserver
    networks:
      - omero
    ports:
      - "4080:4080"

networks:
  omero:

volumes:
  database:
  omero:

Can you first try and reproduce this minimal example and confirm the server/client connection also succeeds for you? Next, we might need more information about your deployment (configuration, logs) to troubleshoot why the connection is broken.

1 Like

Thanks Seb for the answer:

I am facing issues regarding omero-py 5.6 connecting to 5.5.1 server

$ python test.py 
WARNING:omero.client:None - createSession retry: 1
WARNING:omero.client:None - createSession retry: 2
WARNING:omero.client:None - createSession retry: 1
WARNING:omero.client:None - createSession retry: 2
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    image = conn.getObject("Image", 135)
  File "/Users/ola/venv/test/lib/python3.7/site-packages/omero/gateway/__init__.py", line 3269, in getObject
    result = self.getQueryService().findByQuery(
  File "/Users/ola/venv/test/lib/python3.7/site-packages/omero/gateway/__init__.py", line 2564, in getQueryService
    return self._proxies['query']
  File "/Users/ola/venv/test/lib/python3.7/site-packages/omero/gateway/__init__.py", line 1502, in __getitem__
    raise Ice.ConnectionLostException
Ice.ConnectionLostException: Ice.ConnectionLostException:
recv() returned zero
from omero.gateway import BlitzGateway
conn = BlitzGateway('user', 'password', port=4064, host="omero.server")
conn.connect()

image = conn.getObject("Image", 135)

Is that Python 3.7 issue?

I can connect from Insight tho

Hi Ola

See below the set-up I used to test

  • using omero-install: I created and started a Ubuntu 18.04 Docker with OMERO 5.5.1 (OMERO.server-5.5.1-ice36-b122)
  • connect using OMERO.insight and import an image: success
  • create a Conda environment with zeroc-ice36-python, omero-py 5.6.2 and Python 3.7
  • Run the example test.py: success
<omero.gateway._BlitzGateway object at 0x10c464a90>
<_ImageWrapper id=1>

I created another Conda environment with Python 3.6, zeroc-ice36-python and omero-py 5.6.2
and I was also able to successfully connect and retrieve the image object.

<omero.gateway._BlitzGateway object at 0x1026d77f0>
<_ImageWrapper id=1>

It does not seem to be related to Python 3.7

Cheers

Jmarie