[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface
[ https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418194#comment-16418194 ] ASF GitHub Bot commented on AIRAVATA-2657: -- tilaks26 commented on issue #167: [AIRAVATA-2657] Refactoring App Catalog Implementation - ApplicationDeployment and ApplicationInterface Modules URL: https://github.com/apache/airavata/pull/167#issuecomment-377055235 @DImuthuUpe Yes, I have included tests for the new methods that I have included. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Refactoring App Catalog implementation - ApplicationDeployment and > ApplicationInterface > --- > > Key: AIRAVATA-2657 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2657 > Project: Airavata > Issue Type: Task > Components: Application Catalog >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2719) Refactoring Replica Catalog
[ https://issues.apache.org/jira/browse/AIRAVATA-2719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418141#comment-16418141 ] ASF GitHub Bot commented on AIRAVATA-2719: -- machristie commented on a change in pull request #187: [AIRAVATA-2719] Refactoring Replica Catalog Implementation URL: https://github.com/apache/airavata/pull/187#discussion_r177895388 ## File path: modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/RepCatAbstractRepository.java ## @@ -0,0 +1,132 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.registry.core.repositories.replicacatalog; + +import org.apache.airavata.registry.core.utils.Committer; +import org.apache.airavata.registry.core.utils.DBConstants; +import org.apache.airavata.registry.core.utils.JPAUtil.RepCatalogJPAUtils; +import org.apache.airavata.registry.core.utils.ObjectMapperSingleton; +import org.dozer.Mapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public abstract class RepCatAbstractRepository { Review comment: We talked about this but I'll just comment here as well. I was thinking we could have an AbstractRepository class that classes like RepCatAbstractRepository would extends from. AbstractRepository would implement all of the methods but also have an `abstract` `getEntityManager()` method that subclasses would implement. Mentioning @sachinkariyattin to get his input as well. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Refactoring Replica Catalog > --- > > Key: AIRAVATA-2719 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2719 > Project: Airavata > Issue Type: Improvement > Components: Registry API >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2719) Refactoring Replica Catalog
[ https://issues.apache.org/jira/browse/AIRAVATA-2719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418133#comment-16418133 ] ASF GitHub Bot commented on AIRAVATA-2719: -- machristie commented on a change in pull request #187: [AIRAVATA-2719] Refactoring Replica Catalog Implementation URL: https://github.com/apache/airavata/pull/187#discussion_r177565343 ## File path: modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java ## @@ -20,24 +20,61 @@ */ package org.apache.airavata.registry.core.entities.replicacatalog; +import org.apache.airavata.model.data.replica.DataProductType; + +import java.util.*; import javax.persistence.*; +import java.io.Serializable; import java.sql.Timestamp; +/** + * The persistent class for the data_product database table. + */ @Entity -@Table(name = "data_product", schema = "airavata_catalog", catalog = "") -public class DataProductEntity { +@Table(name = "DATA_PRODUCT") +public class DataProductEntity implements Serializable { +private static final long serialVersionUID = 1L; + +@Id +@Column(name = "PRODUCT_URI") private String productUri; + +@Column(name = "GATEWAY_ID") private String gatewayId; + +@Column(name = "PRODUCT_NAME") private String productName; + +@Column(name = "PRODUCT_DESCRIPTION") private String productDescription; + +@Column(name = "OWNER_NAME") private String ownerName; + +@Column(name = "PARENT_PRODUCT_URI") private String parentProductUri; -private Integer productSize; + +@Column(name = "PRODUCT_SIZE") +private int productSize; + +@Column(name = "CREATION_TIME") private Timestamp creationTime; + +@Column(name = "LAST_MODIFIED_TIME") private Timestamp lastModifiedTime; -@Id -@Column(name = "PRODUCT_URI") +@Column(name = "PRODUCT_TYPE") +private DataProductType dataProductType; + +@ElementCollection(fetch = FetchType.EAGER) +@CollectionTable(name="DATA_PRODUCT_METADATA", joinColumns = @JoinColumn(name="PRODUCT_URI")) +@Column(name = "METADATA_KEY") +private Map productMetadata; Review comment: Yes. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Refactoring Replica Catalog > --- > > Key: AIRAVATA-2719 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2719 > Project: Airavata > Issue Type: Improvement > Components: Registry API >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2712) Refactoring App Catalog Implementation - User Resource Profile
[ https://issues.apache.org/jira/browse/AIRAVATA-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418121#comment-16418121 ] ASF subversion and git services commented on AIRAVATA-2712: --- Commit d7e919324422a03a037e532a9ca67caf634f3720 in airavata's branch refs/heads/group-based-auth from [~marcuschristie] [ https://gitbox.apache.org/repos/asf?p=airavata.git;h=d7e9193 ] Merge pull request #185 from tilaks26/AIRAVATA-2712 [AIRAVATA-2712] Refactoring App Catalog Implementation - UserResourceProfile > Refactoring App Catalog Implementation - User Resource Profile > -- > > Key: AIRAVATA-2712 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2712 > Project: Airavata > Issue Type: Improvement > Components: Registry API >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2712) Refactoring App Catalog Implementation - User Resource Profile
[ https://issues.apache.org/jira/browse/AIRAVATA-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418122#comment-16418122 ] ASF subversion and git services commented on AIRAVATA-2712: --- Commit d7e919324422a03a037e532a9ca67caf634f3720 in airavata's branch refs/heads/group-based-auth from [~marcuschristie] [ https://gitbox.apache.org/repos/asf?p=airavata.git;h=d7e9193 ] Merge pull request #185 from tilaks26/AIRAVATA-2712 [AIRAVATA-2712] Refactoring App Catalog Implementation - UserResourceProfile > Refactoring App Catalog Implementation - User Resource Profile > -- > > Key: AIRAVATA-2712 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2712 > Project: Airavata > Issue Type: Improvement > Components: Registry API >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2712) Refactoring App Catalog Implementation - User Resource Profile
[ https://issues.apache.org/jira/browse/AIRAVATA-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418119#comment-16418119 ] ASF subversion and git services commented on AIRAVATA-2712: --- Commit 5a7eafa0dd12999464ae7a434e1437bd3f5527b6 in airavata's branch refs/heads/group-based-auth from [~tilaks26] [ https://gitbox.apache.org/repos/asf?p=airavata.git;h=5a7eafa ] Merge branch 'AIRAVATA-2712' of https://github.com/tilaks26/airavata into AIRAVATA-2712 > Refactoring App Catalog Implementation - User Resource Profile > -- > > Key: AIRAVATA-2712 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2712 > Project: Airavata > Issue Type: Improvement > Components: Registry API >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2712) Refactoring App Catalog Implementation - User Resource Profile
[ https://issues.apache.org/jira/browse/AIRAVATA-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418120#comment-16418120 ] ASF subversion and git services commented on AIRAVATA-2712: --- Commit 5a7eafa0dd12999464ae7a434e1437bd3f5527b6 in airavata's branch refs/heads/group-based-auth from [~tilaks26] [ https://gitbox.apache.org/repos/asf?p=airavata.git;h=5a7eafa ] Merge branch 'AIRAVATA-2712' of https://github.com/tilaks26/airavata into AIRAVATA-2712 > Refactoring App Catalog Implementation - User Resource Profile > -- > > Key: AIRAVATA-2712 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2712 > Project: Airavata > Issue Type: Improvement > Components: Registry API >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2712) Refactoring App Catalog Implementation - User Resource Profile
[ https://issues.apache.org/jira/browse/AIRAVATA-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418118#comment-16418118 ] ASF GitHub Bot commented on AIRAVATA-2712: -- machristie closed pull request #185: [AIRAVATA-2712] Refactoring App Catalog Implementation - UserResourceProfile URL: https://github.com/apache/airavata/pull/185 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserComputeResourcePreferenceEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserComputeResourcePreferenceEntity.java new file mode 100644 index 00..3250b69393 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/UserComputeResourcePreferenceEntity.java @@ -0,0 +1,198 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.registry.core.entities.appcatalog; + +import javax.persistence.*; +import java.sql.Timestamp; + +/** + * The persistent class for the user_compute_resource_preference database table. + */ +@Entity +@Table(name = "USER_COMPUTE_RESOURCE_PREFERENCE") +@IdClass(UserComputeResourcePreferencePK.class) +public class UserComputeResourcePreferenceEntity { +private static final long serialVersionUID = 1L; + +@Id +@Column(name = "RESOURCE_ID") +private String computeResourceId; + +@Id +@Column(name = "USER_ID") +private String userId; + +@Id +@Column(name = "GATEWAY_ID") +private String gatewayId; + +@Column(name = "PREFERED_BATCH_QUEUE") +private String preferredBatchQueue; + +@Column(name = "RESOURCE_CS_TOKEN") +private String resourceSpecificCredentialStoreToken; + +@Column(name = "LOGIN_USERNAME") +private String loginUserName; + +@Column(name = "ALLOCATION_PROJECT_NUMBER") +private String allocationProjectNumber; + +@Column(name = "QUALITY_OF_SERVICE") +private String qualityOfService; + +@Column(name = "RESERVATION") +private String reservation; + +@Column(name = "RESERVATION_START_TIME") +private Timestamp reservationStartTime; + +@Column(name = "RESERVATION_END_TIME") +private Timestamp reservationEndTime; + +@Column(name = "SCRATCH_LOCATION") +private String scratchLocation; + +@Column(name = "VALIDATED") +private boolean validated; + +@ManyToOne(targetEntity = UserResourceProfileEntity.class, cascade = CascadeType.MERGE) +@JoinColumns({ +@JoinColumn(name = "USER_ID"), +@JoinColumn(name="GATEWAY_ID") +}) +private UserResourceProfileEntity userResourceProfile; + +public UserComputeResourcePreferenceEntity() { +} + +public String getComputeResourceId() { +return computeResourceId; +} + +public void setComputeResourceId(String computeResourceId) { +this.computeResourceId = computeResourceId; +} + +public String getUserId() { +return userId; +} + +public void setUserId(String userId) { +this.userId = userId; +} + +public String getGatewayId() { +return gatewayId; +} + +public void setGatewayId(String gatewayId) { +this.gatewayId = gatewayId; +} + +public String getPreferredBatchQueue() { +return preferredBatchQueue; +} + +public void setPreferredBatchQueue(String preferredBatchQueue) { +this.preferredBatchQueue = preferredBatchQueue; +} + +public String getResourceSpecificCredentialStoreToken() { +return resourceSpecificCredentialStoreToken; +} + +public void setResourceSpecificCredentialStoreToken(String resourceSpecificCredentialStoreToken) { +this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken; +} + +pu
[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface
[ https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418102#comment-16418102 ] ASF GitHub Bot commented on AIRAVATA-2657: -- DImuthuUpe commented on issue #167: [AIRAVATA-2657] Refactoring App Catalog Implementation - ApplicationDeployment and ApplicationInterface Modules URL: https://github.com/apache/airavata/pull/167#issuecomment-377035909 +1 @tilaks26 Code looks good to me. Did you add enough test cases to verify the functionality of the changes that you have done? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Refactoring App Catalog implementation - ApplicationDeployment and > ApplicationInterface > --- > > Key: AIRAVATA-2657 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2657 > Project: Airavata > Issue Type: Task > Components: Application Catalog >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2657) Refactoring App Catalog implementation - ApplicationDeployment and ApplicationInterface
[ https://issues.apache.org/jira/browse/AIRAVATA-2657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418057#comment-16418057 ] ASF GitHub Bot commented on AIRAVATA-2657: -- machristie commented on a change in pull request #167: [AIRAVATA-2657] Refactoring App Catalog Implementation - ApplicationDeployment and ApplicationInterface Modules URL: https://github.com/apache/airavata/pull/167#discussion_r177879417 ## File path: modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java ## @@ -3589,8 +3586,7 @@ public String registerApplicationDeployment(String gatewayId, ApplicationDeploym @Override public boolean updateApplicationModule(String appModuleId, ApplicationModule applicationModule) throws RegistryServiceException, TException { try { -appCatalog = RegistryFactory.getAppCatalog(); - appCatalog.getApplicationInterface().updateApplicationModule(appModuleId, applicationModule); +new ApplicationInterfaceRepository().updateApplicationModule(appModuleId, applicationModule); Review comment: @sachinkariyattin yeah, I don't know. I don't see any reason why they couldn't be instantiated just once since they have no state. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Refactoring App Catalog implementation - ApplicationDeployment and > ApplicationInterface > --- > > Key: AIRAVATA-2657 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2657 > Project: Airavata > Issue Type: Task > Components: Application Catalog >Reporter: Sneha Tilak >Assignee: Sneha Tilak >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (AIRAVATA-2500) Automated cluster account provisioning for gateway users
[ https://issues.apache.org/jira/browse/AIRAVATA-2500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Christie resolved AIRAVATA-2500. --- Resolution: Fixed > Automated cluster account provisioning for gateway users > > > Key: AIRAVATA-2500 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2500 > Project: Airavata > Issue Type: Bug > Components: Airavata System >Reporter: Marcus Christie >Assignee: Marcus Christie >Priority: Major > > The initial use case for this system is the IU Cybergateway. We need the > following capabilities: > * query for whether a user has an account > ** for IU Cybergateway the user cluster access is determined by querying LDAP > * add an SSH public key for the user to authenticate (actually Airavata to > authenticate on behalf of the user) to the cluster > ** for IU Cybergateway the key is added to LDAP > Once the user has a cluster account and their SSH key has been added the > following additional things need to be done > * test that Airavata can authenticate to the cluster on the users behalf > * add a scratch location that Airavata will use for the user on the cluster > Eric Coulter has developed a prototype LDAP client that can query for a > user's account and deposit an SSH key in LDAP: > https://github.iu.edu/jecoulte/airavata-ldap-prototype (note: this link is > only accessible via IU credentials). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (AIRAVATA-2500) Automated cluster account provisioning for gateway users
[ https://issues.apache.org/jira/browse/AIRAVATA-2500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16418020#comment-16418020 ] ASF subversion and git services commented on AIRAVATA-2500: --- Commit 81d59ea8a390e65d3c2e9e5f439de5796ba2231d in airavata-php-gateway's branch refs/heads/master from [~marcuschristie] [ https://gitbox.apache.org/repos/asf?p=airavata-php-gateway.git;h=81d59ea ] AIRAVATA-2500 Don't display Additional Info if account is all set up > Automated cluster account provisioning for gateway users > > > Key: AIRAVATA-2500 > URL: https://issues.apache.org/jira/browse/AIRAVATA-2500 > Project: Airavata > Issue Type: Bug > Components: Airavata System >Reporter: Marcus Christie >Assignee: Marcus Christie >Priority: Major > > The initial use case for this system is the IU Cybergateway. We need the > following capabilities: > * query for whether a user has an account > ** for IU Cybergateway the user cluster access is determined by querying LDAP > * add an SSH public key for the user to authenticate (actually Airavata to > authenticate on behalf of the user) to the cluster > ** for IU Cybergateway the key is added to LDAP > Once the user has a cluster account and their SSH key has been added the > following additional things need to be done > * test that Airavata can authenticate to the cluster on the users behalf > * add a scratch location that Airavata will use for the user on the cluster > Eric Coulter has developed a prototype LDAP client that can query for a > user's account and deposit an SSH key in LDAP: > https://github.iu.edu/jecoulte/airavata-ldap-prototype (note: this link is > only accessible via IU credentials). -- This message was sent by Atlassian JIRA (v7.6.3#76005)