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

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


The following commit(s) were added to refs/heads/master by this push:
     new e0c50804e1 Remove dead FuseService subsystem (#674)
e0c50804e1 is described below

commit e0c50804e14121162aba39153fbc10899d7cd708
Author: Yasith Jayawardana <[email protected]>
AuthorDate: Sat Jun 13 01:34:19 2026 -0400

    Remove dead FuseService subsystem (#674)
    
    The FUSE gRPC contract was never wired to any client. Remove 
airavata-fuse.proto
    (the FuseService with 8 stub RPCs), its only impl FuseFSHandler (a 
@Component
    BindableService that returned hardcoded dummies and is auto-collected into 
the
    Armeria gRPC service list, so it self-deregisters), the never-invoked
    AiravataFileService and its model types (ExperimentStorageResponse, 
DirectoryInfo,
    FileInfo), and the three committed SDK fuse stubs. ServiceWiringConfig 
drops the
    AiravataFileService/AgentExperimentService wiring that existed solely to 
feed the
    dead read-dir path. No Go agent or SDK/portal client references FuseService.
---
 .../apache/airavata/agent/grpc/FuseFSHandler.java  | 155 --------
 .../apache/airavata/agent/model/DirectoryInfo.java |  42 ---
 .../agent/model/ExperimentStorageResponse.java     |  62 ----
 .../org/apache/airavata/agent/model/FileInfo.java  | 107 ------
 .../agent/service/AiravataFileService.java         | 194 ----------
 .../src/main/proto/airavata-fuse.proto             | 183 ----------
 .../generated/services/airavata_fuse_pb2.py        |  88 -----
 .../generated/services/airavata_fuse_pb2.pyi       | 266 --------------
 .../generated/services/airavata_fuse_pb2_grpc.py   | 401 ---------------------
 .../server/config/ServiceWiringConfig.java         |   8 +-
 10 files changed, 1 insertion(+), 1505 deletions(-)

diff --git 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/FuseFSHandler.java
 
b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/FuseFSHandler.java
deleted file mode 100644
index 6793ada1b6..0000000000
--- 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/FuseFSHandler.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/**
-*
-* 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.agent.grpc;
-
-import com.google.protobuf.ByteString;
-import com.google.protobuf.Timestamp;
-import io.grpc.stub.StreamObserver;
-import java.io.File;
-import java.nio.charset.Charset;
-import org.apache.airavata.fuse.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class FuseFSHandler extends FuseServiceGrpc.FuseServiceImplBase {
-
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(FuseFSHandler.class);
-
-    @Override
-    public void statFs(StatFsReq request, StreamObserver<StatFsRes> 
responseObserver) {
-        responseObserver.onNext(StatFsRes.newBuilder()
-                .setResult(StatFs.newBuilder()
-                        .setBlocks(100)
-                        .setBlocksAvailable(100)
-                        .setBlocksFree(100)
-                        .setInodes(1)
-                        .setIoSize(10)
-                        .setBlockSize(1000)
-                        .build())
-                .build());
-        responseObserver.onCompleted();
-    }
-
-    @Override
-    public void fileInfo(FileInfoReq request, StreamObserver<FileInfoRes> 
responseObserver) {
-        LOGGER.info("Calling fileInfo {}", request.getName());
-
-        File f = new File(request.getName());
-        responseObserver.onNext(FileInfoRes.newBuilder()
-                .setResult(FileInfo.newBuilder()
-                        .setName(request.getName())
-                        .setSize(128)
-                        .setIno(2)
-                        .setIsDir(true)
-                        .setMode(0x777)
-                        .setModTime(Timestamp.newBuilder()
-                                .setSeconds(System.currentTimeMillis() / 1000)
-                                .build())
-                        .build())
-                .build());
-        responseObserver.onCompleted();
-    }
-
-    @Override
-    public void openDir(OpenDirReq request, StreamObserver<OpenDirRes> 
responseObserver) {
-        LOGGER.info("Calling openDir {}", request.getName());
-        responseObserver.onNext(OpenDirRes.newBuilder()
-                .setResult(OpenedDir.newBuilder().build())
-                .build());
-        responseObserver.onCompleted();
-    }
-
-    @Override
-    public void openFile(OpenFileReq request, StreamObserver<OpenFileRes> 
responseObserver) {
-        LOGGER.info("Calling openFile {}", request.getName());
-        responseObserver.onNext(OpenFileRes.newBuilder()
-                .setResult(OpenedFile.newBuilder().build())
-                .build());
-        responseObserver.onCompleted();
-    }
-
-    @Override
-    public void readDir(ReadDirReq request, StreamObserver<ReadDirRes> 
responseObserver) {
-        LOGGER.info("Calling readDir {}", request.getName());
-        responseObserver.onNext(ReadDirRes.newBuilder()
-                .addResult(DirEntry.newBuilder()
-                        .setIsDir(false)
-                        .setName("file1")
-                        .setFileMode(777)
-                        .setInfo(FileInfo.newBuilder()
-                                .setModTime(Timestamp.newBuilder()
-                                        .setSeconds(System.currentTimeMillis() 
/ 1000)
-                                        .build())
-                                .setName("file2")
-                                .setIno(100)
-                                .setSize(12000)
-                                .setIsDir(false)
-                                .setMode(777)
-                                .build())
-                        .build())
-                .build());
-
-        responseObserver.onCompleted();
-    }
-
-    @Override
-    public void readFile(ReadFileReq request, StreamObserver<ReadFileRes> 
responseObserver) {
-        LOGGER.info("Calling readFile {}", request.getName());
-        responseObserver.onNext(ReadFileRes.newBuilder()
-                .setResult(FileEntry.newBuilder()
-                        .setDst(ByteString.copyFrom("Hellllo", 
Charset.defaultCharset()))
-                        .build())
-                .build());
-
-        responseObserver.onCompleted();
-    }
-
-    @Override
-    public void writeFile(WriteFileReq request, StreamObserver<WriteFileRes> 
responseObserver) {
-        LOGGER.info("Calling writeFile {}", request.getName());
-        
responseObserver.onNext(WriteFileRes.newBuilder().setResult(true).build());
-        responseObserver.onCompleted();
-    }
-
-    @Override
-    public void setInodeAtt(SetInodeAttReq request, 
StreamObserver<SetInodeAttRes> responseObserver) {
-        LOGGER.info("Calling setInodeAtt {}", request.getName());
-
-        responseObserver.onNext(SetInodeAttRes.newBuilder()
-                .setResult(InodeAtt.newBuilder()
-                        .setAtime(Timestamp.newBuilder()
-                                .setSeconds(System.currentTimeMillis() / 1000)
-                                .build())
-                        .setCtime(Timestamp.newBuilder()
-                                .setSeconds(System.currentTimeMillis() / 1000)
-                                .build())
-                        .setMtime(Timestamp.newBuilder()
-                                .setSeconds(System.currentTimeMillis() / 1000)
-                                .build())
-                        .setFileMode(777)
-                        .setSize(10800)
-                        .build())
-                .build());
-
-        responseObserver.onCompleted();
-    }
-}
diff --git 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/DirectoryInfo.java
 
b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/DirectoryInfo.java
deleted file mode 100644
index 6217f24a0d..0000000000
--- 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/DirectoryInfo.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
-*
-* 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.agent.model;
-
-public class DirectoryInfo {
-
-    private String name;
-    private int size;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public int getSize() {
-        return size;
-    }
-
-    public void setSize(int size) {
-        this.size = size;
-    }
-}
diff --git 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/ExperimentStorageResponse.java
 
b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/ExperimentStorageResponse.java
deleted file mode 100644
index 92a17ce64b..0000000000
--- 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/ExperimentStorageResponse.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
-*
-* 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.agent.model;
-
-import java.util.List;
-
-public class ExperimentStorageResponse {
-
-    private boolean isDir;
-    private List<DirectoryInfo> directories;
-    private List<FileInfo> files;
-    private List<Object> parts;
-
-    public boolean isDir() {
-        return isDir;
-    }
-
-    public void setDir(boolean dir) {
-        isDir = dir;
-    }
-
-    public List<DirectoryInfo> getDirectories() {
-        return directories;
-    }
-
-    public void setDirectories(List<DirectoryInfo> directories) {
-        this.directories = directories;
-    }
-
-    public List<FileInfo> getFiles() {
-        return files;
-    }
-
-    public void setFiles(List<FileInfo> files) {
-        this.files = files;
-    }
-
-    public List<Object> getParts() {
-        return parts;
-    }
-
-    public void setParts(List<Object> parts) {
-        this.parts = parts;
-    }
-}
diff --git 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/FileInfo.java
 
b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/FileInfo.java
deleted file mode 100644
index acb87277f9..0000000000
--- 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/FileInfo.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
-*
-* 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.agent.model;
-
-import java.time.Instant;
-
-public class FileInfo {
-
-    private boolean userHasWriteAccess;
-    private String name;
-    private String downloadURL;
-    private String dataProductURI;
-    private Instant createdTime;
-    private Instant modifiedTime;
-    private String mimeType;
-    private long size;
-    private boolean hidden;
-
-    public boolean isUserHasWriteAccess() {
-        return userHasWriteAccess;
-    }
-
-    public void setUserHasWriteAccess(boolean userHasWriteAccess) {
-        this.userHasWriteAccess = userHasWriteAccess;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDownloadURL() {
-        return downloadURL;
-    }
-
-    public void setDownloadURL(String downloadURL) {
-        this.downloadURL = downloadURL;
-    }
-
-    public String getDataProductURI() {
-        return dataProductURI;
-    }
-
-    public void setDataProductURI(String dataProductURI) {
-        this.dataProductURI = dataProductURI;
-    }
-
-    public Instant getCreatedTime() {
-        return createdTime;
-    }
-
-    public void setCreatedTime(Instant createdTime) {
-        this.createdTime = createdTime;
-    }
-
-    public Instant getModifiedTime() {
-        return modifiedTime;
-    }
-
-    public void setModifiedTime(Instant modifiedTime) {
-        this.modifiedTime = modifiedTime;
-    }
-
-    public String getMimeType() {
-        return mimeType;
-    }
-
-    public void setMimeType(String mimeType) {
-        this.mimeType = mimeType;
-    }
-
-    public long getSize() {
-        return size;
-    }
-
-    public void setSize(long size) {
-        this.size = size;
-    }
-
-    public boolean isHidden() {
-        return hidden;
-    }
-
-    public void setHidden(boolean hidden) {
-        this.hidden = hidden;
-    }
-}
diff --git 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/service/AiravataFileService.java
 
b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/service/AiravataFileService.java
deleted file mode 100644
index acdc23c588..0000000000
--- 
a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/service/AiravataFileService.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
-*
-* 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.agent.service;
-
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.protobuf.Timestamp;
-import io.grpc.Status;
-import io.grpc.stub.StreamObserver;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import org.apache.airavata.agent.ServerMessage;
-import org.apache.airavata.agent.model.DirectoryInfo;
-import org.apache.airavata.agent.model.ExperimentStorageResponse;
-import org.apache.airavata.agent.model.FileInfo;
-import org.apache.airavata.config.UserContext;
-import org.apache.airavata.exception.ServiceException;
-import org.apache.airavata.fuse.DirEntry;
-import org.apache.airavata.fuse.ReadDirReq;
-import org.apache.airavata.fuse.ReadDirRes;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
-
-@Service
-public class AiravataFileService {
-
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(AiravataFileService.class);
-
-    private final RestTemplate restTemplate = new RestTemplate();
-
-    private final Cache<String, ExperimentStorageResponse> storageCache =
-            CacheBuilder.newBuilder().expireAfterWrite(10, 
TimeUnit.MINUTES).build();
-
-    /**
-     * Provider for user experiment IDs. Set by the server wiring layer
-     * to avoid a direct dependency on research-service.
-     */
-    private UserExperimentIdsProvider userExperimentIdsProvider;
-
-    @FunctionalInterface
-    public interface UserExperimentIdsProvider {
-        List<String> getUserExperimentIDs() throws ServiceException;
-    }
-
-    public void setUserExperimentIdsProvider(UserExperimentIdsProvider 
provider) {
-        this.userExperimentIdsProvider = provider;
-    }
-
-    public void handleReadDirRequest(ReadDirReq request, 
StreamObserver<ServerMessage> responseObserver) {
-        String fusePath = request.getName();
-
-        ReadDirRes.Builder readDirResBuilder = ReadDirRes.newBuilder();
-
-        try {
-            if ("/".equals(fusePath)) {
-                List<String> experimentIds = userExperimentIdsProvider != null
-                        ? userExperimentIdsProvider.getUserExperimentIDs()
-                        : Collections.emptyList();
-
-                // Handle root directory
-                for (String expId : experimentIds) {
-                    readDirResBuilder.addResult(
-                            
DirEntry.newBuilder().setName(expId).setIsDir(true).build());
-                }
-
-            } else {
-                String experimentId = extractExperimentIdFromPath(fusePath);
-                String path = extractPathFromRequest(fusePath);
-
-                ExperimentStorageResponse storageResponse = 
getExperimentStorage(experimentId, path);
-
-                if (storageResponse == null) {
-                    responseObserver.onError(Status.NOT_FOUND
-                            .withDescription("File path not found: " + path)
-                            .asRuntimeException());
-                    return;
-                }
-
-                // List directories
-                for (DirectoryInfo dirInfo : storageResponse.getDirectories()) 
{
-                    readDirResBuilder.addResult(DirEntry.newBuilder()
-                            .setName(dirInfo.getName())
-                            .setIsDir(true)
-                            .build());
-                }
-
-                // List files
-                for (FileInfo fileInfo : storageResponse.getFiles()) {
-                    readDirResBuilder.addResult(DirEntry.newBuilder()
-                            .setName(fileInfo.getName())
-                            .setIsDir(false)
-                            .setInfo(convertFileInfoModel(fileInfo))
-                            .build());
-                }
-            }
-        } catch (ServiceException | ExecutionException e) {
-            LOGGER.error("Failed to fetch experiments when trying to read the 
directory {}", fusePath, e);
-            responseObserver.onError(Status.INTERNAL
-                    .withDescription("Failed to fetch experiments when trying 
to read the directory")
-                    .withCause(e)
-                    .asRuntimeException());
-            return;
-        }
-
-        // 
responseObserver.onNext(ServerMessage.newBuilder().setReadDirRes(readDirResBuilder.build()).build());
-        responseObserver.onCompleted();
-    }
-
-    public ExperimentStorageResponse getExperimentStorage(String experimentId, 
String path) throws ExecutionException {
-        String fullPath = experimentId + (path.equals("/") ? "" : "/" + path);
-        return storageCache.get(fullPath, () -> 
fetchExperimentStorageFromAPI(experimentId, path));
-    }
-
-    private ExperimentStorageResponse fetchExperimentStorageFromAPI(String 
experimentId, String path) {
-        String url = "https://"; + UserContext.gatewayId() + 
".cybershuttle.org/api/experiment-storage/" + experimentId
-                + "/" + path;
-
-        HttpHeaders headers = new HttpHeaders();
-        headers.setBearerAuth(UserContext.authzToken().getAccessToken());
-        headers.setAll(UserContext.authzToken().getClaimsMap());
-
-        HttpEntity<String> entity = new HttpEntity<>(headers);
-
-        ResponseEntity<ExperimentStorageResponse> responseEntity =
-                restTemplate.exchange(url, HttpMethod.GET, entity, 
ExperimentStorageResponse.class);
-
-        if (responseEntity.getStatusCode().is2xxSuccessful()) {
-            return responseEntity.getBody();
-        } else if (responseEntity.getStatusCode() == HttpStatus.NOT_FOUND) {
-            return null;
-        } else {
-            throw new RuntimeException("Failed to fetch experiment storage: " 
+ responseEntity.getStatusCode());
-        }
-    }
-
-    private String extractExperimentIdFromPath(String fusePath) {
-        if (fusePath.equals("/")) {
-            return "";
-        }
-        return fusePath.split("/")[1];
-    }
-
-    private String extractPathFromRequest(String fusePath) {
-        if (fusePath.equals("/")) {
-            return "/";
-        }
-        String[] segments = fusePath.split("/", 3); // "/", expId, and path
-        return (segments.length > 2) ? segments[2] : "/"; // If there's a path 
after expId, return it, otherwise "/"
-    }
-
-    private org.apache.airavata.fuse.FileInfo convertFileInfoModel(FileInfo 
model) {
-        return org.apache.airavata.fuse.FileInfo.newBuilder()
-                .setName(model.getName())
-                .setSize(model.getSize())
-                .setModTime(Timestamp.newBuilder()
-                        .setSeconds(model.getModifiedTime().getEpochSecond())
-                        .setNanos(model.getModifiedTime().getNano())
-                        .build())
-                .setIsDir(false)
-                .setIno(generateInodeNumber(model.getDataProductURI()))
-                .build();
-    }
-
-    private long generateInodeNumber(String value) {
-        long hash = value.hashCode();
-        return Math.abs(hash);
-    }
-}
diff --git a/airavata-api/agent-service/src/main/proto/airavata-fuse.proto 
b/airavata-api/agent-service/src/main/proto/airavata-fuse.proto
deleted file mode 100644
index 4f7df9110e..0000000000
--- a/airavata-api/agent-service/src/main/proto/airavata-fuse.proto
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * 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.
- */
-
-syntax = "proto3";
-
-package org.apache.airavata.fuse;
-
-option java_multiple_files = true;
-option java_package = "org.apache.airavata.fuse";
-option java_outer_classname = "AiravataFUSEServiceProto";
-
-import "google/protobuf/timestamp.proto";
-
-
-// RPC Helper Context - Define as needed
-message RPCContext {
-  string GatewayId = 1;
-  string AccessToken = 2;
-  string AgentId = 3;
-}
-
-// Primitive
-message OpContext {
-  uint64 FuseId = 1;
-  uint64 Pid = 2;
-  uint64 Uid = 3;
-}
-
-// Toplevel
-message StatFs {
-  uint32 BlockSize = 1;
-  uint64 Blocks = 2;
-  uint64 BlocksFree = 3;
-  uint64 BlocksAvailable = 4;
-  uint32 IoSize = 5;
-  uint64 Inodes = 6;
-  uint64 InodesFree = 7;
-}
-
-message FileInfo {
-  string Name = 1;
-  int64 Size = 2;
-  uint32 Mode = 3;
-  google.protobuf.Timestamp ModTime = 4;
-  bool IsDir = 5;
-  uint64 Ino = 6;
-}
-
-message OpenedDir {
-  uint64 Inode = 1;
-  uint64 Handle = 2;
-  OpContext OpContext = 3;
-  bool CacheDir = 4;
-  bool KeepCache = 5;
-}
-
-message OpenedFile {
-  uint64 Inode = 1;
-  uint64 Handle = 2;
-  bool KeepPageCache = 3;
-  bool UseDirectIO = 4;
-  uint32 OpenFlags = 5;
-  OpContext OpContext = 6;
-}
-
-message DirEntry {
-  string Name = 1;
-  bool IsDir = 2;
-  uint32 FileMode = 3;
-  FileInfo Info = 4;
-}
-
-message FileEntry {
-  uint64 Inode = 1;
-  uint64 Handle = 2;
-  int64 Offset = 3;
-  int64 Size = 4;
-  bytes Dst = 5;
-  repeated bytes Data = 6;
-  int32 BytesRead = 7;
-  OpContext OpContext = 8;
-}
-
-message InodeAtt {
-  uint64 Size = 1;
-  uint32 Nlink = 2;
-  uint32 FileMode = 3;
-  google.protobuf.Timestamp Atime = 5;
-  google.protobuf.Timestamp Mtime = 6;
-  google.protobuf.Timestamp Ctime = 7;
-}
-
-// Request Bodies
-message StatFsReq {
-  string Name = 1;
-  RPCContext Context = 2;
-}
-message FileInfoReq {
-  string Name = 1;
-  RPCContext Context = 2;
-}
-message OpenDirReq {
-  string Name = 1;
-  RPCContext Context = 2;
-}
-message OpenFileReq {
-  string Name = 1;
-  RPCContext Context = 2;
-}
-message ReadDirReq {
-  string Name = 1;
-  RPCContext Context = 2;
-}
-message ReadFileReq {
-  string Name = 1;
-  RPCContext Context = 2;
-}
-message WriteFileReq {
-  string Name = 1;
-  RPCContext Context = 2;
-  bytes Data = 3;
-  int64 Offset = 4;
-}
-message SetInodeAttReq {
-  string Name = 1;
-  RPCContext Context = 2;
-  optional uint64 Size = 3;
-  optional uint32 FileMode = 4;
-  optional google.protobuf.Timestamp ATime = 5;
-  optional google.protobuf.Timestamp MTime = 6;
-}
-
-// Response Bodies
-message StatFsRes {
-  StatFs Result = 1;
-}
-message FileInfoRes {
-  FileInfo Result = 1;
-}
-message OpenDirRes {
-  OpenedDir Result = 1;
-}
-message OpenFileRes {
-  OpenedFile Result = 1;
-}
-message ReadDirRes {
-  repeated DirEntry Result = 1;
-}
-message ReadFileRes {
-  FileEntry Result = 1;
-}
-message WriteFileRes {
-  bool Result = 1;
-}
-message SetInodeAttRes {
-  InodeAtt Result = 1;
-}
-
-// Service Definition
-service FuseService {
-  rpc StatFs(StatFsReq) returns (StatFsRes) {}
-  rpc FileInfo(FileInfoReq) returns (FileInfoRes) {}
-  rpc OpenDir(OpenDirReq) returns (OpenDirRes) {}
-  rpc OpenFile(OpenFileReq) returns (OpenFileRes) {}
-  rpc ReadDir(ReadDirReq) returns (ReadDirRes) {}
-  rpc ReadFile(ReadFileReq) returns (ReadFileRes) {}
-  rpc WriteFile(WriteFileReq) returns (WriteFileRes) {}
-  rpc SetInodeAtt(SetInodeAttReq) returns (SetInodeAttRes) {}
-}
diff --git 
a/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2.py 
b/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2.py
deleted file mode 100644
index 6221d24374..0000000000
--- a/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2.py
+++ /dev/null
@@ -1,88 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# NO CHECKED-IN PROTOBUF GENCODE
-# source: services/airavata-fuse.proto
-# Protobuf Python Version: 6.31.1
-"""Generated protocol buffer code."""
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import descriptor_pool as _descriptor_pool
-from google.protobuf import runtime_version as _runtime_version
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf.internal import builder as _builder
-_runtime_version.ValidateProtobufRuntimeVersion(
-    _runtime_version.Domain.PUBLIC,
-    6,
-    31,
-    1,
-    '',
-    'services/airavata-fuse.proto'
-)
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from google.protobuf import timestamp_pb2 as 
google_dot_protobuf_dot_timestamp__pb2
-
-
-DESCRIPTOR = 
_descriptor_pool.Default().AddSerializedFile(b'\n\x1cservices/airavata-fuse.proto\x12\x18org.apache.airavata.fuse\x1a\x1fgoogle/protobuf/timestamp.proto\"E\n\nRPCContext\x12\x11\n\tGatewayId\x18\x01
 \x01(\t\x12\x13\n\x0b\x41\x63\x63\x65ssToken\x18\x02 
\x01(\t\x12\x0f\n\x07\x41gentId\x18\x03 
\x01(\t\"5\n\tOpContext\x12\x0e\n\x06\x46useId\x18\x01 
\x01(\x04\x12\x0b\n\x03Pid\x18\x02 \x01(\x04\x12\x0b\n\x03Uid\x18\x03 
\x01(\x04\"\x8c\x01\n\x06StatFs\x12\x11\n\tBlockSize\x18\x01 \ [...]
-
-_globals = globals()
-_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
-_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 
'services.airavata_fuse_pb2', _globals)
-if not _descriptor._USE_C_DESCRIPTORS:
-  _globals['DESCRIPTOR']._loaded_options = None
-  _globals['DESCRIPTOR']._serialized_options = 
b'\n\030org.apache.airavata.fuseB\030AiravataFUSEServiceProtoP\001'
-  _globals['_RPCCONTEXT']._serialized_start=91
-  _globals['_RPCCONTEXT']._serialized_end=160
-  _globals['_OPCONTEXT']._serialized_start=162
-  _globals['_OPCONTEXT']._serialized_end=215
-  _globals['_STATFS']._serialized_start=218
-  _globals['_STATFS']._serialized_end=358
-  _globals['_FILEINFO']._serialized_start=360
-  _globals['_FILEINFO']._serialized_end=485
-  _globals['_OPENEDDIR']._serialized_start=488
-  _globals['_OPENEDDIR']._serialized_end=623
-  _globals['_OPENEDFILE']._serialized_start=626
-  _globals['_OPENEDFILE']._serialized_end=788
-  _globals['_DIRENTRY']._serialized_start=790
-  _globals['_DIRENTRY']._serialized_end=897
-  _globals['_FILEENTRY']._serialized_start=900
-  _globals['_FILEENTRY']._serialized_end=1074
-  _globals['_INODEATT']._serialized_start=1077
-  _globals['_INODEATT']._serialized_end=1263
-  _globals['_STATFSREQ']._serialized_start=1265
-  _globals['_STATFSREQ']._serialized_end=1345
-  _globals['_FILEINFOREQ']._serialized_start=1347
-  _globals['_FILEINFOREQ']._serialized_end=1429
-  _globals['_OPENDIRREQ']._serialized_start=1431
-  _globals['_OPENDIRREQ']._serialized_end=1512
-  _globals['_OPENFILEREQ']._serialized_start=1514
-  _globals['_OPENFILEREQ']._serialized_end=1596
-  _globals['_READDIRREQ']._serialized_start=1598
-  _globals['_READDIRREQ']._serialized_end=1679
-  _globals['_READFILEREQ']._serialized_start=1681
-  _globals['_READFILEREQ']._serialized_end=1763
-  _globals['_WRITEFILEREQ']._serialized_start=1765
-  _globals['_WRITEFILEREQ']._serialized_end=1878
-  _globals['_SETINODEATTREQ']._serialized_start=1881
-  _globals['_SETINODEATTREQ']._serialized_end=2146
-  _globals['_STATFSRES']._serialized_start=2148
-  _globals['_STATFSRES']._serialized_end=2209
-  _globals['_FILEINFORES']._serialized_start=2211
-  _globals['_FILEINFORES']._serialized_end=2276
-  _globals['_OPENDIRRES']._serialized_start=2278
-  _globals['_OPENDIRRES']._serialized_end=2343
-  _globals['_OPENFILERES']._serialized_start=2345
-  _globals['_OPENFILERES']._serialized_end=2412
-  _globals['_READDIRRES']._serialized_start=2414
-  _globals['_READDIRRES']._serialized_end=2478
-  _globals['_READFILERES']._serialized_start=2480
-  _globals['_READFILERES']._serialized_end=2546
-  _globals['_WRITEFILERES']._serialized_start=2548
-  _globals['_WRITEFILERES']._serialized_end=2578
-  _globals['_SETINODEATTRES']._serialized_start=2580
-  _globals['_SETINODEATTRES']._serialized_end=2648
-  _globals['_FUSESERVICE']._serialized_start=2651
-  _globals['_FUSESERVICE']._serialized_end=3400
-# @@protoc_insertion_point(module_scope)
diff --git 
a/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2.pyi 
b/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2.pyi
deleted file mode 100644
index a714523ae6..0000000000
--- a/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2.pyi
+++ /dev/null
@@ -1,266 +0,0 @@
-import datetime
-
-from google.protobuf import timestamp_pb2 as _timestamp_pb2
-from google.protobuf.internal import containers as _containers
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from collections.abc import Iterable as _Iterable, Mapping as _Mapping
-from typing import ClassVar as _ClassVar, Optional as _Optional, Union as 
_Union
-
-DESCRIPTOR: _descriptor.FileDescriptor
-
-class RPCContext(_message.Message):
-    __slots__ = ("GatewayId", "AccessToken", "AgentId")
-    GATEWAYID_FIELD_NUMBER: _ClassVar[int]
-    ACCESSTOKEN_FIELD_NUMBER: _ClassVar[int]
-    AGENTID_FIELD_NUMBER: _ClassVar[int]
-    GatewayId: str
-    AccessToken: str
-    AgentId: str
-    def __init__(self, GatewayId: _Optional[str] = ..., AccessToken: 
_Optional[str] = ..., AgentId: _Optional[str] = ...) -> None: ...
-
-class OpContext(_message.Message):
-    __slots__ = ("FuseId", "Pid", "Uid")
-    FUSEID_FIELD_NUMBER: _ClassVar[int]
-    PID_FIELD_NUMBER: _ClassVar[int]
-    UID_FIELD_NUMBER: _ClassVar[int]
-    FuseId: int
-    Pid: int
-    Uid: int
-    def __init__(self, FuseId: _Optional[int] = ..., Pid: _Optional[int] = 
..., Uid: _Optional[int] = ...) -> None: ...
-
-class StatFs(_message.Message):
-    __slots__ = ("BlockSize", "Blocks", "BlocksFree", "BlocksAvailable", 
"IoSize", "Inodes", "InodesFree")
-    BLOCKSIZE_FIELD_NUMBER: _ClassVar[int]
-    BLOCKS_FIELD_NUMBER: _ClassVar[int]
-    BLOCKSFREE_FIELD_NUMBER: _ClassVar[int]
-    BLOCKSAVAILABLE_FIELD_NUMBER: _ClassVar[int]
-    IOSIZE_FIELD_NUMBER: _ClassVar[int]
-    INODES_FIELD_NUMBER: _ClassVar[int]
-    INODESFREE_FIELD_NUMBER: _ClassVar[int]
-    BlockSize: int
-    Blocks: int
-    BlocksFree: int
-    BlocksAvailable: int
-    IoSize: int
-    Inodes: int
-    InodesFree: int
-    def __init__(self, BlockSize: _Optional[int] = ..., Blocks: _Optional[int] 
= ..., BlocksFree: _Optional[int] = ..., BlocksAvailable: _Optional[int] = ..., 
IoSize: _Optional[int] = ..., Inodes: _Optional[int] = ..., InodesFree: 
_Optional[int] = ...) -> None: ...
-
-class FileInfo(_message.Message):
-    __slots__ = ("Name", "Size", "Mode", "ModTime", "IsDir", "Ino")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    SIZE_FIELD_NUMBER: _ClassVar[int]
-    MODE_FIELD_NUMBER: _ClassVar[int]
-    MODTIME_FIELD_NUMBER: _ClassVar[int]
-    ISDIR_FIELD_NUMBER: _ClassVar[int]
-    INO_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Size: int
-    Mode: int
-    ModTime: _timestamp_pb2.Timestamp
-    IsDir: bool
-    Ino: int
-    def __init__(self, Name: _Optional[str] = ..., Size: _Optional[int] = ..., 
Mode: _Optional[int] = ..., ModTime: _Optional[_Union[datetime.datetime, 
_timestamp_pb2.Timestamp, _Mapping]] = ..., IsDir: bool = ..., Ino: 
_Optional[int] = ...) -> None: ...
-
-class OpenedDir(_message.Message):
-    __slots__ = ("Inode", "Handle", "OpContext", "CacheDir", "KeepCache")
-    INODE_FIELD_NUMBER: _ClassVar[int]
-    HANDLE_FIELD_NUMBER: _ClassVar[int]
-    OPCONTEXT_FIELD_NUMBER: _ClassVar[int]
-    CACHEDIR_FIELD_NUMBER: _ClassVar[int]
-    KEEPCACHE_FIELD_NUMBER: _ClassVar[int]
-    Inode: int
-    Handle: int
-    OpContext: OpContext
-    CacheDir: bool
-    KeepCache: bool
-    def __init__(self, Inode: _Optional[int] = ..., Handle: _Optional[int] = 
..., OpContext: _Optional[_Union[OpContext, _Mapping]] = ..., CacheDir: bool = 
..., KeepCache: bool = ...) -> None: ...
-
-class OpenedFile(_message.Message):
-    __slots__ = ("Inode", "Handle", "KeepPageCache", "UseDirectIO", 
"OpenFlags", "OpContext")
-    INODE_FIELD_NUMBER: _ClassVar[int]
-    HANDLE_FIELD_NUMBER: _ClassVar[int]
-    KEEPPAGECACHE_FIELD_NUMBER: _ClassVar[int]
-    USEDIRECTIO_FIELD_NUMBER: _ClassVar[int]
-    OPENFLAGS_FIELD_NUMBER: _ClassVar[int]
-    OPCONTEXT_FIELD_NUMBER: _ClassVar[int]
-    Inode: int
-    Handle: int
-    KeepPageCache: bool
-    UseDirectIO: bool
-    OpenFlags: int
-    OpContext: OpContext
-    def __init__(self, Inode: _Optional[int] = ..., Handle: _Optional[int] = 
..., KeepPageCache: bool = ..., UseDirectIO: bool = ..., OpenFlags: 
_Optional[int] = ..., OpContext: _Optional[_Union[OpContext, _Mapping]] = ...) 
-> None: ...
-
-class DirEntry(_message.Message):
-    __slots__ = ("Name", "IsDir", "FileMode", "Info")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    ISDIR_FIELD_NUMBER: _ClassVar[int]
-    FILEMODE_FIELD_NUMBER: _ClassVar[int]
-    INFO_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    IsDir: bool
-    FileMode: int
-    Info: FileInfo
-    def __init__(self, Name: _Optional[str] = ..., IsDir: bool = ..., 
FileMode: _Optional[int] = ..., Info: _Optional[_Union[FileInfo, _Mapping]] = 
...) -> None: ...
-
-class FileEntry(_message.Message):
-    __slots__ = ("Inode", "Handle", "Offset", "Size", "Dst", "Data", 
"BytesRead", "OpContext")
-    INODE_FIELD_NUMBER: _ClassVar[int]
-    HANDLE_FIELD_NUMBER: _ClassVar[int]
-    OFFSET_FIELD_NUMBER: _ClassVar[int]
-    SIZE_FIELD_NUMBER: _ClassVar[int]
-    DST_FIELD_NUMBER: _ClassVar[int]
-    DATA_FIELD_NUMBER: _ClassVar[int]
-    BYTESREAD_FIELD_NUMBER: _ClassVar[int]
-    OPCONTEXT_FIELD_NUMBER: _ClassVar[int]
-    Inode: int
-    Handle: int
-    Offset: int
-    Size: int
-    Dst: bytes
-    Data: _containers.RepeatedScalarFieldContainer[bytes]
-    BytesRead: int
-    OpContext: OpContext
-    def __init__(self, Inode: _Optional[int] = ..., Handle: _Optional[int] = 
..., Offset: _Optional[int] = ..., Size: _Optional[int] = ..., Dst: 
_Optional[bytes] = ..., Data: _Optional[_Iterable[bytes]] = ..., BytesRead: 
_Optional[int] = ..., OpContext: _Optional[_Union[OpContext, _Mapping]] = ...) 
-> None: ...
-
-class InodeAtt(_message.Message):
-    __slots__ = ("Size", "Nlink", "FileMode", "Atime", "Mtime", "Ctime")
-    SIZE_FIELD_NUMBER: _ClassVar[int]
-    NLINK_FIELD_NUMBER: _ClassVar[int]
-    FILEMODE_FIELD_NUMBER: _ClassVar[int]
-    ATIME_FIELD_NUMBER: _ClassVar[int]
-    MTIME_FIELD_NUMBER: _ClassVar[int]
-    CTIME_FIELD_NUMBER: _ClassVar[int]
-    Size: int
-    Nlink: int
-    FileMode: int
-    Atime: _timestamp_pb2.Timestamp
-    Mtime: _timestamp_pb2.Timestamp
-    Ctime: _timestamp_pb2.Timestamp
-    def __init__(self, Size: _Optional[int] = ..., Nlink: _Optional[int] = 
..., FileMode: _Optional[int] = ..., Atime: _Optional[_Union[datetime.datetime, 
_timestamp_pb2.Timestamp, _Mapping]] = ..., Mtime: 
_Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., 
Ctime: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] 
= ...) -> None: ...
-
-class StatFsReq(_message.Message):
-    __slots__ = ("Name", "Context")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    CONTEXT_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Context: RPCContext
-    def __init__(self, Name: _Optional[str] = ..., Context: 
_Optional[_Union[RPCContext, _Mapping]] = ...) -> None: ...
-
-class FileInfoReq(_message.Message):
-    __slots__ = ("Name", "Context")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    CONTEXT_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Context: RPCContext
-    def __init__(self, Name: _Optional[str] = ..., Context: 
_Optional[_Union[RPCContext, _Mapping]] = ...) -> None: ...
-
-class OpenDirReq(_message.Message):
-    __slots__ = ("Name", "Context")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    CONTEXT_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Context: RPCContext
-    def __init__(self, Name: _Optional[str] = ..., Context: 
_Optional[_Union[RPCContext, _Mapping]] = ...) -> None: ...
-
-class OpenFileReq(_message.Message):
-    __slots__ = ("Name", "Context")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    CONTEXT_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Context: RPCContext
-    def __init__(self, Name: _Optional[str] = ..., Context: 
_Optional[_Union[RPCContext, _Mapping]] = ...) -> None: ...
-
-class ReadDirReq(_message.Message):
-    __slots__ = ("Name", "Context")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    CONTEXT_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Context: RPCContext
-    def __init__(self, Name: _Optional[str] = ..., Context: 
_Optional[_Union[RPCContext, _Mapping]] = ...) -> None: ...
-
-class ReadFileReq(_message.Message):
-    __slots__ = ("Name", "Context")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    CONTEXT_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Context: RPCContext
-    def __init__(self, Name: _Optional[str] = ..., Context: 
_Optional[_Union[RPCContext, _Mapping]] = ...) -> None: ...
-
-class WriteFileReq(_message.Message):
-    __slots__ = ("Name", "Context", "Data", "Offset")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    CONTEXT_FIELD_NUMBER: _ClassVar[int]
-    DATA_FIELD_NUMBER: _ClassVar[int]
-    OFFSET_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Context: RPCContext
-    Data: bytes
-    Offset: int
-    def __init__(self, Name: _Optional[str] = ..., Context: 
_Optional[_Union[RPCContext, _Mapping]] = ..., Data: _Optional[bytes] = ..., 
Offset: _Optional[int] = ...) -> None: ...
-
-class SetInodeAttReq(_message.Message):
-    __slots__ = ("Name", "Context", "Size", "FileMode", "ATime", "MTime")
-    NAME_FIELD_NUMBER: _ClassVar[int]
-    CONTEXT_FIELD_NUMBER: _ClassVar[int]
-    SIZE_FIELD_NUMBER: _ClassVar[int]
-    FILEMODE_FIELD_NUMBER: _ClassVar[int]
-    ATIME_FIELD_NUMBER: _ClassVar[int]
-    MTIME_FIELD_NUMBER: _ClassVar[int]
-    Name: str
-    Context: RPCContext
-    Size: int
-    FileMode: int
-    ATime: _timestamp_pb2.Timestamp
-    MTime: _timestamp_pb2.Timestamp
-    def __init__(self, Name: _Optional[str] = ..., Context: 
_Optional[_Union[RPCContext, _Mapping]] = ..., Size: _Optional[int] = ..., 
FileMode: _Optional[int] = ..., ATime: _Optional[_Union[datetime.datetime, 
_timestamp_pb2.Timestamp, _Mapping]] = ..., MTime: 
_Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) 
-> None: ...
-
-class StatFsRes(_message.Message):
-    __slots__ = ("Result",)
-    RESULT_FIELD_NUMBER: _ClassVar[int]
-    Result: StatFs
-    def __init__(self, Result: _Optional[_Union[StatFs, _Mapping]] = ...) -> 
None: ...
-
-class FileInfoRes(_message.Message):
-    __slots__ = ("Result",)
-    RESULT_FIELD_NUMBER: _ClassVar[int]
-    Result: FileInfo
-    def __init__(self, Result: _Optional[_Union[FileInfo, _Mapping]] = ...) -> 
None: ...
-
-class OpenDirRes(_message.Message):
-    __slots__ = ("Result",)
-    RESULT_FIELD_NUMBER: _ClassVar[int]
-    Result: OpenedDir
-    def __init__(self, Result: _Optional[_Union[OpenedDir, _Mapping]] = ...) 
-> None: ...
-
-class OpenFileRes(_message.Message):
-    __slots__ = ("Result",)
-    RESULT_FIELD_NUMBER: _ClassVar[int]
-    Result: OpenedFile
-    def __init__(self, Result: _Optional[_Union[OpenedFile, _Mapping]] = ...) 
-> None: ...
-
-class ReadDirRes(_message.Message):
-    __slots__ = ("Result",)
-    RESULT_FIELD_NUMBER: _ClassVar[int]
-    Result: _containers.RepeatedCompositeFieldContainer[DirEntry]
-    def __init__(self, Result: _Optional[_Iterable[_Union[DirEntry, 
_Mapping]]] = ...) -> None: ...
-
-class ReadFileRes(_message.Message):
-    __slots__ = ("Result",)
-    RESULT_FIELD_NUMBER: _ClassVar[int]
-    Result: FileEntry
-    def __init__(self, Result: _Optional[_Union[FileEntry, _Mapping]] = ...) 
-> None: ...
-
-class WriteFileRes(_message.Message):
-    __slots__ = ("Result",)
-    RESULT_FIELD_NUMBER: _ClassVar[int]
-    Result: bool
-    def __init__(self, Result: bool = ...) -> None: ...
-
-class SetInodeAttRes(_message.Message):
-    __slots__ = ("Result",)
-    RESULT_FIELD_NUMBER: _ClassVar[int]
-    Result: InodeAtt
-    def __init__(self, Result: _Optional[_Union[InodeAtt, _Mapping]] = ...) -> 
None: ...
diff --git 
a/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2_grpc.py 
b/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2_grpc.py
deleted file mode 100644
index 5e8c4caec3..0000000000
--- 
a/airavata-python-sdk/airavata_sdk/generated/services/airavata_fuse_pb2_grpc.py
+++ /dev/null
@@ -1,401 +0,0 @@
-# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
-"""Client and server classes corresponding to protobuf-defined services."""
-import grpc
-import warnings
-
-from services import airavata_fuse_pb2 as services_dot_airavata__fuse__pb2
-
-GRPC_GENERATED_VERSION = '1.80.0'
-GRPC_VERSION = grpc.__version__
-_version_not_supported = False
-
-try:
-    from grpc._utilities import first_version_is_lower
-    _version_not_supported = first_version_is_lower(GRPC_VERSION, 
GRPC_GENERATED_VERSION)
-except ImportError:
-    _version_not_supported = True
-
-if _version_not_supported:
-    raise RuntimeError(
-        f'The grpc package installed is at version {GRPC_VERSION},'
-        + ' but the generated code in services/airavata_fuse_pb2_grpc.py 
depends on'
-        + f' grpcio>={GRPC_GENERATED_VERSION}.'
-        + f' Please upgrade your grpc module to 
grpcio>={GRPC_GENERATED_VERSION}'
-        + f' or downgrade your generated code using 
grpcio-tools<={GRPC_VERSION}.'
-    )
-
-
-class FuseServiceStub(object):
-    """Service Definition
-    """
-
-    def __init__(self, channel):
-        """Constructor.
-
-        Args:
-            channel: A grpc.Channel.
-        """
-        self.StatFs = channel.unary_unary(
-                '/org.apache.airavata.fuse.FuseService/StatFs',
-                
request_serializer=services_dot_airavata__fuse__pb2.StatFsReq.SerializeToString,
-                
response_deserializer=services_dot_airavata__fuse__pb2.StatFsRes.FromString,
-                _registered_method=True)
-        self.FileInfo = channel.unary_unary(
-                '/org.apache.airavata.fuse.FuseService/FileInfo',
-                
request_serializer=services_dot_airavata__fuse__pb2.FileInfoReq.SerializeToString,
-                
response_deserializer=services_dot_airavata__fuse__pb2.FileInfoRes.FromString,
-                _registered_method=True)
-        self.OpenDir = channel.unary_unary(
-                '/org.apache.airavata.fuse.FuseService/OpenDir',
-                
request_serializer=services_dot_airavata__fuse__pb2.OpenDirReq.SerializeToString,
-                
response_deserializer=services_dot_airavata__fuse__pb2.OpenDirRes.FromString,
-                _registered_method=True)
-        self.OpenFile = channel.unary_unary(
-                '/org.apache.airavata.fuse.FuseService/OpenFile',
-                
request_serializer=services_dot_airavata__fuse__pb2.OpenFileReq.SerializeToString,
-                
response_deserializer=services_dot_airavata__fuse__pb2.OpenFileRes.FromString,
-                _registered_method=True)
-        self.ReadDir = channel.unary_unary(
-                '/org.apache.airavata.fuse.FuseService/ReadDir',
-                
request_serializer=services_dot_airavata__fuse__pb2.ReadDirReq.SerializeToString,
-                
response_deserializer=services_dot_airavata__fuse__pb2.ReadDirRes.FromString,
-                _registered_method=True)
-        self.ReadFile = channel.unary_unary(
-                '/org.apache.airavata.fuse.FuseService/ReadFile',
-                
request_serializer=services_dot_airavata__fuse__pb2.ReadFileReq.SerializeToString,
-                
response_deserializer=services_dot_airavata__fuse__pb2.ReadFileRes.FromString,
-                _registered_method=True)
-        self.WriteFile = channel.unary_unary(
-                '/org.apache.airavata.fuse.FuseService/WriteFile',
-                
request_serializer=services_dot_airavata__fuse__pb2.WriteFileReq.SerializeToString,
-                
response_deserializer=services_dot_airavata__fuse__pb2.WriteFileRes.FromString,
-                _registered_method=True)
-        self.SetInodeAtt = channel.unary_unary(
-                '/org.apache.airavata.fuse.FuseService/SetInodeAtt',
-                
request_serializer=services_dot_airavata__fuse__pb2.SetInodeAttReq.SerializeToString,
-                
response_deserializer=services_dot_airavata__fuse__pb2.SetInodeAttRes.FromString,
-                _registered_method=True)
-
-
-class FuseServiceServicer(object):
-    """Service Definition
-    """
-
-    def StatFs(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-    def FileInfo(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-    def OpenDir(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-    def OpenFile(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-    def ReadDir(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-    def ReadFile(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-    def WriteFile(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-    def SetInodeAtt(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-
-def add_FuseServiceServicer_to_server(servicer, server):
-    rpc_method_handlers = {
-            'StatFs': grpc.unary_unary_rpc_method_handler(
-                    servicer.StatFs,
-                    
request_deserializer=services_dot_airavata__fuse__pb2.StatFsReq.FromString,
-                    
response_serializer=services_dot_airavata__fuse__pb2.StatFsRes.SerializeToString,
-            ),
-            'FileInfo': grpc.unary_unary_rpc_method_handler(
-                    servicer.FileInfo,
-                    
request_deserializer=services_dot_airavata__fuse__pb2.FileInfoReq.FromString,
-                    
response_serializer=services_dot_airavata__fuse__pb2.FileInfoRes.SerializeToString,
-            ),
-            'OpenDir': grpc.unary_unary_rpc_method_handler(
-                    servicer.OpenDir,
-                    
request_deserializer=services_dot_airavata__fuse__pb2.OpenDirReq.FromString,
-                    
response_serializer=services_dot_airavata__fuse__pb2.OpenDirRes.SerializeToString,
-            ),
-            'OpenFile': grpc.unary_unary_rpc_method_handler(
-                    servicer.OpenFile,
-                    
request_deserializer=services_dot_airavata__fuse__pb2.OpenFileReq.FromString,
-                    
response_serializer=services_dot_airavata__fuse__pb2.OpenFileRes.SerializeToString,
-            ),
-            'ReadDir': grpc.unary_unary_rpc_method_handler(
-                    servicer.ReadDir,
-                    
request_deserializer=services_dot_airavata__fuse__pb2.ReadDirReq.FromString,
-                    
response_serializer=services_dot_airavata__fuse__pb2.ReadDirRes.SerializeToString,
-            ),
-            'ReadFile': grpc.unary_unary_rpc_method_handler(
-                    servicer.ReadFile,
-                    
request_deserializer=services_dot_airavata__fuse__pb2.ReadFileReq.FromString,
-                    
response_serializer=services_dot_airavata__fuse__pb2.ReadFileRes.SerializeToString,
-            ),
-            'WriteFile': grpc.unary_unary_rpc_method_handler(
-                    servicer.WriteFile,
-                    
request_deserializer=services_dot_airavata__fuse__pb2.WriteFileReq.FromString,
-                    
response_serializer=services_dot_airavata__fuse__pb2.WriteFileRes.SerializeToString,
-            ),
-            'SetInodeAtt': grpc.unary_unary_rpc_method_handler(
-                    servicer.SetInodeAtt,
-                    
request_deserializer=services_dot_airavata__fuse__pb2.SetInodeAttReq.FromString,
-                    
response_serializer=services_dot_airavata__fuse__pb2.SetInodeAttRes.SerializeToString,
-            ),
-    }
-    generic_handler = grpc.method_handlers_generic_handler(
-            'org.apache.airavata.fuse.FuseService', rpc_method_handlers)
-    server.add_generic_rpc_handlers((generic_handler,))
-    
server.add_registered_method_handlers('org.apache.airavata.fuse.FuseService', 
rpc_method_handlers)
-
-
- # This class is part of an EXPERIMENTAL API.
-class FuseService(object):
-    """Service Definition
-    """
-
-    @staticmethod
-    def StatFs(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(
-            request,
-            target,
-            '/org.apache.airavata.fuse.FuseService/StatFs',
-            services_dot_airavata__fuse__pb2.StatFsReq.SerializeToString,
-            services_dot_airavata__fuse__pb2.StatFsRes.FromString,
-            options,
-            channel_credentials,
-            insecure,
-            call_credentials,
-            compression,
-            wait_for_ready,
-            timeout,
-            metadata,
-            _registered_method=True)
-
-    @staticmethod
-    def FileInfo(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(
-            request,
-            target,
-            '/org.apache.airavata.fuse.FuseService/FileInfo',
-            services_dot_airavata__fuse__pb2.FileInfoReq.SerializeToString,
-            services_dot_airavata__fuse__pb2.FileInfoRes.FromString,
-            options,
-            channel_credentials,
-            insecure,
-            call_credentials,
-            compression,
-            wait_for_ready,
-            timeout,
-            metadata,
-            _registered_method=True)
-
-    @staticmethod
-    def OpenDir(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(
-            request,
-            target,
-            '/org.apache.airavata.fuse.FuseService/OpenDir',
-            services_dot_airavata__fuse__pb2.OpenDirReq.SerializeToString,
-            services_dot_airavata__fuse__pb2.OpenDirRes.FromString,
-            options,
-            channel_credentials,
-            insecure,
-            call_credentials,
-            compression,
-            wait_for_ready,
-            timeout,
-            metadata,
-            _registered_method=True)
-
-    @staticmethod
-    def OpenFile(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(
-            request,
-            target,
-            '/org.apache.airavata.fuse.FuseService/OpenFile',
-            services_dot_airavata__fuse__pb2.OpenFileReq.SerializeToString,
-            services_dot_airavata__fuse__pb2.OpenFileRes.FromString,
-            options,
-            channel_credentials,
-            insecure,
-            call_credentials,
-            compression,
-            wait_for_ready,
-            timeout,
-            metadata,
-            _registered_method=True)
-
-    @staticmethod
-    def ReadDir(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(
-            request,
-            target,
-            '/org.apache.airavata.fuse.FuseService/ReadDir',
-            services_dot_airavata__fuse__pb2.ReadDirReq.SerializeToString,
-            services_dot_airavata__fuse__pb2.ReadDirRes.FromString,
-            options,
-            channel_credentials,
-            insecure,
-            call_credentials,
-            compression,
-            wait_for_ready,
-            timeout,
-            metadata,
-            _registered_method=True)
-
-    @staticmethod
-    def ReadFile(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(
-            request,
-            target,
-            '/org.apache.airavata.fuse.FuseService/ReadFile',
-            services_dot_airavata__fuse__pb2.ReadFileReq.SerializeToString,
-            services_dot_airavata__fuse__pb2.ReadFileRes.FromString,
-            options,
-            channel_credentials,
-            insecure,
-            call_credentials,
-            compression,
-            wait_for_ready,
-            timeout,
-            metadata,
-            _registered_method=True)
-
-    @staticmethod
-    def WriteFile(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(
-            request,
-            target,
-            '/org.apache.airavata.fuse.FuseService/WriteFile',
-            services_dot_airavata__fuse__pb2.WriteFileReq.SerializeToString,
-            services_dot_airavata__fuse__pb2.WriteFileRes.FromString,
-            options,
-            channel_credentials,
-            insecure,
-            call_credentials,
-            compression,
-            wait_for_ready,
-            timeout,
-            metadata,
-            _registered_method=True)
-
-    @staticmethod
-    def SetInodeAtt(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(
-            request,
-            target,
-            '/org.apache.airavata.fuse.FuseService/SetInodeAtt',
-            services_dot_airavata__fuse__pb2.SetInodeAttReq.SerializeToString,
-            services_dot_airavata__fuse__pb2.SetInodeAttRes.FromString,
-            options,
-            channel_credentials,
-            insecure,
-            call_credentials,
-            compression,
-            wait_for_ready,
-            timeout,
-            metadata,
-            _registered_method=True)
diff --git 
a/airavata-server/src/main/java/org/apache/airavata/server/config/ServiceWiringConfig.java
 
b/airavata-server/src/main/java/org/apache/airavata/server/config/ServiceWiringConfig.java
index 52e66d282c..fea39f45af 100644
--- 
a/airavata-server/src/main/java/org/apache/airavata/server/config/ServiceWiringConfig.java
+++ 
b/airavata-server/src/main/java/org/apache/airavata/server/config/ServiceWiringConfig.java
@@ -19,9 +19,7 @@
 */
 package org.apache.airavata.server.config;
 
-import org.apache.airavata.agent.service.AiravataFileService;
 import org.apache.airavata.compute.service.GroupResourceProfileService;
-import org.apache.airavata.research.service.AgentExperimentService;
 import org.apache.airavata.research.service.ExperimentService;
 import org.springframework.context.annotation.Configuration;
 
@@ -33,11 +31,7 @@ import org.springframework.context.annotation.Configuration;
 public class ServiceWiringConfig {
 
     public ServiceWiringConfig(
-            ExperimentService experimentService,
-            GroupResourceProfileService groupResourceProfileService,
-            AiravataFileService airavataFileService,
-            AgentExperimentService agentExperimentService) {
+            ExperimentService experimentService, GroupResourceProfileService 
groupResourceProfileService) {
         
experimentService.setGroupResourceProfileListProvider(groupResourceProfileService::getGroupResourceList);
-        
airavataFileService.setUserExperimentIdsProvider(agentExperimentService::getUserExperimentIDs);
     }
 }

Reply via email to