This is an automated email from the ASF dual-hosted git repository.
yasith pushed a commit to branch feat/single-jvm
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/feat/single-jvm by this push:
new 70fcc1bc64 fix: audit issues — DB init, SDK validation, test/deploy
properties
70fcc1bc64 is described below
commit 70fcc1bc64cc548183416158178bf99da05cfc78
Author: yasithdev <[email protected]>
AuthorDate: Thu Mar 26 00:44:31 2026 -0500
fix: audit issues — DB init, SDK validation, test/deploy properties
- Add missing WorkflowCatalog and CredentialStore DB init configs
- Fix Python SDK _validate_transport for services without getAPIVersion
- Unify test and deployment airavata-server.properties to airavata.jdbc.*
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
---
.../airavata/api/server/AiravataUnifiedServer.java | 4 +++
.../src/test/resources/airavata-server.properties | 41 ++++-----------------
.../airavata_sdk/transport/utils.py | 7 ++--
.../deployment-scripts/airavata-server.properties | 42 ++++------------------
4 files changed, 22 insertions(+), 72 deletions(-)
diff --git
a/airavata-api/src/main/java/org/apache/airavata/api/server/AiravataUnifiedServer.java
b/airavata-api/src/main/java/org/apache/airavata/api/server/AiravataUnifiedServer.java
index 23d32beaf6..e4d8eea2b8 100644
---
a/airavata-api/src/main/java/org/apache/airavata/api/server/AiravataUnifiedServer.java
+++
b/airavata-api/src/main/java/org/apache/airavata/api/server/AiravataUnifiedServer.java
@@ -36,9 +36,11 @@ import org.apache.airavata.model.error.AiravataErrorType;
import org.apache.airavata.model.error.AiravataSystemException;
import org.apache.airavata.registry.api.RegistryService;
import org.apache.airavata.registry.api.service.handler.RegistryServerHandler;
+import
org.apache.airavata.credential.store.store.impl.util.CredentialStoreDBInitConfig;
import org.apache.airavata.registry.core.utils.AppCatalogDBInitConfig;
import org.apache.airavata.registry.core.utils.ExpCatalogDBInitConfig;
import org.apache.airavata.registry.core.utils.ReplicaCatalogDBInitConfig;
+import org.apache.airavata.registry.core.utils.WorkflowCatalogDBInitConfig;
import
org.apache.airavata.service.profile.groupmanager.cpi.GroupManagerService;
import
org.apache.airavata.service.profile.groupmanager.cpi.group_manager_cpiConstants;
import org.apache.airavata.service.profile.handlers.GroupManagerServiceHandler;
@@ -91,6 +93,8 @@ public class AiravataUnifiedServer implements IServer {
new ExpCatalogDBInitConfig(),
new AppCatalogDBInitConfig(),
new ReplicaCatalogDBInitConfig(),
+ new WorkflowCatalogDBInitConfig(),
+ new CredentialStoreDBInitConfig(),
new UserProfileCatalogDBInitConfig());
public AiravataUnifiedServer() {
diff --git a/airavata-api/src/test/resources/airavata-server.properties
b/airavata-api/src/test/resources/airavata-server.properties
index 58370dc1b8..0c00542576 100644
--- a/airavata-api/src/test/resources/airavata-server.properties
+++ b/airavata-api/src/test/resources/airavata-server.properties
@@ -25,45 +25,18 @@
###########################################################################
###########################################################################
-# API Server Registry Configuration
+# Unified Database Configuration
###########################################################################
-#for derby [AiravataJPARegistry] - all catalogs use single database
-registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-registry.jdbc.url=jdbc:derby:airavata;create=true;user=airavata;password=airavata
-registry.jdbc.user=airavata
-registry.jdbc.password=airavata
-validationQuery=SELECT 1 from CONFIGURATION
+# Unified JDBC configuration for all catalogs
+airavata.jdbc.driver=org.mariadb.jdbc.Driver
+airavata.jdbc.url=jdbc:mariadb://localhost:3306/airavata
+airavata.jdbc.user=airavata
+airavata.jdbc.password=airavata
+airavata.jdbc.validationQuery=SELECT 1
# Properties for default user mode
default.registry.user=admin
default.registry.gateway=php_reference_gateway
default.registry.oauth.client.id=client_id
default.registry.oauth.client.secret=client_secret
-
-###########################################################################
-# Application Catalog DB Configuration
-###########################################################################
-appcatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-appcatalog.jdbc.url=jdbc:derby:airavata;create=true;user=airavata;password=airavata
-appcatalog.jdbc.user=airavata
-appcatalog.jdbc.password=airavata
-appcatalog.validationQuery=SELECT 1 from CONFIGURATION
-
-##########################################################################
-# Replica Catalog DB Configuration
-###########################################################################
-replicacatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-replicacatalog.jdbc.url=jdbc:derby:airavata;create=true;user=airavata;password=airavata
-replicacatalog.jdbc.user=airavata
-replicacatalog.jdbc.password=airavata
-replicacatalog.validationQuery=SELECT 1 from CONFIGURATION
-
-###########################################################################
-# Workflow Catalog DB Configuration
-###########################################################################
-workflowcatalog.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-workflowcatalog.jdbc.url=jdbc:derby:airavata;create=true;user=airavata;password=airavata
-workflowcatalog.jdbc.user=airavata
-workflowcatalog.jdbc.password=airavata
-workflowcatalog.validationQuery=SELECT 1 from CONFIGURATION
diff --git a/dev-tools/airavata-python-sdk/airavata_sdk/transport/utils.py
b/dev-tools/airavata-python-sdk/airavata_sdk/transport/utils.py
index b53e216eb1..10e9c8b27b 100644
--- a/dev-tools/airavata-python-sdk/airavata_sdk/transport/utils.py
+++ b/dev-tools/airavata-python-sdk/airavata_sdk/transport/utils.py
@@ -105,8 +105,11 @@ class ThriftClient:
if self.transport.isOpen():
self.transport.close()
self.transport.open()
- version = self.client.getAPIVersion() # type: ignore
- log.debug(f"[AV] Connected to {self.host}:{self.port} passed! API
version={version}")
+ try:
+ version = self.client.getAPIVersion() # type: ignore
+ log.debug(f"[AV] Connected to {self.host}:{self.port}, API
version={version}")
+ except AttributeError:
+ log.debug(f"[AV] Connected to {self.host}:{self.port} (service has
no getAPIVersion)")
break
except Exception as e:
log.debug(f"[AV] Connection attempt {attempt + 1} failed: {repr(e)}")
diff --git a/dev-tools/deployment-scripts/airavata-server.properties
b/dev-tools/deployment-scripts/airavata-server.properties
index 1ea44cdedd..7b1370d4a8 100644
--- a/dev-tools/deployment-scripts/airavata-server.properties
+++ b/dev-tools/deployment-scripts/airavata-server.properties
@@ -23,43 +23,13 @@
############################
############################
-# Database (MariaDB) - single unified database
+# Unified Database Configuration
############################
-registry.jdbc.driver=org.mariadb.jdbc.Driver
-registry.jdbc.url=jdbc:mariadb://mysql:3306/airavata
-registry.jdbc.user=airavata
-registry.jdbc.password=123456
-registry.jdbc.validationQuery=SELECT 1
-
-appcatalog.jdbc.driver=org.mariadb.jdbc.Driver
-appcatalog.jdbc.url=jdbc:mariadb://mysql:3306/airavata
-appcatalog.jdbc.user=airavata
-appcatalog.jdbc.password=123456
-appcatalog.jdbc.validationQuery=SELECT 1
-
-replicacatalog.jdbc.driver=org.mariadb.jdbc.Driver
-replicacatalog.jdbc.url=jdbc:mariadb://mysql:3306/airavata
-replicacatalog.jdbc.user=airavata
-replicacatalog.jdbc.password=123456
-replicacatalog.jdbc.validationQuery=SELECT 1
-
-workflowcatalog.jdbc.driver=org.mariadb.jdbc.Driver
-workflowcatalog.jdbc.url=jdbc:mariadb://mysql:3306/airavata
-workflowcatalog.jdbc.user=airavata
-workflowcatalog.jdbc.password=123456
-workflowcatalog.jdbc.validationQuery=SELECT 1
-
-sharingcatalog.jdbc.driver=org.mariadb.jdbc.Driver
-sharingcatalog.jdbc.url=jdbc:mariadb://mysql:3306/airavata
-sharingcatalog.jdbc.user=airavata
-sharingcatalog.jdbc.password=123456
-sharingcatalog.jdbc.validationQuery=SELECT 1
-
-credential.store.jdbc.driver=org.mariadb.jdbc.Driver
-credential.store.jdbc.url=jdbc:mariadb://mysql:3306/airavata
-credential.store.jdbc.user=airavata
-credential.store.jdbc.password=123456
-credential.store.jdbc.validationQuery=SELECT 1
+airavata.jdbc.driver=org.mariadb.jdbc.Driver
+airavata.jdbc.url=jdbc:mariadb://mysql:3306/airavata
+airavata.jdbc.user=airavata
+airavata.jdbc.password=123456
+airavata.jdbc.validationQuery=SELECT 1
############################
# AMQP (RabbitMQ) Configuration