galaxy_ng
galaxy_ng copied to clipboard
Fix traceback on user serializer with accessing social auth table.
When the DAB resource registry is enabled and the oci profile doesn't actually "install" social-core, this traceback is thrown ...
pulp-1 | Traceback (most recent call last):
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
pulp-1 | response = get_response(request)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
pulp-1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
pulp-1 | return view_func(*args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/viewsets.py", line 125, in view
pulp-1 | return self.dispatch(request, *args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 509, in dispatch
pulp-1 | response = self.handle_exception(exc)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 469, in handle_exception
pulp-1 | self.raise_uncaught_exception(exc)
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
pulp-1 | raise exc
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 506, in dispatch
pulp-1 | response = handler(request, *args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/mixins.py", line 56, in retrieve
pulp-1 | return Response(serializer.data)
pulp-1 | ^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/serializers.py", line 555, in data
pulp-1 | ret = super().data
pulp-1 | ^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/serializers.py", line 253, in data
pulp-1 | self._data = self.to_representation(self.instance)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/src/galaxy_ng/galaxy_ng/app/api/ui/serializers/user.py", line 134, in to_representation
pulp-1 | representation = super().to_representation(instance)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/serializers.py", line 522, in to_representation
pulp-1 | ret[field.field_name] = field.to_representation(attribute)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/fields.py", line 1838, in to_representation
pulp-1 | return method(value)
pulp-1 | ^^^^^^^^^^^^^
pulp-1 | File "/src/galaxy_ng/galaxy_ng/app/api/ui/serializers/user.py", line 47, in get_auth_provider
pulp-1 | if hasattr(user, 'social_auth') and user.social_auth.all():
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 412, in __bool__
pulp-1 | self._fetch_all()
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 1881, in _fetch_all
pulp-1 | self._result_cache = list(self._iterable_class(self))
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 91, in __iter__
pulp-1 | results = compiler.execute_sql(
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/sql/compiler.py", line 1562, in execute_sql
pulp-1 | cursor.execute(sql, params)
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 102, in execute
pulp-1 | return super().execute(sql, params)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 67, in execute
pulp-1 | return self._execute_with_wrappers(
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
pulp-1 | return executor(sql, params, many, context)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 84, in _execute
pulp-1 | with self.db.wrap_database_errors:
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/utils.py", line 91, in __exit__
pulp-1 | raise dj_exc_value.with_traceback(traceback) from exc_value
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 89, in _execute
pulp-1 | return self.cursor.execute(sql, params)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/psycopg/cursor.py", line 732, in execute
pulp-1 | raise ex.with_traceback(None)
pulp-1 | django.db.utils.ProgrammingError: relation "social_auth_usersocialauth" does not exist
pulp-1 | LINE 1: ...ed", "social_auth_usersocialauth"."modified" FROM "social_au...
pulp-1 | ^
pulp-1 | ('pulp [56d724dcde884ac7b22d48ef03558f32]: ::ffff:127.0.0.1 - admin [08/Apr/2024:18:06:03 +0000] "GET /api/galaxy/_ui/v1/me/ HTTP/1.0" 500 222348 "-" "curl/8.0.1"',)
seeing another traceback when tokens are fetched with the keycloak profile ...
pulp-1 | Traceback (most recent call last):
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
pulp-1 | response = get_response(request)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
pulp-1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
pulp-1 | return view_func(*args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
pulp-1 | return self.dispatch(request, *args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 509, in dispatch
pulp-1 | response = self.handle_exception(exc)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 469, in handle_exception
pulp-1 | self.raise_uncaught_exception(exc)
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
pulp-1 | raise exc
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 497, in dispatch
pulp-1 | self.initial(request, *args, **kwargs)
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 414, in initial
pulp-1 | self.perform_authentication(request)
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 324, in perform_authentication
pulp-1 | request.user
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/request.py", line 227, in user
pulp-1 | self._authenticate()
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/request.py", line 380, in _authenticate
pulp-1 | user_auth_tuple = authenticator.authenticate(self)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/authentication.py", line 87, in authenticate
pulp-1 | return self.authenticate_credentials(userid, password, request)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/src/galaxy_ng/galaxy_ng/app/auth/keycloak.py", line 52, in authenticate_credentials
pulp-1 | user = strategy.authenticate(backend, response=token_data)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/social_django/strategy.py", line 104, in authenticate
pulp-1 | return authenticate(*args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/views/decorators/debug.py", line 42, in sensitive_variables_wrapper
pulp-1 | return func(*func_args, **func_kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/contrib/auth/__init__.py", line 77, in authenticate
pulp-1 | user = backend.authenticate(request, **credentials)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/social_core/backends/base.py", line 83, in authenticate
pulp-1 | return self.pipeline(pipeline, *args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/social_core/backends/base.py", line 86, in pipeline
pulp-1 | out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/social_core/backends/base.py", line 118, in run_pipeline
pulp-1 | result = func(*args, **out) or {}
pulp-1 | ^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/social_core/pipeline/social_auth.py", line 19, in social_user
pulp-1 | social = backend.strategy.storage.user.get_social_auth(provider, uid)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/social_django/models.py", line 58, in get_social_auth
pulp-1 | return cls.objects.select_related("user").get(provider=provider, uid=uid)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 633, in get
pulp-1 | num = len(clone)
pulp-1 | ^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 380, in __len__
pulp-1 | self._fetch_all()
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 1881, in _fetch_all
pulp-1 | self._result_cache = list(self._iterable_class(self))
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/query.py", line 91, in __iter__
pulp-1 | results = compiler.execute_sql(
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/models/sql/compiler.py", line 1562, in execute_sql
pulp-1 | cursor.execute(sql, params)
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 102, in execute
pulp-1 | return super().execute(sql, params)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 67, in execute
pulp-1 | return self._execute_with_wrappers(
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
pulp-1 | return executor(sql, params, many, context)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 84, in _execute
pulp-1 | with self.db.wrap_database_errors:
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/utils.py", line 91, in __exit__
pulp-1 | raise dj_exc_value.with_traceback(traceback) from exc_value
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 89, in _execute
pulp-1 | return self.cursor.execute(sql, params)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/psycopg/cursor.py", line 732, in execute
pulp-1 | raise ex.with_traceback(None)
pulp-1 | django.db.utils.ProgrammingError: relation "social_auth_usersocialauth" does not exist
pulp-1 | LINE 1: ...er"."is_active", "galaxy_user"."date_joined" FROM "social_au...
pulp-1 | ^
pulp-1 | ('pulp [f51766e3c1b04b7ab7ab57dbaa5bd441]: ::ffff:127.0.0.1 - hermes [08/Apr/2024:18:35:33 +0000] "POST /api/galaxy/v3/auth/token/ HTTP/1.0" 500 280490 "-" "ansible-galaxy/2.12.10 (Linux; python:3.11.7)"',)
another issue with DAB ...
pulp-1 | Traceback (most recent call last):
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/fields.py", line 446, in get_attribute
pulp-1 | return get_attribute(instance, self.source_attrs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/fields.py", line 96, in get_attribute
pulp-1 | instance = getattr(instance, attr)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | AttributeError: 'User' object has no attribute 'organizations_administered'
pulp-1 |
pulp-1 | During handling of the above exception, another exception occurred:
pulp-1 |
pulp-1 | Traceback (most recent call last):
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
pulp-1 | response = get_response(request)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
pulp-1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
pulp-1 | return view_func(*args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/viewsets.py", line 125, in view
pulp-1 | return self.dispatch(request, *args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 509, in dispatch
pulp-1 | response = self.handle_exception(exc)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 469, in handle_exception
pulp-1 | self.raise_uncaught_exception(exc)
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
pulp-1 | raise exc
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 506, in dispatch
pulp-1 | response = handler(request, *args, **kwargs)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/ansible_base/resource_registry/views.py", line 97, in additional_data
pulp-1 | return Response(data.data)
pulp-1 | ^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/serializers.py", line 555, in data
pulp-1 | ret = super().data
pulp-1 | ^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/serializers.py", line 253, in data
pulp-1 | self._data = self.to_representation(self.instance)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/serializers.py", line 509, in to_representation
pulp-1 | attribute = field.get_attribute(instance)
pulp-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pulp-1 | File "/usr/local/lib/python3.11/site-packages/rest_framework/fields.py", line 479, in get_attribute
pulp-1 | raise type(exc)(msg)
pulp-1 | AttributeError: Got AttributeError when attempting to get a value for field `organizations_administered` on serializer `UserAdditionalDataSerializer`.
pulp-1 | The serializer field might be named incorrectly and not match any attribute or key on the `User` instance.
pulp-1 | Original exception text was: 'User' object has no attribute 'organizations_administered'.
pulp-1 | ('pulp [5bde5eec76614a49be2aca1c56699a35]: ::ffff:127.0.0.1 - admin [08/Apr/2024:20:41:01 +0000] "GET /api/galaxy/service-index/resources/d8663e2a-4c21-41ef-b705-c3faa71664cb/additional_data/ HTTP/1.0" 500 154351 "-" "curl/8.0.1"',)