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 <machr...@iu.edu>
wrote:

>
> Hi Saurav,
>
> > On Jun 6, 2023, at 12:51 PM, saurav kumar jha <
> imsauravgaurav...@gmail.com> 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', 'ad...@example.com')]
# 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 = 'por...@example.com'

# 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',
     },
 },
}

Reply via email to