Чем мы можем вам помочь?

Описание проблемы:

Возникновение бесконечной загрузки во вкладке «Группы» панели администратора PGS.

Для просмотра журнала событий необходимо подключиться к серверу с ролью infrastructure и выполнить следующую команду:

tail -n 100 /var/log/pgs/<domain_env>.<domain_name>/euclid/critical.log

где <domain_env>, <domain_name> — переменные из файла inventory.

Пример отображения ошибки в журнале событий:

RITICAL - 2023-10-31 12:53:04,037 - pgs.euclid - GET /tenants/Default/groups,  Internal server error  500 | - ms
Headers: {'X-FORWARDED-FOR':
...
...
Error: None
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/falcon/api.py", line 269, in __call__
    responder(req, resp, **params)
  File "/usr/local/lib/python3.11/site-packages/falconswaggerautodoc/schema_decorators.py", line 42, in wrapped
    f(self, *f_args, **f_kwargs)
  File "/opt/Pythagoras/Euclid/endpoints/groups.py", line 91, in on_get
    tenant=req.tenant).data}
                       ^^^^
  File "/opt/Pythagoras/Euclid/serializers/group_serializers.py", line 64, in data
    return [self._serialize_group(group) for group in self.groups]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/Pythagoras/Euclid/serializers/group_serializers.py", line 64, in <listcomp>
    return [self._serialize_group(group) for group in self.groups]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/Pythagoras/Euclid/serializers/group_serializers.py", line 47, in _serialize_group
    res["users"] = self.serialize_groupmembers(users)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/Pythagoras/Euclid/serializers/group_serializers.py", line 78, in serialize_groupmembers
    if "middle_name" in user["attributes"] else ""
                        ~~~~^^^^^^^^^^^^^^
KeyError: 'attributes'

Решение:

1. Выполнить на сервере с ролью keycloack следующую команду:

docker exec $(docker ps -qf name=keycloak)\

 /opt/jboss/keycloak/bin/kcadm.sh create clear-user-cache\

-r <realm> -s realm=<realm> --server\

 http://localhost:8080/auth --realm master\

 --user pgs --password <KEYCLOAK_PASSWORD>

2. Выполнить на сервере с ролью pythagoras следующую команду:

docker exec $(docker ps -q -f name=pgs_aristoteles)\

 bash -c "python initializers/RedisInit.py"

Был ли материал полезным?
Да
Нет
Следующее
Не запускается сервис SisyphusWorker