You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2018/12/13 13:55:17 UTC

[airavata] branch develop updated (2b6937f -> 9b6a7e8)

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git.


    from 2b6937f  adding CILogon to next TDB dev gateway
     new a51defa  limit wsgi processes on develop to reduce mem
     new 9b6a7e8  AIRAVATA-2616 Fix entity getter/setter to match data model

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../scigap/develop/group_vars/django/vars.yml      |   3 +-
 dev-tools/ansible/roles/django/defaults/main.yml   |   2 +
 .../django/templates/django-ssl-vhost.conf.j2      |   2 +-
 .../roles/django/templates/django-vhost.conf.j2    |   2 +-
 .../entities/expcatalog/ExperimentInputEntity.java |   4 +-
 .../entities/expcatalog/ProcessInputEntity.java    |   4 +-
 .../expcatalog/ExperimentRepositoryTest.java       | 101 +++++++++++++++++++++
 7 files changed, 111 insertions(+), 7 deletions(-)


[airavata] 02/02: AIRAVATA-2616 Fix entity getter/setter to match data model

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 9b6a7e8f4825afd8b55aca8fce9d9f22486ae737
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Thu Dec 13 08:49:51 2018 -0500

    AIRAVATA-2616 Fix entity getter/setter to match data model
---
 .../entities/expcatalog/ExperimentInputEntity.java |   4 +-
 .../entities/expcatalog/ProcessInputEntity.java    |   4 +-
 .../expcatalog/ExperimentRepositoryTest.java       | 101 +++++++++++++++++++++
 3 files changed, 105 insertions(+), 4 deletions(-)

diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
index d9b28fb..33ad224 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java
@@ -159,11 +159,11 @@ public class ExperimentInputEntity implements Serializable {
         this.inputOrder = inputOrder;
     }
 
-    public boolean isRequired() {
+    public boolean isIsRequired() {
         return isRequired;
     }
 
-    public void setRequired(boolean isRequired) {
+    public void setIsRequired(boolean isRequired) {
         this.isRequired = isRequired;
     }
 
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java
index 7bafe45..8c3e7de 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java
@@ -159,11 +159,11 @@ public class ProcessInputEntity implements Serializable {
         this.inputOrder = inputOrder;
     }
 
-    public boolean isRequired() {
+    public boolean isIsRequired() {
         return isRequired;
     }
 
-    public void setRequired(boolean required) {
+    public void setIsRequired(boolean required) {
         isRequired = required;
     }
 
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepositoryTest.java
index 7bb28e3..c8690a4 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepositoryTest.java
@@ -20,6 +20,8 @@
 */
 package org.apache.airavata.registry.core.repositories.expcatalog;
 
+import org.apache.airavata.model.application.io.DataType;
+import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.experiment.ExperimentModel;
 import org.apache.airavata.model.experiment.ExperimentType;
 import org.apache.airavata.model.experiment.UserConfigurationDataModel;
@@ -137,4 +139,103 @@ public class ExperimentRepositoryTest extends TestBase {
         projectRepository.removeProject(projectId);
     }
 
+    @Test
+    public void testExperimentInputs() throws RegistryException {
+
+        Gateway gateway = new Gateway();
+        gateway.setGatewayId("gateway");
+        gateway.setDomain("SEAGRID");
+        gateway.setEmailAddress("abc@d.com");
+        String gatewayId = gatewayRepository.addGateway(gateway);
+
+        Project project = new Project();
+        project.setName("projectName");
+        project.setOwner("user");
+        project.setGatewayId(gatewayId);
+
+        String projectId = projectRepository.addProject(project, gatewayId);
+
+        ExperimentModel experimentModel = new ExperimentModel();
+        experimentModel.setProjectId(projectId);
+        experimentModel.setGatewayId(gatewayId);
+        experimentModel.setExperimentType(ExperimentType.SINGLE_APPLICATION);
+        experimentModel.setUserName("user");
+        experimentModel.setExperimentName("name");
+        experimentModel.setGatewayInstanceId("gateway-instance-id");
+
+        InputDataObjectType input1 = new InputDataObjectType();
+        input1.setName("name1");
+        input1.setIsRequired(true);
+        input1.setType(DataType.STRING);
+        input1.setInputOrder(0);
+        input1.setApplicationArgument("-arg1");
+        input1.setDataStaged(true);
+        input1.setIsReadOnly(true);
+        input1.setMetaData("{\"foo\": 123}");
+        input1.setRequiredToAddedToCommandLine(true);
+        input1.setStandardInput(true);
+        input1.setStorageResourceId("storageResourceId");
+        input1.setUserFriendlyDescription("First argument");
+        input1.setValue("value1");
+        experimentModel.addToExperimentInputs(input1);
+
+        String experimentId = experimentRepository.addExperiment(experimentModel);
+        assertTrue(experimentId != null);
+
+        ExperimentModel retrievedExperimentModel = experimentRepository.getExperiment(experimentId);
+        assertEquals(1, retrievedExperimentModel.getExperimentInputsSize());
+        InputDataObjectType retrievedInput1 = retrievedExperimentModel.getExperimentInputs().get(0);
+        assertEquals("name1", retrievedInput1.getName());
+        assertTrue(retrievedInput1.isIsRequired());
+        assertEquals(DataType.STRING, retrievedInput1.getType());
+        assertEquals(0, retrievedInput1.getInputOrder());
+        assertEquals("-arg1", retrievedInput1.getApplicationArgument());
+        assertTrue(retrievedInput1.isDataStaged());
+        assertTrue(retrievedInput1.isIsReadOnly());
+        assertEquals("{\"foo\": 123}", retrievedInput1.getMetaData());
+        assertTrue(retrievedInput1.isRequiredToAddedToCommandLine());
+        assertTrue(retrievedInput1.isStandardInput());
+        assertEquals("storageResourceId", retrievedInput1.getStorageResourceId());
+        assertEquals("First argument", retrievedInput1.getUserFriendlyDescription());
+        assertEquals("value1", retrievedInput1.getValue());
+
+        // Update values of the input
+        retrievedInput1.setIsRequired(false);
+        retrievedInput1.setType(DataType.URI);
+        retrievedInput1.setInputOrder(1);
+        retrievedInput1.setApplicationArgument("-arg1a");
+        retrievedInput1.setDataStaged(false);
+        retrievedInput1.setIsReadOnly(false);
+        retrievedInput1.setMetaData("{\"bar\": 456}");
+        retrievedInput1.setRequiredToAddedToCommandLine(false);
+        retrievedInput1.setStandardInput(false);
+        retrievedInput1.setStorageResourceId("storageResourceId2");
+        retrievedInput1.setUserFriendlyDescription("First argument~");
+        retrievedInput1.setValue("value1a");
+
+        experimentRepository.updateExperiment(retrievedExperimentModel, experimentId);
+
+        retrievedExperimentModel = experimentRepository.getExperiment(experimentId);
+        assertEquals(1, retrievedExperimentModel.getExperimentInputsSize());
+        retrievedInput1 = retrievedExperimentModel.getExperimentInputs().get(0);
+        assertFalse(retrievedInput1.isIsRequired());
+        assertEquals(DataType.URI, retrievedInput1.getType());
+        assertEquals(1, retrievedInput1.getInputOrder());
+        assertEquals("-arg1a", retrievedInput1.getApplicationArgument());
+        assertFalse(retrievedInput1.isDataStaged());
+        assertFalse(retrievedInput1.isIsReadOnly());
+        assertEquals("{\"bar\": 456}", retrievedInput1.getMetaData());
+        assertFalse(retrievedInput1.isRequiredToAddedToCommandLine());
+        assertFalse(retrievedInput1.isStandardInput());
+        assertEquals("storageResourceId2", retrievedInput1.getStorageResourceId());
+        assertEquals("First argument~", retrievedInput1.getUserFriendlyDescription());
+        assertEquals("value1a", retrievedInput1.getValue());
+
+        experimentRepository.removeExperiment(experimentId);
+        assertFalse(experimentRepository.isExperimentExist(experimentId));
+
+        gatewayRepository.removeGateway(gatewayId);
+        projectRepository.removeProject(projectId);
+    }
+
 }


[airavata] 01/02: limit wsgi processes on develop to reduce mem

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit a51defadd31d3d66f1454cad45d9c63b05b3c8b2
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed Nov 21 14:29:17 2018 -0500

    limit wsgi processes on develop to reduce mem
---
 .../ansible/inventories/scigap/develop/group_vars/django/vars.yml      | 3 ++-
 dev-tools/ansible/roles/django/defaults/main.yml                       | 2 ++
 dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2      | 2 +-
 dev-tools/ansible/roles/django/templates/django-vhost.conf.j2          | 2 +-
 4 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/dev-tools/ansible/inventories/scigap/develop/group_vars/django/vars.yml b/dev-tools/ansible/inventories/scigap/develop/group_vars/django/vars.yml
index c07f92f..ccc07de 100644
--- a/dev-tools/ansible/inventories/scigap/develop/group_vars/django/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/group_vars/django/vars.yml
@@ -23,4 +23,5 @@ user: "pga"
 group: "pga"
 gateway_data_store_hostname: "pgadev.scigap.org"
 gateway_data_store_resource_id: "pgadev.scigap.org_7ddf28fd-d503-4ff8-bbc5-3279a7c3b99e"
-gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWgLve4J9WCohF/4UnbBZsh/nRkP1aM9FmA1FjKwK2gQAnKwhU+NrbsjW38h2Hi+8s9N2oZ9cCJHrvDi2U0cMxz4exIUBcVoRhw37ThlREHADeKR1FbKw0QLhTyfJb0K+1/8GWRluiFx0vHPptJe0KTqu+RJY0NSe+d/BEuGyCZ1hR+SKNuTgcb05Ia6opbSN5D68N9biseEux60d69ARQxLw+VN3Kr/UaBNpGIAfKLlLSUQlTyPA6G6UKCcJZv+/ye10oa0SK0qtrxMpL+4VJcVx+d56U7CUFWKEgPAaQrX1qdGUNDA7HKmD+EBtzw6DJqNJ0Cue/XuPe/RT62tpf"
\ No newline at end of file
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWgLve4J9WCohF/4UnbBZsh/nRkP1aM9FmA1FjKwK2gQAnKwhU+NrbsjW38h2Hi+8s9N2oZ9cCJHrvDi2U0cMxz4exIUBcVoRhw37ThlREHADeKR1FbKw0QLhTyfJb0K+1/8GWRluiFx0vHPptJe0KTqu+RJY0NSe+d/BEuGyCZ1hR+SKNuTgcb05Ia6opbSN5D68N9biseEux60d69ARQxLw+VN3Kr/UaBNpGIAfKLlLSUQlTyPA6G6UKCcJZv+/ye10oa0SK0qtrxMpL+4VJcVx+d56U7CUFWKEgPAaQrX1qdGUNDA7HKmD+EBtzw6DJqNJ0Cue/XuPe/RT62tpf"
+django_wsgi_processes: 1
\ No newline at end of file
diff --git a/dev-tools/ansible/roles/django/defaults/main.yml b/dev-tools/ansible/roles/django/defaults/main.yml
index 2e4b44c..592adff 100644
--- a/dev-tools/ansible/roles/django/defaults/main.yml
+++ b/dev-tools/ansible/roles/django/defaults/main.yml
@@ -40,6 +40,8 @@ django_vhost_template: "django-vhost.conf.j2"
 django_ssl_vhost_template: "django-ssl-vhost.conf.j2"
 django_settings_local_template: "settings_local.py.j2"
 
+django_wsgi_processes: 2
+
 ## Keycloak related variables
 tenant_domain: "{{ gateway_id }}"
 oauth_client_key: "RuLl_Uw7i_KXaLoAGJkiasTfyBYa"
diff --git a/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2 b/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
index aa31c48..14e57b7 100644
--- a/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
+++ b/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
@@ -49,7 +49,7 @@
     AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
     </Directory>
 
-    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes=2 user={{ user }} group={{ group }}
+    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
     WSGIProcessGroup {{ vhost_servername }}
 
     WSGIScriptAlias / {{ doc_root_dir }}/airavata-django-portal/django_airavata/wsgi.py
diff --git a/dev-tools/ansible/roles/django/templates/django-vhost.conf.j2 b/dev-tools/ansible/roles/django/templates/django-vhost.conf.j2
index 90ebec8..767a4ce 100644
--- a/dev-tools/ansible/roles/django/templates/django-vhost.conf.j2
+++ b/dev-tools/ansible/roles/django/templates/django-vhost.conf.j2
@@ -40,7 +40,7 @@
     AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
     </Directory>
 
-    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes=2 user={{ user }} group={{ group }}
+    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
     WSGIProcessGroup {{ vhost_servername }}
 
     WSGIScriptAlias / {{ doc_root_dir }}/airavata-django-portal/django_airavata/wsgi.py