zalf-rdm / geonode-k8s

A Kubernetes helm chart for the geospacial webapplication Geonode
https://geonode-k8s.readthedocs.io/en/latest/
GNU General Public License v2.0
13 stars 7 forks source link

Bug: running geonode 4.3.0 changed the default memcached backend #184

Closed mwallschlaeger closed 3 months ago

mwallschlaeger commented 3 months ago

Bug Description

when running geonode-k8s with default configuration, the geonode entering crashloopback due to a change of the default MEMCACHED_BACKEND. This change is not implemented in geonode-k8s.

See error:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/django/utils/module_loading.py", line 30, in import_string
    return cached_import(module_path, class_name)
  File "/usr/local/lib/python3.10/dist-packages/django/utils/module_loading.py", line 16, in cached_import
    return getattr(module, class_name)
AttributeError: module 'django.core.cache.backends.memcached' has no attribute 'MemcachedCache'. Did you mean: 'PyMemcacheCache'?

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/django/core/cache/__init__.py", line 47, in create_connection
    backend_cls = import_string(backend)
  File "/usr/local/lib/python3.10/dist-packages/django/utils/module_loading.py", line 32, in import_string
    raise ImportError(
ImportError: Module "django.core.cache.backends.memcached" does not define a "MemcachedCache" attribute/class

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/geonode/./geonode/wsgi.py", line 29, in <module>
    application = get_wsgi_application()
  File "/usr/local/lib/python3.10/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application
    django.setup(set_prefix=False)
  File "/usr/local/lib/python3.10/dist-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python3.10/dist-packages/django/apps/registry.py", line 124, in populate
    app_config.ready()
  File "/usr/src/geonode/./geonode/harvesting/apps.py", line 31, in ready
    from geonode.urls import urlpatterns
  File "/usr/src/geonode/./geonode/urls.py", line 85, in <module>
    re_path(r"^groups/", include("geonode.groups.urls")),
  File "/usr/local/lib/python3.10/dist-packages/django/urls/conf.py", line 38, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/src/geonode/./geonode/groups/urls.py", line 23, in <module>
    from .views import GroupDetailView, GroupActivityView, SetGroupDatasetPermission
  File "/usr/src/geonode/./geonode/groups/views.py", line 42, in <module>
    from . import forms
  File "/usr/src/geonode/./geonode/groups/forms.py", line 26, in <module>
    from django_select2.forms import Select2MultipleWidget
  File "/usr/local/lib/python3.10/dist-packages/django_select2/forms.py", line 63, in <module>
    from .cache import cache
  File "/usr/local/lib/python3.10/dist-packages/django_select2/cache.py", line 20, in <module>
    cache = caches[settings.SELECT2_CACHE_BACKEND]
  File "/usr/local/lib/python3.10/dist-packages/django/utils/connection.py", line 62, in __getitem__
    conn = self.create_connection(alias)
  File "/usr/local/lib/python3.10/dist-packages/django/core/cache/__init__.py", line 49, in create_connection
    raise InvalidCacheBackendError(
django.core.cache.backends.base.InvalidCacheBackendError: Could not find backend 'django.core.cache.backends.memcached.MemcachedCache': Module "django.core.cache.backends.memcached" does not define a "MemcachedCache" attribute/class
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. GAME OVER ***
2024/06/28 15:06:02 Command exited with error: exit status 22

Additional Information

it might be a good idea to make this work ether in GeoNode 4.2.x and 4.3.x by adding a new value which generally gives information about geonode version