Apache Airavata

Local environment setup for Airavata server and Django portal

For detailed instructions, you can also refer to the github README https://github.com/apache/airavata/tree/master/modules/ide-integrationhttps://github.com/apache/airavata-django-portal

Install the following

  • Docker installed with 'docker-compose' utility
  • Maven
  • Git
  • python 3.6, 3.5, 3.4
  • npm 

Clone the airavata repository

Checkout the develop branch

  •  git checkout develop

Add a host entry to /etc/hosts file in local machine 

  • 127.0.0.1 airavata.host

Navigate the project directory and go to the folder containing docker-compose.yml 

  • cd airavata/modules/ide-integration/src/main/resources/

Start the services

  • docker-compose up -d

Check the status of the services. Make sure all are in status “Up”  

  • docker-compose ps

Start the airavata server

  • Build the project using mvn clean install -DskipTests. You can also open the project in intellij and use the intellij maven plugins to build the clean build install the project. Note: If you get an unknown database exception, make sure the mysql database is properly initialized. One easy way to check this is to verify the list of initialized databases in ide-integration/resources/database-data folder. It often helpful to stop db service, delete database-data folder and restart the docker service. Your database_data folder should look something like this. You can check the logs of db container to see if there are any errors.

  • cd airavata/modules/ide-integration/src/main/java/org/apache/airavata/ide/integration
  • Open APIServerStarter.java in intellij 
  • Run the main class and make sure the server is successfully started

To start the django portal clone the project

Go to airavata-django-portal directory and create a virtual environment 

  • python3 -m venv venv
  • Note: Make sure that you create virtual environment with either Python 3.6, 3.5 or 3.4. Wagtail version 2.0 (one of the dependency) is only compatible with these python versions.

Activate the environment 

  • source venv/bin/activate

Install all the libraries required by the portal

  • pip install -r requirements.txt

Copy django_airavata/settings_local.py.ide to django_airavata/settings_local.py. Make sure services url are pointing to localhost ports where your airavata services are running

  • cp django_airavata/settings_local.py.sample django_airavata/settings_local.py

Run django migrations 

  • python3 manage.py migrate

Build the JavaScript sources

  • ./build_js.sh

Load the default Wagtail CMS page

  •  python3 manage.py load_default_gateway

 Start the server

  •  python3 manage.py runserver 
  • Note: if you want to use OpenID Connect authentication from the Django Portal when running it locally, you'll need to first set the following environment to allow OAuth over insecure HTTP: export OAUTHLIB_INSECURE_TRANSPORT=1

Django server should be started on port 8000. Make sure you are able to login to  http://localhost:8000/auth/login using uername : default-admin and password : 123456

Once the development environment is setup you can look into some of the open bugs. Merge requests are always welcomed.

  1. https://issues.apache.org/jira/browse/AIRAVATA-2873
  2. https://issues.apache.org/jira/browse/AIRAVATA-2809
  3. https://issues.apache.org/jira/browse/AIRAVATA-2985
  4. https://issues.apache.org/jira/browse/AIRAVATA-2887
  5. https://issues.apache.org/jira/browse/AIRAVATA-3053





  • No labels