Requesting course creation in studio is throwing an error

tutor, version 10.0.2

uname -a
Linux edx-juniper 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Issue 1

cms_1             | 2020-06-21 16:28:45,424 ERROR 19 [root] [user None] signals.py:23 - Uncaught exception from None
cms_1             | Traceback (most recent call last):
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
cms_1             |     response = get_response(request)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/handlers/base.py", line 115, in _get_response
cms_1             |     response = self.process_exception_by_middleware(e, request)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/handlers/base.py", line 113, in _get_response
cms_1             |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/contextlib.py", line 30, in inner
cms_1             |     return func(*args, **kwds)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/views/decorators/http.py", line 40, in inner
cms_1             |     return func(request, *args, **kwargs)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
cms_1             |     return view_func(request, *args, **kwargs)
cms_1             |   File "/openedx/edx-platform/cms/djangoapps/contentstore/views/user.py", line 32, in request_course_creator
cms_1             |     user_requested_access(request.user)
cms_1             |   File "/openedx/edx-platform/cms/djangoapps/course_creators/views.py", line 82, in user_requested_access
cms_1             |     user.save()
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/db/models/base.py", line 741, in save
cms_1             |     force_update=force_update, update_fields=update_fields)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/db/models/base.py", line 790, in save_base
cms_1             |     update_fields=update_fields, raw=raw, using=using,
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 175, in send
cms_1             |     for receiver in self._live_receivers(sender)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 175, in <listcomp>
cms_1             |     for receiver in self._live_receivers(sender)
cms_1             |   File "/openedx/edx-platform/cms/djangoapps/course_creators/models.py", line 99, in post_save_callback
cms_1             |     user=instance.user
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 175, in send
cms_1             |     for receiver in self._live_receivers(sender)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 175, in <listcomp>
cms_1             |     for receiver in self._live_receivers(sender)
cms_1             |   File "/openedx/edx-platform/cms/djangoapps/course_creators/admin.py", line 135, in send_admin_notification_callback
cms_1             |     fail_silently=False
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/__init__.py", line 60, in send_mail
cms_1             |     return mail.send()
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/message.py", line 291, in send
cms_1             |     return self.get_connection(fail_silently).send_messages([self])
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
cms_1             |     new_conn_created = self.open()
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 63, in open
cms_1             |     self.connection = self.connection_class(self.host, self.port, **connection_params)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 251, in __init__
cms_1             |     (code, msg) = self.connect(host, port)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 336, in connect
cms_1             |     self.sock = self._get_socket(host, port, self.timeout)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 307, in _get_socket
cms_1             |     self.source_address)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 694, in create_connection
cms_1             |     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 733, in getaddrinfo
cms_1             |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
cms_1             | socket.gaierror: [Errno -2] Name or service not known
cms_1             | 2020-06-21 16:28:45,432 ERROR 19 [django.request] [user 5] log.py:228 - Internal Server Error: /request_course_creator
cms_1             | Traceback (most recent call last):
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
cms_1             |     response = get_response(request)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/handlers/base.py", line 115, in _get_response
cms_1             |     response = self.process_exception_by_middleware(e, request)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/handlers/base.py", line 113, in _get_response
cms_1             |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/contextlib.py", line 30, in inner
cms_1             |     return func(*args, **kwds)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/views/decorators/http.py", line 40, in inner
cms_1             |     return func(request, *args, **kwargs)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
cms_1             |     return view_func(request, *args, **kwargs)
cms_1             |   File "/openedx/edx-platform/cms/djangoapps/contentstore/views/user.py", line 32, in request_course_creator
cms_1             |     user_requested_access(request.user)
cms_1             |   File "/openedx/edx-platform/cms/djangoapps/course_creators/views.py", line 82, in user_requested_access
cms_1             |     user.save()
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/db/models/base.py", line 741, in save
cms_1             |     force_update=force_update, update_fields=update_fields)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/db/models/base.py", line 790, in save_base
cms_1             |     update_fields=update_fields, raw=raw, using=using,
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 175, in send
cms_1             |     for receiver in self._live_receivers(sender)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 175, in <listcomp>
cms_1             |     for receiver in self._live_receivers(sender)
cms_1             |   File "/openedx/edx-platform/cms/djangoapps/course_creators/models.py", line 99, in post_save_callback
cms_1             |     user=instance.user
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 175, in send
cms_1             |     for receiver in self._live_receivers(sender)
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 175, in <listcomp>
cms_1             |     for receiver in self._live_receivers(sender)
cms_1             |   File "/openedx/edx-platform/cms/djangoapps/course_creators/admin.py", line 135, in send_admin_notification_callback
cms_1             |     fail_silently=False
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/__init__.py", line 60, in send_mail
cms_1             |     return mail.send()
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/message.py", line 291, in send
cms_1             |     return self.get_connection(fail_silently).send_messages([self])
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
cms_1             |     new_conn_created = self.open()
cms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 63, in open
cms_1             |     self.connection = self.connection_class(self.host, self.port, **connection_params)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 251, in __init__
cms_1             |     (code, msg) = self.connect(host, port)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 336, in connect
cms_1             |     self.sock = self._get_socket(host, port, self.timeout)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 307, in _get_socket
cms_1             |     self.source_address)
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 694, in create_connection
cms_1             |     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
cms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 733, in getaddrinfo
cms_1             |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
cms_1             | socket.gaierror: [Errno -2] Name or service not known

and I see similar error for course enrollment also

lms_1             | 2020-06-21 16:54:06,505 ERROR 21 [lms.djangoapps.instructor.views.api] [user 4] api.py:762 - Error while #{}ing student
lms_1             | Traceback (most recent call last):
lms_1             |   File "/openedx/edx-platform/lms/djangoapps/instructor/views/api.py", line 709, in students_update_enrollment
lms_1             |     course_id, email, auto_enroll, email_students, email_params, language=language
lms_1             |   File "/openedx/edx-platform/lms/djangoapps/instructor/enrollment.py", line 161, in enroll_email
lms_1             |     send_mail_to_student(student_email, email_params, language=language)
lms_1             |   File "/openedx/edx-platform/lms/djangoapps/instructor/enrollment.py", line 478, in send_mail_to_student
lms_1             |     ace.send(message)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/ace.py", line 59, in send
lms_1             |     delivery.deliver(channel, rendered_message, msg)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/delivery.py", line 54, in deliver
lms_1             |     channel.deliver(message, rendered_message)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/channel/django_email.py", line 95, in deliver
lms_1             |     mail.send()
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/message.py", line 291, in send
lms_1             |     return self.get_connection(fail_silently).send_messages([self])
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
lms_1             |     new_conn_created = self.open()
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 63, in open
lms_1             |     self.connection = self.connection_class(self.host, self.port, **connection_params)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 251, in __init__
lms_1             |     (code, msg) = self.connect(host, port)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 336, in connect
lms_1             |     self.sock = self._get_socket(host, port, self.timeout)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 307, in _get_socket
lms_1             |     self.source_address)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 694, in create_connection
lms_1             |     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 733, in getaddrinfo
lms_1             |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
lms_1             | socket.gaierror: [Errno -2] Name or service not known
lms_1             | 2020-06-21 16:54:06,511 ERROR 21 [lms.djangoapps.instructor.views.api] [user 4] api.py:763 - [Errno -2] Name or service not known
lms_1             | Traceback (most recent call last):
lms_1             |   File "/openedx/edx-platform/lms/djangoapps/instructor/views/api.py", line 709, in students_update_enrollment
lms_1             |     course_id, email, auto_enroll, email_students, email_params, language=language
lms_1             |   File "/openedx/edx-platform/lms/djangoapps/instructor/enrollment.py", line 161, in enroll_email
lms_1             |     send_mail_to_student(student_email, email_params, language=language)
lms_1             |   File "/openedx/edx-platform/lms/djangoapps/instructor/enrollment.py", line 478, in send_mail_to_student
lms_1             |     ace.send(message)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/ace.py", line 59, in send
lms_1             |     delivery.deliver(channel, rendered_message, msg)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/delivery.py", line 54, in deliver
lms_1             |     channel.deliver(message, rendered_message)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/channel/django_email.py", line 95, in deliver
lms_1             |     mail.send()
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/message.py", line 291, in send
lms_1             |     return self.get_connection(fail_silently).send_messages([self])
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
lms_1             |     new_conn_created = self.open()
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 63, in open
lms_1             |     self.connection = self.connection_class(self.host, self.port, **connection_params)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 251, in __init__
lms_1             |     (code, msg) = self.connect(host, port)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 336, in connect
lms_1             |     self.sock = self._get_socket(host, port, self.timeout)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 307, in _get_socket
lms_1             |     self.source_address)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 694, in create_connection
lms_1             |     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 733, in getaddrinfo
lms_1             |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
lms_1             | socket.gaierror: [Errno -2] Name or service not known

and again similar error for forgot password as well

and keyword arguments '{}' from File "/openedx/edx-platform/openedx/core/djangoapps/user_authn/views/password_reset.py", line 565, in password_change_request_handler
lms_1             |     request_password_change(email, request.is_secure()): gaierror(-2, 'Name or service not known')
lms_1             | Traceback (most recent call last):
lms_1             |   File "/openedx/edx-platform/openedx/core/djangoapps/user_api/helpers.py", line 53, in _wrapped
lms_1             |     return func(*args, **kwargs)
lms_1             |   File "/openedx/edx-platform/openedx/core/djangoapps/user_authn/views/password_reset.py", line 232, in request_password_change
lms_1             |     request=get_current_request(),
lms_1             |   File "/openedx/edx-platform/openedx/core/djangoapps/user_authn/views/password_reset.py", line 184, in save
lms_1             |     send_password_reset_email_for_user(user, request)
lms_1             |   File "/openedx/edx-platform/openedx/core/djangoapps/user_authn/views/password_reset.py", line 131, in send_password_reset_email_for_user
lms_1             |     ace.send(msg)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/ace.py", line 59, in send
lms_1             |     delivery.deliver(channel, rendered_message, msg)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/delivery.py", line 54, in deliver
lms_1             |     channel.deliver(message, rendered_message)
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/edx_ace/channel/django_email.py", line 95, in deliver
lms_1             |     mail.send()
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/message.py", line 291, in send
lms_1             |     return self.get_connection(fail_silently).send_messages([self])
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
lms_1             |     new_conn_created = self.open()
lms_1             |   File "/openedx/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 63, in open
lms_1             |     self.connection = self.connection_class(self.host, self.port, **connection_params)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 251, in __init__
lms_1             |     (code, msg) = self.connect(host, port)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 336, in connect
lms_1             |     self.sock = self._get_socket(host, port, self.timeout)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/smtplib.py", line 307, in _get_socket
lms_1             |     self.source_address)
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 694, in create_connection
lms_1             |     for res in getaddrinfo(host, port, 0, SOCK_STREAM):
lms_1             |   File "/opt/pyenv/versions/3.5.9/lib/python3.5/socket.py", line 733, in getaddrinfo
lms_1             |     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
lms_1             | socket.gaierror: [Errno -2] Name or service not known
lms_1             |
lms_1             | During handling of the above exception, another exception occurred:
lms_1             |
lms_1             | Traceback (most recent call last):
lms_1             |   File "/openedx/edx-platform/openedx/core/djangoapps/user_authn/views/password_reset.py", line 565, in password_change_request_handler
lms_1             |     request_password_change(email, request.is_secure())
lms_1             |   File "/openedx/edx-platform/openedx/core/djangoapps/user_api/helpers.py", line 86, in _wrapped
lms_1             |     raise api_error(msg)

It looks like all above three errors were originating from same bug

You seem to have a problem connecting to your SMTP server. What is the output of the following commands?

tutor config printvalue ACTIVATE_SMTP
tutor config printvalue SMTP_HOST
tutor config printvalue SMTP_PORT

?

Hi @regis, thanks. I just came to know that our devops team setup a new mail server and removed some settings for smtp.gmail.com server, since then it’s stopped working.

Our mail server is running on weave network with DOCKER_HOST=tcp://127.0.0.1:12375

But docker is running with fd://
/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

so that is the reason mail server container not connecting with openedx container.

Do you know how to append DOCKER_HOST=tcp://127.0.0.1:12375 to dockerd?

Thanks a lot.