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
commit 2b511446e7815311d6ff39b646b2aab384ba7c7c Author: yasithdev <[email protected]> AuthorDate: Wed Mar 25 23:51:24 2026 -0500 feat(python-sdk): route all service clients through single API server port via TMultiplexedProtocol All Thrift service clients (Airavata, SharingRegistry, CredentialStore, and profile services) now connect to API_SERVER_HOSTNAME:API_SERVER_PORT with service-specific names via TMultiplexedProtocol. Removed separate host/port settings for PROFILE_SERVICE, SHARING_API, and CREDENTIAL_STORE. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> --- .../airavata-python-sdk/airavata_sdk/__init__.py | 48 ---------------------- .../clients/credential_store_client.py | 6 +-- .../airavata_sdk/clients/group_manager_client.py | 6 +-- .../airavata_sdk/clients/iam_admin_client.py | 6 +-- .../clients/sharing_registry_client.py | 6 +-- .../airavata_sdk/clients/tenant_profile_client.py | 6 +-- .../airavata_sdk/clients/user_profile_client.py | 6 +-- .../airavata_sdk/transport/utils.py | 42 +++++++++---------- 8 files changed, 39 insertions(+), 87 deletions(-) diff --git a/dev-tools/airavata-python-sdk/airavata_sdk/__init__.py b/dev-tools/airavata-python-sdk/airavata_sdk/__init__.py index 0a559918e8..7b858662cc 100644 --- a/dev-tools/airavata-python-sdk/airavata_sdk/__init__.py +++ b/dev-tools/airavata-python-sdk/airavata_sdk/__init__.py @@ -94,54 +94,6 @@ class Settings: def FILE_SVC_URL(self): return str(os.getenv("FILE_SVC_URL", f"http://{self.API_SERVER_HOSTNAME}:8050")) - # ------------------------------------------------------------ - # Profile Service Connection Settings - # ------------------------------------------------------------ - - @property - def PROFILE_SERVICE_HOST(self): - return str(os.getenv("PROFILE_SERVICE_HOST", self.API_SERVER_HOSTNAME)) - - @property - def PROFILE_SERVICE_PORT(self): - return int(os.getenv("PROFILE_SERVICE_PORT", 8962)) - - @property - def PROFILE_SERVICE_SECURE(self): - return bool(os.getenv("PROFILE_SERVICE_SECURE", False)) - - # ------------------------------------------------------------ - # Sharing Service Connection Settings - # ------------------------------------------------------------ - - @property - def SHARING_API_HOST(self): - return str(os.getenv("SHARING_API_HOST", self.API_SERVER_HOSTNAME)) - - @property - def SHARING_API_PORT(self): - return int(os.getenv("SHARING_API_PORT", 7878)) - - @property - def SHARING_API_SECURE(self): - return bool(os.getenv("SHARING_API_SECURE", False)) - - # ------------------------------------------------------------ - # Credential Store Connection Settings - # ------------------------------------------------------------ - - @property - def CREDENTIAL_STORE_API_HOST(self): - return str(os.getenv("CREDENTIAL_STORE_API_HOST", self.API_SERVER_HOSTNAME)) - - @property - def CREDENTIAL_STORE_API_PORT(self): - return int(os.getenv("CREDENTIAL_STORE_API_PORT", 8960)) - - @property - def CREDENTIAL_STORE_API_SECURE(self): - return bool(os.getenv("CREDENTIAL_STORE_API_SECURE", False)) - # ------------------------------------------------------------ # Gateway Settings # ------------------------------------------------------------ diff --git a/dev-tools/airavata-python-sdk/airavata_sdk/clients/credential_store_client.py b/dev-tools/airavata-python-sdk/airavata_sdk/clients/credential_store_client.py index d0113b334b..f3d2c854c0 100644 --- a/dev-tools/airavata-python-sdk/airavata_sdk/clients/credential_store_client.py +++ b/dev-tools/airavata-python-sdk/airavata_sdk/clients/credential_store_client.py @@ -27,9 +27,9 @@ class CredentialStoreClient(object): def __init__(self): self.settings = Settings() self.client = utils.initialize_credential_store_client( - self.settings.CREDENTIAL_STORE_API_HOST, - self.settings.CREDENTIAL_STORE_API_PORT, - self.settings.CREDENTIAL_STORE_API_SECURE, + self.settings.API_SERVER_HOSTNAME, + self.settings.API_SERVER_PORT, + self.settings.API_SERVER_SECURE, ) # expose the needed functions self.get_SSH_credential = self.client.getSSHCredential diff --git a/dev-tools/airavata-python-sdk/airavata_sdk/clients/group_manager_client.py b/dev-tools/airavata-python-sdk/airavata_sdk/clients/group_manager_client.py index 77db3dc639..f5b581a371 100644 --- a/dev-tools/airavata-python-sdk/airavata_sdk/clients/group_manager_client.py +++ b/dev-tools/airavata-python-sdk/airavata_sdk/clients/group_manager_client.py @@ -36,9 +36,9 @@ class GroupManagerClient(object): def __init__(self): self.settings = Settings() self.client = utils.initialize_group_manager_client( - self.settings.PROFILE_SERVICE_HOST, - self.settings.PROFILE_SERVICE_PORT, - self.settings.PROFILE_SERVICE_SECURE, + self.settings.API_SERVER_HOSTNAME, + self.settings.API_SERVER_PORT, + self.settings.API_SERVER_SECURE, ) # expose the needed functions self.get_api_version = self.client.getAPIVersion diff --git a/dev-tools/airavata-python-sdk/airavata_sdk/clients/iam_admin_client.py b/dev-tools/airavata-python-sdk/airavata_sdk/clients/iam_admin_client.py index 45bb779cde..561a0bba77 100644 --- a/dev-tools/airavata-python-sdk/airavata_sdk/clients/iam_admin_client.py +++ b/dev-tools/airavata-python-sdk/airavata_sdk/clients/iam_admin_client.py @@ -38,9 +38,9 @@ class IAMAdminClient(object): def __init__(self): self.settings = Settings() self.client = utils.initialize_iam_admin_client( - self.settings.PROFILE_SERVICE_HOST, - self.settings.PROFILE_SERVICE_PORT, - self.settings.PROFILE_SERVICE_SECURE, + self.settings.API_SERVER_HOSTNAME, + self.settings.API_SERVER_PORT, + self.settings.API_SERVER_SECURE, ) # expose the needed functions self.set_up_gateway = self.client.setUpGateway diff --git a/dev-tools/airavata-python-sdk/airavata_sdk/clients/sharing_registry_client.py b/dev-tools/airavata-python-sdk/airavata_sdk/clients/sharing_registry_client.py index 285e9342c3..e22c5534fa 100644 --- a/dev-tools/airavata-python-sdk/airavata_sdk/clients/sharing_registry_client.py +++ b/dev-tools/airavata-python-sdk/airavata_sdk/clients/sharing_registry_client.py @@ -36,9 +36,9 @@ class SharingRegistryClient(object): def __init__(self): self.settings = Settings() self.client = utils.initialize_sharing_registry_client( - self.settings.SHARING_API_HOST, - self.settings.SHARING_API_PORT, - self.settings.SHARING_API_SECURE, + self.settings.API_SERVER_HOSTNAME, + self.settings.API_SERVER_PORT, + self.settings.API_SERVER_SECURE, ) # expose the needed functions self.create_domain = self.client.createDomain diff --git a/dev-tools/airavata-python-sdk/airavata_sdk/clients/tenant_profile_client.py b/dev-tools/airavata-python-sdk/airavata_sdk/clients/tenant_profile_client.py index 71b2916183..95bc6735bc 100644 --- a/dev-tools/airavata-python-sdk/airavata_sdk/clients/tenant_profile_client.py +++ b/dev-tools/airavata-python-sdk/airavata_sdk/clients/tenant_profile_client.py @@ -36,9 +36,9 @@ class TenantProfileClient(object): def __init__(self): self.settings = Settings() self.client = utils.initialize_tenant_profile_client( - self.settings.PROFILE_SERVICE_HOST, - self.settings.PROFILE_SERVICE_PORT, - self.settings.PROFILE_SERVICE_SECURE, + self.settings.API_SERVER_HOSTNAME, + self.settings.API_SERVER_PORT, + self.settings.API_SERVER_SECURE, ) # expose the needed functions self.add_gateway = self.client.addGateway diff --git a/dev-tools/airavata-python-sdk/airavata_sdk/clients/user_profile_client.py b/dev-tools/airavata-python-sdk/airavata_sdk/clients/user_profile_client.py index 75adae16df..542132000c 100644 --- a/dev-tools/airavata-python-sdk/airavata_sdk/clients/user_profile_client.py +++ b/dev-tools/airavata-python-sdk/airavata_sdk/clients/user_profile_client.py @@ -36,9 +36,9 @@ class UserProfileClient(object): def __init__(self): self.settings = Settings() self.client = utils.initialize_user_profile_client( - self.settings.PROFILE_SERVICE_HOST, - self.settings.PROFILE_SERVICE_PORT, - self.settings.PROFILE_SERVICE_SECURE, + self.settings.API_SERVER_HOSTNAME, + self.settings.API_SERVER_PORT, + self.settings.API_SERVER_SECURE, ) # expose the needed functions self.get_api_version = self.client.getAPIVersion 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 3954f60194..b53e216eb1 100644 --- a/dev-tools/airavata-python-sdk/airavata_sdk/transport/utils.py +++ b/dev-tools/airavata-python-sdk/airavata_sdk/transport/utils.py @@ -131,52 +131,52 @@ def initialize_api_client_pool( port=settings.API_SERVER_PORT, secure=settings.API_SERVER_SECURE, ) -> Airavata.Client: - return ThriftClient(Airavata.Client, host, port, secure).client + return ThriftClient(Airavata.Client, host, port, secure, service_name="Airavata").client def initialize_group_manager_client( - host=settings.PROFILE_SERVICE_HOST, - port=settings.PROFILE_SERVICE_PORT, - secure=settings.PROFILE_SERVICE_SECURE, + host=settings.API_SERVER_HOSTNAME, + port=settings.API_SERVER_PORT, + secure=settings.API_SERVER_SECURE, ) -> GroupManagerService.Client: return ThriftClient(GroupManagerService.Client, host, port, secure, GROUP_MANAGER_CPI_NAME).client def initialize_iam_admin_client( - host=settings.PROFILE_SERVICE_HOST, - port=settings.PROFILE_SERVICE_PORT, - secure=settings.PROFILE_SERVICE_SECURE, + host=settings.API_SERVER_HOSTNAME, + port=settings.API_SERVER_PORT, + secure=settings.API_SERVER_SECURE, ) -> IamAdminServices.Client: return ThriftClient(IamAdminServices.Client, host, port, secure, IAM_ADMIN_SERVICES_CPI_NAME).client def initialize_tenant_profile_client( - host=settings.PROFILE_SERVICE_HOST, - port=settings.PROFILE_SERVICE_PORT, - secure=settings.PROFILE_SERVICE_SECURE, + host=settings.API_SERVER_HOSTNAME, + port=settings.API_SERVER_PORT, + secure=settings.API_SERVER_SECURE, ) -> TenantProfileService.Client: return ThriftClient(TenantProfileService.Client, host, port, secure, TENANT_PROFILE_CPI_NAME).client def initialize_user_profile_client( - host=settings.PROFILE_SERVICE_HOST, - port=settings.PROFILE_SERVICE_PORT, - secure=settings.PROFILE_SERVICE_SECURE, + host=settings.API_SERVER_HOSTNAME, + port=settings.API_SERVER_PORT, + secure=settings.API_SERVER_SECURE, ) -> UserProfileService.Client: return ThriftClient(UserProfileService.Client, host, port, secure, USER_PROFILE_CPI_NAME).client def initialize_sharing_registry_client( - host=settings.SHARING_API_HOST, - port=settings.SHARING_API_PORT, - secure=settings.SHARING_API_SECURE, + host=settings.API_SERVER_HOSTNAME, + port=settings.API_SERVER_PORT, + secure=settings.API_SERVER_SECURE, ) -> SharingRegistryService.Client: - return ThriftClient(SharingRegistryService.Client, host, port, secure).client + return ThriftClient(SharingRegistryService.Client, host, port, secure, service_name="SharingRegistry").client def initialize_credential_store_client( - host=settings.CREDENTIAL_STORE_API_HOST, - port=settings.CREDENTIAL_STORE_API_PORT, - secure=settings.CREDENTIAL_STORE_API_SECURE, + host=settings.API_SERVER_HOSTNAME, + port=settings.API_SERVER_PORT, + secure=settings.API_SERVER_SECURE, ) -> CredentialStoreService.Client: - return ThriftClient(CredentialStoreService.Client, host, port, secure).client + return ThriftClient(CredentialStoreService.Client, host, port, secure, service_name="CredentialStore").client
