Fix a permission denied when writing error log.
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