[
https://issues.apache.org/jira/browse/AIRAVATA-3291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17025237#comment-17025237
]
Marcus Christie commented on AIRAVATA-3291:
-------------------------------------------
Django error email:
{noformat}
Internal Server Error: /cms/images/multiple/add/
PermissionError at /cms/images/multiple/add/
[Errno 13] Permission denied:
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/media/original_images/QuSP_Home_Converted.png'
Request Method: POST
Request URL: https://pace.scigap.org/cms/images/multiple/add/
Django Version: 1.11.21
Python Executable: /var/www/portals/django-pace-gatech/venv/bin/python
Python Version: 3.6.8
Python Path: ['/usr/lib64/python36.zip', '/usr/lib64/python3.6',
'/usr/lib64/python3.6/lib-dynload',
'/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages',
'/var/www/portals/django-pace-gatech/airavata-django-portal',
'/var/www/portals/django-pace-gatech/venv/lib/python3.6/site-packages',
'/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/IPython/extensions']
Server time: Tue, 28 Jan 2020 15:12:22 +0000
Installed Applications:
['django_airavata.apps.admin.apps.AdminConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_airavata.apps.auth.apps.AuthConfig',
'django_airavata.apps.workspace.apps.WorkspaceConfig',
'rest_framework',
'django_airavata.apps.api.apps.ApiConfig',
'django_airavata.apps.groups.apps.GroupsConfig',
'django_airavata.apps.dataparsers.apps.DataParsersConfig',
'django.contrib.humanize',
'wagtail.contrib.forms',
'wagtail.contrib.redirects',
'wagtail.embeds',
'wagtail.sites',
'wagtail.users',
'wagtail.snippets',
'wagtail.documents',
'wagtail.images',
'wagtail.search',
'wagtail.admin',
'wagtail.core',
'modelcluster',
'taggit',
'wagtailfontawesome',
'django_airavata.wagtailapps.base.apps.BaseConfig',
'webpack_loader']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django_airavata.apps.auth.middleware.authz_token_middleware',
'django_airavata.middleware.AiravataClientMiddleware',
'django_airavata.middleware.sharing_client',
'django_airavata.middleware.profile_service_client',
'django_airavata.apps.auth.middleware.gateway_groups_middleware',
'wagtail.core.middleware.SiteMiddleware',
'wagtail.contrib.redirects.middleware.RedirectMiddleware']
Traceback:
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/core/handlers/exception.py"
in inner
41. response = get_response(request)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/core/handlers/base.py"
in _get_response
187. response = self.process_exception_by_middleware(e,
request)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/core/handlers/base.py"
in _get_response
185. response = wrapped_callback(request, *callback_args,
**callback_kwargs)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/views/decorators/cache.py"
in _cache_controlled
43. response = viewfunc(request, *args, **kw)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/wagtail/admin/urls/__init__.py"
in wrapper
95. return view_func(request, *args, **kwargs)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/wagtail/admin/decorators.py"
in decorated_view
28. return view_func(request, *args, **kwargs)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/wagtail/admin/utils.py"
in wrapped_view_func
139. return view_func(request, *args, **kwargs)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/views/decorators/vary.py"
in inner_func
21. response = func(*args, **kwargs)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/wagtail/images/views/multiple.py"
in add
70. image.save()
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/base.py"
in save
808. force_update=force_update,
update_fields=update_fields)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/base.py"
in save_base
838. updated = self._save_table(raw, cls, force_insert,
force_update, using, update_fields)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/base.py"
in _save_table
924. result = self._do_insert(cls._base_manager, using, fields,
update_pk, raw)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/base.py"
in _do_insert
963. using=using, raw=raw)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/manager.py"
in manager_method
85. return getattr(self.get_queryset(), name)(*args, **kwargs)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/query.py"
in _insert
1079. return query.get_compiler(using=using).execute_sql(return_id)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/sql/compiler.py"
in execute_sql
1111. for sql, params in self.as_sql():
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/sql/compiler.py"
in as_sql
1064. for obj in self.query.objs
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/sql/compiler.py"
in <listcomp>
1064. for obj in self.query.objs
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/sql/compiler.py"
in <listcomp>
1063. [self.prepare_value(field, self.pre_save_val(field,
obj)) for field in fields]
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/sql/compiler.py"
in pre_save_val
1013. return field.pre_save(obj, add=True)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/fields/files.py"
in pre_save
296. file.save(file.name, file.file, save=False)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/db/models/fields/files.py"
in save
94. self.name = self.storage.save(name, content,
max_length=self.field.max_length)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/core/files/storage.py"
in save
54. return self._save(name, content)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/core/files/storage.py"
in _save
338. file_move_safe(content.temporary_file_path(),
full_path)
File
"/var/www/portals/django-pace-gatech/venv/lib64/python3.6/site-packages/django/core/files/move.py"
in file_move_safe
73. copystat(old_file_name, new_file_name)
File "/usr/lib64/python3.6/shutil.py" in copystat
229. _copyxattr(src, dst, follow_symlinks=follow)
File "/usr/lib64/python3.6/shutil.py" in _copyxattr
165. os.setxattr(dst, name, value,
follow_symlinks=follow_symlinks)
Exception Type: PermissionError at /cms/images/multiple/add/
Exception Value: [Errno 13] Permission denied:
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/media/original_images/QuSP_Home_Converted.png'
Request information:
USER: [email protected]
GET: No GET data
POST:
csrfmiddlewaretoken =
'Vw2ulCbFTsFqTmkOIx4jLmfNkZDydowabjUgfVjPmvNsQ2Cv3pZEe0BFeYYBfoz5'
FILES:
files[] = <TemporaryUploadedFile: QuSP Home [Converted].png (image/png)>
COOKIES:
csrftoken = 'SpFwjOylTfFOcJMr4HpTPvP0Vfp3AMJe8cxid7GvmiNQ9p48pzkei9bSPeK6CMM9'
sessionid = '0kh8p40xfy3lk654ltcsdi5tmqvu9ojb'
META:
CONTENT_LENGTH = '3234283'
CONTENT_TYPE = 'multipart/form-data;
boundary=---------------------------171697573914734806347598434'
CONTEXT_DOCUMENT_ROOT = '/var/www/html'
CONTEXT_PREFIX = ''
CSRF_COOKIE = 'SpFwjOylTfFOcJMr4HpTPvP0Vfp3AMJe8cxid7GvmiNQ9p48pzkei9bSPeK6CMM9'
DOCUMENT_ROOT = '/var/www/html'
GATEWAY_INTERFACE = 'CGI/1.1'
HTTP_ACCEPT = 'text/html, */*; q=0.01'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.5'
HTTP_CONNECTION = 'keep-alive'
HTTP_COOKIE =
'csrftoken=SpFwjOylTfFOcJMr4HpTPvP0Vfp3AMJe8cxid7GvmiNQ9p48pzkei9bSPeK6CMM9;
sessionid=0kh8p40xfy3lk654ltcsdi5tmqvu9ojb'
HTTP_DNT = '1'
HTTP_HOST = 'pace.scigap.org'
HTTP_ORIGIN = 'https://pace.scigap.org'
HTTP_REFERER = 'https://pace.scigap.org/cms/images/multiple/add/'
HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:72.0)
Gecko/20100101 Firefox/72.0'
HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
PATH_INFO = '/cms/images/multiple/add/'
PATH_TRANSLATED =
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/wsgi.py/cms/images/multiple/add/'
QUERY_STRING = ''
REMOTE_ADDR = '149.160.175.252'
REMOTE_PORT = '55101'
REQUEST_METHOD = 'POST'
REQUEST_SCHEME = 'https'
REQUEST_URI = '/cms/images/multiple/add/'
SCRIPT_FILENAME =
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/wsgi.py'
SCRIPT_NAME = ''
SERVER_ADDR = '156.56.104.84'
SERVER_ADMIN = 'root@localhost'
SERVER_NAME = 'pace.scigap.org'
SERVER_PORT = '443'
SERVER_PROTOCOL = 'HTTP/1.1'
SERVER_SIGNATURE = ''
SERVER_SOFTWARE = 'Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_wsgi/4.5.17
Python/3.6 mod_fcgid/2.3.9 PHP/5.4.16'
SSL_TLS_SNI = 'pace.scigap.org'
UNIQUE_ID = 'XjBPVuSJfcOT5H69AsYsXAAAAAM'
apache.version = '(2, 4, 6)'
mod_wsgi.application_group = 'pace.scigap.org|'
mod_wsgi.callable_object = 'application'
mod_wsgi.daemon_connects = '1'
mod_wsgi.daemon_restarts = '0'
mod_wsgi.daemon_start = '1580224342456103'
mod_wsgi.enable_sendfile = '0'
mod_wsgi.handler_script = ''
mod_wsgi.ignore_activity = '0'
mod_wsgi.listener_host = ''
mod_wsgi.listener_port = '443'
mod_wsgi.path_info = '/cms/images/multiple/add/'
mod_wsgi.process_group = 'pace.scigap.org'
mod_wsgi.queue_start = '1580224342455926'
mod_wsgi.request_handler = 'wsgi-script'
mod_wsgi.request_id = 'XjBPVuSJfcOT5H69AsYsXAAAAAM'
mod_wsgi.request_start = '1580224342455651'
mod_wsgi.script_name = ''
mod_wsgi.script_reloading = '1'
mod_wsgi.script_start = '1580224342456211'
mod_wsgi.thread_id = 7
mod_wsgi.thread_requests = 3
mod_wsgi.total_requests = 16
mod_wsgi.version = '(4, 5, 17)'
wsgi.errors = <_io.TextIOWrapper name='<wsgi.errors>' encoding='utf-8'>
wsgi.file_wrapper = ''
wsgi.input = <mod_wsgi.Input object at 0x7fe426d977a0>
wsgi.multiprocess = True
wsgi.multithread = True
wsgi.run_once = False
wsgi.url_scheme = 'https'
wsgi.version = '(1, 0)'
Settings:
Using settings module django_airavata.settings
ABSOLUTE_URL_OVERRIDES = {}
ADMINS = [('SciGaP Errors', '[email protected]')]
AIRAVATA_API_HOST = '********************'
AIRAVATA_API_PORT = '********************'
AIRAVATA_API_SECURE = '********************'
ALLOWED_HOSTS = ['pace.scigap.org']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = ['django_airavata.apps.auth.backends.KeycloakBackend']
AUTHENTICATION_OPTIONS = {'password': '********************', 'external':
[{'idp_alias': 'cilogon', 'name': 'Existing Institution Credentials', 'logo':
'images/cilogon-logo-24x24-b.png'}]}
AUTH_PASSWORD_VALIDATORS = '********************'
AUTH_USER_MODEL = 'auth.User'
BASE_DIR = '/var/www/portals/django-pace-gatech/airavata-django-portal'
CACHES = {'default': {'BACKEND':
'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
CACHE_MIDDLEWARE_SECONDS = 600
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = []
CSRF_USE_SESSIONS = False
CUSTOM_DJANGO_APPS = []
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME':
'django_pace-gatech', 'HOST': '156.56.104.11', 'USER': 'django', 'PASSWORD':
'********************', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'PORT': '', 'TEST':
{'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}, 'OPTIONS':
{'init_command': 'SET
default_storage_engine=INNODB,collation_connection=utf8_bin',
'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'ENGINE':
'django.db.backends.dummy', 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE':
None, 'NAME': '', 'USER': '', 'PASSWORD': '********************', 'HOST': '',
'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None,
'MIRROR': None}}}
DATABASE_ROUTERS = []
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d,
%Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG = False
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_CONTENT_TYPE = 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER =
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISALLOWED_USER_AGENTS = []
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = '********************'
EMAIL_HOST_USER = '[email protected]'
EMAIL_PORT = 587
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = '********************'
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = True
FILE_CHARSET = 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = 511
FILE_UPLOAD_HANDLERS =
['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django_airavata.uploadhandler.MaxFileSizeTemporaryFileUploadHandler']
FILE_UPLOAD_MAX_FILE_SIZE = 67108864
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = '/var/www/portals/gateway-user-data/pace-gatech/tmp/'
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
GATEWAY_DATA_STORE_DIR = '/var/www/portals/gateway-user-data/pace-gatech'
GATEWAY_DATA_STORE_HOSTNAME = 'gf4.ucs.indiana.edu'
GATEWAY_DATA_STORE_RESOURCE_ID =
'gf4.ucs.indiana.edu_61552681-96f0-462a-a36c-a62a010bffc6'
GATEWAY_ID = 'pace-gatech'
HIDDEN_AIRAVATA_APPS = ['django_airavata_dataparsers']
IGNORABLE_404_URLS = []
INSTALLED_APPS = ['django_airavata.apps.admin.apps.AdminConfig',
'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes',
'django.contrib.sessions', 'django.contrib.messages',
'django.contrib.staticfiles', 'django_airavata.apps.auth.apps.AuthConfig',
'django_airavata.apps.workspace.apps.WorkspaceConfig', 'rest_framework',
'django_airavata.apps.api.apps.ApiConfig',
'django_airavata.apps.groups.apps.GroupsConfig',
'django_airavata.apps.dataparsers.apps.DataParsersConfig',
'django.contrib.humanize', 'wagtail.contrib.forms',
'wagtail.contrib.redirects', 'wagtail.embeds', 'wagtail.sites',
'wagtail.users', 'wagtail.snippets', 'wagtail.documents', 'wagtail.images',
'wagtail.search', 'wagtail.admin', 'wagtail.core', 'modelcluster', 'taggit',
'wagtailfontawesome', 'django_airavata.wagtailapps.base.apps.BaseConfig',
'webpack_loader']
INTERNAL_IPS = ['127.0.0.1']
KEYCLOAK_AUTHORIZE_URL = '********************'
KEYCLOAK_CA_CERTFILE = '********************'
KEYCLOAK_CLIENT_ID = '********************'
KEYCLOAK_CLIENT_SECRET = '********************'
KEYCLOAK_LOGOUT_URL = '********************'
KEYCLOAK_TOKEN_URL = '********************'
KEYCLOAK_USERINFO_URL = '********************'
KEYCLOAK_VERIFY_SSL = '********************'
LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az',
'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'),
('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy',
'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el',
'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb',
'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar',
'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican
Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'),
('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'),
('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish
Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr',
'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia',
'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'),
('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'),
('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'),
('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml',
'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb',
'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian
Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt',
'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru',
'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr',
'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'),
('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt',
'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi',
'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional
Chinese')]
LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE = 'en-us'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LOCALE_PATHS = []
LOGGING = {'version': 1, 'disable_existing_loggers': False, 'filters':
{'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'},
'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue'}},
'formatters': {'verbose': {'format': '[%(asctime)s %(name)s:%(lineno)d
%(levelname)s] %(message)s'}}, 'handlers': {'console': {'class':
'logging.StreamHandler', 'formatter': 'verbose'}, 'mail_admins': {'filters':
['require_debug_false'], 'level': 'ERROR', 'class':
'django.utils.log.AdminEmailHandler', 'include_html': True}}, 'loggers':
{'django_airavata': {'handlers': ['console', 'mail_admins'], 'level': 'DEBUG'},
'root': {'handlers': ['console'], 'level': 'WARNING'}}}
LOGGING_CONFIG = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = 'django_airavata_workspace:dashboard'
LOGIN_URL = 'django_airavata_auth:login'
LOGOUT_REDIRECT_URL = '/'
MANAGERS = []
MEDIA_ROOT =
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/media'
MEDIA_URL = '/media/'
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django_airavata.apps.auth.middleware.authz_token_middleware',
'django_airavata.middleware.AiravataClientMiddleware',
'django_airavata.middleware.sharing_client',
'django_airavata.middleware.profile_service_client',
'django_airavata.apps.auth.middleware.gateway_groups_middleware',
'wagtail.core.middleware.SiteMiddleware',
'wagtail.contrib.redirects.middleware.RedirectMiddleware']
MIDDLEWARE_CLASSES = ['django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware']
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
OUTPUT_VIEW_PROVIDERS = {}
PASSWORD_HASHERS = '********************'
PASSWORD_RESET_TIMEOUT_DAYS = '********************'
PGA_URL = None
PORTAL_ADMINS = [('SGRC', '[email protected]'), ('Semir Sarajlic',
'[email protected]')]
PORTAL_TITLE = 'PACE Gateway'
PREPEND_WWW = False
PROFILE_SERVICE_HOST = 'scigap02.sciencegateways.iu.edu'
PROFILE_SERVICE_PORT = 8962
PROFILE_SERVICE_SECURE = False
REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES':
('rest_framework.authentication.SessionAuthentication',),
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
'EXCEPTION_HANDLER':
'django_airavata.apps.api.exceptions.custom_exception_handler'}
ROOT_URLCONF = 'django_airavata.urls'
SECRET_KEY = '********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = '[email protected]'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'django_airavata.settings'
SHARING_API_HOST = '********************'
SHARING_API_PORT = '********************'
SHARING_API_SECURE = '********************'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
STATICFILES_DIRS =
['/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/static']
STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/var/www/portals/django-pace-gatech/static/'
STATIC_URL = '/static/'
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS':
['/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/templates'],
'APP_DIRS': True, 'OPTIONS': {'context_processors':
['django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django_airavata.context_processors.airavata_app_registry',
'django_airavata.context_processors.custom_app_registry',
'django_airavata.context_processors.get_notifications',
'django_airavata.context_processors.user_session_data']}}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = ','
THRIFT_CLIENT_POOL_KEEPALIVE = 5
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'UTC'
TUS_DATA_DIR = '/var/www/portals/gateway-user-data/tus-temp-dir'
TUS_ENDPOINT = 'https://tus.airavata.org/files/'
USE_ETAGS = False
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
WAGTAILIMAGES_JPEG_QUALITY = 100
WAGTAIL_SITE_NAME = 'Django Airavata Portal'
WEBPACK_LOADER = {'COMMON': {'BUNDLE_DIR_NAME': 'common/dist/', 'STATS_FILE':
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/static/common/dist/webpack-stats.json'},
'ADMIN': {'BUNDLE_DIR_NAME': 'django_airavata_admin/dist/', 'STATS_FILE':
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/apps/admin/static/django_airavata_admin/dist/webpack-stats.json'},
'DATAPARSERS': {'BUNDLE_DIR_NAME': 'django_airavata_dataparsers/dist/',
'STATS_FILE':
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/apps/dataparsers/static/django_airavata_dataparsers/dist/webpack-stats.json'},
'GROUPS': {'BUNDLE_DIR_NAME': 'django_airavata_groups/dist/', 'STATS_FILE':
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/apps/groups/static/django_airavata_groups/dist/webpack-stats.json'},
'WORKSPACE': {'BUNDLE_DIR_NAME': 'django_airavata_workspace/dist/',
'STATS_FILE':
'/var/www/portals/django-pace-gatech/airavata-django-portal/django_airavata/apps/workspace/static/django_airavata_workspace/dist/webpack-stats.json'}}
WSGI_APPLICATION = 'django_airavata.wsgi.application'
X_FRAME_OPTIONS = 'SAMEORIGIN'
YEAR_MONTH_FORMAT = 'F Y'
{noformat}
> Wagtail: large image uploads fail with SELinux relabelfrom error
> ----------------------------------------------------------------
>
> Key: AIRAVATA-3291
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3291
> Project: Airavata
> Issue Type: Bug
> Components: Django Portal
> Reporter: Marcus Christie
> Assignee: Marcus Christie
> Priority: Major
>
> {noformat}
> Jan 28 10:12:27 gridfarm004 setroubleshoot: SELinux is preventing httpd from
> relabelfrom access on the file QuSP_Home_Converted.png. For complete SELinux
> messages run: sealert -l 7097f275-0c78-47c7-bc55-be30bca3f3a8
> Jan 28 10:12:27 gridfarm004 python: SELinux is preventing httpd from
> relabelfrom access on the file QuSP_Home_Converted.png.#012#012***** Plugin
> catchall (100. confidence) suggests **************************#012#012If
> you believe that httpd should be allowed relabelfrom access on the
> QuSP_Home_Converted.png file by default.#012Then you should report this as a
> bug.#012You can generate a local policy module to allow this
> access.#012Do#012allow this access for now by executing:#012# ausearch -c
> 'httpd' --raw | audit2allow -M my-httpd#012# semodule -i my-httpd.pp#012
> {noformat}
> {noformat}
> [root@gridfarm004 ~]# sealert -l 7097f275-0c78-47c7-bc55-be30bca3f3a8
> SELinux is preventing httpd from relabelfrom access on the file
> QuSP_Home_Converted.png.
> ***** Plugin catchall (100. confidence) suggests **************************
> If you believe that httpd should be allowed relabelfrom access on the
> QuSP_Home_Converted.png file by default.
> Then you should report this as a bug.
> You can generate a local policy module to allow this access.
> Do
> allow this access for now by executing:
> # ausearch -c 'httpd' --raw | audit2allow -M my-httpd
> # semodule -i my-httpd.pp
> Additional Information:
> Source Context system_u:system_r:httpd_t:s0
> Target Context system_u:object_r:httpd_sys_rw_content_t:s0
> Target Objects QuSP_Home_Converted.png [ file ]
> Source httpd
> Source Path httpd
> Port <Unknown>
> Host gridfarm004.ucs.indiana.edu
> Source RPM Packages
> Target RPM Packages
> Policy RPM selinux-policy-3.13.1-252.el7_7.6.noarch
> Selinux Enabled True
> Policy Type targeted
> Enforcing Mode Enforcing
> Host Name gridfarm004.ucs.indiana.edu
> Platform Linux gridfarm004.ucs.indiana.edu
> 3.10.0-957.10.1.el7.x86_64 #1 SMP Mon Mar 18
> 15:06:45 UTC 2019 x86_64 x86_64
> Alert Count 28
> First Seen 2019-12-07 12:53:56 EST
> Last Seen 2020-01-28 10:12:22 EST
> Local ID 7097f275-0c78-47c7-bc55-be30bca3f3a8
> Raw Audit Messages
> type=AVC msg=audit(1580224342.756:7108484): avc: denied { relabelfrom } for
> pid=9646 comm="httpd" name="QuSP_Home_Converted.png" dev="dm-1" ino=71079407
> scontext=system_u:system_r:httpd_t:s0
> tcontext=system_u:object_r:httpd_sys_rw_content_t:s0 tclass=file permissive=0
> Hash: httpd,httpd_t,httpd_sys_rw_content_t,file,relabelfrom
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)