This is an automated email from the ASF dual-hosted git repository. yasith pushed a commit to branch feat/grpc-armeria-migration in repository https://gitbox.apache.org/repos/asf/airavata.git
commit a501d0aa79053e12cc25c985a1829e3fbcfc28dc Author: yasithdev <[email protected]> AuthorDate: Tue Mar 31 19:41:52 2026 -0400 fix: clean up obsolete Thrift references and update ports for Armeria migration - Remove Thrift compiler installation from CI workflows (no longer needed) - Remove old port EXPOSEs (8930, 18889, 19900) from Dockerfile, add 9090 - Update Tiltfile: remove thrift module deps, fix port refs to 9090 - Update AiravataServerProperties default from [thrift, rest, grpc] to [grpc] - Remove thrift.client.pool.* settings from properties files - Remove obsolete per-service host/port entries (regserver, sharing, etc.) - Update apiserver.port from 8930 to 9090 in properties files --- .github/workflows/build-and-publish.yml | 14 -------------- .github/workflows/maven-build.yml | 13 ------------- Dockerfile | 8 ++------ Tiltfile | 10 ++++------ .../airavata/common/config/AiravataServerProperties.java | 2 +- .../src/main/resources/airavata-server.properties | 15 +-------------- dev-tools/deployment-scripts/airavata-server.properties | 13 ++----------- 7 files changed, 10 insertions(+), 65 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 3557266f9b..b8b5ab853f 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -28,20 +28,6 @@ jobs: distribution: "temurin" java-version: "17" - - name: Install OS dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential automake bison flex libboost-all-dev libevent-dev libssl-dev libtool pkg-config - - - name: Set up Thrift 0.22.0 - run: | - wget -q https://dlcdn.apache.org/thrift/0.22.0/thrift-0.22.0.tar.gz - tar -xzf thrift-0.22.0.tar.gz - cd thrift-0.22.0 - ./configure --without-rs --enable-libs=no --enable-tests=no - make -j$(nproc) - sudo make install - - name: Build with Maven (skip tests) run: mvn -B -DskipTests clean install diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml index 1b69f61d1b..a049cb22ce 100644 --- a/.github/workflows/maven-build.yml +++ b/.github/workflows/maven-build.yml @@ -12,19 +12,6 @@ jobs: build: runs-on: ubuntu-22.04 steps: - - name: Set up OS dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential automake bison flex libboost-all-dev libevent-dev libssl-dev libtool pkg-config - - name: Set up Thrift 0.22.0 - run: | - wget -q https://dlcdn.apache.org/thrift/0.22.0/thrift-0.22.0.tar.gz - tar -xzf thrift-0.22.0.tar.gz - cd thrift-0.22.0 - ./configure --without-rs --enable-libs=no --enable-tests=no - make -j$(nproc) - sudo make install - thrift --version - name: Set up JDK 17 uses: actions/setup-java@v4 with: diff --git a/Dockerfile b/Dockerfile index 2c43b42597..fea6be809c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,12 +39,8 @@ ENV JAVA_OPTS="-server \ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ CMD curl -f http://localhost:9097/health/services || exit 1 -# Thrift (multiplexed) -EXPOSE 8930 -# REST (Swagger UI + Actuator) -EXPOSE 18889 -# gRPC (Agent + Research) -EXPOSE 19900 +# Armeria (gRPC + REST + Docs + Actuator) +EXPOSE 9090 # Monitoring (Prometheus + health) EXPOSE 9097 diff --git a/Tiltfile b/Tiltfile index 44a5d19c5a..2bc0b1dad8 100644 --- a/Tiltfile +++ b/Tiltfile @@ -17,8 +17,6 @@ local_resource( 'airavata-api/agent-service/pom.xml', 'airavata-api/research-service/src', 'airavata-api/research-service/pom.xml', - 'airavata-server/thrift/src', - 'airavata-server/thrift/pom.xml', 'airavata-server/rest/src', 'airavata-server/rest/pom.xml', 'airavata-server/grpc/src', @@ -29,20 +27,20 @@ local_resource( labels=['build'], ) -# --- Airavata Server (unified: Thrift + REST + gRPC) --- +# --- Airavata Server (unified: gRPC + REST via Armeria) --- local_resource( 'airavata-server', serve_cmd='java -jar airavata-server/target/airavata-server-0.21-SNAPSHOT.jar', readiness_probe=probe( - http_get=http_get_action(port=18889, path='/actuator/health'), + http_get=http_get_action(port=9090, path='/actuator/health'), initial_delay_secs=20, period_secs=5, timeout_secs=5, ), resource_deps=['build', 'db', 'rabbitmq', 'zookeeper', 'kafka', 'keycloak'], links=[ - link('http://localhost:18889/swagger-ui.html', 'Swagger UI'), - link('http://localhost:18889/actuator/health', 'Health'), + link('http://localhost:9090/docs', 'API Docs'), + link('http://localhost:9090/actuator/health', 'Health'), ], labels=['airavata'], ) diff --git a/airavata-api/src/main/java/org/apache/airavata/common/config/AiravataServerProperties.java b/airavata-api/src/main/java/org/apache/airavata/common/config/AiravataServerProperties.java index 8011c0d0ac..b2f5e2d63e 100644 --- a/airavata-api/src/main/java/org/apache/airavata/common/config/AiravataServerProperties.java +++ b/airavata-api/src/main/java/org/apache/airavata/common/config/AiravataServerProperties.java @@ -28,7 +28,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; */ @ConfigurationProperties(prefix = "airavata") public class AiravataServerProperties { - private List<String> servers = List.of("thrift", "rest", "grpc"); + private List<String> servers = List.of("grpc"); public List<String> getServers() { return servers; diff --git a/airavata-api/src/main/resources/airavata-server.properties b/airavata-api/src/main/resources/airavata-server.properties index 5f63fe8f4c..d7bca4236d 100644 --- a/airavata-api/src/main/resources/airavata-server.properties +++ b/airavata-api/src/main/resources/airavata-server.properties @@ -20,17 +20,7 @@ airavata.config.dir=. apiserver.host=0.0.0.0 -apiserver.port=8930 - -# Internal service addresses (all on same multiplexed port) -regserver.server.host=localhost -regserver.server.port=8930 -sharing.registry.server.host=localhost -sharing.registry.server.port=8930 -credential.store.server.host=localhost -credential.store.server.port=8930 -profile.service.server.host=localhost -profile.service.server.port=8930 +apiserver.port=9090 cluster.status.monitoring.enable=false cluster.status.monitoring.repeat.time=18000 @@ -120,9 +110,6 @@ realtime.monitor.broker.topic=helix-airavata-mq super.tenant.gatewayId=default -thrift.client.pool.abandoned.removal.enabled=true -thrift.client.pool.abandoned.removal.logged=false - # security settings TLS.client.timeout=10000 TLS.enabled=false diff --git a/dev-tools/deployment-scripts/airavata-server.properties b/dev-tools/deployment-scripts/airavata-server.properties index ca18ec5273..90f208174a 100644 --- a/dev-tools/deployment-scripts/airavata-server.properties +++ b/dev-tools/deployment-scripts/airavata-server.properties @@ -78,20 +78,12 @@ job.monitor.realtime.publisher.id=RealtimeProducer local.data.location=/tmp/airavata -############################ -# ThriftClientPool Configuration -############################ -thrift.client.pool.abandoned.removal.enabled=true -thrift.client.pool.abandoned.removal.logged=true -thrift.client.pool.idle.time.limit.minutes=1 -thrift.client.pool.max.idle.limit=10 - ############################ # API Server Configuration ############################ # API Server URLs for development api.server.host=airavata.localhost -api.server.port=8930 +api.server.port=9090 ############################ # Security Configuration @@ -192,8 +184,7 @@ application.deployment.directory=/opt/airavata/applications ############################ # Airavata Server Configuration ############################ -# All Thrift services are multiplexed on the Airavata server port (8930) -# No separate per-service host/port configurations needed +# All services are served via Armeria on port 9090 enable.orchestrator=true ############################
