@mrtmm we also went back and followed the steps from Jacatove’s post, and we ultimately end up with the follow logs. It exceptions out with a CertificateDoesNotExist exception, and then throws another exception while handing that, involving the absolute paths:
2022-11-09 19:07:56,115 INFO 11 [celery.app.trace] [user None] [ip None] trace.py:131 - Task lms.djangoapps.grades.tasks.recalculate_subsection_grade_v3[eea15c22-bb6b-4af7-b6c0-fb8f72da44dc] succeeded in 0.26011689299775753s: None
2022-11-09 19:07:58,211 INFO 11 [openedx_events.tooling] [user None] [ip None] tooling.py:160 - Responses of the Open edX Event <org.openedx.learning.certificate.changed.v1>:
[]
2022-11-09 19:07:58,969 INFO 11 [botocore.vendored.requests.packages.urllib3.connectionpool] [user None] [ip None] connectionpool.py:734 - Starting new HTTPS connection (1): s3.amazonaws.com
2022-11-09 19:07:59,662 ERROR 11 [django.dispatch] [user None] [ip None] dispatcher.py:214 - Error calling create_course_badge in Signal.send_robust() (This backend doesn't support absolute paths.)
Traceback (most recent call last):
File "/openedx/venv/lib/python3.8/site-packages/django/db/models/query.py", line 581, in get_or_create
return self.get(**kwargs), False
File "/openedx/venv/lib/python3.8/site-packages/django/db/models/query.py", line 435, in get
raise self.model.DoesNotExist(
lms.djangoapps.certificates.models.GeneratedCertificate.DoesNotExist: GeneratedCertificate matching query does not exist.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/openedx/venv/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 212, in send_robust
response = receiver(signal=self, sender=sender, **named)
File "/openedx/edx-platform/lms/djangoapps/certificates/models.py", line 1241, in create_course_badge
course_badge_check(user, course_key)
File "/openedx/edx-platform/lms/djangoapps/badges/utils.py", line 27, in wrapped
return function(*args, **kwargs)
File "/openedx/edx-platform/lms/djangoapps/badges/events/course_complete.py", line 129, in course_badge_check
badge_class.award(user, evidence_url=evidence)
File "/openedx/edx-platform/lms/djangoapps/badges/models.py", line 131, in award
return self.backend.award(self, user, evidence_url=evidence_url) # lint-amnesty, pylint: disable=no-member
File "/openedx/edx-platform/lms/djangoapps/badges/backends/badgr.py", line 323, in award
self._ensure_badge_created(badge_class)
File "/openedx/edx-platform/lms/djangoapps/badges/backends/badgr.py", line 316, in _ensure_badge_created
self._create_badge(badge_class)
File "/openedx/edx-platform/lms/djangoapps/badges/backends/badgr.py", line 120, in _create_badge
with open(image.path, 'rb') as image_file:
File "/openedx/venv/lib/python3.8/site-packages/django/db/models/fields/files.py", line 59, in path
return self.storage.path(self.name)
File "/openedx/venv/lib/python3.8/site-packages/django/core/files/storage.py", line 128, in path
raise NotImplementedError("This backend doesn't support absolute paths.")
NotImplementedError: This backend doesn't support absolute paths.
2022-11-09 19:08:00,075 ERROR 11 [django.dispatch] [user None] [ip None] dispatcher.py:214 - Error calling create_completion_badge in Signal.send_robust() (This backend doesn't support absolute paths.)
Traceback (most recent call last):
File "/openedx/venv/lib/python3.8/site-packages/django/db/models/query.py", line 581, in get_or_create
return self.get(**kwargs), False
File "/openedx/venv/lib/python3.8/site-packages/django/db/models/query.py", line 435, in get
raise self.model.DoesNotExist(
lms.djangoapps.certificates.models.GeneratedCertificate.DoesNotExist: GeneratedCertificate matching query does not exist.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/openedx/venv/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 212, in send_robust
response = receiver(signal=self, sender=sender, **named)
File "/openedx/edx-platform/lms/djangoapps/certificates/models.py", line 1249, in create_completion_badge
completion_check(user)
File "/openedx/edx-platform/lms/djangoapps/badges/utils.py", line 27, in wrapped
return function(*args, **kwargs)
File "/openedx/edx-platform/lms/djangoapps/badges/events/course_meta.py", line 57, in completion_check
award_badge(config, certificates, user)
File "/openedx/edx-platform/lms/djangoapps/badges/events/course_meta.py", line 32, in award_badge
badge_class.award(user)
File "/openedx/edx-platform/lms/djangoapps/badges/models.py", line 131, in award
return self.backend.award(self, user, evidence_url=evidence_url) # lint-amnesty, pylint: disable=no-member
File "/openedx/edx-platform/lms/djangoapps/badges/backends/badgr.py", line 323, in award
self._ensure_badge_created(badge_class)
File "/openedx/edx-platform/lms/djangoapps/badges/backends/badgr.py", line 316, in _ensure_badge_created
self._create_badge(badge_class)
File "/openedx/edx-platform/lms/djangoapps/badges/backends/badgr.py", line 120, in _create_badge
with open(image.path, 'rb') as image_file:
File "/openedx/venv/lib/python3.8/site-packages/django/db/models/fields/files.py", line 59, in path
return self.storage.path(self.name)
File "/openedx/venv/lib/python3.8/site-packages/django/core/files/storage.py", line 128, in path
raise NotImplementedError("This backend doesn't support absolute paths.")
NotImplementedError: This backend doesn't support absolute paths.
2022-11-09 19:08:00,416 INFO 11 [openedx_events.tooling] [user None] [ip None] tooling.py:160 - Responses of the Open edX Event <org.openedx.learning.certificate.created.v1>:
[]
2022-11-09 19:08:00,425 INFO 11 [lms.djangoapps.certificates.generation] [user None] [ip None] generation.py:98 - Generated certificate with status downloadable, mode honor and grade 1.0 for 7 : course-v1:FakeOrg+BDG109+2022_T1. Certificate was created.
2022-11-09 19:08:00,433 INFO 11 [tracking] [user None] [ip None] logger.py:41 - {"name": "edx.certificate.created", "context": {"org_id": "FakeOrg", "course_id": "course-v1:FakeOrg+BDG109+2022_T1"}, "username": "", "session": "", "ip": "", "agent": "", "host": "", "referer":
2022-11-09 19:08:00,436 INFO 11 [celery.app.trace] [user None] [ip None] trace.py:131 - Task lms.djangoapps.certificates.tasks.generate_certificate[55b6da8f-cd77-46d1-8a24-d13a70fc024a] succeeded in 2.262843096999859s: None
2022-11-09 19:08:25,616 INFO 1 [celery.worker.control] [user None] [ip None] control.py:310 - sync with celery@edx.lms.core.default.%lms-worker-75f89cbb6d-svkbq
2022-11-09 19:09:13,068 INFO 1 [celery.worker.strategy] [user None] [ip None] strategy.py:161 - Task lms.djangoapps.instructor_task.tasks.generate_certificates[0dd500d6-59fc-485b-a73d-98239fd2e84d] received
2022-11-09 19:09:13,072 INFO 11 [edx.celery.task] [user None] [ip None] tasks.py:278 - Task: 0dd500d6-59fc-485b-a73d-98239fd2e84d, InstructorTask ID: 2, Task type: certificates generated, Preparing for task execution
2022-11-09 19:09:13,106 INFO 11 [edx.celery.task] [user None] [ip None] runner.py:108 - Task: 0dd500d6-59fc-485b-a73d-98239fd2e84d, InstructorTask ID: 2, Course: course-v1:FakeOrg+BDG109+2022_T1, Input: {'statuses_to_regenerate': ['downloadable']}, Starting update (nothing ce
2022-11-09 19:09:13,116 INFO 11 [lms.djangoapps.instructor_task.tasks_helper.certs] [user None] [ip None] certs.py:64 - About to attempt certificate generation for 1 users in course course-v1:FakeOrg+BDG109+2022_T1. The student_set is None and statuses_to_regenerate is ['down
2022-11-09 19:09:13,119 INFO 11 [lms.djangoapps.instructor_task.tasks_helper.certs] [user None] [ip None] certs.py:75 - Attempt will be made to generate a course certificate for 7 : course-v1:FakeOrg+BDG109+2022_T1.
2022-11-09 19:09:13,124 INFO 11 [lms.djangoapps.certificates.generation_handler] [user None] [ip None] generation_handler.py:54 - Attempt will be made to generate course certificate for user 7 : course-v1:FakeOrg+BDG109+2022_T1
2022-11-09 19:09:13,156 INFO 11 [lms.djangoapps.certificates.generation_handler] [user None] [ip None] generation_handler.py:220 - 7 : course-v1:FakeOrg+BDG109+2022_T1 is eligible for a certificate without requiring a verified ID. Skipping results of the ID verification check
2022-11-09 19:09:13,161 INFO 11 [lms.djangoapps.certificates.generation_handler] [user None] [ip None] generation_handler.py:367 - Certificate with status downloadable already exists for 7 : course-v1:FakeOrg+BDG109+2022_T1, and is not eligible for generation. Certificate can
2022-11-09 19:09:13,161 INFO 11 [lms.djangoapps.certificates.generation_handler] [user None] [ip None] generation_handler.py:184 - One of the common checks failed. Certificate cannot be generated for 7 : course-v1:FakeOrg+BDG109+2022_T1.
2022-11-09 19:09:13,177 INFO 11 [edx.celery.task] [user None] [ip None] runner.py:126 - Task: 0dd500d6-59fc-485b-a73d-98239fd2e84d, InstructorTask ID: 2, Course: course-v1:FakeOrg+BDG109+2022_T1, Input: {'statuses_to_regenerate': ['downloadable']}, Task type: certificates gen 2022-11-09 19:09:13,195 INFO 11 [celery.app.trace] [user None] [ip None] trace.py:131 - Task lms.djangoapps.instructor_task.tasks.generate_certificates[0dd500d6-59fc-485b-a73d-98239fd2e84d] succeeded in 0.10948053199899732s: {'action_name': 'certificates generated', 'attempte 2022-11-09 19:34:15,565 INFO 1 [celery.worker.strategy] [user None] [ip None] strategy.py:161 - Task openedx.core.djangoapps.content.block_structure.tasks.update_course_in_cache_v2[978f5250-908b-472c-8a23-c850a7157463] received 2022-11-09 19:34:45,721 INFO 11 [openedx.core.djangoapps.content.block_structure.store] [user None] [ip None] store.py:165 - BlockStructure: Added to cache; block-v1:FakeOrg+BDG109+2022_T1+type@course+block@course, size: 1895 2022-11-09 19:34:45,723 INFO 11 [celery.app.trace] [user None] [ip None] trace.py:131 - Task openedx.core.djangoapps.content.block_structure.tasks.update_course_in_cache_v2[978f5250-908b-472c-8a23-c850a7157463] succeeded in 0.05410869000115781s: None