Skip to content

Fix a permission denied when writing error log.

Vincent Hardion requested to merge fix-docker into develop

Description

TangoGQL cannot write error log in the /tangogql directory in docker since tango is the user which launch the server. It appears when running the Taranta-Suite with docker-compose.

taranta-suite-tangogql-1        | Traceback (most recent call last):
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/logging/config.py", line 564, in configure
taranta-suite-tangogql-1        |     handler = self.configure_handler(handlers[name])
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/logging/config.py", line 745, in configure_hand
taranta-suite-tangogql-1        |     result = factory(**kwargs)
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/logging/handlers.py", line 153, in __init__
taranta-suite-tangogql-1        |     BaseRotatingHandler.__init__(self, filename, mode, encoding=encoding,
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/logging/handlers.py", line 58, in __init__
taranta-suite-tangogql-1        |     logging.FileHandler.__init__(self, filename, mode=mode,
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/logging/__init__.py", line 1146, in __init__
taranta-suite-tangogql-1        |     StreamHandler.__init__(self, self._open())
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/logging/__init__.py", line 1175, in _open
taranta-suite-tangogql-1        |     return open(self.baseFilename, self.mode, encoding=self.encoding,
taranta-suite-tangogql-1        | PermissionError: [Errno 13] Permission denied: '/tangogql/errors.log'
taranta-suite-tangogql-1        |
taranta-suite-tangogql-1        | The above exception was the direct cause of the following exception:
taranta-suite-tangogql-1        |
taranta-suite-tangogql-1        | Traceback (most recent call last):
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/runpy.py", line 197, in _run_module_as_main
taranta-suite-tangogql-1        |     return _run_code(code, main_globals, None,
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/runpy.py", line 87, in _run_code
taranta-suite-tangogql-1        |     exec(code, run_globals)
taranta-suite-tangogql-1        |   File "/tangogql/tangogql/__main__.py", line 7, in <module>
taranta-suite-tangogql-1        |     run()
taranta-suite-tangogql-1        |   File "/tangogql/tangogql/aioserver.py", line 147, in run
taranta-suite-tangogql-1        |     (logger, app) = setup()
taranta-suite-tangogql-1        |   File "/tangogql/tangogql/aioserver.py", line 130, in setup
taranta-suite-tangogql-1        |     return (setup_logger(), setup_server())
taranta-suite-tangogql-1        |   File "/tangogql/tangogql/aioserver.py", line 122, in setup_logger
taranta-suite-tangogql-1        |     logging.config.dictConfig(config)
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/logging/config.py", line 809, in dictConfig
taranta-suite-tangogql-1        |     dictConfigClass(config).configure()
taranta-suite-tangogql-1        |   File "/env/lib/python3.9/logging/config.py", line 571, in configure
taranta-suite-tangogql-1        |     raise ValueError('Unable to configure handler '
taranta-suite-tangogql-1        | ValueError: Unable to configure handler 'error_file_handler'

Motivation

Run a seamless Taranta Suite for demo purpose

Fixes:

  • Add a system user "tango" with a "tango" group
  • Give ownership to "tango" of the /tangogql directory

Changes:

  • also updated the environment-freeze.yml to the latest pytango

Merge request reports