Hi Marcus,
Thanks for the help!
1. Applying database migrations worked as you said to look at running
containers using *docker ps *I observed that the name of the container
was containers_db_1 and not containers-db-1 as shown in documentation here
<https://github.com/apache/airavata/blob/develop/modules/ide-integration/README.md#starting-backend-components-database-keycloak-kafka-rabbitmq-sshd-server>.
I think we can update it in documentation.
2. Fixing 1 fixed the second one as you said. but there is another
exception related to *expcatalog database*:
Exception in thread "main" java.lang.RuntimeException: Failed to
post-initialize the expcatalog database
at
org.apache.airavata.registry.core.utils.ExpCatalogDBInitConfig.postInit(ExpCatalogDBInitConfig.java:81)
at
org.apache.airavata.common.utils.DBInitializer.initializeDB(DBInitializer.java:46)
at
org.apache.airavata.registry.api.service.RegistryAPIServer.StartRegistryServer(RegistryAPIServer.java:69)
at
org.apache.airavata.registry.api.service.RegistryAPIServer.start(RegistryAPIServer.java:151)
at
org.apache.airavata.ide.integration.APIServerStarter.main(APIServerStarter.java:23)
Caused by: java.lang.RuntimeException: Failed to get EntityManager
at
org.apache.airavata.registry.core.repositories.AbstractRepository.execute(AbstractRepository.java:137)
at
org.apache.airavata.registry.core.repositories.AbstractRepository.get(AbstractRepository.java:75)
at
org.apache.airavata.registry.core.repositories.AbstractRepository.isExists(AbstractRepository.java:113)
at
org.apache.airavata.registry.core.repositories.expcatalog.GatewayRepository.isGatewayExist(GatewayRepository.java:99)
at
org.apache.airavata.registry.core.utils.ExpCatalogDBInitConfig.postInit(ExpCatalogDBInitConfig.java:62)
... 4 more
Caused by: <openjpa-3.1.0-rafcec21a1d489dff682a3ce7986fac6a1c80e8e0
nonfatal user error> org.apache.openjpa.persistence.ArgumentException: This
configuration disallows runtime optimization, but the following listed
types were not enhanced at build time or at class load time with a
javaagent: "
3. I copied the *django_airavata/settings_local.py.ide* to my
*settings_local.py* file and still the issue exists. I have attached the
settings_local.py file with this email.
Thanks & Regards,
Saurav Kumar Jha
On Wed, Jun 7, 2023 at 3:18 AM Christie, Marcus Aaron <[email protected]>
wrote:
>
> Hi Saurav,
>
> > On Jun 6, 2023, at 12:51 PM, saurav kumar jha <
> [email protected]> wrote:
> >
> > 1. While Following the steps mentioned at below link:
> > airavata/README.md at develop · apache/airavata · GitHub
> >
> > Apply any database migrations. Go to src/main/containers directory
> and run
> > cat ./database_scripts/init/*-migrations.sql | docker exec -i
> containers-db-1 mysql -p123456
> >
> > Above command produces following error:
> > Error response from daemon: No such container: containers-db-1
> >
>
>
> You need to run docker-compose up first. Make sure that the
> 'containers-db-1' container is running, maybe by doing 'docker ps'.
>
> > 2. Running the APIServerStarter produces following error:
> >
> > Caused by: org.apache.openjpa.persistence.ArgumentException: Table
> "COMPUTE_RESOURCE_SCHEDULING" given for
> "org.apache.airavata.registry.core.entities.expcatalog.ComputationalResourceSchedulingEntity"
> does not exist.
> >
>
> Fixing #1 will fix this one.
>
> > 3. Running Django-Portal works and app frontend is loaded but when I try
> to login, it gives SSL version related error:
> >
> >
>
> I'm not sure about this one. Did you use the
> django_airavata/settings_local.py.ide as your settings_local.py file? If
> you are still having issues, please share your settings_local.py file.
"""
Override default Django settings for a particular instance.
Copy this file to settings_local.py and modify as appropriate. This file will
be imported into settings.py last of all so settings in this file override any
defaults specified in settings.py.
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Django - general settings
# Uncomment and specify for production deployments
# DEBUG = False
# STATIC_ROOT = "/var/www/path/to/sitename/static/"
# ALLOWED_HOSTS = ['production.hostname']
# Django - Email settings
# Uncomment and specify the following for sending emails (default email backend
# just prints to the console)
# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# EMAIL_HOST = '...'
# EMAIL_PORT = '...'
# EMAIL_HOST_USER = '...'
# EMAIL_HOST_PASSWORD = '...'
# EMAIL_USE_TLS = True
ADMINS = [('Admin Name', '[email protected]')]
# PORTAL_ADMINS receive administrative emails, like when a new user is created
# This can be set to a different value than ADMINS so that the PORTAL_ADMINS
# don't receive error emails
PORTAL_ADMINS = ADMINS
# SERVER_EMAIL = '[email protected]'
# Keycloak Configuration
KEYCLOAK_CLIENT_ID = 'pga'
KEYCLOAK_CLIENT_SECRET = '9790c8c4-7d9b-4ccc-a820-ca5aac38d2ad'
KEYCLOAK_AUTHORIZE_URL = 'https://airavata.host:8443/auth/realms/default/protocol/openid-connect/auth'
KEYCLOAK_TOKEN_URL = 'https://airavata.host:8443/auth/realms/default/protocol/openid-connect/token'
KEYCLOAK_USERINFO_URL = 'https://airavata.host:8443/auth/realms/default/protocol/openid-connect/userinfo'
KEYCLOAK_LOGOUT_URL = 'https://airavata.host:8443/auth/realms/default/protocol/openid-connect/logout'
# Optional: specify if using self-signed certificate or certificate from unrecognized CA
# KEYCLOAK_CA_CERTFILE = os.path.join(BASE_DIR, "django_airavata", "resources", "incommon_rsa_server_ca.pem")
KEYCLOAK_VERIFY_SSL = False
AUTHENTICATION_OPTIONS = {
# Control whether username/password authentication is allowed
'password': {
'name': 'your account',
},
# Can have multiple external logins
# 'external': [
# {
# 'idp_alias': 'cilogon',
# 'name': 'CILogon',
# }
# ]
}
# Airavata API Configuration
GATEWAY_ID = 'default'
AIRAVATA_API_HOST = 'localhost'
AIRAVATA_API_PORT = 9930
AIRAVATA_API_SECURE = True
FILE_UPLOAD_TEMP_DIR = '/tmp'
USER_STORAGES = {
'default': {
'BACKEND': 'airavata_django_portal_sdk.user_storage.backends.DjangoFileSystemProvider',
'STORAGE_RESOURCE_ID': 'airavata.host_77116e91-f042-4d3a-ab9c-3e7b4ebcd5bd',
'OPTIONS': {
'directory': '/tmp',
}
}
}
# Profile Service Configuration
PROFILE_SERVICE_HOST = AIRAVATA_API_HOST
PROFILE_SERVICE_PORT = 8962
PROFILE_SERVICE_SECURE = False
# Portal settings
PORTAL_TITLE = 'Django Airavata Gateway'
# Logging configuration
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '[%(asctime)s %(name)s:%(lineno)d %(levelname)s] %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'verbose',
'level': 'DEBUG',
},
'file': {
'class': 'logging.FileHandler',
'filename': 'django_airavata.log',
'formatter': 'verbose',
},
},
'loggers': {
'django': {
'handlers': ['console', 'file'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
},
'airavata': {
'handlers': ['console', 'file'],
'level': 'DEBUG',
},
'django_airavata': {
'handlers': ['console', 'file'],
'level': 'DEBUG',
},
},
}